From 9a8cb2f511a40dfdfbd2ab037505b15e95b2b5a4 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 3 Jun 2025 02:29:02 +0000 Subject: [PATCH 01/32] chore(docs): remove reference to rye shell --- CONTRIBUTING.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 206f59c..7654dbc 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -17,8 +17,7 @@ $ rye sync --all-features You can then run scripts using `rye run python script.py` or by activating the virtual environment: ```sh -$ rye shell -# or manually activate - https://docs.python.org/3/library/venv.html#how-venvs-work +# Activate the virtual environment - https://docs.python.org/3/library/venv.html#how-venvs-work $ source .venv/bin/activate # now you can omit the `rye run` prefix From eeb75d3ba0620c94e84975c3963f751545c3e525 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 3 Jun 2025 02:41:20 +0000 Subject: [PATCH 02/32] chore(docs): remove unnecessary param examples --- README.md | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/README.md b/README.md index b5750f3..d8a06c8 100644 --- a/README.md +++ b/README.md @@ -84,13 +84,7 @@ client = Openint() response = client.create_token( customer_id="x", - connect_options={ - "connector_names": ["accelo"], - "debug": True, - "is_embedded": True, - "return_url": "return_url", - "view": "add", - }, + connect_options={}, ) print(response.connect_options) ``` From b9b9a31b91ad89eaaae440a5c0e979b18cd80d9e Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 3 Jun 2025 03:44:49 +0000 Subject: [PATCH 03/32] feat(client): add follow_redirects request option --- src/openint/_base_client.py | 6 ++++ src/openint/_models.py | 2 ++ src/openint/_types.py | 2 ++ tests/test_client.py | 56 ++++++++++++++++++++++++++++++++++++- 4 files changed, 65 insertions(+), 1 deletion(-) diff --git a/src/openint/_base_client.py b/src/openint/_base_client.py index ba17202..c28b920 100644 --- a/src/openint/_base_client.py +++ b/src/openint/_base_client.py @@ -960,6 +960,9 @@ def request( if self.custom_auth is not None: kwargs["auth"] = self.custom_auth + if options.follow_redirects is not None: + kwargs["follow_redirects"] = options.follow_redirects + log.debug("Sending HTTP Request: %s %s", request.method, request.url) response = None @@ -1460,6 +1463,9 @@ async def request( if self.custom_auth is not None: kwargs["auth"] = self.custom_auth + if options.follow_redirects is not None: + kwargs["follow_redirects"] = options.follow_redirects + log.debug("Sending HTTP Request: %s %s", request.method, request.url) response = None diff --git a/src/openint/_models.py b/src/openint/_models.py index 798956f..4f21498 100644 --- a/src/openint/_models.py +++ b/src/openint/_models.py @@ -737,6 +737,7 @@ class FinalRequestOptionsInput(TypedDict, total=False): idempotency_key: str json_data: Body extra_json: AnyMapping + follow_redirects: bool @final @@ -750,6 +751,7 @@ class FinalRequestOptions(pydantic.BaseModel): files: Union[HttpxRequestFiles, None] = None idempotency_key: Union[str, None] = None post_parser: Union[Callable[[Any], Any], NotGiven] = NotGiven() + follow_redirects: Union[bool, None] = None # It should be noted that we cannot use `json` here as that would override # a BaseModel method in an incompatible fashion. diff --git a/src/openint/_types.py b/src/openint/_types.py index 79ad780..d59c1d1 100644 --- a/src/openint/_types.py +++ b/src/openint/_types.py @@ -100,6 +100,7 @@ class RequestOptions(TypedDict, total=False): params: Query extra_json: AnyMapping idempotency_key: str + follow_redirects: bool # Sentinel class used until PEP 0661 is accepted @@ -215,3 +216,4 @@ class _GenericAlias(Protocol): class HttpxSendArgs(TypedDict, total=False): auth: httpx.Auth + follow_redirects: bool diff --git a/tests/test_client.py b/tests/test_client.py index f5a7a82..29fbc62 100644 --- a/tests/test_client.py +++ b/tests/test_client.py @@ -24,7 +24,7 @@ from openint import Openint, AsyncOpenint, APIResponseValidationError from openint._types import Omit from openint._models import BaseModel, FinalRequestOptions -from openint._exceptions import APIResponseValidationError +from openint._exceptions import APIStatusError, APIResponseValidationError from openint._base_client import ( DEFAULT_TIMEOUT, HTTPX_DEFAULT_TIMEOUT, @@ -773,6 +773,33 @@ def retry_handler(_request: httpx.Request) -> httpx.Response: assert response.http_request.headers.get("x-stainless-retry-count") == "42" + @pytest.mark.respx(base_url=base_url) + def test_follow_redirects(self, respx_mock: MockRouter) -> None: + # Test that the default follow_redirects=True allows following redirects + respx_mock.post("/redirect").mock( + return_value=httpx.Response(302, headers={"Location": f"{base_url}/redirected"}) + ) + respx_mock.get("/redirected").mock(return_value=httpx.Response(200, json={"status": "ok"})) + + response = self.client.post("/redirect", body={"key": "value"}, cast_to=httpx.Response) + assert response.status_code == 200 + assert response.json() == {"status": "ok"} + + @pytest.mark.respx(base_url=base_url) + def test_follow_redirects_disabled(self, respx_mock: MockRouter) -> None: + # Test that follow_redirects=False prevents following redirects + respx_mock.post("/redirect").mock( + return_value=httpx.Response(302, headers={"Location": f"{base_url}/redirected"}) + ) + + with pytest.raises(APIStatusError) as exc_info: + self.client.post( + "/redirect", body={"key": "value"}, options={"follow_redirects": False}, cast_to=httpx.Response + ) + + assert exc_info.value.response.status_code == 302 + assert exc_info.value.response.headers["Location"] == f"{base_url}/redirected" + class TestAsyncOpenint: client = AsyncOpenint(base_url=base_url, token=token, _strict_response_validation=True) @@ -1562,3 +1589,30 @@ async def test_main() -> None: raise AssertionError("calling get_platform using asyncify resulted in a hung process") time.sleep(0.1) + + @pytest.mark.respx(base_url=base_url) + async def test_follow_redirects(self, respx_mock: MockRouter) -> None: + # Test that the default follow_redirects=True allows following redirects + respx_mock.post("/redirect").mock( + return_value=httpx.Response(302, headers={"Location": f"{base_url}/redirected"}) + ) + respx_mock.get("/redirected").mock(return_value=httpx.Response(200, json={"status": "ok"})) + + response = await self.client.post("/redirect", body={"key": "value"}, cast_to=httpx.Response) + assert response.status_code == 200 + assert response.json() == {"status": "ok"} + + @pytest.mark.respx(base_url=base_url) + async def test_follow_redirects_disabled(self, respx_mock: MockRouter) -> None: + # Test that follow_redirects=False prevents following redirects + respx_mock.post("/redirect").mock( + return_value=httpx.Response(302, headers={"Location": f"{base_url}/redirected"}) + ) + + with pytest.raises(APIStatusError) as exc_info: + await self.client.post( + "/redirect", body={"key": "value"}, options={"follow_redirects": False}, cast_to=httpx.Response + ) + + assert exc_info.value.response.status_code == 302 + assert exc_info.value.response.headers["Location"] == f"{base_url}/redirected" From 2944351d65ce2c8a2499377f508b0ed3d32211ec Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 13 Jun 2025 02:14:51 +0000 Subject: [PATCH 04/32] chore(tests): run tests in parallel --- pyproject.toml | 3 ++- requirements-dev.lock | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 48ea3dc..685d0e0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -54,6 +54,7 @@ dev-dependencies = [ "importlib-metadata>=6.7.0", "rich>=13.7.1", "nest_asyncio==1.6.0", + "pytest-xdist>=3.6.1", ] [tool.rye.scripts] @@ -125,7 +126,7 @@ replacement = '[\1](https://github.com/openintegrations/python-sdk/tree/main/\g< [tool.pytest.ini_options] testpaths = ["tests"] -addopts = "--tb=short" +addopts = "--tb=short -n auto" xfail_strict = true asyncio_mode = "auto" asyncio_default_fixture_loop_scope = "session" diff --git a/requirements-dev.lock b/requirements-dev.lock index 7c762f5..3db048b 100644 --- a/requirements-dev.lock +++ b/requirements-dev.lock @@ -30,6 +30,8 @@ distro==1.8.0 exceptiongroup==1.2.2 # via anyio # via pytest +execnet==2.1.1 + # via pytest-xdist filelock==3.12.4 # via virtualenv h11==0.14.0 @@ -72,7 +74,9 @@ pygments==2.18.0 pyright==1.1.399 pytest==8.3.3 # via pytest-asyncio + # via pytest-xdist pytest-asyncio==0.24.0 +pytest-xdist==3.7.0 python-dateutil==2.8.2 # via time-machine pytz==2023.3.post1 From caa6b273178dbed4a68f007498fdc1aa0bd806b1 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 13 Jun 2025 02:39:28 +0000 Subject: [PATCH 05/32] fix(client): correctly parse binary response | stream --- src/openint/_base_client.py | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/openint/_base_client.py b/src/openint/_base_client.py index c28b920..f500efe 100644 --- a/src/openint/_base_client.py +++ b/src/openint/_base_client.py @@ -1071,7 +1071,14 @@ def _process_response( ) -> ResponseT: origin = get_origin(cast_to) or cast_to - if inspect.isclass(origin) and issubclass(origin, BaseAPIResponse): + if ( + inspect.isclass(origin) + and issubclass(origin, BaseAPIResponse) + # we only want to actually return the custom BaseAPIResponse class if we're + # returning the raw response, or if we're not streaming SSE, as if we're streaming + # SSE then `cast_to` doesn't actively reflect the type we need to parse into + and (not stream or bool(response.request.headers.get(RAW_RESPONSE_HEADER))) + ): if not issubclass(origin, APIResponse): raise TypeError(f"API Response types must subclass {APIResponse}; Received {origin}") @@ -1574,7 +1581,14 @@ async def _process_response( ) -> ResponseT: origin = get_origin(cast_to) or cast_to - if inspect.isclass(origin) and issubclass(origin, BaseAPIResponse): + if ( + inspect.isclass(origin) + and issubclass(origin, BaseAPIResponse) + # we only want to actually return the custom BaseAPIResponse class if we're + # returning the raw response, or if we're not streaming SSE, as if we're streaming + # SSE then `cast_to` doesn't actively reflect the type we need to parse into + and (not stream or bool(response.request.headers.get(RAW_RESPONSE_HEADER))) + ): if not issubclass(origin, AsyncAPIResponse): raise TypeError(f"API Response types must subclass {AsyncAPIResponse}; Received {origin}") From fb80b72788f99715598043f3f8fd807f207a6041 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 17 Jun 2025 02:46:23 +0000 Subject: [PATCH 06/32] chore(tests): add tests for httpx client instantiation & proxies --- tests/test_client.py | 46 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/tests/test_client.py b/tests/test_client.py index 29fbc62..57eee56 100644 --- a/tests/test_client.py +++ b/tests/test_client.py @@ -29,6 +29,8 @@ DEFAULT_TIMEOUT, HTTPX_DEFAULT_TIMEOUT, BaseClient, + DefaultHttpxClient, + DefaultAsyncHttpxClient, make_request_options, ) @@ -773,6 +775,28 @@ def retry_handler(_request: httpx.Request) -> httpx.Response: assert response.http_request.headers.get("x-stainless-retry-count") == "42" + def test_proxy_environment_variables(self, monkeypatch: pytest.MonkeyPatch) -> None: + # Test that the proxy environment variables are set correctly + monkeypatch.setenv("HTTPS_PROXY", "https://example.org") + + client = DefaultHttpxClient() + + mounts = tuple(client._mounts.items()) + assert len(mounts) == 1 + assert mounts[0][0].pattern == "https://" + + @pytest.mark.filterwarnings("ignore:.*deprecated.*:DeprecationWarning") + def test_default_client_creation(self) -> None: + # Ensure that the client can be initialized without any exceptions + DefaultHttpxClient( + verify=True, + cert=None, + trust_env=True, + http1=True, + http2=False, + limits=httpx.Limits(max_connections=100, max_keepalive_connections=20), + ) + @pytest.mark.respx(base_url=base_url) def test_follow_redirects(self, respx_mock: MockRouter) -> None: # Test that the default follow_redirects=True allows following redirects @@ -1590,6 +1614,28 @@ async def test_main() -> None: time.sleep(0.1) + async def test_proxy_environment_variables(self, monkeypatch: pytest.MonkeyPatch) -> None: + # Test that the proxy environment variables are set correctly + monkeypatch.setenv("HTTPS_PROXY", "https://example.org") + + client = DefaultAsyncHttpxClient() + + mounts = tuple(client._mounts.items()) + assert len(mounts) == 1 + assert mounts[0][0].pattern == "https://" + + @pytest.mark.filterwarnings("ignore:.*deprecated.*:DeprecationWarning") + async def test_default_client_creation(self) -> None: + # Ensure that the client can be initialized without any exceptions + DefaultAsyncHttpxClient( + verify=True, + cert=None, + trust_env=True, + http1=True, + http2=False, + limits=httpx.Limits(max_connections=100, max_keepalive_connections=20), + ) + @pytest.mark.respx(base_url=base_url) async def test_follow_redirects(self, respx_mock: MockRouter) -> None: # Test that the default follow_redirects=True allows following redirects From c7fb0bbc6dae0c4f04f6d71b9b247fdbd7c455fd Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 17 Jun 2025 04:16:14 +0000 Subject: [PATCH 07/32] chore(internal): update conftest.py --- tests/conftest.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/conftest.py b/tests/conftest.py index f857b7d..0598d92 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,3 +1,5 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + from __future__ import annotations import os From 931d7a69639ed5e97247b25d7948830bd0f6722e Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 17 Jun 2025 06:47:33 +0000 Subject: [PATCH 08/32] chore(ci): enable for pull requests --- .github/workflows/ci.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d4db8c1..3c15f9e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -7,6 +7,10 @@ on: - 'integrated/**' - 'stl-preview-head/**' - 'stl-preview-base/**' + pull_request: + branches-ignore: + - 'stl-preview-head/**' + - 'stl-preview-base/**' jobs: lint: From 80e3c8052559c503805acce6b9371fd8fa61e2f4 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Wed, 18 Jun 2025 02:18:32 +0000 Subject: [PATCH 09/32] chore(readme): update badges --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d8a06c8..7ae0058 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Openint Python API library -[![PyPI version](https://img.shields.io/pypi/v/openint.svg)](https://pypi.org/project/openint/) +[![PyPI version]()](https://pypi.org/project/openint/) The Openint Python library provides convenient access to the Openint REST API from any Python 3.8+ application. The library includes type definitions for all request params and response fields, From defb22221843470910685c6aef3ca0c5e0805db2 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Thu, 19 Jun 2025 02:56:16 +0000 Subject: [PATCH 10/32] docs(client): fix httpx.Timeout documentation reference --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7ae0058..8068b0e 100644 --- a/README.md +++ b/README.md @@ -154,7 +154,7 @@ client.with_options(max_retries=5).list_connections() ### Timeouts By default requests time out after 1 minute. You can configure this with a `timeout` option, -which accepts a float or an [`httpx.Timeout`](https://www.python-httpx.org/advanced/#fine-tuning-the-configuration) object: +which accepts a float or an [`httpx.Timeout`](https://www.python-httpx.org/advanced/timeouts/#fine-tuning-the-configuration) object: ```python from openint import Openint From 1f74a9a2c8ff4e8d92991f5d6d2a1b41eb0bef0e Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Sat, 21 Jun 2025 04:27:32 +0000 Subject: [PATCH 11/32] feat(client): add support for aiohttp --- README.md | 32 ++++++++++++++++++++++ pyproject.toml | 2 ++ requirements-dev.lock | 27 +++++++++++++++++++ requirements.lock | 27 +++++++++++++++++++ src/openint/__init__.py | 3 ++- src/openint/_base_client.py | 22 +++++++++++++++ tests/api_resources/test_client.py | 4 ++- tests/conftest.py | 43 +++++++++++++++++++++++++----- 8 files changed, 152 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 8068b0e..2619f51 100644 --- a/README.md +++ b/README.md @@ -64,6 +64,38 @@ asyncio.run(main()) Functionality between the synchronous and asynchronous clients is otherwise identical. +### With aiohttp + +By default, the async client uses `httpx` for HTTP requests. However, for improved concurrency performance you may also use `aiohttp` as the HTTP backend. + +You can enable this by installing `aiohttp`: + +```sh +# install from PyPI +pip install openint[aiohttp] +``` + +Then you can enable it by instantiating the client with `http_client=DefaultAioHttpClient()`: + +```python +import os +import asyncio +from openint import DefaultAioHttpClient +from openint import AsyncOpenint + + +async def main() -> None: + async with AsyncOpenint( + token=os.environ.get("OPENINT_API_KEY"), # This is the default and can be omitted + http_client=DefaultAioHttpClient(), + ) as client: + page = await client.list_connections() + print(page.items) + + +asyncio.run(main()) +``` + ## Using types Nested request parameters are [TypedDicts](https://docs.python.org/3/library/typing.html#typing.TypedDict). Responses are [Pydantic models](https://docs.pydantic.dev) which also provide helper methods for things like: diff --git a/pyproject.toml b/pyproject.toml index 685d0e0..ec60e25 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -37,6 +37,8 @@ classifiers = [ Homepage = "https://github.com/openintegrations/python-sdk" Repository = "https://github.com/openintegrations/python-sdk" +[project.optional-dependencies] +aiohttp = ["aiohttp", "httpx_aiohttp>=0.1.6"] [tool.rye] managed = true diff --git a/requirements-dev.lock b/requirements-dev.lock index 3db048b..b83ff08 100644 --- a/requirements-dev.lock +++ b/requirements-dev.lock @@ -10,6 +10,13 @@ # universal: false -e file:. +aiohappyeyeballs==2.6.1 + # via aiohttp +aiohttp==3.12.8 + # via httpx-aiohttp + # via openint +aiosignal==1.3.2 + # via aiohttp annotated-types==0.6.0 # via pydantic anyio==4.4.0 @@ -17,6 +24,10 @@ anyio==4.4.0 # via openint argcomplete==3.1.2 # via nox +async-timeout==5.0.1 + # via aiohttp +attrs==25.3.0 + # via aiohttp certifi==2023.7.22 # via httpcore # via httpx @@ -34,16 +45,23 @@ execnet==2.1.1 # via pytest-xdist filelock==3.12.4 # via virtualenv +frozenlist==1.6.2 + # via aiohttp + # via aiosignal h11==0.14.0 # via httpcore httpcore==1.0.2 # via httpx httpx==0.28.1 + # via httpx-aiohttp # via openint # via respx +httpx-aiohttp==0.1.6 + # via openint idna==3.4 # via anyio # via httpx + # via yarl importlib-metadata==7.0.0 iniconfig==2.0.0 # via pytest @@ -51,6 +69,9 @@ markdown-it-py==3.0.0 # via rich mdurl==0.1.2 # via markdown-it-py +multidict==6.4.4 + # via aiohttp + # via yarl mypy==1.14.1 mypy-extensions==1.0.0 # via mypy @@ -65,6 +86,9 @@ platformdirs==3.11.0 # via virtualenv pluggy==1.5.0 # via pytest +propcache==0.3.1 + # via aiohttp + # via yarl pydantic==2.10.3 # via openint pydantic-core==2.27.1 @@ -97,6 +121,7 @@ tomli==2.0.2 # via pytest typing-extensions==4.12.2 # via anyio + # via multidict # via mypy # via openint # via pydantic @@ -104,5 +129,7 @@ typing-extensions==4.12.2 # via pyright virtualenv==20.24.5 # via nox +yarl==1.20.0 + # via aiohttp zipp==3.17.0 # via importlib-metadata diff --git a/requirements.lock b/requirements.lock index 87ce337..c38b61f 100644 --- a/requirements.lock +++ b/requirements.lock @@ -10,11 +10,22 @@ # universal: false -e file:. +aiohappyeyeballs==2.6.1 + # via aiohttp +aiohttp==3.12.8 + # via httpx-aiohttp + # via openint +aiosignal==1.3.2 + # via aiohttp annotated-types==0.6.0 # via pydantic anyio==4.4.0 # via httpx # via openint +async-timeout==5.0.1 + # via aiohttp +attrs==25.3.0 + # via aiohttp certifi==2023.7.22 # via httpcore # via httpx @@ -22,15 +33,28 @@ distro==1.8.0 # via openint exceptiongroup==1.2.2 # via anyio +frozenlist==1.6.2 + # via aiohttp + # via aiosignal h11==0.14.0 # via httpcore httpcore==1.0.2 # via httpx httpx==0.28.1 + # via httpx-aiohttp + # via openint +httpx-aiohttp==0.1.6 # via openint idna==3.4 # via anyio # via httpx + # via yarl +multidict==6.4.4 + # via aiohttp + # via yarl +propcache==0.3.1 + # via aiohttp + # via yarl pydantic==2.10.3 # via openint pydantic-core==2.27.1 @@ -40,6 +64,9 @@ sniffio==1.3.0 # via openint typing-extensions==4.12.2 # via anyio + # via multidict # via openint # via pydantic # via pydantic-core +yarl==1.20.0 + # via aiohttp diff --git a/src/openint/__init__.py b/src/openint/__init__.py index 8003ab4..fa8da6d 100644 --- a/src/openint/__init__.py +++ b/src/openint/__init__.py @@ -26,7 +26,7 @@ UnprocessableEntityError, APIResponseValidationError, ) -from ._base_client import DefaultHttpxClient, DefaultAsyncHttpxClient +from ._base_client import DefaultHttpxClient, DefaultAioHttpClient, DefaultAsyncHttpxClient from ._utils._logs import setup_logging as _setup_logging __all__ = [ @@ -68,6 +68,7 @@ "DEFAULT_CONNECTION_LIMITS", "DefaultHttpxClient", "DefaultAsyncHttpxClient", + "DefaultAioHttpClient", ] if not _t.TYPE_CHECKING: diff --git a/src/openint/_base_client.py b/src/openint/_base_client.py index f500efe..5b671fc 100644 --- a/src/openint/_base_client.py +++ b/src/openint/_base_client.py @@ -1289,6 +1289,24 @@ def __init__(self, **kwargs: Any) -> None: super().__init__(**kwargs) +try: + import httpx_aiohttp +except ImportError: + + class _DefaultAioHttpClient(httpx.AsyncClient): + def __init__(self, **_kwargs: Any) -> None: + raise RuntimeError("To use the aiohttp client you must have installed the package with the `aiohttp` extra") +else: + + class _DefaultAioHttpClient(httpx_aiohttp.HttpxAiohttpClient): # type: ignore + def __init__(self, **kwargs: Any) -> None: + kwargs.setdefault("timeout", DEFAULT_TIMEOUT) + kwargs.setdefault("limits", DEFAULT_CONNECTION_LIMITS) + kwargs.setdefault("follow_redirects", True) + + super().__init__(**kwargs) + + if TYPE_CHECKING: DefaultAsyncHttpxClient = httpx.AsyncClient """An alias to `httpx.AsyncClient` that provides the same defaults that this SDK @@ -1297,8 +1315,12 @@ def __init__(self, **kwargs: Any) -> None: This is useful because overriding the `http_client` with your own instance of `httpx.AsyncClient` will result in httpx's defaults being used, not ours. """ + + DefaultAioHttpClient = httpx.AsyncClient + """An alias to `httpx.AsyncClient` that changes the default HTTP transport to `aiohttp`.""" else: DefaultAsyncHttpxClient = _DefaultAsyncHttpxClient + DefaultAioHttpClient = _DefaultAioHttpClient class AsyncHttpxClientWrapper(DefaultAsyncHttpxClient): diff --git a/tests/api_resources/test_client.py b/tests/api_resources/test_client.py index d5cc51d..9aa084f 100644 --- a/tests/api_resources/test_client.py +++ b/tests/api_resources/test_client.py @@ -535,7 +535,9 @@ def test_streaming_response_list_events(self, client: Openint) -> None: class TestAsyncClient: - parametrize = pytest.mark.parametrize("async_client", [False, True], indirect=True, ids=["loose", "strict"]) + parametrize = pytest.mark.parametrize( + "async_client", [False, True, {"http_client": "aiohttp"}], indirect=True, ids=["loose", "strict", "aiohttp"] + ) @pytest.mark.skip() @parametrize diff --git a/tests/conftest.py b/tests/conftest.py index 0598d92..b2d9d7c 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -6,10 +6,12 @@ import logging from typing import TYPE_CHECKING, Iterator, AsyncIterator +import httpx import pytest from pytest_asyncio import is_async_test -from openint import Openint, AsyncOpenint +from openint import Openint, AsyncOpenint, DefaultAioHttpClient +from openint._utils import is_dict if TYPE_CHECKING: from _pytest.fixtures import FixtureRequest # pyright: ignore[reportPrivateImportUsage] @@ -27,6 +29,19 @@ def pytest_collection_modifyitems(items: list[pytest.Function]) -> None: for async_test in pytest_asyncio_tests: async_test.add_marker(session_scope_marker, append=False) + # We skip tests that use both the aiohttp client and respx_mock as respx_mock + # doesn't support custom transports. + for item in items: + if "async_client" not in item.fixturenames or "respx_mock" not in item.fixturenames: + continue + + if not hasattr(item, "callspec"): + continue + + async_client_param = item.callspec.params.get("async_client") + if is_dict(async_client_param) and async_client_param.get("http_client") == "aiohttp": + item.add_marker(pytest.mark.skip(reason="aiohttp client is not compatible with respx_mock")) + base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010") @@ -45,9 +60,25 @@ def client(request: FixtureRequest) -> Iterator[Openint]: @pytest.fixture(scope="session") async def async_client(request: FixtureRequest) -> AsyncIterator[AsyncOpenint]: - strict = getattr(request, "param", True) - if not isinstance(strict, bool): - raise TypeError(f"Unexpected fixture parameter type {type(strict)}, expected {bool}") - - async with AsyncOpenint(base_url=base_url, token=token, _strict_response_validation=strict) as client: + param = getattr(request, "param", True) + + # defaults + strict = True + http_client: None | httpx.AsyncClient = None + + if isinstance(param, bool): + strict = param + elif is_dict(param): + strict = param.get("strict", True) + assert isinstance(strict, bool) + + http_client_type = param.get("http_client", "httpx") + if http_client_type == "aiohttp": + http_client = DefaultAioHttpClient() + else: + raise TypeError(f"Unexpected fixture parameter type {type(param)}, expected bool or dict") + + async with AsyncOpenint( + base_url=base_url, token=token, _strict_response_validation=strict, http_client=http_client + ) as client: yield client From a49ae20e614483d37f8353da78c0c2c731287342 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 24 Jun 2025 04:23:53 +0000 Subject: [PATCH 12/32] chore(tests): skip some failing tests on the latest python versions --- tests/test_client.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/test_client.py b/tests/test_client.py index 57eee56..cc51e7d 100644 --- a/tests/test_client.py +++ b/tests/test_client.py @@ -181,6 +181,7 @@ def test_copy_signature(self) -> None: copy_param = copy_signature.parameters.get(name) assert copy_param is not None, f"copy() signature is missing the {name} param" + @pytest.mark.skipif(sys.version_info >= (3, 10), reason="fails because of a memory leak that started from 3.12") def test_copy_build_request(self) -> None: options = FinalRequestOptions(method="get", url="/foo") @@ -960,6 +961,7 @@ def test_copy_signature(self) -> None: copy_param = copy_signature.parameters.get(name) assert copy_param is not None, f"copy() signature is missing the {name} param" + @pytest.mark.skipif(sys.version_info >= (3, 10), reason="fails because of a memory leak that started from 3.12") def test_copy_build_request(self) -> None: options = FinalRequestOptions(method="get", url="/foo") From afdd5f492ce333fb11913b2c247b9af8292f1f24 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 27 Jun 2025 02:39:47 +0000 Subject: [PATCH 13/32] =?UTF-8?q?fix(ci):=20release-doctor=20=E2=80=94=20r?= =?UTF-8?q?eport=20correct=20token=20name?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/check-release-environment | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/check-release-environment b/bin/check-release-environment index 3f1f549..b845b0f 100644 --- a/bin/check-release-environment +++ b/bin/check-release-environment @@ -3,7 +3,7 @@ errors=() if [ -z "${PYPI_TOKEN}" ]; then - errors+=("The OPENINT_PYPI_TOKEN secret has not been set. Please set it in either this repository's secrets or your organization secrets.") + errors+=("The PYPI_TOKEN secret has not been set. Please set it in either this repository's secrets or your organization secrets.") fi lenErrors=${#errors[@]} From 4d50fa222eaac99eb9b71b01c192c002720852cf Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Sat, 28 Jun 2025 01:01:52 +0000 Subject: [PATCH 14/32] feat(docs): updating documented docs for stainless --- .stats.yml | 4 +- api.md | 2 - src/openint/_client.py | 8 + src/openint/types/__init__.py | 3 - .../types/client_create_connection_params.py | 6601 ++++++++++++++--- .../types/client_create_token_params.py | 2 + .../client_list_connection_configs_params.py | 2 + .../types/client_list_connections_params.py | 2 + .../types/create_connection_response.py | 5299 ++++++++++++- src/openint/types/get_connection_response.py | 5291 ++++++++++++- src/openint/types/integration.py | 2 + .../types/list_connection_configs_response.py | 2064 +++++- .../types/list_connections_response.py | 5291 ++++++++++++- .../types/oauth_connection_settings.py | 39 - .../types/oauth_connection_settings_param.py | 40 - src/openint/types/oauth_connector_config.py | 18 - 16 files changed, 22979 insertions(+), 1689 deletions(-) delete mode 100644 src/openint/types/oauth_connection_settings.py delete mode 100644 src/openint/types/oauth_connection_settings_param.py delete mode 100644 src/openint/types/oauth_connector_config.py diff --git a/.stats.yml b/.stats.yml index 156217b..cdb1aab 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 11 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/openint%2Fopenint-d6333dfcc2d3e03c7e00b0f9eedc0cbeebd9174cbebbbb75cdc5938d70113e2e.yml -openapi_spec_hash: 7033d26ed782ee5cfca8fd61b6dd5d84 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/openint%2Fopenint-0a4eb274ac57a4d4bd8936015f41147c7cd218a13446aea787cd0cf063af66cf.yml +openapi_spec_hash: 2ec6f02a72534100a5bdf0dc709dc6dd config_hash: 287d5109de5717d392756a2fbe488e49 diff --git a/api.md b/api.md index 3108acf..92bc1a2 100644 --- a/api.md +++ b/api.md @@ -6,8 +6,6 @@ Types: from openint.types import ( Connector, Integration, - OAuthConnectionSettings, - OAuthConnectorConfig, CheckConnectionResponse, CreateConnectionResponse, CreateTokenResponse, diff --git a/src/openint/_client.py b/src/openint/_client.py index 0ae7cca..06e048f 100644 --- a/src/openint/_client.py +++ b/src/openint/_client.py @@ -516,6 +516,7 @@ def list_connection_configs( connector_names: List[ Literal[ "accelo", + "acme-apikey", "acme-oauth2", "adobe", "adyen", @@ -638,6 +639,7 @@ def list_connection_configs( "servicem8", "servicenow", "sharepoint", + "sharepoint-onprem", "shopify", "signnow", "slack", @@ -745,6 +747,7 @@ def list_connections( connector_names: List[ Literal[ "accelo", + "acme-apikey", "acme-oauth2", "adobe", "adyen", @@ -867,6 +870,7 @@ def list_connections( "servicem8", "servicenow", "sharepoint", + "sharepoint-onprem", "shopify", "signnow", "slack", @@ -1567,6 +1571,7 @@ def list_connection_configs( connector_names: List[ Literal[ "accelo", + "acme-apikey", "acme-oauth2", "adobe", "adyen", @@ -1689,6 +1694,7 @@ def list_connection_configs( "servicem8", "servicenow", "sharepoint", + "sharepoint-onprem", "shopify", "signnow", "slack", @@ -1796,6 +1802,7 @@ def list_connections( connector_names: List[ Literal[ "accelo", + "acme-apikey", "acme-oauth2", "adobe", "adyen", @@ -1918,6 +1925,7 @@ def list_connections( "servicem8", "servicenow", "sharepoint", + "sharepoint-onprem", "shopify", "signnow", "slack", diff --git a/src/openint/types/__init__.py b/src/openint/types/__init__.py index 8b02f46..fbffb6e 100644 --- a/src/openint/types/__init__.py +++ b/src/openint/types/__init__.py @@ -6,14 +6,12 @@ from .integration import Integration as Integration from .list_events_response import ListEventsResponse as ListEventsResponse from .create_token_response import CreateTokenResponse as CreateTokenResponse -from .oauth_connector_config import OAuthConnectorConfig as OAuthConnectorConfig from .get_connection_response import GetConnectionResponse as GetConnectionResponse from .list_connectors_response import ListConnectorsResponse as ListConnectorsResponse from .check_connection_response import CheckConnectionResponse as CheckConnectionResponse from .client_list_events_params import ClientListEventsParams as ClientListEventsParams from .get_current_user_response import GetCurrentUserResponse as GetCurrentUserResponse from .list_connections_response import ListConnectionsResponse as ListConnectionsResponse -from .oauth_connection_settings import OAuthConnectionSettings as OAuthConnectionSettings from .client_create_token_params import ClientCreateTokenParams as ClientCreateTokenParams from .create_connection_response import CreateConnectionResponse as CreateConnectionResponse from .delete_connection_response import DeleteConnectionResponse as DeleteConnectionResponse @@ -22,7 +20,6 @@ from .get_message_template_response import GetMessageTemplateResponse as GetMessageTemplateResponse from .client_list_connections_params import ClientListConnectionsParams as ClientListConnectionsParams from .client_create_connection_params import ClientCreateConnectionParams as ClientCreateConnectionParams -from .oauth_connection_settings_param import OAuthConnectionSettingsParam as OAuthConnectionSettingsParam from .list_connection_configs_response import ListConnectionConfigsResponse as ListConnectionConfigsResponse from .client_get_message_template_params import ClientGetMessageTemplateParams as ClientGetMessageTemplateParams from .client_list_connection_configs_params import ( diff --git a/src/openint/types/client_create_connection_params.py b/src/openint/types/client_create_connection_params.py index f150e23..ce85b58 100644 --- a/src/openint/types/client_create_connection_params.py +++ b/src/openint/types/client_create_connection_params.py @@ -6,295 +6,580 @@ from typing_extensions import Literal, Required, Annotated, TypeAlias, TypedDict from .._utils import PropertyInfo -from .oauth_connection_settings_param import OAuthConnectionSettingsParam __all__ = [ "ClientCreateConnectionParams", "Data", "DataConnectorAcceloDiscriminatedConnectionSettings", "DataConnectorAcceloDiscriminatedConnectionSettingsSettings", + "DataConnectorAcceloDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorAcceloDiscriminatedConnectionSettingsSettingsOAuthCredentials", + "DataConnectorAcmeApikeyDiscriminatedConnectionSettings", + "DataConnectorAcmeApikeyDiscriminatedConnectionSettingsSettings", "DataConnectorAcmeOauth2DiscriminatedConnectionSettings", "DataConnectorAcmeOauth2DiscriminatedConnectionSettingsSettings", + "DataConnectorAcmeOauth2DiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorAcmeOauth2DiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorAdobeDiscriminatedConnectionSettings", "DataConnectorAdobeDiscriminatedConnectionSettingsSettings", + "DataConnectorAdobeDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorAdobeDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorAdyenDiscriminatedConnectionSettings", "DataConnectorAdyenDiscriminatedConnectionSettingsSettings", + "DataConnectorAdyenDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorAdyenDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorAircallDiscriminatedConnectionSettings", "DataConnectorAircallDiscriminatedConnectionSettingsSettings", + "DataConnectorAircallDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorAircallDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorAmazonDiscriminatedConnectionSettings", "DataConnectorAmazonDiscriminatedConnectionSettingsSettings", + "DataConnectorAmazonDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorAmazonDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorApaleoDiscriminatedConnectionSettings", "DataConnectorApaleoDiscriminatedConnectionSettingsSettings", + "DataConnectorApaleoDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorApaleoDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorAsanaDiscriminatedConnectionSettings", "DataConnectorAsanaDiscriminatedConnectionSettingsSettings", + "DataConnectorAsanaDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorAsanaDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorAttioDiscriminatedConnectionSettings", "DataConnectorAttioDiscriminatedConnectionSettingsSettings", + "DataConnectorAttioDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorAttioDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorAuth0DiscriminatedConnectionSettings", "DataConnectorAuth0DiscriminatedConnectionSettingsSettings", + "DataConnectorAuth0DiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorAuth0DiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorAutodeskDiscriminatedConnectionSettings", "DataConnectorAutodeskDiscriminatedConnectionSettingsSettings", + "DataConnectorAutodeskDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorAutodeskDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorAwsDiscriminatedConnectionSettings", "DataConnectorAwsDiscriminatedConnectionSettingsSettings", + "DataConnectorAwsDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorAwsDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorBamboohrDiscriminatedConnectionSettings", "DataConnectorBamboohrDiscriminatedConnectionSettingsSettings", + "DataConnectorBamboohrDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorBamboohrDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorBasecampDiscriminatedConnectionSettings", "DataConnectorBasecampDiscriminatedConnectionSettingsSettings", + "DataConnectorBasecampDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorBasecampDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorBattlenetDiscriminatedConnectionSettings", "DataConnectorBattlenetDiscriminatedConnectionSettingsSettings", + "DataConnectorBattlenetDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorBattlenetDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorBigcommerceDiscriminatedConnectionSettings", "DataConnectorBigcommerceDiscriminatedConnectionSettingsSettings", + "DataConnectorBigcommerceDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorBigcommerceDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorBitbucketDiscriminatedConnectionSettings", "DataConnectorBitbucketDiscriminatedConnectionSettingsSettings", + "DataConnectorBitbucketDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorBitbucketDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorBitlyDiscriminatedConnectionSettings", "DataConnectorBitlyDiscriminatedConnectionSettingsSettings", + "DataConnectorBitlyDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorBitlyDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorBlackbaudDiscriminatedConnectionSettings", "DataConnectorBlackbaudDiscriminatedConnectionSettingsSettings", + "DataConnectorBlackbaudDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorBlackbaudDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorBoldsignDiscriminatedConnectionSettings", "DataConnectorBoldsignDiscriminatedConnectionSettingsSettings", + "DataConnectorBoldsignDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorBoldsignDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorBoxDiscriminatedConnectionSettings", "DataConnectorBoxDiscriminatedConnectionSettingsSettings", + "DataConnectorBoxDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorBoxDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorBraintreeDiscriminatedConnectionSettings", "DataConnectorBraintreeDiscriminatedConnectionSettingsSettings", + "DataConnectorBraintreeDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorBraintreeDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorCalendlyDiscriminatedConnectionSettings", "DataConnectorCalendlyDiscriminatedConnectionSettingsSettings", + "DataConnectorCalendlyDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorCalendlyDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorClickupDiscriminatedConnectionSettings", "DataConnectorClickupDiscriminatedConnectionSettingsSettings", + "DataConnectorClickupDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorClickupDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorCloseDiscriminatedConnectionSettings", "DataConnectorCloseDiscriminatedConnectionSettingsSettings", + "DataConnectorCloseDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorCloseDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorConfluenceDiscriminatedConnectionSettings", "DataConnectorConfluenceDiscriminatedConnectionSettingsSettings", + "DataConnectorConfluenceDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorConfluenceDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorContentfulDiscriminatedConnectionSettings", "DataConnectorContentfulDiscriminatedConnectionSettingsSettings", + "DataConnectorContentfulDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorContentfulDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorContentstackDiscriminatedConnectionSettings", "DataConnectorContentstackDiscriminatedConnectionSettingsSettings", + "DataConnectorContentstackDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorContentstackDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorCopperDiscriminatedConnectionSettings", "DataConnectorCopperDiscriminatedConnectionSettingsSettings", + "DataConnectorCopperDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorCopperDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorCorosDiscriminatedConnectionSettings", "DataConnectorCorosDiscriminatedConnectionSettingsSettings", + "DataConnectorCorosDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorCorosDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorDatevDiscriminatedConnectionSettings", "DataConnectorDatevDiscriminatedConnectionSettingsSettings", + "DataConnectorDatevDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorDatevDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorDeelDiscriminatedConnectionSettings", "DataConnectorDeelDiscriminatedConnectionSettingsSettings", + "DataConnectorDeelDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorDeelDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorDialpadDiscriminatedConnectionSettings", "DataConnectorDialpadDiscriminatedConnectionSettingsSettings", + "DataConnectorDialpadDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorDialpadDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorDigitaloceanDiscriminatedConnectionSettings", "DataConnectorDigitaloceanDiscriminatedConnectionSettingsSettings", + "DataConnectorDigitaloceanDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorDigitaloceanDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorDiscordDiscriminatedConnectionSettings", "DataConnectorDiscordDiscriminatedConnectionSettingsSettings", + "DataConnectorDiscordDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorDiscordDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorDocusignDiscriminatedConnectionSettings", "DataConnectorDocusignDiscriminatedConnectionSettingsSettings", + "DataConnectorDocusignDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorDocusignDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorDropboxDiscriminatedConnectionSettings", "DataConnectorDropboxDiscriminatedConnectionSettingsSettings", + "DataConnectorDropboxDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorDropboxDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorEbayDiscriminatedConnectionSettings", "DataConnectorEbayDiscriminatedConnectionSettingsSettings", + "DataConnectorEbayDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorEbayDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorEgnyteDiscriminatedConnectionSettings", "DataConnectorEgnyteDiscriminatedConnectionSettingsSettings", + "DataConnectorEgnyteDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorEgnyteDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorEnvoyDiscriminatedConnectionSettings", "DataConnectorEnvoyDiscriminatedConnectionSettingsSettings", + "DataConnectorEnvoyDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorEnvoyDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorEventbriteDiscriminatedConnectionSettings", "DataConnectorEventbriteDiscriminatedConnectionSettingsSettings", + "DataConnectorEventbriteDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorEventbriteDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorExistDiscriminatedConnectionSettings", "DataConnectorExistDiscriminatedConnectionSettingsSettings", + "DataConnectorExistDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorExistDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorFacebookDiscriminatedConnectionSettings", "DataConnectorFacebookDiscriminatedConnectionSettingsSettings", + "DataConnectorFacebookDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorFacebookDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorFactorialDiscriminatedConnectionSettings", "DataConnectorFactorialDiscriminatedConnectionSettingsSettings", + "DataConnectorFactorialDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorFactorialDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorFigmaDiscriminatedConnectionSettings", "DataConnectorFigmaDiscriminatedConnectionSettingsSettings", + "DataConnectorFigmaDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorFigmaDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorFitbitDiscriminatedConnectionSettings", "DataConnectorFitbitDiscriminatedConnectionSettingsSettings", + "DataConnectorFitbitDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorFitbitDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorFortnoxDiscriminatedConnectionSettings", "DataConnectorFortnoxDiscriminatedConnectionSettingsSettings", + "DataConnectorFortnoxDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorFortnoxDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorFreshbooksDiscriminatedConnectionSettings", "DataConnectorFreshbooksDiscriminatedConnectionSettingsSettings", + "DataConnectorFreshbooksDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorFreshbooksDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorFrontDiscriminatedConnectionSettings", "DataConnectorFrontDiscriminatedConnectionSettingsSettings", + "DataConnectorFrontDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorFrontDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorGitHubDiscriminatedConnectionSettings", "DataConnectorGitHubDiscriminatedConnectionSettingsSettings", + "DataConnectorGitHubDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorGitHubDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorGitlabDiscriminatedConnectionSettings", "DataConnectorGitlabDiscriminatedConnectionSettingsSettings", + "DataConnectorGitlabDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorGitlabDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorGongDiscriminatedConnectionSettings", "DataConnectorGongDiscriminatedConnectionSettingsSettings", + "DataConnectorGongDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorGongDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorGoogleCalendarDiscriminatedConnectionSettings", "DataConnectorGoogleCalendarDiscriminatedConnectionSettingsSettings", + "DataConnectorGoogleCalendarDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorGoogleCalendarDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorGoogleDocsDiscriminatedConnectionSettings", "DataConnectorGoogleDocsDiscriminatedConnectionSettingsSettings", + "DataConnectorGoogleDocsDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorGoogleDocsDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorGoogleDriveDiscriminatedConnectionSettings", "DataConnectorGoogleDriveDiscriminatedConnectionSettingsSettings", + "DataConnectorGoogleDriveDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorGoogleDriveDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorGoogleMailDiscriminatedConnectionSettings", "DataConnectorGoogleMailDiscriminatedConnectionSettingsSettings", + "DataConnectorGoogleMailDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorGoogleMailDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorGoogleSheetDiscriminatedConnectionSettings", "DataConnectorGoogleSheetDiscriminatedConnectionSettingsSettings", + "DataConnectorGoogleSheetDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorGoogleSheetDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorGorgiasDiscriminatedConnectionSettings", "DataConnectorGorgiasDiscriminatedConnectionSettingsSettings", + "DataConnectorGorgiasDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorGorgiasDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorGrainDiscriminatedConnectionSettings", "DataConnectorGrainDiscriminatedConnectionSettingsSettings", + "DataConnectorGrainDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorGrainDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorGumroadDiscriminatedConnectionSettings", "DataConnectorGumroadDiscriminatedConnectionSettingsSettings", + "DataConnectorGumroadDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorGumroadDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorGustoDiscriminatedConnectionSettings", "DataConnectorGustoDiscriminatedConnectionSettingsSettings", + "DataConnectorGustoDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorGustoDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorHarvestDiscriminatedConnectionSettings", "DataConnectorHarvestDiscriminatedConnectionSettingsSettings", + "DataConnectorHarvestDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorHarvestDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorHighlevelDiscriminatedConnectionSettings", "DataConnectorHighlevelDiscriminatedConnectionSettingsSettings", + "DataConnectorHighlevelDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorHighlevelDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorHubspotDiscriminatedConnectionSettings", "DataConnectorHubspotDiscriminatedConnectionSettingsSettings", + "DataConnectorHubspotDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorHubspotDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorInstagramDiscriminatedConnectionSettings", "DataConnectorInstagramDiscriminatedConnectionSettingsSettings", + "DataConnectorInstagramDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorInstagramDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorIntercomDiscriminatedConnectionSettings", "DataConnectorIntercomDiscriminatedConnectionSettingsSettings", + "DataConnectorIntercomDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorIntercomDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorJiraDiscriminatedConnectionSettings", "DataConnectorJiraDiscriminatedConnectionSettingsSettings", + "DataConnectorJiraDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorJiraDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorKeapDiscriminatedConnectionSettings", "DataConnectorKeapDiscriminatedConnectionSettingsSettings", + "DataConnectorKeapDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorKeapDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorLeverDiscriminatedConnectionSettings", "DataConnectorLeverDiscriminatedConnectionSettingsSettings", + "DataConnectorLeverDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorLeverDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorLinearDiscriminatedConnectionSettings", "DataConnectorLinearDiscriminatedConnectionSettingsSettings", + "DataConnectorLinearDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorLinearDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorLinkedinDiscriminatedConnectionSettings", "DataConnectorLinkedinDiscriminatedConnectionSettingsSettings", + "DataConnectorLinkedinDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorLinkedinDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorLinkhutDiscriminatedConnectionSettings", "DataConnectorLinkhutDiscriminatedConnectionSettingsSettings", + "DataConnectorLinkhutDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorLinkhutDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorMailchimpDiscriminatedConnectionSettings", "DataConnectorMailchimpDiscriminatedConnectionSettingsSettings", + "DataConnectorMailchimpDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorMailchimpDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorMiroDiscriminatedConnectionSettings", "DataConnectorMiroDiscriminatedConnectionSettingsSettings", + "DataConnectorMiroDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorMiroDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorMondayDiscriminatedConnectionSettings", "DataConnectorMondayDiscriminatedConnectionSettingsSettings", + "DataConnectorMondayDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorMondayDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorMuralDiscriminatedConnectionSettings", "DataConnectorMuralDiscriminatedConnectionSettingsSettings", + "DataConnectorMuralDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorMuralDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorNamelyDiscriminatedConnectionSettings", "DataConnectorNamelyDiscriminatedConnectionSettingsSettings", + "DataConnectorNamelyDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorNamelyDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorNationbuilderDiscriminatedConnectionSettings", "DataConnectorNationbuilderDiscriminatedConnectionSettingsSettings", + "DataConnectorNationbuilderDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorNationbuilderDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorNetsuiteDiscriminatedConnectionSettings", "DataConnectorNetsuiteDiscriminatedConnectionSettingsSettings", + "DataConnectorNetsuiteDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorNetsuiteDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorNotionDiscriminatedConnectionSettings", "DataConnectorNotionDiscriminatedConnectionSettingsSettings", + "DataConnectorNotionDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorNotionDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorOdooDiscriminatedConnectionSettings", "DataConnectorOdooDiscriminatedConnectionSettingsSettings", + "DataConnectorOdooDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorOdooDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorOktaDiscriminatedConnectionSettings", "DataConnectorOktaDiscriminatedConnectionSettingsSettings", + "DataConnectorOktaDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorOktaDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorOsuDiscriminatedConnectionSettings", "DataConnectorOsuDiscriminatedConnectionSettingsSettings", + "DataConnectorOsuDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorOsuDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorOuraDiscriminatedConnectionSettings", "DataConnectorOuraDiscriminatedConnectionSettingsSettings", + "DataConnectorOuraDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorOuraDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorOutreachDiscriminatedConnectionSettings", "DataConnectorOutreachDiscriminatedConnectionSettingsSettings", + "DataConnectorOutreachDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorOutreachDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorPagerdutyDiscriminatedConnectionSettings", "DataConnectorPagerdutyDiscriminatedConnectionSettingsSettings", + "DataConnectorPagerdutyDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorPagerdutyDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorPandadocDiscriminatedConnectionSettings", "DataConnectorPandadocDiscriminatedConnectionSettingsSettings", + "DataConnectorPandadocDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorPandadocDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorPayfitDiscriminatedConnectionSettings", "DataConnectorPayfitDiscriminatedConnectionSettingsSettings", + "DataConnectorPayfitDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorPayfitDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorPaypalDiscriminatedConnectionSettings", "DataConnectorPaypalDiscriminatedConnectionSettingsSettings", + "DataConnectorPaypalDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorPaypalDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorPennylaneDiscriminatedConnectionSettings", "DataConnectorPennylaneDiscriminatedConnectionSettingsSettings", + "DataConnectorPennylaneDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorPennylaneDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorPinterestDiscriminatedConnectionSettings", "DataConnectorPinterestDiscriminatedConnectionSettingsSettings", + "DataConnectorPinterestDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorPinterestDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorPipedriveDiscriminatedConnectionSettings", "DataConnectorPipedriveDiscriminatedConnectionSettingsSettings", + "DataConnectorPipedriveDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorPipedriveDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorPodiumDiscriminatedConnectionSettings", "DataConnectorPodiumDiscriminatedConnectionSettingsSettings", + "DataConnectorPodiumDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorPodiumDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorProductboardDiscriminatedConnectionSettings", "DataConnectorProductboardDiscriminatedConnectionSettingsSettings", + "DataConnectorProductboardDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorProductboardDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorQualtricsDiscriminatedConnectionSettings", "DataConnectorQualtricsDiscriminatedConnectionSettingsSettings", + "DataConnectorQualtricsDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorQualtricsDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorQuickbooksDiscriminatedConnectionSettings", "DataConnectorQuickbooksDiscriminatedConnectionSettingsSettings", + "DataConnectorQuickbooksDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorQuickbooksDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorRedditDiscriminatedConnectionSettings", "DataConnectorRedditDiscriminatedConnectionSettingsSettings", + "DataConnectorRedditDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorRedditDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorSageDiscriminatedConnectionSettings", "DataConnectorSageDiscriminatedConnectionSettingsSettings", + "DataConnectorSageDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorSageDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorSalesforceDiscriminatedConnectionSettings", "DataConnectorSalesforceDiscriminatedConnectionSettingsSettings", + "DataConnectorSalesforceDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorSalesforceDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorSalesloftDiscriminatedConnectionSettings", "DataConnectorSalesloftDiscriminatedConnectionSettingsSettings", + "DataConnectorSalesloftDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorSalesloftDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorSegmentDiscriminatedConnectionSettings", "DataConnectorSegmentDiscriminatedConnectionSettingsSettings", + "DataConnectorSegmentDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorSegmentDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorServicem8DiscriminatedConnectionSettings", "DataConnectorServicem8DiscriminatedConnectionSettingsSettings", + "DataConnectorServicem8DiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorServicem8DiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorServicenowDiscriminatedConnectionSettings", "DataConnectorServicenowDiscriminatedConnectionSettingsSettings", + "DataConnectorServicenowDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorServicenowDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorSharepointDiscriminatedConnectionSettings", "DataConnectorSharepointDiscriminatedConnectionSettingsSettings", + "DataConnectorSharepointDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorSharepointDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorShopifyDiscriminatedConnectionSettings", "DataConnectorShopifyDiscriminatedConnectionSettingsSettings", + "DataConnectorShopifyDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorShopifyDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorSignnowDiscriminatedConnectionSettings", "DataConnectorSignnowDiscriminatedConnectionSettingsSettings", + "DataConnectorSignnowDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorSignnowDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorSlackDiscriminatedConnectionSettings", "DataConnectorSlackDiscriminatedConnectionSettingsSettings", + "DataConnectorSlackDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorSlackDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorSmartsheetDiscriminatedConnectionSettings", "DataConnectorSmartsheetDiscriminatedConnectionSettingsSettings", + "DataConnectorSmartsheetDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorSmartsheetDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorSnowflakeDiscriminatedConnectionSettings", "DataConnectorSnowflakeDiscriminatedConnectionSettingsSettings", + "DataConnectorSnowflakeDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorSnowflakeDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorSpotifyDiscriminatedConnectionSettings", "DataConnectorSpotifyDiscriminatedConnectionSettingsSettings", + "DataConnectorSpotifyDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorSpotifyDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorSquarespaceDiscriminatedConnectionSettings", "DataConnectorSquarespaceDiscriminatedConnectionSettingsSettings", + "DataConnectorSquarespaceDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorSquarespaceDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorSquareupDiscriminatedConnectionSettings", "DataConnectorSquareupDiscriminatedConnectionSettingsSettings", + "DataConnectorSquareupDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorSquareupDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorStackexchangeDiscriminatedConnectionSettings", "DataConnectorStackexchangeDiscriminatedConnectionSettingsSettings", + "DataConnectorStackexchangeDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorStackexchangeDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorStravaDiscriminatedConnectionSettings", "DataConnectorStravaDiscriminatedConnectionSettingsSettings", + "DataConnectorStravaDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorStravaDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorTeamworkDiscriminatedConnectionSettings", "DataConnectorTeamworkDiscriminatedConnectionSettingsSettings", + "DataConnectorTeamworkDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorTeamworkDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorTicktickDiscriminatedConnectionSettings", "DataConnectorTicktickDiscriminatedConnectionSettingsSettings", + "DataConnectorTicktickDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorTicktickDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorTimelyDiscriminatedConnectionSettings", "DataConnectorTimelyDiscriminatedConnectionSettingsSettings", + "DataConnectorTimelyDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorTimelyDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorTodoistDiscriminatedConnectionSettings", "DataConnectorTodoistDiscriminatedConnectionSettingsSettings", + "DataConnectorTodoistDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorTodoistDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorTremendousDiscriminatedConnectionSettings", "DataConnectorTremendousDiscriminatedConnectionSettingsSettings", + "DataConnectorTremendousDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorTremendousDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorTsheetsteamDiscriminatedConnectionSettings", "DataConnectorTsheetsteamDiscriminatedConnectionSettingsSettings", + "DataConnectorTsheetsteamDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorTsheetsteamDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorTumblrDiscriminatedConnectionSettings", "DataConnectorTumblrDiscriminatedConnectionSettingsSettings", + "DataConnectorTumblrDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorTumblrDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorTwinfieldDiscriminatedConnectionSettings", "DataConnectorTwinfieldDiscriminatedConnectionSettingsSettings", + "DataConnectorTwinfieldDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorTwinfieldDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorTwitchDiscriminatedConnectionSettings", "DataConnectorTwitchDiscriminatedConnectionSettingsSettings", + "DataConnectorTwitchDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorTwitchDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorTwitterDiscriminatedConnectionSettings", "DataConnectorTwitterDiscriminatedConnectionSettingsSettings", + "DataConnectorTwitterDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorTwitterDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorTypeformDiscriminatedConnectionSettings", "DataConnectorTypeformDiscriminatedConnectionSettingsSettings", + "DataConnectorTypeformDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorTypeformDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorUberDiscriminatedConnectionSettings", "DataConnectorUberDiscriminatedConnectionSettingsSettings", + "DataConnectorUberDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorUberDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorVimeoDiscriminatedConnectionSettings", "DataConnectorVimeoDiscriminatedConnectionSettingsSettings", + "DataConnectorVimeoDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorVimeoDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorWakatimeDiscriminatedConnectionSettings", "DataConnectorWakatimeDiscriminatedConnectionSettingsSettings", + "DataConnectorWakatimeDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorWakatimeDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorWealthboxDiscriminatedConnectionSettings", "DataConnectorWealthboxDiscriminatedConnectionSettingsSettings", + "DataConnectorWealthboxDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorWealthboxDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorWebflowDiscriminatedConnectionSettings", "DataConnectorWebflowDiscriminatedConnectionSettingsSettings", + "DataConnectorWebflowDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorWebflowDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorWhoopDiscriminatedConnectionSettings", "DataConnectorWhoopDiscriminatedConnectionSettingsSettings", + "DataConnectorWhoopDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorWhoopDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorWordpressDiscriminatedConnectionSettings", "DataConnectorWordpressDiscriminatedConnectionSettingsSettings", + "DataConnectorWordpressDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorWordpressDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorWrikeDiscriminatedConnectionSettings", "DataConnectorWrikeDiscriminatedConnectionSettingsSettings", + "DataConnectorWrikeDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorWrikeDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorXeroDiscriminatedConnectionSettings", "DataConnectorXeroDiscriminatedConnectionSettingsSettings", + "DataConnectorXeroDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorXeroDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorYahooDiscriminatedConnectionSettings", "DataConnectorYahooDiscriminatedConnectionSettingsSettings", + "DataConnectorYahooDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorYahooDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorYandexDiscriminatedConnectionSettings", "DataConnectorYandexDiscriminatedConnectionSettingsSettings", + "DataConnectorYandexDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorYandexDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorZapierDiscriminatedConnectionSettings", "DataConnectorZapierDiscriminatedConnectionSettingsSettings", + "DataConnectorZapierDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorZapierDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorZendeskDiscriminatedConnectionSettings", "DataConnectorZendeskDiscriminatedConnectionSettingsSettings", + "DataConnectorZendeskDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorZendeskDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorZenefitsDiscriminatedConnectionSettings", "DataConnectorZenefitsDiscriminatedConnectionSettingsSettings", + "DataConnectorZenefitsDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorZenefitsDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorZohoDeskDiscriminatedConnectionSettings", "DataConnectorZohoDeskDiscriminatedConnectionSettingsSettings", + "DataConnectorZohoDeskDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorZohoDeskDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorZohoDiscriminatedConnectionSettings", "DataConnectorZohoDiscriminatedConnectionSettingsSettings", + "DataConnectorZohoDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorZohoDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorZoomDiscriminatedConnectionSettings", "DataConnectorZoomDiscriminatedConnectionSettingsSettings", + "DataConnectorZoomDiscriminatedConnectionSettingsSettingsOAuth", + "DataConnectorZoomDiscriminatedConnectionSettingsSettingsOAuthCredentials", "DataConnectorAirtableDiscriminatedConnectionSettings", "DataConnectorAirtableDiscriminatedConnectionSettingsSettings", "DataConnectorApolloDiscriminatedConnectionSettings", @@ -337,6 +622,8 @@ "DataConnectorRampDiscriminatedConnectionSettings", "DataConnectorRampDiscriminatedConnectionSettingsSettings", "DataConnectorSaltedgeDiscriminatedConnectionSettings", + "DataConnectorSharepointOnpremDiscriminatedConnectionSettings", + "DataConnectorSharepointOnpremDiscriminatedConnectionSettingsSettings", "DataConnectorSplitwiseDiscriminatedConnectionSettings", "DataConnectorSplitwiseDiscriminatedConnectionSettingsSettings", "DataConnectorSplitwiseDiscriminatedConnectionSettingsSettingsCurrentUser", @@ -380,8 +667,40 @@ class ClientCreateConnectionParams(TypedDict, total=False): metadata: Dict[str, object] +class DataConnectorAcceloDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorAcceloDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorAcceloDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + class DataConnectorAcceloDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + oauth: Required[DataConnectorAcceloDiscriminatedConnectionSettingsSettingsOAuth] subdomain: Required[str] """The subdomain of your Accelo account (e.g., https://domain.api.accelo.com)""" @@ -399,8 +718,50 @@ class DataConnectorAcceloDiscriminatedConnectionSettings(TypedDict, total=False) settings: DataConnectorAcceloDiscriminatedConnectionSettingsSettings +class DataConnectorAcmeApikeyDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + api_key: Required[str] + + +class DataConnectorAcmeApikeyDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["acme-apikey"]] + + settings: DataConnectorAcmeApikeyDiscriminatedConnectionSettingsSettings + + +class DataConnectorAcmeOauth2DiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorAcmeOauth2DiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorAcmeOauth2DiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + class DataConnectorAcmeOauth2DiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + oauth: Required[DataConnectorAcmeOauth2DiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -415,8 +776,40 @@ class DataConnectorAcmeOauth2DiscriminatedConnectionSettings(TypedDict, total=Fa settings: DataConnectorAcmeOauth2DiscriminatedConnectionSettingsSettings +class DataConnectorAdobeDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorAdobeDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorAdobeDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + class DataConnectorAdobeDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + oauth: Required[DataConnectorAdobeDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -431,11 +824,43 @@ class DataConnectorAdobeDiscriminatedConnectionSettings(TypedDict, total=False): settings: DataConnectorAdobeDiscriminatedConnectionSettingsSettings +class DataConnectorAdyenDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorAdyenDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorAdyenDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + class DataConnectorAdyenDiscriminatedConnectionSettingsSettings(TypedDict, total=False): environment: Required[str] """The environment to use (e.g., live|test)""" - oauth: Required[OAuthConnectionSettingsParam] + oauth: Required[DataConnectorAdyenDiscriminatedConnectionSettingsSettingsOAuth] resource: Required[str] """ @@ -456,8 +881,40 @@ class DataConnectorAdyenDiscriminatedConnectionSettings(TypedDict, total=False): settings: DataConnectorAdyenDiscriminatedConnectionSettingsSettings +class DataConnectorAircallDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorAircallDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorAircallDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + class DataConnectorAircallDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + oauth: Required[DataConnectorAircallDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -472,11 +929,43 @@ class DataConnectorAircallDiscriminatedConnectionSettings(TypedDict, total=False settings: DataConnectorAircallDiscriminatedConnectionSettingsSettings +class DataConnectorAmazonDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorAmazonDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorAmazonDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + class DataConnectorAmazonDiscriminatedConnectionSettingsSettings(TypedDict, total=False): extension: Required[str] """The domain extension for your Amazon account (e.g., com)""" - oauth: Required[OAuthConnectionSettingsParam] + oauth: Required[DataConnectorAmazonDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -491,8 +980,40 @@ class DataConnectorAmazonDiscriminatedConnectionSettings(TypedDict, total=False) settings: DataConnectorAmazonDiscriminatedConnectionSettingsSettings +class DataConnectorApaleoDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorApaleoDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorApaleoDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + class DataConnectorApaleoDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + oauth: Required[DataConnectorApaleoDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -507,8 +1028,40 @@ class DataConnectorApaleoDiscriminatedConnectionSettings(TypedDict, total=False) settings: DataConnectorApaleoDiscriminatedConnectionSettingsSettings +class DataConnectorAsanaDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorAsanaDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorAsanaDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + class DataConnectorAsanaDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + oauth: Required[DataConnectorAsanaDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -523,8 +1076,40 @@ class DataConnectorAsanaDiscriminatedConnectionSettings(TypedDict, total=False): settings: DataConnectorAsanaDiscriminatedConnectionSettingsSettings +class DataConnectorAttioDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorAttioDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorAttioDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + class DataConnectorAttioDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + oauth: Required[DataConnectorAttioDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -539,8 +1124,40 @@ class DataConnectorAttioDiscriminatedConnectionSettings(TypedDict, total=False): settings: DataConnectorAttioDiscriminatedConnectionSettingsSettings +class DataConnectorAuth0DiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorAuth0DiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorAuth0DiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + class DataConnectorAuth0DiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + oauth: Required[DataConnectorAuth0DiscriminatedConnectionSettingsSettingsOAuth] subdomain: Required[str] """The subdomain of your Auth0 account (e.g., https://domain.auth0.com)""" @@ -558,8 +1175,40 @@ class DataConnectorAuth0DiscriminatedConnectionSettings(TypedDict, total=False): settings: DataConnectorAuth0DiscriminatedConnectionSettingsSettings +class DataConnectorAutodeskDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorAutodeskDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorAutodeskDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + class DataConnectorAutodeskDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + oauth: Required[DataConnectorAutodeskDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -574,6 +1223,38 @@ class DataConnectorAutodeskDiscriminatedConnectionSettings(TypedDict, total=Fals settings: DataConnectorAutodeskDiscriminatedConnectionSettingsSettings +class DataConnectorAwsDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorAwsDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorAwsDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + class DataConnectorAwsDiscriminatedConnectionSettingsSettings(TypedDict, total=False): api_subdomain: Required[Annotated[str, PropertyInfo(alias="apiSubdomain")]] """ @@ -584,7 +1265,7 @@ class DataConnectorAwsDiscriminatedConnectionSettingsSettings(TypedDict, total=F extension: Required[str] """The domain extension of your AWS account (e.g., com)""" - oauth: Required[OAuthConnectionSettingsParam] + oauth: Required[DataConnectorAwsDiscriminatedConnectionSettingsSettingsOAuth] subdomain: Required[str] """The subdomain of your AWS account (e.g., https://domain.amazoncognito.com)""" @@ -602,8 +1283,40 @@ class DataConnectorAwsDiscriminatedConnectionSettings(TypedDict, total=False): settings: DataConnectorAwsDiscriminatedConnectionSettingsSettings +class DataConnectorBamboohrDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorBamboohrDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorBamboohrDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + class DataConnectorBamboohrDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + oauth: Required[DataConnectorBamboohrDiscriminatedConnectionSettingsSettingsOAuth] subdomain: Required[str] """The subdomain of your BambooHR account (e.g., https://domain.bamboohr.com)""" @@ -621,6 +1334,38 @@ class DataConnectorBamboohrDiscriminatedConnectionSettings(TypedDict, total=Fals settings: DataConnectorBamboohrDiscriminatedConnectionSettingsSettings +class DataConnectorBasecampDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorBasecampDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorBasecampDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + class DataConnectorBasecampDiscriminatedConnectionSettingsSettings(TypedDict, total=False): account_id: Required[Annotated[str, PropertyInfo(alias="accountId")]] """Your Account ID (e.g., 5899981)""" @@ -628,7 +1373,7 @@ class DataConnectorBasecampDiscriminatedConnectionSettingsSettings(TypedDict, to app_details: Required[Annotated[str, PropertyInfo(alias="appDetails")]] """The details of your app (e.g., example-subdomain)""" - oauth: Required[OAuthConnectionSettingsParam] + oauth: Required[DataConnectorBasecampDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -643,6 +1388,38 @@ class DataConnectorBasecampDiscriminatedConnectionSettings(TypedDict, total=Fals settings: DataConnectorBasecampDiscriminatedConnectionSettingsSettings +class DataConnectorBattlenetDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorBattlenetDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorBattlenetDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + class DataConnectorBattlenetDiscriminatedConnectionSettingsSettings(TypedDict, total=False): api_domain: Required[Annotated[str, PropertyInfo(alias="apiDomain")]] """ @@ -652,7 +1429,7 @@ class DataConnectorBattlenetDiscriminatedConnectionSettingsSettings(TypedDict, t extension: Required[str] """The domain extension of your Battle.net account (e.g., com)""" - oauth: Required[OAuthConnectionSettingsParam] + oauth: Required[DataConnectorBattlenetDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -667,19 +1444,51 @@ class DataConnectorBattlenetDiscriminatedConnectionSettings(TypedDict, total=Fal settings: DataConnectorBattlenetDiscriminatedConnectionSettingsSettings -class DataConnectorBigcommerceDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - account_uuid: Required[Annotated[str, PropertyInfo(alias="accountUuid")]] - """ - The account UUID of your BigCommerce account (e.g., - 123e4567-e89b-12d3-a456-426614174000) - """ +class DataConnectorBigcommerceDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] - oauth: Required[OAuthConnectionSettingsParam] + client_id: str + """Client ID used for the connection""" - store_hash: Required[Annotated[str, PropertyInfo(alias="storeHash")]] - """The store hash of your BigCommerce account (e.g., Example123)""" + expires_at: str - access_token: str + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorBigcommerceDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorBigcommerceDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorBigcommerceDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + account_uuid: Required[Annotated[str, PropertyInfo(alias="accountUuid")]] + """ + The account UUID of your BigCommerce account (e.g., + 123e4567-e89b-12d3-a456-426614174000) + """ + + oauth: Required[DataConnectorBigcommerceDiscriminatedConnectionSettingsSettingsOAuth] + + store_hash: Required[Annotated[str, PropertyInfo(alias="storeHash")]] + """The store hash of your BigCommerce account (e.g., Example123)""" + + access_token: str """Same as oauth.credentials.access_token, but more convenient to access. Optional for backward compatibility until we remove the oauth field @@ -692,8 +1501,40 @@ class DataConnectorBigcommerceDiscriminatedConnectionSettings(TypedDict, total=F settings: DataConnectorBigcommerceDiscriminatedConnectionSettingsSettings +class DataConnectorBitbucketDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorBitbucketDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorBitbucketDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + class DataConnectorBitbucketDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + oauth: Required[DataConnectorBitbucketDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -708,8 +1549,40 @@ class DataConnectorBitbucketDiscriminatedConnectionSettings(TypedDict, total=Fal settings: DataConnectorBitbucketDiscriminatedConnectionSettingsSettings +class DataConnectorBitlyDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorBitlyDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorBitlyDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + class DataConnectorBitlyDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + oauth: Required[DataConnectorBitlyDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -724,8 +1597,40 @@ class DataConnectorBitlyDiscriminatedConnectionSettings(TypedDict, total=False): settings: DataConnectorBitlyDiscriminatedConnectionSettingsSettings +class DataConnectorBlackbaudDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorBlackbaudDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorBlackbaudDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + class DataConnectorBlackbaudDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + oauth: Required[DataConnectorBlackbaudDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -740,8 +1645,40 @@ class DataConnectorBlackbaudDiscriminatedConnectionSettings(TypedDict, total=Fal settings: DataConnectorBlackbaudDiscriminatedConnectionSettingsSettings +class DataConnectorBoldsignDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorBoldsignDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorBoldsignDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + class DataConnectorBoldsignDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + oauth: Required[DataConnectorBoldsignDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -756,8 +1693,40 @@ class DataConnectorBoldsignDiscriminatedConnectionSettings(TypedDict, total=Fals settings: DataConnectorBoldsignDiscriminatedConnectionSettingsSettings +class DataConnectorBoxDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorBoxDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorBoxDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + class DataConnectorBoxDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + oauth: Required[DataConnectorBoxDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -772,8 +1741,40 @@ class DataConnectorBoxDiscriminatedConnectionSettings(TypedDict, total=False): settings: DataConnectorBoxDiscriminatedConnectionSettingsSettings +class DataConnectorBraintreeDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorBraintreeDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorBraintreeDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + class DataConnectorBraintreeDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + oauth: Required[DataConnectorBraintreeDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -788,8 +1789,40 @@ class DataConnectorBraintreeDiscriminatedConnectionSettings(TypedDict, total=Fal settings: DataConnectorBraintreeDiscriminatedConnectionSettingsSettings +class DataConnectorCalendlyDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorCalendlyDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorCalendlyDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + class DataConnectorCalendlyDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + oauth: Required[DataConnectorCalendlyDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -804,8 +1837,40 @@ class DataConnectorCalendlyDiscriminatedConnectionSettings(TypedDict, total=Fals settings: DataConnectorCalendlyDiscriminatedConnectionSettingsSettings +class DataConnectorClickupDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorClickupDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorClickupDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + class DataConnectorClickupDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + oauth: Required[DataConnectorClickupDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -820,8 +1885,40 @@ class DataConnectorClickupDiscriminatedConnectionSettings(TypedDict, total=False settings: DataConnectorClickupDiscriminatedConnectionSettingsSettings +class DataConnectorCloseDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorCloseDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorCloseDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + class DataConnectorCloseDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + oauth: Required[DataConnectorCloseDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -836,8 +1933,40 @@ class DataConnectorCloseDiscriminatedConnectionSettings(TypedDict, total=False): settings: DataConnectorCloseDiscriminatedConnectionSettingsSettings +class DataConnectorConfluenceDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorConfluenceDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorConfluenceDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + class DataConnectorConfluenceDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + oauth: Required[DataConnectorConfluenceDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -852,8 +1981,40 @@ class DataConnectorConfluenceDiscriminatedConnectionSettings(TypedDict, total=Fa settings: DataConnectorConfluenceDiscriminatedConnectionSettingsSettings +class DataConnectorContentfulDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorContentfulDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorContentfulDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + class DataConnectorContentfulDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + oauth: Required[DataConnectorContentfulDiscriminatedConnectionSettingsSettingsOAuth] subdomain: Required[str] """The subdomain of your Contentful account (e.g., https://domain.contentful.com)""" @@ -871,6 +2032,38 @@ class DataConnectorContentfulDiscriminatedConnectionSettings(TypedDict, total=Fa settings: DataConnectorContentfulDiscriminatedConnectionSettingsSettings +class DataConnectorContentstackDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorContentstackDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorContentstackDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + class DataConnectorContentstackDiscriminatedConnectionSettingsSettings(TypedDict, total=False): api_domain: Required[Annotated[str, PropertyInfo(alias="apiDomain")]] """ @@ -881,7 +2074,7 @@ class DataConnectorContentstackDiscriminatedConnectionSettingsSettings(TypedDict app_id: Required[Annotated[str, PropertyInfo(alias="appId")]] """The app ID of your Contentstack account (e.g., example-subdomain)""" - oauth: Required[OAuthConnectionSettingsParam] + oauth: Required[DataConnectorContentstackDiscriminatedConnectionSettingsSettingsOAuth] subdomain: Required[str] """ @@ -902,8 +2095,40 @@ class DataConnectorContentstackDiscriminatedConnectionSettings(TypedDict, total= settings: DataConnectorContentstackDiscriminatedConnectionSettingsSettings +class DataConnectorCopperDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorCopperDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorCopperDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + class DataConnectorCopperDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + oauth: Required[DataConnectorCopperDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -918,40 +2143,40 @@ class DataConnectorCopperDiscriminatedConnectionSettings(TypedDict, total=False) settings: DataConnectorCopperDiscriminatedConnectionSettingsSettings -class DataConnectorCorosDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] +class DataConnectorCorosDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. + client_id: str + """Client ID used for the connection""" - Optional for backward compatibility until we remove the oauth field - """ + expires_at: str + expires_in: float -class DataConnectorCorosDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["coros"]] + raw: Dict[str, object] - settings: DataConnectorCorosDiscriminatedConnectionSettingsSettings + refresh_token: str + scope: str -class DataConnectorDatevDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + token_type: str - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. - Optional for backward compatibility until we remove the oauth field - """ +class DataConnectorCorosDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + credentials: DataConnectorCorosDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" -class DataConnectorDatevDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["datev"]] + last_fetched_at: str - settings: DataConnectorDatevDiscriminatedConnectionSettingsSettings + metadata: Optional[Dict[str, object]] + updated_at: str -class DataConnectorDeelDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + +class DataConnectorCorosDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorCorosDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -960,46 +2185,46 @@ class DataConnectorDeelDiscriminatedConnectionSettingsSettings(TypedDict, total= """ -class DataConnectorDeelDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["deel"]] +class DataConnectorCorosDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["coros"]] - settings: DataConnectorDeelDiscriminatedConnectionSettingsSettings + settings: DataConnectorCorosDiscriminatedConnectionSettingsSettings -class DataConnectorDialpadDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] +class DataConnectorDatevDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. + client_id: str + """Client ID used for the connection""" - Optional for backward compatibility until we remove the oauth field - """ + expires_at: str + expires_in: float -class DataConnectorDialpadDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["dialpad"]] + raw: Dict[str, object] - settings: DataConnectorDialpadDiscriminatedConnectionSettingsSettings + refresh_token: str + scope: str -class DataConnectorDigitaloceanDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + token_type: str - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. - Optional for backward compatibility until we remove the oauth field - """ +class DataConnectorDatevDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + credentials: DataConnectorDatevDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" -class DataConnectorDigitaloceanDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["digitalocean"]] + last_fetched_at: str - settings: DataConnectorDigitaloceanDiscriminatedConnectionSettingsSettings + metadata: Optional[Dict[str, object]] + updated_at: str -class DataConnectorDiscordDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + +class DataConnectorDatevDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorDatevDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -1008,46 +2233,46 @@ class DataConnectorDiscordDiscriminatedConnectionSettingsSettings(TypedDict, tot """ -class DataConnectorDiscordDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["discord"]] +class DataConnectorDatevDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["datev"]] - settings: DataConnectorDiscordDiscriminatedConnectionSettingsSettings + settings: DataConnectorDatevDiscriminatedConnectionSettingsSettings -class DataConnectorDocusignDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] +class DataConnectorDeelDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. + client_id: str + """Client ID used for the connection""" - Optional for backward compatibility until we remove the oauth field - """ + expires_at: str + expires_in: float -class DataConnectorDocusignDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["docusign"]] + raw: Dict[str, object] - settings: DataConnectorDocusignDiscriminatedConnectionSettingsSettings + refresh_token: str + scope: str -class DataConnectorDropboxDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + token_type: str - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. - Optional for backward compatibility until we remove the oauth field - """ +class DataConnectorDeelDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + credentials: DataConnectorDeelDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" -class DataConnectorDropboxDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["dropbox"]] + last_fetched_at: str - settings: DataConnectorDropboxDiscriminatedConnectionSettingsSettings + metadata: Optional[Dict[str, object]] + updated_at: str -class DataConnectorEbayDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + +class DataConnectorDeelDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorDeelDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -1056,49 +2281,46 @@ class DataConnectorEbayDiscriminatedConnectionSettingsSettings(TypedDict, total= """ -class DataConnectorEbayDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["ebay"]] +class DataConnectorDeelDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["deel"]] - settings: DataConnectorEbayDiscriminatedConnectionSettingsSettings + settings: DataConnectorDeelDiscriminatedConnectionSettingsSettings -class DataConnectorEgnyteDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] +class DataConnectorDialpadDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] - subdomain: Required[str] - """The subdomain of your Egnyte account (e.g., https://domain.egnyte.com)""" + client_id: str + """Client ID used for the connection""" - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. + expires_at: str - Optional for backward compatibility until we remove the oauth field - """ + expires_in: float + raw: Dict[str, object] -class DataConnectorEgnyteDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["egnyte"]] + refresh_token: str - settings: DataConnectorEgnyteDiscriminatedConnectionSettingsSettings + scope: str + token_type: str -class DataConnectorEnvoyDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. +class DataConnectorDialpadDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str - Optional for backward compatibility until we remove the oauth field - """ + credentials: DataConnectorDialpadDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + last_fetched_at: str -class DataConnectorEnvoyDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["envoy"]] + metadata: Optional[Dict[str, object]] - settings: DataConnectorEnvoyDiscriminatedConnectionSettingsSettings + updated_at: str -class DataConnectorEventbriteDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] +class DataConnectorDialpadDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorDialpadDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -1107,46 +2329,46 @@ class DataConnectorEventbriteDiscriminatedConnectionSettingsSettings(TypedDict, """ -class DataConnectorEventbriteDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["eventbrite"]] +class DataConnectorDialpadDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["dialpad"]] - settings: DataConnectorEventbriteDiscriminatedConnectionSettingsSettings + settings: DataConnectorDialpadDiscriminatedConnectionSettingsSettings -class DataConnectorExistDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] +class DataConnectorDigitaloceanDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. + client_id: str + """Client ID used for the connection""" - Optional for backward compatibility until we remove the oauth field - """ + expires_at: str + expires_in: float -class DataConnectorExistDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["exist"]] + raw: Dict[str, object] - settings: DataConnectorExistDiscriminatedConnectionSettingsSettings + refresh_token: str + scope: str -class DataConnectorFacebookDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + token_type: str - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. - Optional for backward compatibility until we remove the oauth field - """ +class DataConnectorDigitaloceanDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + credentials: DataConnectorDigitaloceanDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" -class DataConnectorFacebookDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["facebook"]] + last_fetched_at: str - settings: DataConnectorFacebookDiscriminatedConnectionSettingsSettings + metadata: Optional[Dict[str, object]] + updated_at: str -class DataConnectorFactorialDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + +class DataConnectorDigitaloceanDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorDigitaloceanDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -1155,46 +2377,46 @@ class DataConnectorFactorialDiscriminatedConnectionSettingsSettings(TypedDict, t """ -class DataConnectorFactorialDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["factorial"]] +class DataConnectorDigitaloceanDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["digitalocean"]] - settings: DataConnectorFactorialDiscriminatedConnectionSettingsSettings + settings: DataConnectorDigitaloceanDiscriminatedConnectionSettingsSettings -class DataConnectorFigmaDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] +class DataConnectorDiscordDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. + client_id: str + """Client ID used for the connection""" - Optional for backward compatibility until we remove the oauth field - """ + expires_at: str + expires_in: float -class DataConnectorFigmaDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["figma"]] + raw: Dict[str, object] - settings: DataConnectorFigmaDiscriminatedConnectionSettingsSettings + refresh_token: str + scope: str -class DataConnectorFitbitDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + token_type: str - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. - Optional for backward compatibility until we remove the oauth field - """ +class DataConnectorDiscordDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + credentials: DataConnectorDiscordDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" -class DataConnectorFitbitDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["fitbit"]] + last_fetched_at: str - settings: DataConnectorFitbitDiscriminatedConnectionSettingsSettings + metadata: Optional[Dict[str, object]] + updated_at: str -class DataConnectorFortnoxDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + +class DataConnectorDiscordDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorDiscordDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -1203,46 +2425,46 @@ class DataConnectorFortnoxDiscriminatedConnectionSettingsSettings(TypedDict, tot """ -class DataConnectorFortnoxDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["fortnox"]] +class DataConnectorDiscordDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["discord"]] - settings: DataConnectorFortnoxDiscriminatedConnectionSettingsSettings + settings: DataConnectorDiscordDiscriminatedConnectionSettingsSettings -class DataConnectorFreshbooksDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] +class DataConnectorDocusignDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. + client_id: str + """Client ID used for the connection""" - Optional for backward compatibility until we remove the oauth field - """ + expires_at: str + expires_in: float -class DataConnectorFreshbooksDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["freshbooks"]] + raw: Dict[str, object] - settings: DataConnectorFreshbooksDiscriminatedConnectionSettingsSettings + refresh_token: str + scope: str -class DataConnectorFrontDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + token_type: str - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. - Optional for backward compatibility until we remove the oauth field - """ +class DataConnectorDocusignDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + credentials: DataConnectorDocusignDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" -class DataConnectorFrontDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["front"]] + last_fetched_at: str - settings: DataConnectorFrontDiscriminatedConnectionSettingsSettings + metadata: Optional[Dict[str, object]] + updated_at: str -class DataConnectorGitHubDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + +class DataConnectorDocusignDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorDocusignDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -1251,49 +2473,46 @@ class DataConnectorGitHubDiscriminatedConnectionSettingsSettings(TypedDict, tota """ -class DataConnectorGitHubDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["github"]] +class DataConnectorDocusignDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["docusign"]] - settings: DataConnectorGitHubDiscriminatedConnectionSettingsSettings + settings: DataConnectorDocusignDiscriminatedConnectionSettingsSettings -class DataConnectorGitlabDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] +class DataConnectorDropboxDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. + client_id: str + """Client ID used for the connection""" - Optional for backward compatibility until we remove the oauth field - """ + expires_at: str + expires_in: float -class DataConnectorGitlabDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["gitlab"]] + raw: Dict[str, object] - settings: DataConnectorGitlabDiscriminatedConnectionSettingsSettings + refresh_token: str + scope: str -class DataConnectorGongDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - api_base_url_for_customer: Required[str] - """The base URL of your Gong account (e.g., example)""" + token_type: str - oauth: Required[OAuthConnectionSettingsParam] - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. +class DataConnectorDropboxDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str - Optional for backward compatibility until we remove the oauth field - """ + credentials: DataConnectorDropboxDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + last_fetched_at: str -class DataConnectorGongDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["gong"]] + metadata: Optional[Dict[str, object]] - settings: DataConnectorGongDiscriminatedConnectionSettingsSettings + updated_at: str -class DataConnectorGoogleCalendarDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] +class DataConnectorDropboxDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorDropboxDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -1302,46 +2521,46 @@ class DataConnectorGoogleCalendarDiscriminatedConnectionSettingsSettings(TypedDi """ -class DataConnectorGoogleCalendarDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["google-calendar"]] +class DataConnectorDropboxDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["dropbox"]] - settings: DataConnectorGoogleCalendarDiscriminatedConnectionSettingsSettings + settings: DataConnectorDropboxDiscriminatedConnectionSettingsSettings -class DataConnectorGoogleDocsDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] +class DataConnectorEbayDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. + client_id: str + """Client ID used for the connection""" - Optional for backward compatibility until we remove the oauth field - """ + expires_at: str + expires_in: float -class DataConnectorGoogleDocsDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["google-docs"]] + raw: Dict[str, object] - settings: DataConnectorGoogleDocsDiscriminatedConnectionSettingsSettings + refresh_token: str + scope: str -class DataConnectorGoogleDriveDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + token_type: str - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. - Optional for backward compatibility until we remove the oauth field - """ +class DataConnectorEbayDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + credentials: DataConnectorEbayDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" -class DataConnectorGoogleDriveDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["google-drive"]] + last_fetched_at: str - settings: DataConnectorGoogleDriveDiscriminatedConnectionSettingsSettings + metadata: Optional[Dict[str, object]] + updated_at: str -class DataConnectorGoogleMailDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + +class DataConnectorEbayDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorEbayDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -1350,49 +2569,49 @@ class DataConnectorGoogleMailDiscriminatedConnectionSettingsSettings(TypedDict, """ -class DataConnectorGoogleMailDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["google-mail"]] +class DataConnectorEbayDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["ebay"]] - settings: DataConnectorGoogleMailDiscriminatedConnectionSettingsSettings + settings: DataConnectorEbayDiscriminatedConnectionSettingsSettings -class DataConnectorGoogleSheetDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] +class DataConnectorEgnyteDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. + client_id: str + """Client ID used for the connection""" - Optional for backward compatibility until we remove the oauth field - """ + expires_at: str + expires_in: float -class DataConnectorGoogleSheetDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["google-sheet"]] + raw: Dict[str, object] - settings: DataConnectorGoogleSheetDiscriminatedConnectionSettingsSettings + refresh_token: str + scope: str -class DataConnectorGorgiasDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + token_type: str - subdomain: Required[str] - """The subdomain of your Gorgias account (e.g., https://domain.gorgias.com)""" - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. +class DataConnectorEgnyteDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str - Optional for backward compatibility until we remove the oauth field - """ + credentials: DataConnectorEgnyteDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + last_fetched_at: str -class DataConnectorGorgiasDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["gorgias"]] + metadata: Optional[Dict[str, object]] - settings: DataConnectorGorgiasDiscriminatedConnectionSettingsSettings + updated_at: str -class DataConnectorGrainDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] +class DataConnectorEgnyteDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorEgnyteDiscriminatedConnectionSettingsSettingsOAuth] + + subdomain: Required[str] + """The subdomain of your Egnyte account (e.g., https://domain.egnyte.com)""" access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -1401,49 +2620,46 @@ class DataConnectorGrainDiscriminatedConnectionSettingsSettings(TypedDict, total """ -class DataConnectorGrainDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["grain"]] +class DataConnectorEgnyteDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["egnyte"]] - settings: DataConnectorGrainDiscriminatedConnectionSettingsSettings + settings: DataConnectorEgnyteDiscriminatedConnectionSettingsSettings -class DataConnectorGumroadDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] +class DataConnectorEnvoyDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. + client_id: str + """Client ID used for the connection""" - Optional for backward compatibility until we remove the oauth field - """ + expires_at: str + expires_in: float -class DataConnectorGumroadDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["gumroad"]] + raw: Dict[str, object] - settings: DataConnectorGumroadDiscriminatedConnectionSettingsSettings + refresh_token: str + scope: str -class DataConnectorGustoDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + token_type: str - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. - Optional for backward compatibility until we remove the oauth field - """ +class DataConnectorEnvoyDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + credentials: DataConnectorEnvoyDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" -class DataConnectorGustoDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["gusto"]] + last_fetched_at: str - settings: DataConnectorGustoDiscriminatedConnectionSettingsSettings + metadata: Optional[Dict[str, object]] + updated_at: str -class DataConnectorHarvestDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - app_details: Required[Annotated[str, PropertyInfo(alias="appDetails")]] - """The details of your app (e.g., example-subdomain)""" - oauth: Required[OAuthConnectionSettingsParam] +class DataConnectorEnvoyDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorEnvoyDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -1452,46 +2668,46 @@ class DataConnectorHarvestDiscriminatedConnectionSettingsSettings(TypedDict, tot """ -class DataConnectorHarvestDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["harvest"]] +class DataConnectorEnvoyDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["envoy"]] - settings: DataConnectorHarvestDiscriminatedConnectionSettingsSettings + settings: DataConnectorEnvoyDiscriminatedConnectionSettingsSettings -class DataConnectorHighlevelDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] +class DataConnectorEventbriteDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. + client_id: str + """Client ID used for the connection""" - Optional for backward compatibility until we remove the oauth field - """ + expires_at: str + expires_in: float -class DataConnectorHighlevelDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["highlevel"]] + raw: Dict[str, object] - settings: DataConnectorHighlevelDiscriminatedConnectionSettingsSettings + refresh_token: str + scope: str -class DataConnectorHubspotDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + token_type: str - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. - Optional for backward compatibility until we remove the oauth field - """ +class DataConnectorEventbriteDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + credentials: DataConnectorEventbriteDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" -class DataConnectorHubspotDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["hubspot"]] + last_fetched_at: str - settings: DataConnectorHubspotDiscriminatedConnectionSettingsSettings + metadata: Optional[Dict[str, object]] + updated_at: str -class DataConnectorInstagramDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + +class DataConnectorEventbriteDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorEventbriteDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -1500,46 +2716,46 @@ class DataConnectorInstagramDiscriminatedConnectionSettingsSettings(TypedDict, t """ -class DataConnectorInstagramDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["instagram"]] +class DataConnectorEventbriteDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["eventbrite"]] - settings: DataConnectorInstagramDiscriminatedConnectionSettingsSettings + settings: DataConnectorEventbriteDiscriminatedConnectionSettingsSettings -class DataConnectorIntercomDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] +class DataConnectorExistDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. + client_id: str + """Client ID used for the connection""" - Optional for backward compatibility until we remove the oauth field - """ + expires_at: str + expires_in: float -class DataConnectorIntercomDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["intercom"]] + raw: Dict[str, object] - settings: DataConnectorIntercomDiscriminatedConnectionSettingsSettings + refresh_token: str + scope: str -class DataConnectorJiraDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + token_type: str - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. - Optional for backward compatibility until we remove the oauth field - """ +class DataConnectorExistDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + credentials: DataConnectorExistDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" -class DataConnectorJiraDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["jira"]] + last_fetched_at: str - settings: DataConnectorJiraDiscriminatedConnectionSettingsSettings + metadata: Optional[Dict[str, object]] + updated_at: str -class DataConnectorKeapDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + +class DataConnectorExistDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorExistDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -1548,46 +2764,46 @@ class DataConnectorKeapDiscriminatedConnectionSettingsSettings(TypedDict, total= """ -class DataConnectorKeapDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["keap"]] +class DataConnectorExistDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["exist"]] - settings: DataConnectorKeapDiscriminatedConnectionSettingsSettings + settings: DataConnectorExistDiscriminatedConnectionSettingsSettings -class DataConnectorLeverDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] +class DataConnectorFacebookDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. + client_id: str + """Client ID used for the connection""" - Optional for backward compatibility until we remove the oauth field - """ + expires_at: str + expires_in: float -class DataConnectorLeverDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["lever"]] + raw: Dict[str, object] - settings: DataConnectorLeverDiscriminatedConnectionSettingsSettings + refresh_token: str + scope: str -class DataConnectorLinearDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + token_type: str - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. - Optional for backward compatibility until we remove the oauth field - """ +class DataConnectorFacebookDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + credentials: DataConnectorFacebookDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" -class DataConnectorLinearDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["linear"]] + last_fetched_at: str - settings: DataConnectorLinearDiscriminatedConnectionSettingsSettings + metadata: Optional[Dict[str, object]] + updated_at: str -class DataConnectorLinkedinDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + +class DataConnectorFacebookDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorFacebookDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -1596,49 +2812,46 @@ class DataConnectorLinkedinDiscriminatedConnectionSettingsSettings(TypedDict, to """ -class DataConnectorLinkedinDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["linkedin"]] +class DataConnectorFacebookDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["facebook"]] - settings: DataConnectorLinkedinDiscriminatedConnectionSettingsSettings + settings: DataConnectorFacebookDiscriminatedConnectionSettingsSettings -class DataConnectorLinkhutDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] +class DataConnectorFactorialDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. + client_id: str + """Client ID used for the connection""" - Optional for backward compatibility until we remove the oauth field - """ + expires_at: str + expires_in: float -class DataConnectorLinkhutDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["linkhut"]] + raw: Dict[str, object] - settings: DataConnectorLinkhutDiscriminatedConnectionSettingsSettings + refresh_token: str + scope: str -class DataConnectorMailchimpDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - dc: Required[str] - """The data center for your account (e.g., us6)""" + token_type: str - oauth: Required[OAuthConnectionSettingsParam] - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. +class DataConnectorFactorialDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str - Optional for backward compatibility until we remove the oauth field - """ + credentials: DataConnectorFactorialDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + last_fetched_at: str -class DataConnectorMailchimpDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["mailchimp"]] + metadata: Optional[Dict[str, object]] - settings: DataConnectorMailchimpDiscriminatedConnectionSettingsSettings + updated_at: str -class DataConnectorMiroDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] +class DataConnectorFactorialDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorFactorialDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -1647,49 +2860,46 @@ class DataConnectorMiroDiscriminatedConnectionSettingsSettings(TypedDict, total= """ -class DataConnectorMiroDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["miro"]] +class DataConnectorFactorialDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["factorial"]] - settings: DataConnectorMiroDiscriminatedConnectionSettingsSettings + settings: DataConnectorFactorialDiscriminatedConnectionSettingsSettings -class DataConnectorMondayDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] +class DataConnectorFigmaDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. + client_id: str + """Client ID used for the connection""" - Optional for backward compatibility until we remove the oauth field - """ + expires_at: str + expires_in: float -class DataConnectorMondayDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["monday"]] + raw: Dict[str, object] - settings: DataConnectorMondayDiscriminatedConnectionSettingsSettings + refresh_token: str + scope: str -class DataConnectorMuralDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + token_type: str - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. - Optional for backward compatibility until we remove the oauth field - """ +class DataConnectorFigmaDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + credentials: DataConnectorFigmaDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" -class DataConnectorMuralDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["mural"]] + last_fetched_at: str - settings: DataConnectorMuralDiscriminatedConnectionSettingsSettings + metadata: Optional[Dict[str, object]] + updated_at: str -class DataConnectorNamelyDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - company: Required[str] - """The name of your Namely company (e.g., example)""" - oauth: Required[OAuthConnectionSettingsParam] +class DataConnectorFigmaDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorFigmaDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -1698,52 +2908,46 @@ class DataConnectorNamelyDiscriminatedConnectionSettingsSettings(TypedDict, tota """ -class DataConnectorNamelyDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["namely"]] - - settings: DataConnectorNamelyDiscriminatedConnectionSettingsSettings +class DataConnectorFigmaDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["figma"]] + settings: DataConnectorFigmaDiscriminatedConnectionSettingsSettings -class DataConnectorNationbuilderDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - account_id: Required[Annotated[str, PropertyInfo(alias="accountId")]] - """The account ID of your NationBuilder account (e.g., example-subdomain)""" - oauth: Required[OAuthConnectionSettingsParam] +class DataConnectorFitbitDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. + client_id: str + """Client ID used for the connection""" - Optional for backward compatibility until we remove the oauth field - """ + expires_at: str + expires_in: float -class DataConnectorNationbuilderDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["nationbuilder"]] + raw: Dict[str, object] - settings: DataConnectorNationbuilderDiscriminatedConnectionSettingsSettings + refresh_token: str + scope: str -class DataConnectorNetsuiteDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - account_id: Required[Annotated[str, PropertyInfo(alias="accountId")]] - """The account ID of your NetSuite account (e.g., tstdrv231585)""" + token_type: str - oauth: Required[OAuthConnectionSettingsParam] - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. +class DataConnectorFitbitDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str - Optional for backward compatibility until we remove the oauth field - """ + credentials: DataConnectorFitbitDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + last_fetched_at: str -class DataConnectorNetsuiteDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["netsuite"]] + metadata: Optional[Dict[str, object]] - settings: DataConnectorNetsuiteDiscriminatedConnectionSettingsSettings + updated_at: str -class DataConnectorNotionDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] +class DataConnectorFitbitDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorFitbitDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -1752,52 +2956,46 @@ class DataConnectorNotionDiscriminatedConnectionSettingsSettings(TypedDict, tota """ -class DataConnectorNotionDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["notion"]] - - settings: DataConnectorNotionDiscriminatedConnectionSettingsSettings +class DataConnectorFitbitDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["fitbit"]] + settings: DataConnectorFitbitDiscriminatedConnectionSettingsSettings -class DataConnectorOdooDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] - server_url: Required[Annotated[str, PropertyInfo(alias="serverUrl")]] - """The domain of your Odoo account (e.g., https://example-subdomain)""" +class DataConnectorFortnoxDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. + client_id: str + """Client ID used for the connection""" - Optional for backward compatibility until we remove the oauth field - """ + expires_at: str + expires_in: float -class DataConnectorOdooDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["odoo"]] + raw: Dict[str, object] - settings: DataConnectorOdooDiscriminatedConnectionSettingsSettings + refresh_token: str + scope: str -class DataConnectorOktaDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + token_type: str - subdomain: Required[str] - """The subdomain of your Okta account (e.g., https://domain.okta.com)""" - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. +class DataConnectorFortnoxDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str - Optional for backward compatibility until we remove the oauth field - """ + credentials: DataConnectorFortnoxDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + last_fetched_at: str -class DataConnectorOktaDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["okta"]] + metadata: Optional[Dict[str, object]] - settings: DataConnectorOktaDiscriminatedConnectionSettingsSettings + updated_at: str -class DataConnectorOsuDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] +class DataConnectorFortnoxDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorFortnoxDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -1806,46 +3004,46 @@ class DataConnectorOsuDiscriminatedConnectionSettingsSettings(TypedDict, total=F """ -class DataConnectorOsuDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["osu"]] +class DataConnectorFortnoxDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["fortnox"]] - settings: DataConnectorOsuDiscriminatedConnectionSettingsSettings + settings: DataConnectorFortnoxDiscriminatedConnectionSettingsSettings -class DataConnectorOuraDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] +class DataConnectorFreshbooksDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. + client_id: str + """Client ID used for the connection""" - Optional for backward compatibility until we remove the oauth field - """ + expires_at: str + expires_in: float -class DataConnectorOuraDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["oura"]] + raw: Dict[str, object] - settings: DataConnectorOuraDiscriminatedConnectionSettingsSettings + refresh_token: str + scope: str -class DataConnectorOutreachDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + token_type: str - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. - Optional for backward compatibility until we remove the oauth field - """ +class DataConnectorFreshbooksDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + credentials: DataConnectorFreshbooksDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" -class DataConnectorOutreachDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["outreach"]] + last_fetched_at: str - settings: DataConnectorOutreachDiscriminatedConnectionSettingsSettings + metadata: Optional[Dict[str, object]] + updated_at: str -class DataConnectorPagerdutyDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + +class DataConnectorFreshbooksDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorFreshbooksDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -1854,46 +3052,46 @@ class DataConnectorPagerdutyDiscriminatedConnectionSettingsSettings(TypedDict, t """ -class DataConnectorPagerdutyDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["pagerduty"]] +class DataConnectorFreshbooksDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["freshbooks"]] - settings: DataConnectorPagerdutyDiscriminatedConnectionSettingsSettings + settings: DataConnectorFreshbooksDiscriminatedConnectionSettingsSettings -class DataConnectorPandadocDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] +class DataConnectorFrontDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. + client_id: str + """Client ID used for the connection""" - Optional for backward compatibility until we remove the oauth field - """ + expires_at: str + expires_in: float -class DataConnectorPandadocDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["pandadoc"]] + raw: Dict[str, object] - settings: DataConnectorPandadocDiscriminatedConnectionSettingsSettings + refresh_token: str + scope: str -class DataConnectorPayfitDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + token_type: str - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. - Optional for backward compatibility until we remove the oauth field - """ +class DataConnectorFrontDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + credentials: DataConnectorFrontDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" -class DataConnectorPayfitDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["payfit"]] + last_fetched_at: str - settings: DataConnectorPayfitDiscriminatedConnectionSettingsSettings + metadata: Optional[Dict[str, object]] + updated_at: str -class DataConnectorPaypalDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + +class DataConnectorFrontDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorFrontDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -1902,14 +3100,3025 @@ class DataConnectorPaypalDiscriminatedConnectionSettingsSettings(TypedDict, tota """ -class DataConnectorPaypalDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["paypal"]] +class DataConnectorFrontDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["front"]] - settings: DataConnectorPaypalDiscriminatedConnectionSettingsSettings + settings: DataConnectorFrontDiscriminatedConnectionSettingsSettings + + +class DataConnectorGitHubDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorGitHubDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorGitHubDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorGitHubDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorGitHubDiscriminatedConnectionSettingsSettingsOAuth] + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorGitHubDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["github"]] + + settings: DataConnectorGitHubDiscriminatedConnectionSettingsSettings + + +class DataConnectorGitlabDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorGitlabDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorGitlabDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorGitlabDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorGitlabDiscriminatedConnectionSettingsSettingsOAuth] + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorGitlabDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["gitlab"]] + + settings: DataConnectorGitlabDiscriminatedConnectionSettingsSettings + + +class DataConnectorGongDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorGongDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorGongDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorGongDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + api_base_url_for_customer: Required[str] + """The base URL of your Gong account (e.g., example)""" + + oauth: Required[DataConnectorGongDiscriminatedConnectionSettingsSettingsOAuth] + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorGongDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["gong"]] + + settings: DataConnectorGongDiscriminatedConnectionSettingsSettings + + +class DataConnectorGoogleCalendarDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorGoogleCalendarDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorGoogleCalendarDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorGoogleCalendarDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorGoogleCalendarDiscriminatedConnectionSettingsSettingsOAuth] + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorGoogleCalendarDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["google-calendar"]] + + settings: DataConnectorGoogleCalendarDiscriminatedConnectionSettingsSettings + + +class DataConnectorGoogleDocsDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorGoogleDocsDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorGoogleDocsDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorGoogleDocsDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorGoogleDocsDiscriminatedConnectionSettingsSettingsOAuth] + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorGoogleDocsDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["google-docs"]] + + settings: DataConnectorGoogleDocsDiscriminatedConnectionSettingsSettings + + +class DataConnectorGoogleDriveDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorGoogleDriveDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorGoogleDriveDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorGoogleDriveDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorGoogleDriveDiscriminatedConnectionSettingsSettingsOAuth] + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorGoogleDriveDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["google-drive"]] + + settings: DataConnectorGoogleDriveDiscriminatedConnectionSettingsSettings + + +class DataConnectorGoogleMailDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorGoogleMailDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorGoogleMailDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorGoogleMailDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorGoogleMailDiscriminatedConnectionSettingsSettingsOAuth] + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorGoogleMailDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["google-mail"]] + + settings: DataConnectorGoogleMailDiscriminatedConnectionSettingsSettings + + +class DataConnectorGoogleSheetDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorGoogleSheetDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorGoogleSheetDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorGoogleSheetDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorGoogleSheetDiscriminatedConnectionSettingsSettingsOAuth] + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorGoogleSheetDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["google-sheet"]] + + settings: DataConnectorGoogleSheetDiscriminatedConnectionSettingsSettings + + +class DataConnectorGorgiasDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorGorgiasDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorGorgiasDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorGorgiasDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorGorgiasDiscriminatedConnectionSettingsSettingsOAuth] + + subdomain: Required[str] + """The subdomain of your Gorgias account (e.g., https://domain.gorgias.com)""" + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorGorgiasDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["gorgias"]] + + settings: DataConnectorGorgiasDiscriminatedConnectionSettingsSettings + + +class DataConnectorGrainDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorGrainDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorGrainDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorGrainDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorGrainDiscriminatedConnectionSettingsSettingsOAuth] + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorGrainDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["grain"]] + + settings: DataConnectorGrainDiscriminatedConnectionSettingsSettings + + +class DataConnectorGumroadDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorGumroadDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorGumroadDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorGumroadDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorGumroadDiscriminatedConnectionSettingsSettingsOAuth] + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorGumroadDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["gumroad"]] + + settings: DataConnectorGumroadDiscriminatedConnectionSettingsSettings + + +class DataConnectorGustoDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorGustoDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorGustoDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorGustoDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorGustoDiscriminatedConnectionSettingsSettingsOAuth] + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorGustoDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["gusto"]] + + settings: DataConnectorGustoDiscriminatedConnectionSettingsSettings + + +class DataConnectorHarvestDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorHarvestDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorHarvestDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorHarvestDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + app_details: Required[Annotated[str, PropertyInfo(alias="appDetails")]] + """The details of your app (e.g., example-subdomain)""" + + oauth: Required[DataConnectorHarvestDiscriminatedConnectionSettingsSettingsOAuth] + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorHarvestDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["harvest"]] + + settings: DataConnectorHarvestDiscriminatedConnectionSettingsSettings + + +class DataConnectorHighlevelDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorHighlevelDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorHighlevelDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorHighlevelDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorHighlevelDiscriminatedConnectionSettingsSettingsOAuth] + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorHighlevelDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["highlevel"]] + + settings: DataConnectorHighlevelDiscriminatedConnectionSettingsSettings + + +class DataConnectorHubspotDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorHubspotDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorHubspotDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorHubspotDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorHubspotDiscriminatedConnectionSettingsSettingsOAuth] + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorHubspotDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["hubspot"]] + + settings: DataConnectorHubspotDiscriminatedConnectionSettingsSettings + + +class DataConnectorInstagramDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorInstagramDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorInstagramDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorInstagramDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorInstagramDiscriminatedConnectionSettingsSettingsOAuth] + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorInstagramDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["instagram"]] + + settings: DataConnectorInstagramDiscriminatedConnectionSettingsSettings + + +class DataConnectorIntercomDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorIntercomDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorIntercomDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorIntercomDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorIntercomDiscriminatedConnectionSettingsSettingsOAuth] + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorIntercomDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["intercom"]] + + settings: DataConnectorIntercomDiscriminatedConnectionSettingsSettings + + +class DataConnectorJiraDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorJiraDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorJiraDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorJiraDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorJiraDiscriminatedConnectionSettingsSettingsOAuth] + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorJiraDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["jira"]] + + settings: DataConnectorJiraDiscriminatedConnectionSettingsSettings + + +class DataConnectorKeapDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorKeapDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorKeapDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorKeapDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorKeapDiscriminatedConnectionSettingsSettingsOAuth] + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorKeapDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["keap"]] + + settings: DataConnectorKeapDiscriminatedConnectionSettingsSettings + + +class DataConnectorLeverDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorLeverDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorLeverDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorLeverDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorLeverDiscriminatedConnectionSettingsSettingsOAuth] + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorLeverDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["lever"]] + + settings: DataConnectorLeverDiscriminatedConnectionSettingsSettings + + +class DataConnectorLinearDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorLinearDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorLinearDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorLinearDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorLinearDiscriminatedConnectionSettingsSettingsOAuth] + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorLinearDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["linear"]] + + settings: DataConnectorLinearDiscriminatedConnectionSettingsSettings + + +class DataConnectorLinkedinDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorLinkedinDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorLinkedinDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorLinkedinDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorLinkedinDiscriminatedConnectionSettingsSettingsOAuth] + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorLinkedinDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["linkedin"]] + + settings: DataConnectorLinkedinDiscriminatedConnectionSettingsSettings + + +class DataConnectorLinkhutDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorLinkhutDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorLinkhutDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorLinkhutDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorLinkhutDiscriminatedConnectionSettingsSettingsOAuth] + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorLinkhutDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["linkhut"]] + + settings: DataConnectorLinkhutDiscriminatedConnectionSettingsSettings + + +class DataConnectorMailchimpDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorMailchimpDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorMailchimpDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorMailchimpDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + dc: Required[str] + """The data center for your account (e.g., us6)""" + + oauth: Required[DataConnectorMailchimpDiscriminatedConnectionSettingsSettingsOAuth] + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorMailchimpDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["mailchimp"]] + + settings: DataConnectorMailchimpDiscriminatedConnectionSettingsSettings + + +class DataConnectorMiroDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorMiroDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorMiroDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorMiroDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorMiroDiscriminatedConnectionSettingsSettingsOAuth] + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorMiroDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["miro"]] + + settings: DataConnectorMiroDiscriminatedConnectionSettingsSettings + + +class DataConnectorMondayDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorMondayDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorMondayDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorMondayDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorMondayDiscriminatedConnectionSettingsSettingsOAuth] + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorMondayDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["monday"]] + + settings: DataConnectorMondayDiscriminatedConnectionSettingsSettings + + +class DataConnectorMuralDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorMuralDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorMuralDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorMuralDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorMuralDiscriminatedConnectionSettingsSettingsOAuth] + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorMuralDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["mural"]] + + settings: DataConnectorMuralDiscriminatedConnectionSettingsSettings + + +class DataConnectorNamelyDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorNamelyDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorNamelyDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorNamelyDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + company: Required[str] + """The name of your Namely company (e.g., example)""" + + oauth: Required[DataConnectorNamelyDiscriminatedConnectionSettingsSettingsOAuth] + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorNamelyDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["namely"]] + + settings: DataConnectorNamelyDiscriminatedConnectionSettingsSettings + + +class DataConnectorNationbuilderDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorNationbuilderDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorNationbuilderDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorNationbuilderDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + account_id: Required[Annotated[str, PropertyInfo(alias="accountId")]] + """The account ID of your NationBuilder account (e.g., example-subdomain)""" + + oauth: Required[DataConnectorNationbuilderDiscriminatedConnectionSettingsSettingsOAuth] + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorNationbuilderDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["nationbuilder"]] + + settings: DataConnectorNationbuilderDiscriminatedConnectionSettingsSettings + + +class DataConnectorNetsuiteDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorNetsuiteDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorNetsuiteDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorNetsuiteDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + account_id: Required[Annotated[str, PropertyInfo(alias="accountId")]] + """The account ID of your NetSuite account (e.g., tstdrv231585)""" + + oauth: Required[DataConnectorNetsuiteDiscriminatedConnectionSettingsSettingsOAuth] + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorNetsuiteDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["netsuite"]] + + settings: DataConnectorNetsuiteDiscriminatedConnectionSettingsSettings + + +class DataConnectorNotionDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorNotionDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorNotionDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorNotionDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorNotionDiscriminatedConnectionSettingsSettingsOAuth] + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorNotionDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["notion"]] + + settings: DataConnectorNotionDiscriminatedConnectionSettingsSettings + + +class DataConnectorOdooDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorOdooDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorOdooDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorOdooDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorOdooDiscriminatedConnectionSettingsSettingsOAuth] + + server_url: Required[Annotated[str, PropertyInfo(alias="serverUrl")]] + """The domain of your Odoo account (e.g., https://example-subdomain)""" + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorOdooDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["odoo"]] + + settings: DataConnectorOdooDiscriminatedConnectionSettingsSettings + + +class DataConnectorOktaDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorOktaDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorOktaDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorOktaDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorOktaDiscriminatedConnectionSettingsSettingsOAuth] + + subdomain: Required[str] + """The subdomain of your Okta account (e.g., https://domain.okta.com)""" + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorOktaDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["okta"]] + + settings: DataConnectorOktaDiscriminatedConnectionSettingsSettings + + +class DataConnectorOsuDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorOsuDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorOsuDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorOsuDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorOsuDiscriminatedConnectionSettingsSettingsOAuth] + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorOsuDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["osu"]] + + settings: DataConnectorOsuDiscriminatedConnectionSettingsSettings + + +class DataConnectorOuraDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorOuraDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorOuraDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorOuraDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorOuraDiscriminatedConnectionSettingsSettingsOAuth] + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorOuraDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["oura"]] + + settings: DataConnectorOuraDiscriminatedConnectionSettingsSettings + + +class DataConnectorOutreachDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorOutreachDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorOutreachDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorOutreachDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorOutreachDiscriminatedConnectionSettingsSettingsOAuth] + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorOutreachDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["outreach"]] + + settings: DataConnectorOutreachDiscriminatedConnectionSettingsSettings + + +class DataConnectorPagerdutyDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorPagerdutyDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorPagerdutyDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorPagerdutyDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorPagerdutyDiscriminatedConnectionSettingsSettingsOAuth] + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorPagerdutyDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["pagerduty"]] + + settings: DataConnectorPagerdutyDiscriminatedConnectionSettingsSettings + + +class DataConnectorPandadocDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorPandadocDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorPandadocDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorPandadocDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorPandadocDiscriminatedConnectionSettingsSettingsOAuth] + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorPandadocDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["pandadoc"]] + + settings: DataConnectorPandadocDiscriminatedConnectionSettingsSettings + + +class DataConnectorPayfitDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorPayfitDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorPayfitDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorPayfitDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorPayfitDiscriminatedConnectionSettingsSettingsOAuth] + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorPayfitDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["payfit"]] + + settings: DataConnectorPayfitDiscriminatedConnectionSettingsSettings + + +class DataConnectorPaypalDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorPaypalDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorPaypalDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorPaypalDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorPaypalDiscriminatedConnectionSettingsSettingsOAuth] + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorPaypalDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["paypal"]] + + settings: DataConnectorPaypalDiscriminatedConnectionSettingsSettings + + +class DataConnectorPennylaneDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorPennylaneDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorPennylaneDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorPennylaneDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorPennylaneDiscriminatedConnectionSettingsSettingsOAuth] + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorPennylaneDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["pennylane"]] + + settings: DataConnectorPennylaneDiscriminatedConnectionSettingsSettings + + +class DataConnectorPinterestDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorPinterestDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorPinterestDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorPinterestDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorPinterestDiscriminatedConnectionSettingsSettingsOAuth] + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorPinterestDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["pinterest"]] + + settings: DataConnectorPinterestDiscriminatedConnectionSettingsSettings + + +class DataConnectorPipedriveDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorPipedriveDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorPipedriveDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorPipedriveDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + api_domain: Required[str] + """The API URL of your Pipedrive account (e.g., example)""" + + oauth: Required[DataConnectorPipedriveDiscriminatedConnectionSettingsSettingsOAuth] + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorPipedriveDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["pipedrive"]] + + settings: DataConnectorPipedriveDiscriminatedConnectionSettingsSettings + + +class DataConnectorPodiumDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorPodiumDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorPodiumDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorPodiumDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + api_version: Required[Annotated[str, PropertyInfo(alias="apiVersion")]] + """The API version of your Podium account (e.g., example-subdomain)""" + + oauth: Required[DataConnectorPodiumDiscriminatedConnectionSettingsSettingsOAuth] + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorPodiumDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["podium"]] + + settings: DataConnectorPodiumDiscriminatedConnectionSettingsSettings + + +class DataConnectorProductboardDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorProductboardDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorProductboardDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorProductboardDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorProductboardDiscriminatedConnectionSettingsSettingsOAuth] + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorProductboardDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["productboard"]] + + settings: DataConnectorProductboardDiscriminatedConnectionSettingsSettings + + +class DataConnectorQualtricsDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorQualtricsDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorQualtricsDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorQualtricsDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorQualtricsDiscriminatedConnectionSettingsSettingsOAuth] + + subdomain: Required[str] + """The subdomain of your Qualtrics account (e.g., https://domain.qualtrics.com)""" + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorQualtricsDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["qualtrics"]] + + settings: DataConnectorQualtricsDiscriminatedConnectionSettingsSettings + + +class DataConnectorQuickbooksDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorQuickbooksDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorQuickbooksDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorQuickbooksDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorQuickbooksDiscriminatedConnectionSettingsSettingsOAuth] + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorQuickbooksDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["quickbooks"]] + + settings: DataConnectorQuickbooksDiscriminatedConnectionSettingsSettings + + +class DataConnectorRedditDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorRedditDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorRedditDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorRedditDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorRedditDiscriminatedConnectionSettingsSettingsOAuth] + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorRedditDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["reddit"]] + + settings: DataConnectorRedditDiscriminatedConnectionSettingsSettings + + +class DataConnectorSageDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorSageDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorSageDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorSageDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorSageDiscriminatedConnectionSettingsSettingsOAuth] + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorSageDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["sage"]] + + settings: DataConnectorSageDiscriminatedConnectionSettingsSettings + + +class DataConnectorSalesforceDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorSalesforceDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorSalesforceDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorSalesforceDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + instance_url: Required[str] + """The instance URL of your Salesforce account (e.g., example)""" + + oauth: Required[DataConnectorSalesforceDiscriminatedConnectionSettingsSettingsOAuth] + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorSalesforceDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["salesforce"]] + + settings: DataConnectorSalesforceDiscriminatedConnectionSettingsSettings + + +class DataConnectorSalesloftDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorSalesloftDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorSalesloftDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorSalesloftDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorSalesloftDiscriminatedConnectionSettingsSettingsOAuth] + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorSalesloftDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["salesloft"]] + + settings: DataConnectorSalesloftDiscriminatedConnectionSettingsSettings + + +class DataConnectorSegmentDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorSegmentDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorSegmentDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorSegmentDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorSegmentDiscriminatedConnectionSettingsSettingsOAuth] + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorSegmentDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["segment"]] + + settings: DataConnectorSegmentDiscriminatedConnectionSettingsSettings + + +class DataConnectorServicem8DiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorServicem8DiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorServicem8DiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorServicem8DiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorServicem8DiscriminatedConnectionSettingsSettingsOAuth] + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorServicem8DiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["servicem8"]] + + settings: DataConnectorServicem8DiscriminatedConnectionSettingsSettings + + +class DataConnectorServicenowDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorServicenowDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorServicenowDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorServicenowDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorServicenowDiscriminatedConnectionSettingsSettingsOAuth] + + subdomain: Required[str] + """The subdomain of your ServiceNow account (e.g., https://domain.service-now.com)""" + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorServicenowDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["servicenow"]] + + settings: DataConnectorServicenowDiscriminatedConnectionSettingsSettings + + +class DataConnectorSharepointDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorSharepointDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorSharepointDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorSharepointDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorSharepointDiscriminatedConnectionSettingsSettingsOAuth] + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorSharepointDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["sharepoint"]] + + settings: DataConnectorSharepointDiscriminatedConnectionSettingsSettings + + +class DataConnectorShopifyDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorShopifyDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorShopifyDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorShopifyDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorShopifyDiscriminatedConnectionSettingsSettingsOAuth] + + subdomain: Required[str] + """The subdomain of your Shopify account (e.g., https://domain.myshopify.com)""" + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorShopifyDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["shopify"]] + + settings: DataConnectorShopifyDiscriminatedConnectionSettingsSettings + + +class DataConnectorSignnowDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorSignnowDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorSignnowDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorSignnowDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorSignnowDiscriminatedConnectionSettingsSettingsOAuth] + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorSignnowDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["signnow"]] + + settings: DataConnectorSignnowDiscriminatedConnectionSettingsSettings + + +class DataConnectorSlackDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorSlackDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorSlackDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorSlackDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorSlackDiscriminatedConnectionSettingsSettingsOAuth] + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorSlackDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["slack"]] + + settings: DataConnectorSlackDiscriminatedConnectionSettingsSettings + + +class DataConnectorSmartsheetDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorSmartsheetDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorSmartsheetDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorSmartsheetDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorSmartsheetDiscriminatedConnectionSettingsSettingsOAuth] + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorSmartsheetDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["smartsheet"]] + + settings: DataConnectorSmartsheetDiscriminatedConnectionSettingsSettings + + +class DataConnectorSnowflakeDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorSnowflakeDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorSnowflakeDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorSnowflakeDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorSnowflakeDiscriminatedConnectionSettingsSettingsOAuth] + + snowflake_account_url: Required[str] + """The domain of your Snowflake account (e.g., https://example-subdomain)""" + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorSnowflakeDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["snowflake"]] + + settings: DataConnectorSnowflakeDiscriminatedConnectionSettingsSettings + + +class DataConnectorSpotifyDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorSpotifyDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorSpotifyDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorSpotifyDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorSpotifyDiscriminatedConnectionSettingsSettingsOAuth] + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorSpotifyDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["spotify"]] + + settings: DataConnectorSpotifyDiscriminatedConnectionSettingsSettings + + +class DataConnectorSquarespaceDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorSquarespaceDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + credentials: DataConnectorSquarespaceDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" -class DataConnectorPennylaneDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorSquarespaceDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + customapp_description: Required[Annotated[str, PropertyInfo(alias="customappDescription")]] + """The user agent of your custom app (e.g., example-subdomain)""" + + oauth: Required[DataConnectorSquarespaceDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -1918,14 +6127,46 @@ class DataConnectorPennylaneDiscriminatedConnectionSettingsSettings(TypedDict, t """ -class DataConnectorPennylaneDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["pennylane"]] +class DataConnectorSquarespaceDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["squarespace"]] - settings: DataConnectorPennylaneDiscriminatedConnectionSettingsSettings + settings: DataConnectorSquarespaceDiscriminatedConnectionSettingsSettings -class DataConnectorPinterestDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] +class DataConnectorSquareupDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorSquareupDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorSquareupDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorSquareupDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorSquareupDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -1934,17 +6175,46 @@ class DataConnectorPinterestDiscriminatedConnectionSettingsSettings(TypedDict, t """ -class DataConnectorPinterestDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["pinterest"]] +class DataConnectorSquareupDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["squareup"]] - settings: DataConnectorPinterestDiscriminatedConnectionSettingsSettings + settings: DataConnectorSquareupDiscriminatedConnectionSettingsSettings -class DataConnectorPipedriveDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - api_domain: Required[str] - """The API URL of your Pipedrive account (e.g., example)""" +class DataConnectorStackexchangeDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str - oauth: Required[OAuthConnectionSettingsParam] + scope: str + + token_type: str + + +class DataConnectorStackexchangeDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorStackexchangeDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorStackexchangeDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorStackexchangeDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -1953,33 +6223,334 @@ class DataConnectorPipedriveDiscriminatedConnectionSettingsSettings(TypedDict, t """ -class DataConnectorPipedriveDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["pipedrive"]] +class DataConnectorStackexchangeDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["stackexchange"]] + + settings: DataConnectorStackexchangeDiscriminatedConnectionSettingsSettings + + +class DataConnectorStravaDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorStravaDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorStravaDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorStravaDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorStravaDiscriminatedConnectionSettingsSettingsOAuth] + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorStravaDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["strava"]] + + settings: DataConnectorStravaDiscriminatedConnectionSettingsSettings + + +class DataConnectorTeamworkDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorTeamworkDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorTeamworkDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorTeamworkDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorTeamworkDiscriminatedConnectionSettingsSettingsOAuth] + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorTeamworkDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["teamwork"]] + + settings: DataConnectorTeamworkDiscriminatedConnectionSettingsSettings + + +class DataConnectorTicktickDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorTicktickDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorTicktickDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorTicktickDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorTicktickDiscriminatedConnectionSettingsSettingsOAuth] + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorTicktickDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["ticktick"]] + + settings: DataConnectorTicktickDiscriminatedConnectionSettingsSettings + + +class DataConnectorTimelyDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorTimelyDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorTimelyDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorTimelyDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorTimelyDiscriminatedConnectionSettingsSettingsOAuth] + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorTimelyDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["timely"]] + + settings: DataConnectorTimelyDiscriminatedConnectionSettingsSettings + + +class DataConnectorTodoistDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorTodoistDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorTodoistDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorTodoistDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorTodoistDiscriminatedConnectionSettingsSettingsOAuth] + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorTodoistDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["todoist"]] + + settings: DataConnectorTodoistDiscriminatedConnectionSettingsSettings + + +class DataConnectorTremendousDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorTremendousDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorTremendousDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + +class DataConnectorTremendousDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorTremendousDiscriminatedConnectionSettingsSettingsOAuth] + + access_token: str + """Same as oauth.credentials.access_token, but more convenient to access. + + Optional for backward compatibility until we remove the oauth field + """ + + +class DataConnectorTremendousDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["tremendous"]] + + settings: DataConnectorTremendousDiscriminatedConnectionSettingsSettings + + +class DataConnectorTsheetsteamDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float - settings: DataConnectorPipedriveDiscriminatedConnectionSettingsSettings + raw: Dict[str, object] + refresh_token: str -class DataConnectorPodiumDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - api_version: Required[Annotated[str, PropertyInfo(alias="apiVersion")]] - """The API version of your Podium account (e.g., example-subdomain)""" + scope: str - oauth: Required[OAuthConnectionSettingsParam] + token_type: str - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. - Optional for backward compatibility until we remove the oauth field - """ +class DataConnectorTsheetsteamDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + credentials: DataConnectorTsheetsteamDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" -class DataConnectorPodiumDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["podium"]] + last_fetched_at: str - settings: DataConnectorPodiumDiscriminatedConnectionSettingsSettings + metadata: Optional[Dict[str, object]] + updated_at: str -class DataConnectorProductboardDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + +class DataConnectorTsheetsteamDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorTsheetsteamDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -1988,49 +6559,46 @@ class DataConnectorProductboardDiscriminatedConnectionSettingsSettings(TypedDict """ -class DataConnectorProductboardDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["productboard"]] +class DataConnectorTsheetsteamDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["tsheetsteam"]] - settings: DataConnectorProductboardDiscriminatedConnectionSettingsSettings + settings: DataConnectorTsheetsteamDiscriminatedConnectionSettingsSettings -class DataConnectorQualtricsDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] +class DataConnectorTumblrDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] - subdomain: Required[str] - """The subdomain of your Qualtrics account (e.g., https://domain.qualtrics.com)""" + client_id: str + """Client ID used for the connection""" - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. + expires_at: str - Optional for backward compatibility until we remove the oauth field - """ + expires_in: float + raw: Dict[str, object] -class DataConnectorQualtricsDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["qualtrics"]] + refresh_token: str - settings: DataConnectorQualtricsDiscriminatedConnectionSettingsSettings + scope: str + token_type: str -class DataConnectorQuickbooksDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. +class DataConnectorTumblrDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str - Optional for backward compatibility until we remove the oauth field - """ + credentials: DataConnectorTumblrDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + last_fetched_at: str -class DataConnectorQuickbooksDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["quickbooks"]] + metadata: Optional[Dict[str, object]] - settings: DataConnectorQuickbooksDiscriminatedConnectionSettingsSettings + updated_at: str -class DataConnectorRedditDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] +class DataConnectorTumblrDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorTumblrDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -2039,49 +6607,49 @@ class DataConnectorRedditDiscriminatedConnectionSettingsSettings(TypedDict, tota """ -class DataConnectorRedditDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["reddit"]] +class DataConnectorTumblrDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["tumblr"]] - settings: DataConnectorRedditDiscriminatedConnectionSettingsSettings + settings: DataConnectorTumblrDiscriminatedConnectionSettingsSettings -class DataConnectorSageDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] +class DataConnectorTwinfieldDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. + client_id: str + """Client ID used for the connection""" - Optional for backward compatibility until we remove the oauth field - """ + expires_at: str + expires_in: float -class DataConnectorSageDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["sage"]] + raw: Dict[str, object] - settings: DataConnectorSageDiscriminatedConnectionSettingsSettings + refresh_token: str + scope: str -class DataConnectorSalesforceDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - instance_url: Required[str] - """The instance URL of your Salesforce account (e.g., example)""" + token_type: str - oauth: Required[OAuthConnectionSettingsParam] - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. +class DataConnectorTwinfieldDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str - Optional for backward compatibility until we remove the oauth field - """ + credentials: DataConnectorTwinfieldDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + last_fetched_at: str -class DataConnectorSalesforceDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["salesforce"]] + metadata: Optional[Dict[str, object]] - settings: DataConnectorSalesforceDiscriminatedConnectionSettingsSettings + updated_at: str -class DataConnectorSalesloftDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] +class DataConnectorTwinfieldDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + cluster: Required[str] + """The cluster to your Twinfield instance (e.g., https://accounting.twinfield.com)""" + + oauth: Required[DataConnectorTwinfieldDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -2090,49 +6658,46 @@ class DataConnectorSalesloftDiscriminatedConnectionSettingsSettings(TypedDict, t """ -class DataConnectorSalesloftDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["salesloft"]] +class DataConnectorTwinfieldDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["twinfield"]] - settings: DataConnectorSalesloftDiscriminatedConnectionSettingsSettings + settings: DataConnectorTwinfieldDiscriminatedConnectionSettingsSettings -class DataConnectorSegmentDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] +class DataConnectorTwitchDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. + client_id: str + """Client ID used for the connection""" - Optional for backward compatibility until we remove the oauth field - """ + expires_at: str + expires_in: float -class DataConnectorSegmentDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["segment"]] + raw: Dict[str, object] - settings: DataConnectorSegmentDiscriminatedConnectionSettingsSettings + refresh_token: str + scope: str -class DataConnectorServicem8DiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + token_type: str - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. - Optional for backward compatibility until we remove the oauth field - """ +class DataConnectorTwitchDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + credentials: DataConnectorTwitchDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" -class DataConnectorServicem8DiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["servicem8"]] + last_fetched_at: str - settings: DataConnectorServicem8DiscriminatedConnectionSettingsSettings + metadata: Optional[Dict[str, object]] + updated_at: str -class DataConnectorServicenowDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] - subdomain: Required[str] - """The subdomain of your ServiceNow account (e.g., https://domain.service-now.com)""" +class DataConnectorTwitchDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorTwitchDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -2141,49 +6706,46 @@ class DataConnectorServicenowDiscriminatedConnectionSettingsSettings(TypedDict, """ -class DataConnectorServicenowDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["servicenow"]] +class DataConnectorTwitchDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["twitch"]] - settings: DataConnectorServicenowDiscriminatedConnectionSettingsSettings + settings: DataConnectorTwitchDiscriminatedConnectionSettingsSettings -class DataConnectorSharepointDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] +class DataConnectorTwitterDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. + client_id: str + """Client ID used for the connection""" - Optional for backward compatibility until we remove the oauth field - """ + expires_at: str + expires_in: float -class DataConnectorSharepointDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["sharepoint"]] + raw: Dict[str, object] - settings: DataConnectorSharepointDiscriminatedConnectionSettingsSettings + refresh_token: str + scope: str -class DataConnectorShopifyDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + token_type: str - subdomain: Required[str] - """The subdomain of your Shopify account (e.g., https://domain.myshopify.com)""" - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. +class DataConnectorTwitterDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str - Optional for backward compatibility until we remove the oauth field - """ + credentials: DataConnectorTwitterDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + last_fetched_at: str -class DataConnectorShopifyDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["shopify"]] + metadata: Optional[Dict[str, object]] - settings: DataConnectorShopifyDiscriminatedConnectionSettingsSettings + updated_at: str -class DataConnectorSignnowDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] +class DataConnectorTwitterDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorTwitterDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -2192,49 +6754,46 @@ class DataConnectorSignnowDiscriminatedConnectionSettingsSettings(TypedDict, tot """ -class DataConnectorSignnowDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["signnow"]] +class DataConnectorTwitterDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["twitter"]] - settings: DataConnectorSignnowDiscriminatedConnectionSettingsSettings + settings: DataConnectorTwitterDiscriminatedConnectionSettingsSettings -class DataConnectorSlackDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] +class DataConnectorTypeformDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. + client_id: str + """Client ID used for the connection""" - Optional for backward compatibility until we remove the oauth field - """ + expires_at: str + expires_in: float -class DataConnectorSlackDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["slack"]] + raw: Dict[str, object] - settings: DataConnectorSlackDiscriminatedConnectionSettingsSettings + refresh_token: str + scope: str -class DataConnectorSmartsheetDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + token_type: str - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. - Optional for backward compatibility until we remove the oauth field - """ +class DataConnectorTypeformDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + credentials: DataConnectorTypeformDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" -class DataConnectorSmartsheetDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["smartsheet"]] + last_fetched_at: str - settings: DataConnectorSmartsheetDiscriminatedConnectionSettingsSettings + metadata: Optional[Dict[str, object]] + updated_at: str -class DataConnectorSnowflakeDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] - snowflake_account_url: Required[str] - """The domain of your Snowflake account (e.g., https://example-subdomain)""" +class DataConnectorTypeformDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorTypeformDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -2243,49 +6802,46 @@ class DataConnectorSnowflakeDiscriminatedConnectionSettingsSettings(TypedDict, t """ -class DataConnectorSnowflakeDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["snowflake"]] +class DataConnectorTypeformDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["typeform"]] - settings: DataConnectorSnowflakeDiscriminatedConnectionSettingsSettings + settings: DataConnectorTypeformDiscriminatedConnectionSettingsSettings -class DataConnectorSpotifyDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] +class DataConnectorUberDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. + client_id: str + """Client ID used for the connection""" - Optional for backward compatibility until we remove the oauth field - """ + expires_at: str + expires_in: float -class DataConnectorSpotifyDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["spotify"]] + raw: Dict[str, object] - settings: DataConnectorSpotifyDiscriminatedConnectionSettingsSettings + refresh_token: str + scope: str -class DataConnectorSquarespaceDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - customapp_description: Required[Annotated[str, PropertyInfo(alias="customappDescription")]] - """The user agent of your custom app (e.g., example-subdomain)""" + token_type: str - oauth: Required[OAuthConnectionSettingsParam] - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. +class DataConnectorUberDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str - Optional for backward compatibility until we remove the oauth field - """ + credentials: DataConnectorUberDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + last_fetched_at: str -class DataConnectorSquarespaceDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["squarespace"]] + metadata: Optional[Dict[str, object]] - settings: DataConnectorSquarespaceDiscriminatedConnectionSettingsSettings + updated_at: str -class DataConnectorSquareupDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] +class DataConnectorUberDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorUberDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -2294,46 +6850,46 @@ class DataConnectorSquareupDiscriminatedConnectionSettingsSettings(TypedDict, to """ -class DataConnectorSquareupDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["squareup"]] +class DataConnectorUberDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["uber"]] - settings: DataConnectorSquareupDiscriminatedConnectionSettingsSettings + settings: DataConnectorUberDiscriminatedConnectionSettingsSettings -class DataConnectorStackexchangeDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] +class DataConnectorVimeoDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. + client_id: str + """Client ID used for the connection""" - Optional for backward compatibility until we remove the oauth field - """ + expires_at: str + expires_in: float -class DataConnectorStackexchangeDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["stackexchange"]] + raw: Dict[str, object] - settings: DataConnectorStackexchangeDiscriminatedConnectionSettingsSettings + refresh_token: str + scope: str -class DataConnectorStravaDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + token_type: str - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. - Optional for backward compatibility until we remove the oauth field - """ +class DataConnectorVimeoDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + credentials: DataConnectorVimeoDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" -class DataConnectorStravaDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["strava"]] + last_fetched_at: str - settings: DataConnectorStravaDiscriminatedConnectionSettingsSettings + metadata: Optional[Dict[str, object]] + updated_at: str -class DataConnectorTeamworkDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + +class DataConnectorVimeoDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorVimeoDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -2342,46 +6898,46 @@ class DataConnectorTeamworkDiscriminatedConnectionSettingsSettings(TypedDict, to """ -class DataConnectorTeamworkDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["teamwork"]] +class DataConnectorVimeoDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["vimeo"]] - settings: DataConnectorTeamworkDiscriminatedConnectionSettingsSettings + settings: DataConnectorVimeoDiscriminatedConnectionSettingsSettings -class DataConnectorTicktickDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] +class DataConnectorWakatimeDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. + client_id: str + """Client ID used for the connection""" - Optional for backward compatibility until we remove the oauth field - """ + expires_at: str + expires_in: float -class DataConnectorTicktickDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["ticktick"]] + raw: Dict[str, object] - settings: DataConnectorTicktickDiscriminatedConnectionSettingsSettings + refresh_token: str + scope: str -class DataConnectorTimelyDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + token_type: str - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. - Optional for backward compatibility until we remove the oauth field - """ +class DataConnectorWakatimeDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + credentials: DataConnectorWakatimeDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" -class DataConnectorTimelyDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["timely"]] + last_fetched_at: str - settings: DataConnectorTimelyDiscriminatedConnectionSettingsSettings + metadata: Optional[Dict[str, object]] + updated_at: str -class DataConnectorTodoistDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + +class DataConnectorWakatimeDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorWakatimeDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -2390,46 +6946,46 @@ class DataConnectorTodoistDiscriminatedConnectionSettingsSettings(TypedDict, tot """ -class DataConnectorTodoistDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["todoist"]] +class DataConnectorWakatimeDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["wakatime"]] - settings: DataConnectorTodoistDiscriminatedConnectionSettingsSettings + settings: DataConnectorWakatimeDiscriminatedConnectionSettingsSettings -class DataConnectorTremendousDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] +class DataConnectorWealthboxDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. + client_id: str + """Client ID used for the connection""" - Optional for backward compatibility until we remove the oauth field - """ + expires_at: str + expires_in: float -class DataConnectorTremendousDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["tremendous"]] + raw: Dict[str, object] - settings: DataConnectorTremendousDiscriminatedConnectionSettingsSettings + refresh_token: str + scope: str -class DataConnectorTsheetsteamDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + token_type: str - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. - Optional for backward compatibility until we remove the oauth field - """ +class DataConnectorWealthboxDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + credentials: DataConnectorWealthboxDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" -class DataConnectorTsheetsteamDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["tsheetsteam"]] + last_fetched_at: str - settings: DataConnectorTsheetsteamDiscriminatedConnectionSettingsSettings + metadata: Optional[Dict[str, object]] + updated_at: str -class DataConnectorTumblrDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + +class DataConnectorWealthboxDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorWealthboxDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -2438,49 +6994,46 @@ class DataConnectorTumblrDiscriminatedConnectionSettingsSettings(TypedDict, tota """ -class DataConnectorTumblrDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["tumblr"]] +class DataConnectorWealthboxDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["wealthbox"]] - settings: DataConnectorTumblrDiscriminatedConnectionSettingsSettings + settings: DataConnectorWealthboxDiscriminatedConnectionSettingsSettings -class DataConnectorTwinfieldDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - cluster: Required[str] - """The cluster to your Twinfield instance (e.g., https://accounting.twinfield.com)""" +class DataConnectorWebflowDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] - oauth: Required[OAuthConnectionSettingsParam] + client_id: str + """Client ID used for the connection""" - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. + expires_at: str - Optional for backward compatibility until we remove the oauth field - """ + expires_in: float + raw: Dict[str, object] -class DataConnectorTwinfieldDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["twinfield"]] + refresh_token: str - settings: DataConnectorTwinfieldDiscriminatedConnectionSettingsSettings + scope: str + token_type: str -class DataConnectorTwitchDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. +class DataConnectorWebflowDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str - Optional for backward compatibility until we remove the oauth field - """ + credentials: DataConnectorWebflowDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + last_fetched_at: str -class DataConnectorTwitchDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["twitch"]] + metadata: Optional[Dict[str, object]] - settings: DataConnectorTwitchDiscriminatedConnectionSettingsSettings + updated_at: str -class DataConnectorTwitterDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] +class DataConnectorWebflowDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorWebflowDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -2489,46 +7042,46 @@ class DataConnectorTwitterDiscriminatedConnectionSettingsSettings(TypedDict, tot """ -class DataConnectorTwitterDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["twitter"]] +class DataConnectorWebflowDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["webflow"]] - settings: DataConnectorTwitterDiscriminatedConnectionSettingsSettings + settings: DataConnectorWebflowDiscriminatedConnectionSettingsSettings -class DataConnectorTypeformDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] +class DataConnectorWhoopDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. + client_id: str + """Client ID used for the connection""" - Optional for backward compatibility until we remove the oauth field - """ + expires_at: str + expires_in: float -class DataConnectorTypeformDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["typeform"]] + raw: Dict[str, object] - settings: DataConnectorTypeformDiscriminatedConnectionSettingsSettings + refresh_token: str + scope: str -class DataConnectorUberDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + token_type: str - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. - Optional for backward compatibility until we remove the oauth field - """ +class DataConnectorWhoopDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + credentials: DataConnectorWhoopDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" -class DataConnectorUberDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["uber"]] + last_fetched_at: str - settings: DataConnectorUberDiscriminatedConnectionSettingsSettings + metadata: Optional[Dict[str, object]] + updated_at: str -class DataConnectorVimeoDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + +class DataConnectorWhoopDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorWhoopDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -2537,46 +7090,46 @@ class DataConnectorVimeoDiscriminatedConnectionSettingsSettings(TypedDict, total """ -class DataConnectorVimeoDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["vimeo"]] +class DataConnectorWhoopDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["whoop"]] - settings: DataConnectorVimeoDiscriminatedConnectionSettingsSettings + settings: DataConnectorWhoopDiscriminatedConnectionSettingsSettings -class DataConnectorWakatimeDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] +class DataConnectorWordpressDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. + client_id: str + """Client ID used for the connection""" - Optional for backward compatibility until we remove the oauth field - """ + expires_at: str + expires_in: float -class DataConnectorWakatimeDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["wakatime"]] + raw: Dict[str, object] - settings: DataConnectorWakatimeDiscriminatedConnectionSettingsSettings + refresh_token: str + scope: str -class DataConnectorWealthboxDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + token_type: str - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. - Optional for backward compatibility until we remove the oauth field - """ +class DataConnectorWordpressDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + credentials: DataConnectorWordpressDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" -class DataConnectorWealthboxDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["wealthbox"]] + last_fetched_at: str - settings: DataConnectorWealthboxDiscriminatedConnectionSettingsSettings + metadata: Optional[Dict[str, object]] + updated_at: str -class DataConnectorWebflowDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + +class DataConnectorWordpressDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + oauth: Required[DataConnectorWordpressDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -2585,49 +7138,49 @@ class DataConnectorWebflowDiscriminatedConnectionSettingsSettings(TypedDict, tot """ -class DataConnectorWebflowDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["webflow"]] +class DataConnectorWordpressDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["wordpress"]] - settings: DataConnectorWebflowDiscriminatedConnectionSettingsSettings + settings: DataConnectorWordpressDiscriminatedConnectionSettingsSettings -class DataConnectorWhoopDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] +class DataConnectorWrikeDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. + client_id: str + """Client ID used for the connection""" - Optional for backward compatibility until we remove the oauth field - """ + expires_at: str + expires_in: float -class DataConnectorWhoopDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["whoop"]] + raw: Dict[str, object] - settings: DataConnectorWhoopDiscriminatedConnectionSettingsSettings + refresh_token: str + scope: str -class DataConnectorWordpressDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + token_type: str - access_token: str - """Same as oauth.credentials.access_token, but more convenient to access. - Optional for backward compatibility until we remove the oauth field - """ +class DataConnectorWrikeDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + credentials: DataConnectorWrikeDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" -class DataConnectorWordpressDiscriminatedConnectionSettings(TypedDict, total=False): - connector_name: Required[Literal["wordpress"]] + last_fetched_at: str - settings: DataConnectorWordpressDiscriminatedConnectionSettingsSettings + metadata: Optional[Dict[str, object]] + + updated_at: str class DataConnectorWrikeDiscriminatedConnectionSettingsSettings(TypedDict, total=False): host: Required[str] """The domain of your Wrike account (e.g., https://example-subdomain)""" - oauth: Required[OAuthConnectionSettingsParam] + oauth: Required[DataConnectorWrikeDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -2642,8 +7195,40 @@ class DataConnectorWrikeDiscriminatedConnectionSettings(TypedDict, total=False): settings: DataConnectorWrikeDiscriminatedConnectionSettingsSettings +class DataConnectorXeroDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorXeroDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorXeroDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + class DataConnectorXeroDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + oauth: Required[DataConnectorXeroDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -2658,6 +7243,38 @@ class DataConnectorXeroDiscriminatedConnectionSettings(TypedDict, total=False): settings: DataConnectorXeroDiscriminatedConnectionSettingsSettings +class DataConnectorYahooDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorYahooDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorYahooDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + class DataConnectorYahooDiscriminatedConnectionSettingsSettings(TypedDict, total=False): api_domain: Required[Annotated[str, PropertyInfo(alias="apiDomain")]] """ @@ -2665,7 +7282,7 @@ class DataConnectorYahooDiscriminatedConnectionSettingsSettings(TypedDict, total https://fantasysports.yahooapis.com) """ - oauth: Required[OAuthConnectionSettingsParam] + oauth: Required[DataConnectorYahooDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -2680,8 +7297,40 @@ class DataConnectorYahooDiscriminatedConnectionSettings(TypedDict, total=False): settings: DataConnectorYahooDiscriminatedConnectionSettingsSettings +class DataConnectorYandexDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorYandexDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorYandexDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + class DataConnectorYandexDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + oauth: Required[DataConnectorYandexDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -2696,8 +7345,40 @@ class DataConnectorYandexDiscriminatedConnectionSettings(TypedDict, total=False) settings: DataConnectorYandexDiscriminatedConnectionSettingsSettings +class DataConnectorZapierDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorZapierDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorZapierDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + class DataConnectorZapierDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + oauth: Required[DataConnectorZapierDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -2712,8 +7393,40 @@ class DataConnectorZapierDiscriminatedConnectionSettings(TypedDict, total=False) settings: DataConnectorZapierDiscriminatedConnectionSettingsSettings +class DataConnectorZendeskDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorZendeskDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorZendeskDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + class DataConnectorZendeskDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + oauth: Required[DataConnectorZendeskDiscriminatedConnectionSettingsSettingsOAuth] subdomain: Required[str] """The subdomain of your Zendesk account (e.g., https://domain.zendesk.com)""" @@ -2731,8 +7444,40 @@ class DataConnectorZendeskDiscriminatedConnectionSettings(TypedDict, total=False settings: DataConnectorZendeskDiscriminatedConnectionSettingsSettings +class DataConnectorZenefitsDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorZenefitsDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorZenefitsDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + class DataConnectorZenefitsDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + oauth: Required[DataConnectorZenefitsDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -2747,11 +7492,43 @@ class DataConnectorZenefitsDiscriminatedConnectionSettings(TypedDict, total=Fals settings: DataConnectorZenefitsDiscriminatedConnectionSettingsSettings +class DataConnectorZohoDeskDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorZohoDeskDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorZohoDeskDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + class DataConnectorZohoDeskDiscriminatedConnectionSettingsSettings(TypedDict, total=False): extension: Required[str] """The domain extension of your Zoho account (e.g., https://accounts.zoho.com/)""" - oauth: Required[OAuthConnectionSettingsParam] + oauth: Required[DataConnectorZohoDeskDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -2766,11 +7543,43 @@ class DataConnectorZohoDeskDiscriminatedConnectionSettings(TypedDict, total=Fals settings: DataConnectorZohoDeskDiscriminatedConnectionSettingsSettings +class DataConnectorZohoDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorZohoDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorZohoDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + class DataConnectorZohoDiscriminatedConnectionSettingsSettings(TypedDict, total=False): extension: Required[str] """The domain extension of your Zoho account (e.g., https://accounts.zoho.com/)""" - oauth: Required[OAuthConnectionSettingsParam] + oauth: Required[DataConnectorZohoDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -2785,8 +7594,40 @@ class DataConnectorZohoDiscriminatedConnectionSettings(TypedDict, total=False): settings: DataConnectorZohoDiscriminatedConnectionSettingsSettings +class DataConnectorZoomDiscriminatedConnectionSettingsSettingsOAuthCredentials(TypedDict, total=False): + access_token: Required[str] + + client_id: str + """Client ID used for the connection""" + + expires_at: str + + expires_in: float + + raw: Dict[str, object] + + refresh_token: str + + scope: str + + token_type: str + + +class DataConnectorZoomDiscriminatedConnectionSettingsSettingsOAuth(TypedDict, total=False): + created_at: str + + credentials: DataConnectorZoomDiscriminatedConnectionSettingsSettingsOAuthCredentials + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: str + + metadata: Optional[Dict[str, object]] + + updated_at: str + + class DataConnectorZoomDiscriminatedConnectionSettingsSettings(TypedDict, total=False): - oauth: Required[OAuthConnectionSettingsParam] + oauth: Required[DataConnectorZoomDiscriminatedConnectionSettingsSettingsOAuth] access_token: str """Same as oauth.credentials.access_token, but more convenient to access. @@ -3106,6 +7947,20 @@ class DataConnectorSaltedgeDiscriminatedConnectionSettings(TypedDict, total=Fals settings: object +class DataConnectorSharepointOnpremDiscriminatedConnectionSettingsSettings(TypedDict, total=False): + password: Required[str] + + site_url: Required[str] + + username: Required[str] + + +class DataConnectorSharepointOnpremDiscriminatedConnectionSettings(TypedDict, total=False): + connector_name: Required[Literal["sharepoint-onprem"]] + + settings: DataConnectorSharepointOnpremDiscriminatedConnectionSettingsSettings + + class DataConnectorSplitwiseDiscriminatedConnectionSettingsSettingsCurrentUserNotifications(TypedDict, total=False): added_as_friend: Required[bool] @@ -3311,6 +8166,7 @@ class DataConnectorYodleeDiscriminatedConnectionSettings(TypedDict, total=False) Data: TypeAlias = Union[ DataConnectorAcceloDiscriminatedConnectionSettings, + DataConnectorAcmeApikeyDiscriminatedConnectionSettings, DataConnectorAcmeOauth2DiscriminatedConnectionSettings, DataConnectorAdobeDiscriminatedConnectionSettings, DataConnectorAdyenDiscriminatedConnectionSettings, @@ -3471,6 +8327,7 @@ class DataConnectorYodleeDiscriminatedConnectionSettings(TypedDict, total=False) DataConnectorPostgresDiscriminatedConnectionSettings, DataConnectorRampDiscriminatedConnectionSettings, DataConnectorSaltedgeDiscriminatedConnectionSettings, + DataConnectorSharepointOnpremDiscriminatedConnectionSettings, DataConnectorSplitwiseDiscriminatedConnectionSettings, DataConnectorStripeDiscriminatedConnectionSettings, DataConnectorTellerDiscriminatedConnectionSettings, diff --git a/src/openint/types/client_create_token_params.py b/src/openint/types/client_create_token_params.py index 967b13a..9088316 100644 --- a/src/openint/types/client_create_token_params.py +++ b/src/openint/types/client_create_token_params.py @@ -23,6 +23,7 @@ class ConnectOptions(TypedDict, total=False): connector_names: List[ Literal[ "accelo", + "acme-apikey", "acme-oauth2", "adobe", "adyen", @@ -145,6 +146,7 @@ class ConnectOptions(TypedDict, total=False): "servicem8", "servicenow", "sharepoint", + "sharepoint-onprem", "shopify", "signnow", "slack", diff --git a/src/openint/types/client_list_connection_configs_params.py b/src/openint/types/client_list_connection_configs_params.py index 553168c..8d59f50 100644 --- a/src/openint/types/client_list_connection_configs_params.py +++ b/src/openint/types/client_list_connection_configs_params.py @@ -12,6 +12,7 @@ class ClientListConnectionConfigsParams(TypedDict, total=False): connector_names: List[ Literal[ "accelo", + "acme-apikey", "acme-oauth2", "adobe", "adyen", @@ -134,6 +135,7 @@ class ClientListConnectionConfigsParams(TypedDict, total=False): "servicem8", "servicenow", "sharepoint", + "sharepoint-onprem", "shopify", "signnow", "slack", diff --git a/src/openint/types/client_list_connections_params.py b/src/openint/types/client_list_connections_params.py index cd5c783..18133f6 100644 --- a/src/openint/types/client_list_connections_params.py +++ b/src/openint/types/client_list_connections_params.py @@ -15,6 +15,7 @@ class ClientListConnectionsParams(TypedDict, total=False): connector_names: List[ Literal[ "accelo", + "acme-apikey", "acme-oauth2", "adobe", "adyen", @@ -137,6 +138,7 @@ class ClientListConnectionsParams(TypedDict, total=False): "servicem8", "servicenow", "sharepoint", + "sharepoint-onprem", "shopify", "signnow", "slack", diff --git a/src/openint/types/create_connection_response.py b/src/openint/types/create_connection_response.py index a377799..c70e24e 100644 --- a/src/openint/types/create_connection_response.py +++ b/src/openint/types/create_connection_response.py @@ -6,294 +6,579 @@ from pydantic import Field as FieldInfo from .._models import BaseModel -from .oauth_connection_settings import OAuthConnectionSettings __all__ = [ "CreateConnectionResponse", "ConnectorAcceloDiscriminatedConnectionSettings", "ConnectorAcceloDiscriminatedConnectionSettingsSettings", + "ConnectorAcceloDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorAcceloDiscriminatedConnectionSettingsSettingsOAuthCredentials", + "ConnectorAcmeApikeyDiscriminatedConnectionSettings", + "ConnectorAcmeApikeyDiscriminatedConnectionSettingsSettings", "ConnectorAcmeOauth2DiscriminatedConnectionSettings", "ConnectorAcmeOauth2DiscriminatedConnectionSettingsSettings", + "ConnectorAcmeOauth2DiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorAcmeOauth2DiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorAdobeDiscriminatedConnectionSettings", "ConnectorAdobeDiscriminatedConnectionSettingsSettings", + "ConnectorAdobeDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorAdobeDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorAdyenDiscriminatedConnectionSettings", "ConnectorAdyenDiscriminatedConnectionSettingsSettings", + "ConnectorAdyenDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorAdyenDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorAircallDiscriminatedConnectionSettings", "ConnectorAircallDiscriminatedConnectionSettingsSettings", + "ConnectorAircallDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorAircallDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorAmazonDiscriminatedConnectionSettings", "ConnectorAmazonDiscriminatedConnectionSettingsSettings", + "ConnectorAmazonDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorAmazonDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorApaleoDiscriminatedConnectionSettings", "ConnectorApaleoDiscriminatedConnectionSettingsSettings", + "ConnectorApaleoDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorApaleoDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorAsanaDiscriminatedConnectionSettings", "ConnectorAsanaDiscriminatedConnectionSettingsSettings", + "ConnectorAsanaDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorAsanaDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorAttioDiscriminatedConnectionSettings", "ConnectorAttioDiscriminatedConnectionSettingsSettings", + "ConnectorAttioDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorAttioDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorAuth0DiscriminatedConnectionSettings", "ConnectorAuth0DiscriminatedConnectionSettingsSettings", + "ConnectorAuth0DiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorAuth0DiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorAutodeskDiscriminatedConnectionSettings", "ConnectorAutodeskDiscriminatedConnectionSettingsSettings", + "ConnectorAutodeskDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorAutodeskDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorAwsDiscriminatedConnectionSettings", "ConnectorAwsDiscriminatedConnectionSettingsSettings", + "ConnectorAwsDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorAwsDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorBamboohrDiscriminatedConnectionSettings", "ConnectorBamboohrDiscriminatedConnectionSettingsSettings", + "ConnectorBamboohrDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorBamboohrDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorBasecampDiscriminatedConnectionSettings", "ConnectorBasecampDiscriminatedConnectionSettingsSettings", + "ConnectorBasecampDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorBasecampDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorBattlenetDiscriminatedConnectionSettings", "ConnectorBattlenetDiscriminatedConnectionSettingsSettings", + "ConnectorBattlenetDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorBattlenetDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorBigcommerceDiscriminatedConnectionSettings", "ConnectorBigcommerceDiscriminatedConnectionSettingsSettings", + "ConnectorBigcommerceDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorBigcommerceDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorBitbucketDiscriminatedConnectionSettings", "ConnectorBitbucketDiscriminatedConnectionSettingsSettings", + "ConnectorBitbucketDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorBitbucketDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorBitlyDiscriminatedConnectionSettings", "ConnectorBitlyDiscriminatedConnectionSettingsSettings", + "ConnectorBitlyDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorBitlyDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorBlackbaudDiscriminatedConnectionSettings", "ConnectorBlackbaudDiscriminatedConnectionSettingsSettings", + "ConnectorBlackbaudDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorBlackbaudDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorBoldsignDiscriminatedConnectionSettings", "ConnectorBoldsignDiscriminatedConnectionSettingsSettings", + "ConnectorBoldsignDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorBoldsignDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorBoxDiscriminatedConnectionSettings", "ConnectorBoxDiscriminatedConnectionSettingsSettings", + "ConnectorBoxDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorBoxDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorBraintreeDiscriminatedConnectionSettings", "ConnectorBraintreeDiscriminatedConnectionSettingsSettings", + "ConnectorBraintreeDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorBraintreeDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorCalendlyDiscriminatedConnectionSettings", "ConnectorCalendlyDiscriminatedConnectionSettingsSettings", + "ConnectorCalendlyDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorCalendlyDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorClickupDiscriminatedConnectionSettings", "ConnectorClickupDiscriminatedConnectionSettingsSettings", + "ConnectorClickupDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorClickupDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorCloseDiscriminatedConnectionSettings", "ConnectorCloseDiscriminatedConnectionSettingsSettings", + "ConnectorCloseDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorCloseDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorConfluenceDiscriminatedConnectionSettings", "ConnectorConfluenceDiscriminatedConnectionSettingsSettings", + "ConnectorConfluenceDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorConfluenceDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorContentfulDiscriminatedConnectionSettings", "ConnectorContentfulDiscriminatedConnectionSettingsSettings", + "ConnectorContentfulDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorContentfulDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorContentstackDiscriminatedConnectionSettings", "ConnectorContentstackDiscriminatedConnectionSettingsSettings", + "ConnectorContentstackDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorContentstackDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorCopperDiscriminatedConnectionSettings", "ConnectorCopperDiscriminatedConnectionSettingsSettings", + "ConnectorCopperDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorCopperDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorCorosDiscriminatedConnectionSettings", "ConnectorCorosDiscriminatedConnectionSettingsSettings", + "ConnectorCorosDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorCorosDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorDatevDiscriminatedConnectionSettings", "ConnectorDatevDiscriminatedConnectionSettingsSettings", + "ConnectorDatevDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorDatevDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorDeelDiscriminatedConnectionSettings", "ConnectorDeelDiscriminatedConnectionSettingsSettings", + "ConnectorDeelDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorDeelDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorDialpadDiscriminatedConnectionSettings", "ConnectorDialpadDiscriminatedConnectionSettingsSettings", + "ConnectorDialpadDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorDialpadDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorDigitaloceanDiscriminatedConnectionSettings", "ConnectorDigitaloceanDiscriminatedConnectionSettingsSettings", + "ConnectorDigitaloceanDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorDigitaloceanDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorDiscordDiscriminatedConnectionSettings", "ConnectorDiscordDiscriminatedConnectionSettingsSettings", + "ConnectorDiscordDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorDiscordDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorDocusignDiscriminatedConnectionSettings", "ConnectorDocusignDiscriminatedConnectionSettingsSettings", + "ConnectorDocusignDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorDocusignDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorDropboxDiscriminatedConnectionSettings", "ConnectorDropboxDiscriminatedConnectionSettingsSettings", + "ConnectorDropboxDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorDropboxDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorEbayDiscriminatedConnectionSettings", "ConnectorEbayDiscriminatedConnectionSettingsSettings", + "ConnectorEbayDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorEbayDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorEgnyteDiscriminatedConnectionSettings", "ConnectorEgnyteDiscriminatedConnectionSettingsSettings", + "ConnectorEgnyteDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorEgnyteDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorEnvoyDiscriminatedConnectionSettings", "ConnectorEnvoyDiscriminatedConnectionSettingsSettings", + "ConnectorEnvoyDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorEnvoyDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorEventbriteDiscriminatedConnectionSettings", "ConnectorEventbriteDiscriminatedConnectionSettingsSettings", + "ConnectorEventbriteDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorEventbriteDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorExistDiscriminatedConnectionSettings", "ConnectorExistDiscriminatedConnectionSettingsSettings", + "ConnectorExistDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorExistDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorFacebookDiscriminatedConnectionSettings", "ConnectorFacebookDiscriminatedConnectionSettingsSettings", + "ConnectorFacebookDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorFacebookDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorFactorialDiscriminatedConnectionSettings", "ConnectorFactorialDiscriminatedConnectionSettingsSettings", + "ConnectorFactorialDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorFactorialDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorFigmaDiscriminatedConnectionSettings", "ConnectorFigmaDiscriminatedConnectionSettingsSettings", + "ConnectorFigmaDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorFigmaDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorFitbitDiscriminatedConnectionSettings", "ConnectorFitbitDiscriminatedConnectionSettingsSettings", + "ConnectorFitbitDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorFitbitDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorFortnoxDiscriminatedConnectionSettings", "ConnectorFortnoxDiscriminatedConnectionSettingsSettings", + "ConnectorFortnoxDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorFortnoxDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorFreshbooksDiscriminatedConnectionSettings", "ConnectorFreshbooksDiscriminatedConnectionSettingsSettings", + "ConnectorFreshbooksDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorFreshbooksDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorFrontDiscriminatedConnectionSettings", "ConnectorFrontDiscriminatedConnectionSettingsSettings", + "ConnectorFrontDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorFrontDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorGitHubDiscriminatedConnectionSettings", "ConnectorGitHubDiscriminatedConnectionSettingsSettings", + "ConnectorGitHubDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorGitHubDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorGitlabDiscriminatedConnectionSettings", "ConnectorGitlabDiscriminatedConnectionSettingsSettings", + "ConnectorGitlabDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorGitlabDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorGongDiscriminatedConnectionSettings", "ConnectorGongDiscriminatedConnectionSettingsSettings", + "ConnectorGongDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorGongDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorGoogleCalendarDiscriminatedConnectionSettings", "ConnectorGoogleCalendarDiscriminatedConnectionSettingsSettings", + "ConnectorGoogleCalendarDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorGoogleCalendarDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorGoogleDocsDiscriminatedConnectionSettings", "ConnectorGoogleDocsDiscriminatedConnectionSettingsSettings", + "ConnectorGoogleDocsDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorGoogleDocsDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorGoogleDriveDiscriminatedConnectionSettings", "ConnectorGoogleDriveDiscriminatedConnectionSettingsSettings", + "ConnectorGoogleDriveDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorGoogleDriveDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorGoogleMailDiscriminatedConnectionSettings", "ConnectorGoogleMailDiscriminatedConnectionSettingsSettings", + "ConnectorGoogleMailDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorGoogleMailDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorGoogleSheetDiscriminatedConnectionSettings", "ConnectorGoogleSheetDiscriminatedConnectionSettingsSettings", + "ConnectorGoogleSheetDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorGoogleSheetDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorGorgiasDiscriminatedConnectionSettings", "ConnectorGorgiasDiscriminatedConnectionSettingsSettings", + "ConnectorGorgiasDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorGorgiasDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorGrainDiscriminatedConnectionSettings", "ConnectorGrainDiscriminatedConnectionSettingsSettings", + "ConnectorGrainDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorGrainDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorGumroadDiscriminatedConnectionSettings", "ConnectorGumroadDiscriminatedConnectionSettingsSettings", + "ConnectorGumroadDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorGumroadDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorGustoDiscriminatedConnectionSettings", "ConnectorGustoDiscriminatedConnectionSettingsSettings", + "ConnectorGustoDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorGustoDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorHarvestDiscriminatedConnectionSettings", "ConnectorHarvestDiscriminatedConnectionSettingsSettings", + "ConnectorHarvestDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorHarvestDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorHighlevelDiscriminatedConnectionSettings", "ConnectorHighlevelDiscriminatedConnectionSettingsSettings", + "ConnectorHighlevelDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorHighlevelDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorHubspotDiscriminatedConnectionSettings", "ConnectorHubspotDiscriminatedConnectionSettingsSettings", + "ConnectorHubspotDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorHubspotDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorInstagramDiscriminatedConnectionSettings", "ConnectorInstagramDiscriminatedConnectionSettingsSettings", + "ConnectorInstagramDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorInstagramDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorIntercomDiscriminatedConnectionSettings", "ConnectorIntercomDiscriminatedConnectionSettingsSettings", + "ConnectorIntercomDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorIntercomDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorJiraDiscriminatedConnectionSettings", "ConnectorJiraDiscriminatedConnectionSettingsSettings", + "ConnectorJiraDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorJiraDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorKeapDiscriminatedConnectionSettings", "ConnectorKeapDiscriminatedConnectionSettingsSettings", + "ConnectorKeapDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorKeapDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorLeverDiscriminatedConnectionSettings", "ConnectorLeverDiscriminatedConnectionSettingsSettings", + "ConnectorLeverDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorLeverDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorLinearDiscriminatedConnectionSettings", "ConnectorLinearDiscriminatedConnectionSettingsSettings", + "ConnectorLinearDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorLinearDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorLinkedinDiscriminatedConnectionSettings", "ConnectorLinkedinDiscriminatedConnectionSettingsSettings", + "ConnectorLinkedinDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorLinkedinDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorLinkhutDiscriminatedConnectionSettings", "ConnectorLinkhutDiscriminatedConnectionSettingsSettings", + "ConnectorLinkhutDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorLinkhutDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorMailchimpDiscriminatedConnectionSettings", "ConnectorMailchimpDiscriminatedConnectionSettingsSettings", + "ConnectorMailchimpDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorMailchimpDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorMiroDiscriminatedConnectionSettings", "ConnectorMiroDiscriminatedConnectionSettingsSettings", + "ConnectorMiroDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorMiroDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorMondayDiscriminatedConnectionSettings", "ConnectorMondayDiscriminatedConnectionSettingsSettings", + "ConnectorMondayDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorMondayDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorMuralDiscriminatedConnectionSettings", "ConnectorMuralDiscriminatedConnectionSettingsSettings", + "ConnectorMuralDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorMuralDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorNamelyDiscriminatedConnectionSettings", "ConnectorNamelyDiscriminatedConnectionSettingsSettings", + "ConnectorNamelyDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorNamelyDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorNationbuilderDiscriminatedConnectionSettings", "ConnectorNationbuilderDiscriminatedConnectionSettingsSettings", + "ConnectorNationbuilderDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorNationbuilderDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorNetsuiteDiscriminatedConnectionSettings", "ConnectorNetsuiteDiscriminatedConnectionSettingsSettings", + "ConnectorNetsuiteDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorNetsuiteDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorNotionDiscriminatedConnectionSettings", "ConnectorNotionDiscriminatedConnectionSettingsSettings", + "ConnectorNotionDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorNotionDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorOdooDiscriminatedConnectionSettings", "ConnectorOdooDiscriminatedConnectionSettingsSettings", + "ConnectorOdooDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorOdooDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorOktaDiscriminatedConnectionSettings", "ConnectorOktaDiscriminatedConnectionSettingsSettings", + "ConnectorOktaDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorOktaDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorOsuDiscriminatedConnectionSettings", "ConnectorOsuDiscriminatedConnectionSettingsSettings", + "ConnectorOsuDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorOsuDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorOuraDiscriminatedConnectionSettings", "ConnectorOuraDiscriminatedConnectionSettingsSettings", + "ConnectorOuraDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorOuraDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorOutreachDiscriminatedConnectionSettings", "ConnectorOutreachDiscriminatedConnectionSettingsSettings", + "ConnectorOutreachDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorOutreachDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorPagerdutyDiscriminatedConnectionSettings", "ConnectorPagerdutyDiscriminatedConnectionSettingsSettings", + "ConnectorPagerdutyDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorPagerdutyDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorPandadocDiscriminatedConnectionSettings", "ConnectorPandadocDiscriminatedConnectionSettingsSettings", + "ConnectorPandadocDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorPandadocDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorPayfitDiscriminatedConnectionSettings", "ConnectorPayfitDiscriminatedConnectionSettingsSettings", + "ConnectorPayfitDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorPayfitDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorPaypalDiscriminatedConnectionSettings", "ConnectorPaypalDiscriminatedConnectionSettingsSettings", + "ConnectorPaypalDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorPaypalDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorPennylaneDiscriminatedConnectionSettings", "ConnectorPennylaneDiscriminatedConnectionSettingsSettings", + "ConnectorPennylaneDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorPennylaneDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorPinterestDiscriminatedConnectionSettings", "ConnectorPinterestDiscriminatedConnectionSettingsSettings", + "ConnectorPinterestDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorPinterestDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorPipedriveDiscriminatedConnectionSettings", "ConnectorPipedriveDiscriminatedConnectionSettingsSettings", + "ConnectorPipedriveDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorPipedriveDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorPodiumDiscriminatedConnectionSettings", "ConnectorPodiumDiscriminatedConnectionSettingsSettings", + "ConnectorPodiumDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorPodiumDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorProductboardDiscriminatedConnectionSettings", "ConnectorProductboardDiscriminatedConnectionSettingsSettings", + "ConnectorProductboardDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorProductboardDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorQualtricsDiscriminatedConnectionSettings", "ConnectorQualtricsDiscriminatedConnectionSettingsSettings", + "ConnectorQualtricsDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorQualtricsDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorQuickbooksDiscriminatedConnectionSettings", "ConnectorQuickbooksDiscriminatedConnectionSettingsSettings", + "ConnectorQuickbooksDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorQuickbooksDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorRedditDiscriminatedConnectionSettings", "ConnectorRedditDiscriminatedConnectionSettingsSettings", + "ConnectorRedditDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorRedditDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorSageDiscriminatedConnectionSettings", "ConnectorSageDiscriminatedConnectionSettingsSettings", + "ConnectorSageDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorSageDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorSalesforceDiscriminatedConnectionSettings", "ConnectorSalesforceDiscriminatedConnectionSettingsSettings", + "ConnectorSalesforceDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorSalesforceDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorSalesloftDiscriminatedConnectionSettings", "ConnectorSalesloftDiscriminatedConnectionSettingsSettings", + "ConnectorSalesloftDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorSalesloftDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorSegmentDiscriminatedConnectionSettings", "ConnectorSegmentDiscriminatedConnectionSettingsSettings", + "ConnectorSegmentDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorSegmentDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorServicem8DiscriminatedConnectionSettings", "ConnectorServicem8DiscriminatedConnectionSettingsSettings", + "ConnectorServicem8DiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorServicem8DiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorServicenowDiscriminatedConnectionSettings", "ConnectorServicenowDiscriminatedConnectionSettingsSettings", + "ConnectorServicenowDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorServicenowDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorSharepointDiscriminatedConnectionSettings", "ConnectorSharepointDiscriminatedConnectionSettingsSettings", + "ConnectorSharepointDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorSharepointDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorShopifyDiscriminatedConnectionSettings", "ConnectorShopifyDiscriminatedConnectionSettingsSettings", + "ConnectorShopifyDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorShopifyDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorSignnowDiscriminatedConnectionSettings", "ConnectorSignnowDiscriminatedConnectionSettingsSettings", + "ConnectorSignnowDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorSignnowDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorSlackDiscriminatedConnectionSettings", "ConnectorSlackDiscriminatedConnectionSettingsSettings", + "ConnectorSlackDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorSlackDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorSmartsheetDiscriminatedConnectionSettings", "ConnectorSmartsheetDiscriminatedConnectionSettingsSettings", + "ConnectorSmartsheetDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorSmartsheetDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorSnowflakeDiscriminatedConnectionSettings", "ConnectorSnowflakeDiscriminatedConnectionSettingsSettings", + "ConnectorSnowflakeDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorSnowflakeDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorSpotifyDiscriminatedConnectionSettings", "ConnectorSpotifyDiscriminatedConnectionSettingsSettings", + "ConnectorSpotifyDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorSpotifyDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorSquarespaceDiscriminatedConnectionSettings", "ConnectorSquarespaceDiscriminatedConnectionSettingsSettings", + "ConnectorSquarespaceDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorSquarespaceDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorSquareupDiscriminatedConnectionSettings", "ConnectorSquareupDiscriminatedConnectionSettingsSettings", + "ConnectorSquareupDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorSquareupDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorStackexchangeDiscriminatedConnectionSettings", "ConnectorStackexchangeDiscriminatedConnectionSettingsSettings", + "ConnectorStackexchangeDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorStackexchangeDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorStravaDiscriminatedConnectionSettings", "ConnectorStravaDiscriminatedConnectionSettingsSettings", + "ConnectorStravaDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorStravaDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorTeamworkDiscriminatedConnectionSettings", "ConnectorTeamworkDiscriminatedConnectionSettingsSettings", + "ConnectorTeamworkDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorTeamworkDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorTicktickDiscriminatedConnectionSettings", "ConnectorTicktickDiscriminatedConnectionSettingsSettings", + "ConnectorTicktickDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorTicktickDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorTimelyDiscriminatedConnectionSettings", "ConnectorTimelyDiscriminatedConnectionSettingsSettings", + "ConnectorTimelyDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorTimelyDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorTodoistDiscriminatedConnectionSettings", "ConnectorTodoistDiscriminatedConnectionSettingsSettings", + "ConnectorTodoistDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorTodoistDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorTremendousDiscriminatedConnectionSettings", "ConnectorTremendousDiscriminatedConnectionSettingsSettings", + "ConnectorTremendousDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorTremendousDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorTsheetsteamDiscriminatedConnectionSettings", "ConnectorTsheetsteamDiscriminatedConnectionSettingsSettings", + "ConnectorTsheetsteamDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorTsheetsteamDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorTumblrDiscriminatedConnectionSettings", "ConnectorTumblrDiscriminatedConnectionSettingsSettings", + "ConnectorTumblrDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorTumblrDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorTwinfieldDiscriminatedConnectionSettings", "ConnectorTwinfieldDiscriminatedConnectionSettingsSettings", + "ConnectorTwinfieldDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorTwinfieldDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorTwitchDiscriminatedConnectionSettings", "ConnectorTwitchDiscriminatedConnectionSettingsSettings", + "ConnectorTwitchDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorTwitchDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorTwitterDiscriminatedConnectionSettings", "ConnectorTwitterDiscriminatedConnectionSettingsSettings", + "ConnectorTwitterDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorTwitterDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorTypeformDiscriminatedConnectionSettings", "ConnectorTypeformDiscriminatedConnectionSettingsSettings", + "ConnectorTypeformDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorTypeformDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorUberDiscriminatedConnectionSettings", "ConnectorUberDiscriminatedConnectionSettingsSettings", + "ConnectorUberDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorUberDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorVimeoDiscriminatedConnectionSettings", "ConnectorVimeoDiscriminatedConnectionSettingsSettings", + "ConnectorVimeoDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorVimeoDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorWakatimeDiscriminatedConnectionSettings", "ConnectorWakatimeDiscriminatedConnectionSettingsSettings", + "ConnectorWakatimeDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorWakatimeDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorWealthboxDiscriminatedConnectionSettings", "ConnectorWealthboxDiscriminatedConnectionSettingsSettings", + "ConnectorWealthboxDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorWealthboxDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorWebflowDiscriminatedConnectionSettings", "ConnectorWebflowDiscriminatedConnectionSettingsSettings", + "ConnectorWebflowDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorWebflowDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorWhoopDiscriminatedConnectionSettings", "ConnectorWhoopDiscriminatedConnectionSettingsSettings", + "ConnectorWhoopDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorWhoopDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorWordpressDiscriminatedConnectionSettings", "ConnectorWordpressDiscriminatedConnectionSettingsSettings", + "ConnectorWordpressDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorWordpressDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorWrikeDiscriminatedConnectionSettings", "ConnectorWrikeDiscriminatedConnectionSettingsSettings", + "ConnectorWrikeDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorWrikeDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorXeroDiscriminatedConnectionSettings", "ConnectorXeroDiscriminatedConnectionSettingsSettings", + "ConnectorXeroDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorXeroDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorYahooDiscriminatedConnectionSettings", "ConnectorYahooDiscriminatedConnectionSettingsSettings", + "ConnectorYahooDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorYahooDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorYandexDiscriminatedConnectionSettings", "ConnectorYandexDiscriminatedConnectionSettingsSettings", + "ConnectorYandexDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorYandexDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorZapierDiscriminatedConnectionSettings", "ConnectorZapierDiscriminatedConnectionSettingsSettings", + "ConnectorZapierDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorZapierDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorZendeskDiscriminatedConnectionSettings", "ConnectorZendeskDiscriminatedConnectionSettingsSettings", + "ConnectorZendeskDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorZendeskDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorZenefitsDiscriminatedConnectionSettings", "ConnectorZenefitsDiscriminatedConnectionSettingsSettings", + "ConnectorZenefitsDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorZenefitsDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorZohoDeskDiscriminatedConnectionSettings", "ConnectorZohoDeskDiscriminatedConnectionSettingsSettings", + "ConnectorZohoDeskDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorZohoDeskDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorZohoDiscriminatedConnectionSettings", "ConnectorZohoDiscriminatedConnectionSettingsSettings", + "ConnectorZohoDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorZohoDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorZoomDiscriminatedConnectionSettings", "ConnectorZoomDiscriminatedConnectionSettingsSettings", + "ConnectorZoomDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorZoomDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorAirtableDiscriminatedConnectionSettings", "ConnectorAirtableDiscriminatedConnectionSettingsSettings", "ConnectorApolloDiscriminatedConnectionSettings", @@ -336,6 +621,8 @@ "ConnectorRampDiscriminatedConnectionSettings", "ConnectorRampDiscriminatedConnectionSettingsSettings", "ConnectorSaltedgeDiscriminatedConnectionSettings", + "ConnectorSharepointOnpremDiscriminatedConnectionSettings", + "ConnectorSharepointOnpremDiscriminatedConnectionSettingsSettings", "ConnectorSplitwiseDiscriminatedConnectionSettings", "ConnectorSplitwiseDiscriminatedConnectionSettingsSettings", "ConnectorSplitwiseDiscriminatedConnectionSettingsSettingsCurrentUser", @@ -360,8 +647,40 @@ ] +class ConnectorAcceloDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorAcceloDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorAcceloDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorAcceloDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorAcceloDiscriminatedConnectionSettingsSettingsOAuth subdomain: str """The subdomain of your Accelo account (e.g., https://domain.api.accelo.com)""" @@ -406,8 +725,77 @@ class ConnectorAcceloDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorAcmeApikeyDiscriminatedConnectionSettingsSettings(BaseModel): + api_key: str + + +class ConnectorAcmeApikeyDiscriminatedConnectionSettings(BaseModel): + connector_name: Literal["acme-apikey"] + + id: Optional[str] = None + + connector_config_id: Optional[str] = None + + created_at: Optional[str] = None + + customer_id: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integration_id: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + settings: Optional[ConnectorAcmeApikeyDiscriminatedConnectionSettingsSettings] = None + + status: Optional[Literal["healthy", "disconnected", "error", "manual", "unknown"]] = None + + status_message: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorAcmeOauth2DiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorAcmeOauth2DiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorAcmeOauth2DiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorAcmeOauth2DiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorAcmeOauth2DiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -449,8 +837,40 @@ class ConnectorAcmeOauth2DiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorAdobeDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorAdobeDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorAdobeDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorAdobeDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorAdobeDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -492,11 +912,43 @@ class ConnectorAdobeDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorAdyenDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorAdyenDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorAdyenDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorAdyenDiscriminatedConnectionSettingsSettings(BaseModel): environment: str """The environment to use (e.g., live|test)""" - oauth: OAuthConnectionSettings + oauth: ConnectorAdyenDiscriminatedConnectionSettingsSettingsOAuth resource: str """ @@ -544,8 +996,40 @@ class ConnectorAdyenDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorAircallDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorAircallDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorAircallDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorAircallDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorAircallDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -587,11 +1071,43 @@ class ConnectorAircallDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorAmazonDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorAmazonDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorAmazonDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorAmazonDiscriminatedConnectionSettingsSettings(BaseModel): extension: str """The domain extension for your Amazon account (e.g., com)""" - oauth: OAuthConnectionSettings + oauth: ConnectorAmazonDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -633,8 +1149,40 @@ class ConnectorAmazonDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorApaleoDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorApaleoDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorApaleoDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorApaleoDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorApaleoDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -676,8 +1224,40 @@ class ConnectorApaleoDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorAsanaDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorAsanaDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorAsanaDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorAsanaDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorAsanaDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -719,8 +1299,40 @@ class ConnectorAsanaDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorAttioDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorAttioDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorAttioDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorAttioDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorAttioDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -762,8 +1374,40 @@ class ConnectorAttioDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorAuth0DiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorAuth0DiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorAuth0DiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorAuth0DiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorAuth0DiscriminatedConnectionSettingsSettingsOAuth subdomain: str """The subdomain of your Auth0 account (e.g., https://domain.auth0.com)""" @@ -808,8 +1452,40 @@ class ConnectorAuth0DiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorAutodeskDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorAutodeskDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorAutodeskDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorAutodeskDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorAutodeskDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -851,6 +1527,38 @@ class ConnectorAutodeskDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorAwsDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorAwsDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorAwsDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorAwsDiscriminatedConnectionSettingsSettings(BaseModel): api_subdomain: str = FieldInfo(alias="apiSubdomain") """ @@ -861,7 +1569,7 @@ class ConnectorAwsDiscriminatedConnectionSettingsSettings(BaseModel): extension: str """The domain extension of your AWS account (e.g., com)""" - oauth: OAuthConnectionSettings + oauth: ConnectorAwsDiscriminatedConnectionSettingsSettingsOAuth subdomain: str """The subdomain of your AWS account (e.g., https://domain.amazoncognito.com)""" @@ -906,8 +1614,40 @@ class ConnectorAwsDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorBamboohrDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorBamboohrDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorBamboohrDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorBamboohrDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorBamboohrDiscriminatedConnectionSettingsSettingsOAuth subdomain: str """The subdomain of your BambooHR account (e.g., https://domain.bamboohr.com)""" @@ -932,22 +1672,54 @@ class ConnectorBamboohrDiscriminatedConnectionSettings(BaseModel): disabled: Optional[bool] = None - display_name: Optional[str] = None + display_name: Optional[str] = None + + integration_id: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + settings: Optional[ConnectorBamboohrDiscriminatedConnectionSettingsSettings] = None + + status: Optional[Literal["healthy", "disconnected", "error", "manual", "unknown"]] = None + + status_message: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorBasecampDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None - integration_id: Optional[str] = None - metadata: Optional[Dict[str, object]] = None - """ - JSON object can can be used to associate arbitrary metadata to avoid needing a - separate 1-1 table just for simple key values in your application. During - updates this object will be shallowly merged - """ +class ConnectorBasecampDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None - settings: Optional[ConnectorBamboohrDiscriminatedConnectionSettingsSettings] = None + credentials: Optional[ConnectorBasecampDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" - status: Optional[Literal["healthy", "disconnected", "error", "manual", "unknown"]] = None + last_fetched_at: Optional[str] = None - status_message: Optional[str] = None + metadata: Optional[Dict[str, object]] = None updated_at: Optional[str] = None @@ -959,7 +1731,7 @@ class ConnectorBasecampDiscriminatedConnectionSettingsSettings(BaseModel): app_details: str = FieldInfo(alias="appDetails") """The details of your app (e.g., example-subdomain)""" - oauth: OAuthConnectionSettings + oauth: ConnectorBasecampDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -1001,6 +1773,38 @@ class ConnectorBasecampDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorBattlenetDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorBattlenetDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorBattlenetDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorBattlenetDiscriminatedConnectionSettingsSettings(BaseModel): api_domain: str = FieldInfo(alias="apiDomain") """ @@ -1010,7 +1814,7 @@ class ConnectorBattlenetDiscriminatedConnectionSettingsSettings(BaseModel): extension: str """The domain extension of your Battle.net account (e.g., com)""" - oauth: OAuthConnectionSettings + oauth: ConnectorBattlenetDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -1052,6 +1856,38 @@ class ConnectorBattlenetDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorBigcommerceDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorBigcommerceDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorBigcommerceDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorBigcommerceDiscriminatedConnectionSettingsSettings(BaseModel): account_uuid: str = FieldInfo(alias="accountUuid") """ @@ -1059,7 +1895,7 @@ class ConnectorBigcommerceDiscriminatedConnectionSettingsSettings(BaseModel): 123e4567-e89b-12d3-a456-426614174000) """ - oauth: OAuthConnectionSettings + oauth: ConnectorBigcommerceDiscriminatedConnectionSettingsSettingsOAuth store_hash: str = FieldInfo(alias="storeHash") """The store hash of your BigCommerce account (e.g., Example123)""" @@ -1104,8 +1940,40 @@ class ConnectorBigcommerceDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorBitbucketDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorBitbucketDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorBitbucketDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorBitbucketDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorBitbucketDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -1147,8 +2015,40 @@ class ConnectorBitbucketDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorBitlyDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorBitlyDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorBitlyDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorBitlyDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorBitlyDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -1190,8 +2090,40 @@ class ConnectorBitlyDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorBlackbaudDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorBlackbaudDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorBlackbaudDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorBlackbaudDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorBlackbaudDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -1233,8 +2165,40 @@ class ConnectorBlackbaudDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorBoldsignDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorBoldsignDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorBoldsignDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorBoldsignDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorBoldsignDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -1276,8 +2240,40 @@ class ConnectorBoldsignDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorBoxDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorBoxDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorBoxDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorBoxDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorBoxDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -1319,8 +2315,40 @@ class ConnectorBoxDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorBraintreeDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorBraintreeDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorBraintreeDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorBraintreeDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorBraintreeDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -1362,8 +2390,40 @@ class ConnectorBraintreeDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorCalendlyDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorCalendlyDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorCalendlyDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorCalendlyDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorCalendlyDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -1405,8 +2465,40 @@ class ConnectorCalendlyDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorClickupDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorClickupDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorClickupDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorClickupDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorClickupDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -1448,8 +2540,40 @@ class ConnectorClickupDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorCloseDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorCloseDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorCloseDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorCloseDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorCloseDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -1491,8 +2615,40 @@ class ConnectorCloseDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorConfluenceDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorConfluenceDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorConfluenceDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorConfluenceDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorConfluenceDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -1525,17 +2681,49 @@ class ConnectorConfluenceDiscriminatedConnectionSettings(BaseModel): updates this object will be shallowly merged """ - settings: Optional[ConnectorConfluenceDiscriminatedConnectionSettingsSettings] = None + settings: Optional[ConnectorConfluenceDiscriminatedConnectionSettingsSettings] = None + + status: Optional[Literal["healthy", "disconnected", "error", "manual", "unknown"]] = None + + status_message: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorContentfulDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None - status: Optional[Literal["healthy", "disconnected", "error", "manual", "unknown"]] = None + scope: Optional[str] = None - status_message: Optional[str] = None + token_type: Optional[str] = None + + +class ConnectorContentfulDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorContentfulDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None updated_at: Optional[str] = None class ConnectorContentfulDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorContentfulDiscriminatedConnectionSettingsSettingsOAuth subdomain: str """The subdomain of your Contentful account (e.g., https://domain.contentful.com)""" @@ -1580,6 +2768,38 @@ class ConnectorContentfulDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorContentstackDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorContentstackDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorContentstackDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorContentstackDiscriminatedConnectionSettingsSettings(BaseModel): api_domain: str = FieldInfo(alias="apiDomain") """ @@ -1590,7 +2810,7 @@ class ConnectorContentstackDiscriminatedConnectionSettingsSettings(BaseModel): app_id: str = FieldInfo(alias="appId") """The app ID of your Contentstack account (e.g., example-subdomain)""" - oauth: OAuthConnectionSettings + oauth: ConnectorContentstackDiscriminatedConnectionSettingsSettingsOAuth subdomain: str """ @@ -1638,8 +2858,40 @@ class ConnectorContentstackDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorCopperDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorCopperDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorCopperDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorCopperDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorCopperDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -1681,8 +2933,40 @@ class ConnectorCopperDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorCorosDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorCorosDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorCorosDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorCorosDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorCorosDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -1724,8 +3008,40 @@ class ConnectorCorosDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorDatevDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorDatevDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorDatevDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorDatevDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorDatevDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -1767,8 +3083,40 @@ class ConnectorDatevDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorDeelDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorDeelDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorDeelDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorDeelDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorDeelDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -1810,8 +3158,40 @@ class ConnectorDeelDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorDialpadDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorDialpadDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorDialpadDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorDialpadDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorDialpadDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -1853,8 +3233,40 @@ class ConnectorDialpadDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorDigitaloceanDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorDigitaloceanDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorDigitaloceanDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorDigitaloceanDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorDigitaloceanDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -1896,8 +3308,40 @@ class ConnectorDigitaloceanDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorDiscordDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorDiscordDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorDiscordDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorDiscordDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorDiscordDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -1939,8 +3383,40 @@ class ConnectorDiscordDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorDocusignDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorDocusignDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorDocusignDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorDocusignDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorDocusignDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -1982,8 +3458,40 @@ class ConnectorDocusignDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorDropboxDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorDropboxDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorDropboxDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorDropboxDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorDropboxDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -2025,8 +3533,40 @@ class ConnectorDropboxDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorEbayDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorEbayDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorEbayDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorEbayDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorEbayDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -2068,8 +3608,40 @@ class ConnectorEbayDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorEgnyteDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorEgnyteDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorEgnyteDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorEgnyteDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorEgnyteDiscriminatedConnectionSettingsSettingsOAuth subdomain: str """The subdomain of your Egnyte account (e.g., https://domain.egnyte.com)""" @@ -2114,8 +3686,40 @@ class ConnectorEgnyteDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorEnvoyDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorEnvoyDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorEnvoyDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorEnvoyDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorEnvoyDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -2157,8 +3761,40 @@ class ConnectorEnvoyDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorEventbriteDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorEventbriteDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorEventbriteDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorEventbriteDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorEventbriteDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -2200,8 +3836,40 @@ class ConnectorEventbriteDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorExistDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorExistDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorExistDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorExistDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorExistDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -2243,8 +3911,40 @@ class ConnectorExistDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorFacebookDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorFacebookDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorFacebookDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorFacebookDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorFacebookDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -2286,8 +3986,40 @@ class ConnectorFacebookDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorFactorialDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorFactorialDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorFactorialDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorFactorialDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorFactorialDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -2329,8 +4061,40 @@ class ConnectorFactorialDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorFigmaDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorFigmaDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorFigmaDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorFigmaDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorFigmaDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -2372,8 +4136,40 @@ class ConnectorFigmaDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorFitbitDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorFitbitDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorFitbitDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorFitbitDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorFitbitDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -2415,8 +4211,40 @@ class ConnectorFitbitDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorFortnoxDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorFortnoxDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorFortnoxDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorFortnoxDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorFortnoxDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -2458,8 +4286,40 @@ class ConnectorFortnoxDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorFreshbooksDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorFreshbooksDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorFreshbooksDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorFreshbooksDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorFreshbooksDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -2501,8 +4361,40 @@ class ConnectorFreshbooksDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorFrontDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorFrontDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorFrontDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorFrontDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorFrontDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -2544,8 +4436,40 @@ class ConnectorFrontDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorGitHubDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorGitHubDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorGitHubDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorGitHubDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorGitHubDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -2587,8 +4511,40 @@ class ConnectorGitHubDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorGitlabDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorGitlabDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorGitlabDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorGitlabDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorGitlabDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -2630,11 +4586,43 @@ class ConnectorGitlabDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorGongDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorGongDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorGongDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorGongDiscriminatedConnectionSettingsSettings(BaseModel): api_base_url_for_customer: str """The base URL of your Gong account (e.g., example)""" - oauth: OAuthConnectionSettings + oauth: ConnectorGongDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -2658,26 +4646,58 @@ class ConnectorGongDiscriminatedConnectionSettings(BaseModel): display_name: Optional[str] = None - integration_id: Optional[str] = None + integration_id: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + settings: Optional[ConnectorGongDiscriminatedConnectionSettingsSettings] = None + + status: Optional[Literal["healthy", "disconnected", "error", "manual", "unknown"]] = None + + status_message: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorGoogleCalendarDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + - metadata: Optional[Dict[str, object]] = None - """ - JSON object can can be used to associate arbitrary metadata to avoid needing a - separate 1-1 table just for simple key values in your application. During - updates this object will be shallowly merged - """ +class ConnectorGoogleCalendarDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None - settings: Optional[ConnectorGongDiscriminatedConnectionSettingsSettings] = None + credentials: Optional[ConnectorGoogleCalendarDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" - status: Optional[Literal["healthy", "disconnected", "error", "manual", "unknown"]] = None + last_fetched_at: Optional[str] = None - status_message: Optional[str] = None + metadata: Optional[Dict[str, object]] = None updated_at: Optional[str] = None class ConnectorGoogleCalendarDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorGoogleCalendarDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -2719,8 +4739,40 @@ class ConnectorGoogleCalendarDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorGoogleDocsDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorGoogleDocsDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorGoogleDocsDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorGoogleDocsDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorGoogleDocsDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -2762,8 +4814,40 @@ class ConnectorGoogleDocsDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorGoogleDriveDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorGoogleDriveDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorGoogleDriveDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorGoogleDriveDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorGoogleDriveDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -2805,8 +4889,40 @@ class ConnectorGoogleDriveDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorGoogleMailDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorGoogleMailDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorGoogleMailDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorGoogleMailDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorGoogleMailDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -2848,8 +4964,40 @@ class ConnectorGoogleMailDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorGoogleSheetDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorGoogleSheetDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorGoogleSheetDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorGoogleSheetDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorGoogleSheetDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -2891,8 +5039,40 @@ class ConnectorGoogleSheetDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorGorgiasDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorGorgiasDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorGorgiasDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorGorgiasDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorGorgiasDiscriminatedConnectionSettingsSettingsOAuth subdomain: str """The subdomain of your Gorgias account (e.g., https://domain.gorgias.com)""" @@ -2937,8 +5117,40 @@ class ConnectorGorgiasDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorGrainDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorGrainDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorGrainDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorGrainDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorGrainDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -2980,8 +5192,40 @@ class ConnectorGrainDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorGumroadDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorGumroadDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorGumroadDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorGumroadDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorGumroadDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -3023,8 +5267,40 @@ class ConnectorGumroadDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorGustoDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorGustoDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorGustoDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorGustoDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorGustoDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -3066,11 +5342,43 @@ class ConnectorGustoDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorHarvestDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorHarvestDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorHarvestDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorHarvestDiscriminatedConnectionSettingsSettings(BaseModel): app_details: str = FieldInfo(alias="appDetails") """The details of your app (e.g., example-subdomain)""" - oauth: OAuthConnectionSettings + oauth: ConnectorHarvestDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -3112,8 +5420,40 @@ class ConnectorHarvestDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorHighlevelDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorHighlevelDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorHighlevelDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorHighlevelDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorHighlevelDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -3155,8 +5495,40 @@ class ConnectorHighlevelDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorHubspotDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorHubspotDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorHubspotDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorHubspotDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorHubspotDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -3198,8 +5570,40 @@ class ConnectorHubspotDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorInstagramDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorInstagramDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorInstagramDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorInstagramDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorInstagramDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -3232,17 +5636,49 @@ class ConnectorInstagramDiscriminatedConnectionSettings(BaseModel): updates this object will be shallowly merged """ - settings: Optional[ConnectorInstagramDiscriminatedConnectionSettingsSettings] = None + settings: Optional[ConnectorInstagramDiscriminatedConnectionSettingsSettings] = None + + status: Optional[Literal["healthy", "disconnected", "error", "manual", "unknown"]] = None + + status_message: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorIntercomDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None - status: Optional[Literal["healthy", "disconnected", "error", "manual", "unknown"]] = None + token_type: Optional[str] = None - status_message: Optional[str] = None + +class ConnectorIntercomDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorIntercomDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None updated_at: Optional[str] = None class ConnectorIntercomDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorIntercomDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -3284,8 +5720,40 @@ class ConnectorIntercomDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorJiraDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorJiraDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorJiraDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorJiraDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorJiraDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -3327,8 +5795,40 @@ class ConnectorJiraDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorKeapDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorKeapDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorKeapDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorKeapDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorKeapDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -3370,8 +5870,40 @@ class ConnectorKeapDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorLeverDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorLeverDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorLeverDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorLeverDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorLeverDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -3413,8 +5945,40 @@ class ConnectorLeverDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorLinearDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorLinearDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorLinearDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorLinearDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorLinearDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -3456,8 +6020,40 @@ class ConnectorLinearDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorLinkedinDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorLinkedinDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorLinkedinDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorLinkedinDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorLinkedinDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -3499,8 +6095,40 @@ class ConnectorLinkedinDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorLinkhutDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorLinkhutDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorLinkhutDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorLinkhutDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorLinkhutDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -3542,11 +6170,43 @@ class ConnectorLinkhutDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorMailchimpDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorMailchimpDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorMailchimpDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorMailchimpDiscriminatedConnectionSettingsSettings(BaseModel): dc: str """The data center for your account (e.g., us6)""" - oauth: OAuthConnectionSettings + oauth: ConnectorMailchimpDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -3588,8 +6248,40 @@ class ConnectorMailchimpDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorMiroDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorMiroDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorMiroDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorMiroDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorMiroDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -3631,8 +6323,40 @@ class ConnectorMiroDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorMondayDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorMondayDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorMondayDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorMondayDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorMondayDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -3674,8 +6398,40 @@ class ConnectorMondayDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorMuralDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorMuralDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorMuralDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorMuralDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorMuralDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -3717,11 +6473,43 @@ class ConnectorMuralDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorNamelyDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorNamelyDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorNamelyDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorNamelyDiscriminatedConnectionSettingsSettings(BaseModel): company: str """The name of your Namely company (e.g., example)""" - oauth: OAuthConnectionSettings + oauth: ConnectorNamelyDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -3763,11 +6551,43 @@ class ConnectorNamelyDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorNationbuilderDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorNationbuilderDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorNationbuilderDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorNationbuilderDiscriminatedConnectionSettingsSettings(BaseModel): account_id: str = FieldInfo(alias="accountId") """The account ID of your NationBuilder account (e.g., example-subdomain)""" - oauth: OAuthConnectionSettings + oauth: ConnectorNationbuilderDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -3809,11 +6629,43 @@ class ConnectorNationbuilderDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorNetsuiteDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorNetsuiteDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorNetsuiteDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorNetsuiteDiscriminatedConnectionSettingsSettings(BaseModel): account_id: str = FieldInfo(alias="accountId") """The account ID of your NetSuite account (e.g., tstdrv231585)""" - oauth: OAuthConnectionSettings + oauth: ConnectorNetsuiteDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -3855,8 +6707,40 @@ class ConnectorNetsuiteDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorNotionDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorNotionDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorNotionDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorNotionDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorNotionDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -3898,8 +6782,40 @@ class ConnectorNotionDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorOdooDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorOdooDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorOdooDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorOdooDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorOdooDiscriminatedConnectionSettingsSettingsOAuth server_url: str = FieldInfo(alias="serverUrl") """The domain of your Odoo account (e.g., https://example-subdomain)""" @@ -3944,8 +6860,40 @@ class ConnectorOdooDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorOktaDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorOktaDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorOktaDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorOktaDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorOktaDiscriminatedConnectionSettingsSettingsOAuth subdomain: str """The subdomain of your Okta account (e.g., https://domain.okta.com)""" @@ -3990,8 +6938,40 @@ class ConnectorOktaDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorOsuDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorOsuDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorOsuDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorOsuDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorOsuDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -4033,8 +7013,40 @@ class ConnectorOsuDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorOuraDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorOuraDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorOuraDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorOuraDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorOuraDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -4076,8 +7088,40 @@ class ConnectorOuraDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorOutreachDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorOutreachDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorOutreachDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorOutreachDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorOutreachDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -4119,8 +7163,40 @@ class ConnectorOutreachDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorPagerdutyDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorPagerdutyDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorPagerdutyDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorPagerdutyDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorPagerdutyDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -4162,8 +7238,40 @@ class ConnectorPagerdutyDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorPandadocDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorPandadocDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorPandadocDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorPandadocDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorPandadocDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -4205,8 +7313,40 @@ class ConnectorPandadocDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorPayfitDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorPayfitDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorPayfitDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorPayfitDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorPayfitDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -4248,8 +7388,40 @@ class ConnectorPayfitDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorPaypalDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorPaypalDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorPaypalDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorPaypalDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorPaypalDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -4291,8 +7463,40 @@ class ConnectorPaypalDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorPennylaneDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorPennylaneDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorPennylaneDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorPennylaneDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorPennylaneDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -4334,8 +7538,40 @@ class ConnectorPennylaneDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorPinterestDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorPinterestDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorPinterestDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorPinterestDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorPinterestDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -4357,22 +7593,54 @@ class ConnectorPinterestDiscriminatedConnectionSettings(BaseModel): disabled: Optional[bool] = None - display_name: Optional[str] = None + display_name: Optional[str] = None + + integration_id: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + settings: Optional[ConnectorPinterestDiscriminatedConnectionSettingsSettings] = None + + status: Optional[Literal["healthy", "disconnected", "error", "manual", "unknown"]] = None + + status_message: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorPipedriveDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None - integration_id: Optional[str] = None - metadata: Optional[Dict[str, object]] = None - """ - JSON object can can be used to associate arbitrary metadata to avoid needing a - separate 1-1 table just for simple key values in your application. During - updates this object will be shallowly merged - """ +class ConnectorPipedriveDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None - settings: Optional[ConnectorPinterestDiscriminatedConnectionSettingsSettings] = None + credentials: Optional[ConnectorPipedriveDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" - status: Optional[Literal["healthy", "disconnected", "error", "manual", "unknown"]] = None + last_fetched_at: Optional[str] = None - status_message: Optional[str] = None + metadata: Optional[Dict[str, object]] = None updated_at: Optional[str] = None @@ -4381,7 +7649,7 @@ class ConnectorPipedriveDiscriminatedConnectionSettingsSettings(BaseModel): api_domain: str """The API URL of your Pipedrive account (e.g., example)""" - oauth: OAuthConnectionSettings + oauth: ConnectorPipedriveDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -4423,11 +7691,43 @@ class ConnectorPipedriveDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorPodiumDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorPodiumDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorPodiumDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorPodiumDiscriminatedConnectionSettingsSettings(BaseModel): api_version: str = FieldInfo(alias="apiVersion") """The API version of your Podium account (e.g., example-subdomain)""" - oauth: OAuthConnectionSettings + oauth: ConnectorPodiumDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -4469,8 +7769,40 @@ class ConnectorPodiumDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorProductboardDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorProductboardDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorProductboardDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorProductboardDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorProductboardDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -4512,8 +7844,40 @@ class ConnectorProductboardDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorQualtricsDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorQualtricsDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorQualtricsDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorQualtricsDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorQualtricsDiscriminatedConnectionSettingsSettingsOAuth subdomain: str """The subdomain of your Qualtrics account (e.g., https://domain.qualtrics.com)""" @@ -4558,8 +7922,40 @@ class ConnectorQualtricsDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorQuickbooksDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorQuickbooksDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorQuickbooksDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorQuickbooksDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorQuickbooksDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -4601,8 +7997,40 @@ class ConnectorQuickbooksDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorRedditDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorRedditDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorRedditDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorRedditDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorRedditDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -4644,8 +8072,40 @@ class ConnectorRedditDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorSageDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorSageDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorSageDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorSageDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorSageDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -4687,11 +8147,43 @@ class ConnectorSageDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorSalesforceDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorSalesforceDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorSalesforceDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorSalesforceDiscriminatedConnectionSettingsSettings(BaseModel): instance_url: str """The instance URL of your Salesforce account (e.g., example)""" - oauth: OAuthConnectionSettings + oauth: ConnectorSalesforceDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -4733,8 +8225,40 @@ class ConnectorSalesforceDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorSalesloftDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorSalesloftDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorSalesloftDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorSalesloftDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorSalesloftDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -4776,8 +8300,40 @@ class ConnectorSalesloftDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorSegmentDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorSegmentDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorSegmentDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorSegmentDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorSegmentDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -4819,8 +8375,40 @@ class ConnectorSegmentDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorServicem8DiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorServicem8DiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorServicem8DiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorServicem8DiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorServicem8DiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -4862,8 +8450,40 @@ class ConnectorServicem8DiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorServicenowDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorServicenowDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorServicenowDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorServicenowDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorServicenowDiscriminatedConnectionSettingsSettingsOAuth subdomain: str """The subdomain of your ServiceNow account (e.g., https://domain.service-now.com)""" @@ -4908,8 +8528,40 @@ class ConnectorServicenowDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorSharepointDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorSharepointDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorSharepointDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorSharepointDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorSharepointDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -4942,17 +8594,49 @@ class ConnectorSharepointDiscriminatedConnectionSettings(BaseModel): updates this object will be shallowly merged """ - settings: Optional[ConnectorSharepointDiscriminatedConnectionSettingsSettings] = None + settings: Optional[ConnectorSharepointDiscriminatedConnectionSettingsSettings] = None + + status: Optional[Literal["healthy", "disconnected", "error", "manual", "unknown"]] = None + + status_message: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorShopifyDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None - status: Optional[Literal["healthy", "disconnected", "error", "manual", "unknown"]] = None + scope: Optional[str] = None - status_message: Optional[str] = None + token_type: Optional[str] = None + + +class ConnectorShopifyDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorShopifyDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None updated_at: Optional[str] = None class ConnectorShopifyDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorShopifyDiscriminatedConnectionSettingsSettingsOAuth subdomain: str """The subdomain of your Shopify account (e.g., https://domain.myshopify.com)""" @@ -4997,8 +8681,40 @@ class ConnectorShopifyDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorSignnowDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorSignnowDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorSignnowDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorSignnowDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorSignnowDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -5040,8 +8756,40 @@ class ConnectorSignnowDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorSlackDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorSlackDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorSlackDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorSlackDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorSlackDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -5083,8 +8831,40 @@ class ConnectorSlackDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorSmartsheetDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorSmartsheetDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorSmartsheetDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorSmartsheetDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorSmartsheetDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -5126,8 +8906,40 @@ class ConnectorSmartsheetDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorSnowflakeDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorSnowflakeDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorSnowflakeDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorSnowflakeDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorSnowflakeDiscriminatedConnectionSettingsSettingsOAuth snowflake_account_url: str """The domain of your Snowflake account (e.g., https://example-subdomain)""" @@ -5172,8 +8984,40 @@ class ConnectorSnowflakeDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorSpotifyDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorSpotifyDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorSpotifyDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorSpotifyDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorSpotifyDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -5215,11 +9059,43 @@ class ConnectorSpotifyDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorSquarespaceDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorSquarespaceDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorSquarespaceDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorSquarespaceDiscriminatedConnectionSettingsSettings(BaseModel): customapp_description: str = FieldInfo(alias="customappDescription") """The user agent of your custom app (e.g., example-subdomain)""" - oauth: OAuthConnectionSettings + oauth: ConnectorSquarespaceDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -5261,8 +9137,40 @@ class ConnectorSquarespaceDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorSquareupDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorSquareupDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorSquareupDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorSquareupDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorSquareupDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -5304,8 +9212,40 @@ class ConnectorSquareupDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorStackexchangeDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorStackexchangeDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorStackexchangeDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorStackexchangeDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorStackexchangeDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -5347,8 +9287,40 @@ class ConnectorStackexchangeDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorStravaDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorStravaDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorStravaDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorStravaDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorStravaDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -5390,8 +9362,40 @@ class ConnectorStravaDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorTeamworkDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorTeamworkDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorTeamworkDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorTeamworkDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorTeamworkDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -5433,8 +9437,40 @@ class ConnectorTeamworkDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorTicktickDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorTicktickDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorTicktickDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorTicktickDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorTicktickDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -5476,8 +9512,40 @@ class ConnectorTicktickDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorTimelyDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorTimelyDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorTimelyDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorTimelyDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorTimelyDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -5519,8 +9587,40 @@ class ConnectorTimelyDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorTodoistDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorTodoistDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorTodoistDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorTodoistDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorTodoistDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -5562,8 +9662,40 @@ class ConnectorTodoistDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorTremendousDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorTremendousDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorTremendousDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorTremendousDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorTremendousDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -5605,8 +9737,40 @@ class ConnectorTremendousDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorTsheetsteamDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorTsheetsteamDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorTsheetsteamDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorTsheetsteamDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorTsheetsteamDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -5648,8 +9812,40 @@ class ConnectorTsheetsteamDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorTumblrDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorTumblrDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorTumblrDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorTumblrDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorTumblrDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -5691,11 +9887,43 @@ class ConnectorTumblrDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorTwinfieldDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorTwinfieldDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorTwinfieldDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorTwinfieldDiscriminatedConnectionSettingsSettings(BaseModel): cluster: str """The cluster to your Twinfield instance (e.g., https://accounting.twinfield.com)""" - oauth: OAuthConnectionSettings + oauth: ConnectorTwinfieldDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -5737,8 +9965,40 @@ class ConnectorTwinfieldDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorTwitchDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorTwitchDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorTwitchDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorTwitchDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorTwitchDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -5780,8 +10040,40 @@ class ConnectorTwitchDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorTwitterDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorTwitterDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorTwitterDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorTwitterDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorTwitterDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -5823,8 +10115,40 @@ class ConnectorTwitterDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorTypeformDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorTypeformDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorTypeformDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorTypeformDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorTypeformDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -5866,8 +10190,40 @@ class ConnectorTypeformDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorUberDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorUberDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorUberDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorUberDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorUberDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -5909,8 +10265,40 @@ class ConnectorUberDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorVimeoDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorVimeoDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorVimeoDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorVimeoDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorVimeoDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -5952,8 +10340,40 @@ class ConnectorVimeoDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorWakatimeDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorWakatimeDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorWakatimeDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorWakatimeDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorWakatimeDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -5995,8 +10415,40 @@ class ConnectorWakatimeDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorWealthboxDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorWealthboxDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorWealthboxDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorWealthboxDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorWealthboxDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -6038,8 +10490,40 @@ class ConnectorWealthboxDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorWebflowDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorWebflowDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorWebflowDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorWebflowDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorWebflowDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -6063,26 +10547,58 @@ class ConnectorWebflowDiscriminatedConnectionSettings(BaseModel): display_name: Optional[str] = None - integration_id: Optional[str] = None + integration_id: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + settings: Optional[ConnectorWebflowDiscriminatedConnectionSettingsSettings] = None + + status: Optional[Literal["healthy", "disconnected", "error", "manual", "unknown"]] = None + + status_message: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorWhoopDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + - metadata: Optional[Dict[str, object]] = None - """ - JSON object can can be used to associate arbitrary metadata to avoid needing a - separate 1-1 table just for simple key values in your application. During - updates this object will be shallowly merged - """ +class ConnectorWhoopDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None - settings: Optional[ConnectorWebflowDiscriminatedConnectionSettingsSettings] = None + credentials: Optional[ConnectorWhoopDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" - status: Optional[Literal["healthy", "disconnected", "error", "manual", "unknown"]] = None + last_fetched_at: Optional[str] = None - status_message: Optional[str] = None + metadata: Optional[Dict[str, object]] = None updated_at: Optional[str] = None class ConnectorWhoopDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorWhoopDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -6124,8 +10640,40 @@ class ConnectorWhoopDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorWordpressDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorWordpressDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorWordpressDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorWordpressDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorWordpressDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -6167,11 +10715,43 @@ class ConnectorWordpressDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorWrikeDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorWrikeDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorWrikeDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorWrikeDiscriminatedConnectionSettingsSettings(BaseModel): host: str """The domain of your Wrike account (e.g., https://example-subdomain)""" - oauth: OAuthConnectionSettings + oauth: ConnectorWrikeDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -6213,8 +10793,40 @@ class ConnectorWrikeDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorXeroDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorXeroDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorXeroDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorXeroDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorXeroDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -6256,6 +10868,38 @@ class ConnectorXeroDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorYahooDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorYahooDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorYahooDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorYahooDiscriminatedConnectionSettingsSettings(BaseModel): api_domain: str = FieldInfo(alias="apiDomain") """ @@ -6263,7 +10907,7 @@ class ConnectorYahooDiscriminatedConnectionSettingsSettings(BaseModel): https://fantasysports.yahooapis.com) """ - oauth: OAuthConnectionSettings + oauth: ConnectorYahooDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -6305,8 +10949,40 @@ class ConnectorYahooDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorYandexDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorYandexDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorYandexDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorYandexDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorYandexDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -6348,8 +11024,40 @@ class ConnectorYandexDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorZapierDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorZapierDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorZapierDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorZapierDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorZapierDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -6391,8 +11099,40 @@ class ConnectorZapierDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorZendeskDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorZendeskDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorZendeskDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorZendeskDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorZendeskDiscriminatedConnectionSettingsSettingsOAuth subdomain: str """The subdomain of your Zendesk account (e.g., https://domain.zendesk.com)""" @@ -6437,8 +11177,40 @@ class ConnectorZendeskDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorZenefitsDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorZenefitsDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorZenefitsDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorZenefitsDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorZenefitsDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -6480,11 +11252,43 @@ class ConnectorZenefitsDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorZohoDeskDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorZohoDeskDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorZohoDeskDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorZohoDeskDiscriminatedConnectionSettingsSettings(BaseModel): extension: str """The domain extension of your Zoho account (e.g., https://accounts.zoho.com/)""" - oauth: OAuthConnectionSettings + oauth: ConnectorZohoDeskDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -6526,11 +11330,43 @@ class ConnectorZohoDeskDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorZohoDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorZohoDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorZohoDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorZohoDiscriminatedConnectionSettingsSettings(BaseModel): extension: str """The domain extension of your Zoho account (e.g., https://accounts.zoho.com/)""" - oauth: OAuthConnectionSettings + oauth: ConnectorZohoDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -6572,8 +11408,40 @@ class ConnectorZohoDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorZoomDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorZoomDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorZoomDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorZoomDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorZoomDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -7412,6 +12280,47 @@ class ConnectorSaltedgeDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorSharepointOnpremDiscriminatedConnectionSettingsSettings(BaseModel): + password: str + + site_url: str + + username: str + + +class ConnectorSharepointOnpremDiscriminatedConnectionSettings(BaseModel): + connector_name: Literal["sharepoint-onprem"] + + id: Optional[str] = None + + connector_config_id: Optional[str] = None + + created_at: Optional[str] = None + + customer_id: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integration_id: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + settings: Optional[ConnectorSharepointOnpremDiscriminatedConnectionSettingsSettings] = None + + status: Optional[Literal["healthy", "disconnected", "error", "manual", "unknown"]] = None + + status_message: Optional[str] = None + + updated_at: Optional[str] = None + + class ConnectorSplitwiseDiscriminatedConnectionSettingsSettingsCurrentUserNotifications(BaseModel): added_as_friend: bool @@ -7828,6 +12737,7 @@ class ConnectorYodleeDiscriminatedConnectionSettings(BaseModel): CreateConnectionResponse: TypeAlias = Union[ ConnectorAcceloDiscriminatedConnectionSettings, + ConnectorAcmeApikeyDiscriminatedConnectionSettings, ConnectorAcmeOauth2DiscriminatedConnectionSettings, ConnectorAdobeDiscriminatedConnectionSettings, ConnectorAdyenDiscriminatedConnectionSettings, @@ -7988,6 +12898,7 @@ class ConnectorYodleeDiscriminatedConnectionSettings(BaseModel): ConnectorPostgresDiscriminatedConnectionSettings, ConnectorRampDiscriminatedConnectionSettings, ConnectorSaltedgeDiscriminatedConnectionSettings, + ConnectorSharepointOnpremDiscriminatedConnectionSettings, ConnectorSplitwiseDiscriminatedConnectionSettings, ConnectorStripeDiscriminatedConnectionSettings, ConnectorTellerDiscriminatedConnectionSettings, diff --git a/src/openint/types/get_connection_response.py b/src/openint/types/get_connection_response.py index 0e0285e..30fc7e5 100644 --- a/src/openint/types/get_connection_response.py +++ b/src/openint/types/get_connection_response.py @@ -8,294 +8,579 @@ from .._models import BaseModel from .connector import Connector from .integration import Integration -from .oauth_connection_settings import OAuthConnectionSettings __all__ = [ "GetConnectionResponse", "ConnectorAcceloDiscriminatedConnectionSettings", "ConnectorAcceloDiscriminatedConnectionSettingsSettings", + "ConnectorAcceloDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorAcceloDiscriminatedConnectionSettingsSettingsOAuthCredentials", + "ConnectorAcmeApikeyDiscriminatedConnectionSettings", + "ConnectorAcmeApikeyDiscriminatedConnectionSettingsSettings", "ConnectorAcmeOauth2DiscriminatedConnectionSettings", "ConnectorAcmeOauth2DiscriminatedConnectionSettingsSettings", + "ConnectorAcmeOauth2DiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorAcmeOauth2DiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorAdobeDiscriminatedConnectionSettings", "ConnectorAdobeDiscriminatedConnectionSettingsSettings", + "ConnectorAdobeDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorAdobeDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorAdyenDiscriminatedConnectionSettings", "ConnectorAdyenDiscriminatedConnectionSettingsSettings", + "ConnectorAdyenDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorAdyenDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorAircallDiscriminatedConnectionSettings", "ConnectorAircallDiscriminatedConnectionSettingsSettings", + "ConnectorAircallDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorAircallDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorAmazonDiscriminatedConnectionSettings", "ConnectorAmazonDiscriminatedConnectionSettingsSettings", + "ConnectorAmazonDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorAmazonDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorApaleoDiscriminatedConnectionSettings", "ConnectorApaleoDiscriminatedConnectionSettingsSettings", + "ConnectorApaleoDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorApaleoDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorAsanaDiscriminatedConnectionSettings", "ConnectorAsanaDiscriminatedConnectionSettingsSettings", + "ConnectorAsanaDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorAsanaDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorAttioDiscriminatedConnectionSettings", "ConnectorAttioDiscriminatedConnectionSettingsSettings", + "ConnectorAttioDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorAttioDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorAuth0DiscriminatedConnectionSettings", "ConnectorAuth0DiscriminatedConnectionSettingsSettings", + "ConnectorAuth0DiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorAuth0DiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorAutodeskDiscriminatedConnectionSettings", "ConnectorAutodeskDiscriminatedConnectionSettingsSettings", + "ConnectorAutodeskDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorAutodeskDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorAwsDiscriminatedConnectionSettings", "ConnectorAwsDiscriminatedConnectionSettingsSettings", + "ConnectorAwsDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorAwsDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorBamboohrDiscriminatedConnectionSettings", "ConnectorBamboohrDiscriminatedConnectionSettingsSettings", + "ConnectorBamboohrDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorBamboohrDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorBasecampDiscriminatedConnectionSettings", "ConnectorBasecampDiscriminatedConnectionSettingsSettings", + "ConnectorBasecampDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorBasecampDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorBattlenetDiscriminatedConnectionSettings", "ConnectorBattlenetDiscriminatedConnectionSettingsSettings", + "ConnectorBattlenetDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorBattlenetDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorBigcommerceDiscriminatedConnectionSettings", "ConnectorBigcommerceDiscriminatedConnectionSettingsSettings", + "ConnectorBigcommerceDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorBigcommerceDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorBitbucketDiscriminatedConnectionSettings", "ConnectorBitbucketDiscriminatedConnectionSettingsSettings", + "ConnectorBitbucketDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorBitbucketDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorBitlyDiscriminatedConnectionSettings", "ConnectorBitlyDiscriminatedConnectionSettingsSettings", + "ConnectorBitlyDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorBitlyDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorBlackbaudDiscriminatedConnectionSettings", "ConnectorBlackbaudDiscriminatedConnectionSettingsSettings", + "ConnectorBlackbaudDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorBlackbaudDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorBoldsignDiscriminatedConnectionSettings", "ConnectorBoldsignDiscriminatedConnectionSettingsSettings", + "ConnectorBoldsignDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorBoldsignDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorBoxDiscriminatedConnectionSettings", "ConnectorBoxDiscriminatedConnectionSettingsSettings", + "ConnectorBoxDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorBoxDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorBraintreeDiscriminatedConnectionSettings", "ConnectorBraintreeDiscriminatedConnectionSettingsSettings", + "ConnectorBraintreeDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorBraintreeDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorCalendlyDiscriminatedConnectionSettings", "ConnectorCalendlyDiscriminatedConnectionSettingsSettings", + "ConnectorCalendlyDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorCalendlyDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorClickupDiscriminatedConnectionSettings", "ConnectorClickupDiscriminatedConnectionSettingsSettings", + "ConnectorClickupDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorClickupDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorCloseDiscriminatedConnectionSettings", "ConnectorCloseDiscriminatedConnectionSettingsSettings", + "ConnectorCloseDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorCloseDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorConfluenceDiscriminatedConnectionSettings", "ConnectorConfluenceDiscriminatedConnectionSettingsSettings", + "ConnectorConfluenceDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorConfluenceDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorContentfulDiscriminatedConnectionSettings", "ConnectorContentfulDiscriminatedConnectionSettingsSettings", + "ConnectorContentfulDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorContentfulDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorContentstackDiscriminatedConnectionSettings", "ConnectorContentstackDiscriminatedConnectionSettingsSettings", + "ConnectorContentstackDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorContentstackDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorCopperDiscriminatedConnectionSettings", "ConnectorCopperDiscriminatedConnectionSettingsSettings", + "ConnectorCopperDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorCopperDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorCorosDiscriminatedConnectionSettings", "ConnectorCorosDiscriminatedConnectionSettingsSettings", + "ConnectorCorosDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorCorosDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorDatevDiscriminatedConnectionSettings", "ConnectorDatevDiscriminatedConnectionSettingsSettings", + "ConnectorDatevDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorDatevDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorDeelDiscriminatedConnectionSettings", "ConnectorDeelDiscriminatedConnectionSettingsSettings", + "ConnectorDeelDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorDeelDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorDialpadDiscriminatedConnectionSettings", "ConnectorDialpadDiscriminatedConnectionSettingsSettings", + "ConnectorDialpadDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorDialpadDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorDigitaloceanDiscriminatedConnectionSettings", "ConnectorDigitaloceanDiscriminatedConnectionSettingsSettings", + "ConnectorDigitaloceanDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorDigitaloceanDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorDiscordDiscriminatedConnectionSettings", "ConnectorDiscordDiscriminatedConnectionSettingsSettings", + "ConnectorDiscordDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorDiscordDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorDocusignDiscriminatedConnectionSettings", "ConnectorDocusignDiscriminatedConnectionSettingsSettings", + "ConnectorDocusignDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorDocusignDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorDropboxDiscriminatedConnectionSettings", "ConnectorDropboxDiscriminatedConnectionSettingsSettings", + "ConnectorDropboxDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorDropboxDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorEbayDiscriminatedConnectionSettings", "ConnectorEbayDiscriminatedConnectionSettingsSettings", + "ConnectorEbayDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorEbayDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorEgnyteDiscriminatedConnectionSettings", "ConnectorEgnyteDiscriminatedConnectionSettingsSettings", + "ConnectorEgnyteDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorEgnyteDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorEnvoyDiscriminatedConnectionSettings", "ConnectorEnvoyDiscriminatedConnectionSettingsSettings", + "ConnectorEnvoyDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorEnvoyDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorEventbriteDiscriminatedConnectionSettings", "ConnectorEventbriteDiscriminatedConnectionSettingsSettings", + "ConnectorEventbriteDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorEventbriteDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorExistDiscriminatedConnectionSettings", "ConnectorExistDiscriminatedConnectionSettingsSettings", + "ConnectorExistDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorExistDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorFacebookDiscriminatedConnectionSettings", "ConnectorFacebookDiscriminatedConnectionSettingsSettings", + "ConnectorFacebookDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorFacebookDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorFactorialDiscriminatedConnectionSettings", "ConnectorFactorialDiscriminatedConnectionSettingsSettings", + "ConnectorFactorialDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorFactorialDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorFigmaDiscriminatedConnectionSettings", "ConnectorFigmaDiscriminatedConnectionSettingsSettings", + "ConnectorFigmaDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorFigmaDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorFitbitDiscriminatedConnectionSettings", "ConnectorFitbitDiscriminatedConnectionSettingsSettings", + "ConnectorFitbitDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorFitbitDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorFortnoxDiscriminatedConnectionSettings", "ConnectorFortnoxDiscriminatedConnectionSettingsSettings", + "ConnectorFortnoxDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorFortnoxDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorFreshbooksDiscriminatedConnectionSettings", "ConnectorFreshbooksDiscriminatedConnectionSettingsSettings", + "ConnectorFreshbooksDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorFreshbooksDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorFrontDiscriminatedConnectionSettings", "ConnectorFrontDiscriminatedConnectionSettingsSettings", + "ConnectorFrontDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorFrontDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorGitHubDiscriminatedConnectionSettings", "ConnectorGitHubDiscriminatedConnectionSettingsSettings", + "ConnectorGitHubDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorGitHubDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorGitlabDiscriminatedConnectionSettings", "ConnectorGitlabDiscriminatedConnectionSettingsSettings", + "ConnectorGitlabDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorGitlabDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorGongDiscriminatedConnectionSettings", "ConnectorGongDiscriminatedConnectionSettingsSettings", + "ConnectorGongDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorGongDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorGoogleCalendarDiscriminatedConnectionSettings", "ConnectorGoogleCalendarDiscriminatedConnectionSettingsSettings", + "ConnectorGoogleCalendarDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorGoogleCalendarDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorGoogleDocsDiscriminatedConnectionSettings", "ConnectorGoogleDocsDiscriminatedConnectionSettingsSettings", + "ConnectorGoogleDocsDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorGoogleDocsDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorGoogleDriveDiscriminatedConnectionSettings", "ConnectorGoogleDriveDiscriminatedConnectionSettingsSettings", + "ConnectorGoogleDriveDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorGoogleDriveDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorGoogleMailDiscriminatedConnectionSettings", "ConnectorGoogleMailDiscriminatedConnectionSettingsSettings", + "ConnectorGoogleMailDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorGoogleMailDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorGoogleSheetDiscriminatedConnectionSettings", "ConnectorGoogleSheetDiscriminatedConnectionSettingsSettings", + "ConnectorGoogleSheetDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorGoogleSheetDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorGorgiasDiscriminatedConnectionSettings", "ConnectorGorgiasDiscriminatedConnectionSettingsSettings", + "ConnectorGorgiasDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorGorgiasDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorGrainDiscriminatedConnectionSettings", "ConnectorGrainDiscriminatedConnectionSettingsSettings", + "ConnectorGrainDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorGrainDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorGumroadDiscriminatedConnectionSettings", "ConnectorGumroadDiscriminatedConnectionSettingsSettings", + "ConnectorGumroadDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorGumroadDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorGustoDiscriminatedConnectionSettings", "ConnectorGustoDiscriminatedConnectionSettingsSettings", + "ConnectorGustoDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorGustoDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorHarvestDiscriminatedConnectionSettings", "ConnectorHarvestDiscriminatedConnectionSettingsSettings", + "ConnectorHarvestDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorHarvestDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorHighlevelDiscriminatedConnectionSettings", "ConnectorHighlevelDiscriminatedConnectionSettingsSettings", + "ConnectorHighlevelDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorHighlevelDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorHubspotDiscriminatedConnectionSettings", "ConnectorHubspotDiscriminatedConnectionSettingsSettings", + "ConnectorHubspotDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorHubspotDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorInstagramDiscriminatedConnectionSettings", "ConnectorInstagramDiscriminatedConnectionSettingsSettings", + "ConnectorInstagramDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorInstagramDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorIntercomDiscriminatedConnectionSettings", "ConnectorIntercomDiscriminatedConnectionSettingsSettings", + "ConnectorIntercomDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorIntercomDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorJiraDiscriminatedConnectionSettings", "ConnectorJiraDiscriminatedConnectionSettingsSettings", + "ConnectorJiraDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorJiraDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorKeapDiscriminatedConnectionSettings", "ConnectorKeapDiscriminatedConnectionSettingsSettings", + "ConnectorKeapDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorKeapDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorLeverDiscriminatedConnectionSettings", "ConnectorLeverDiscriminatedConnectionSettingsSettings", + "ConnectorLeverDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorLeverDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorLinearDiscriminatedConnectionSettings", "ConnectorLinearDiscriminatedConnectionSettingsSettings", + "ConnectorLinearDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorLinearDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorLinkedinDiscriminatedConnectionSettings", "ConnectorLinkedinDiscriminatedConnectionSettingsSettings", + "ConnectorLinkedinDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorLinkedinDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorLinkhutDiscriminatedConnectionSettings", "ConnectorLinkhutDiscriminatedConnectionSettingsSettings", + "ConnectorLinkhutDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorLinkhutDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorMailchimpDiscriminatedConnectionSettings", "ConnectorMailchimpDiscriminatedConnectionSettingsSettings", + "ConnectorMailchimpDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorMailchimpDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorMiroDiscriminatedConnectionSettings", "ConnectorMiroDiscriminatedConnectionSettingsSettings", + "ConnectorMiroDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorMiroDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorMondayDiscriminatedConnectionSettings", "ConnectorMondayDiscriminatedConnectionSettingsSettings", + "ConnectorMondayDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorMondayDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorMuralDiscriminatedConnectionSettings", "ConnectorMuralDiscriminatedConnectionSettingsSettings", + "ConnectorMuralDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorMuralDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorNamelyDiscriminatedConnectionSettings", "ConnectorNamelyDiscriminatedConnectionSettingsSettings", + "ConnectorNamelyDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorNamelyDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorNationbuilderDiscriminatedConnectionSettings", "ConnectorNationbuilderDiscriminatedConnectionSettingsSettings", + "ConnectorNationbuilderDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorNationbuilderDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorNetsuiteDiscriminatedConnectionSettings", "ConnectorNetsuiteDiscriminatedConnectionSettingsSettings", + "ConnectorNetsuiteDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorNetsuiteDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorNotionDiscriminatedConnectionSettings", "ConnectorNotionDiscriminatedConnectionSettingsSettings", + "ConnectorNotionDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorNotionDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorOdooDiscriminatedConnectionSettings", "ConnectorOdooDiscriminatedConnectionSettingsSettings", + "ConnectorOdooDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorOdooDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorOktaDiscriminatedConnectionSettings", "ConnectorOktaDiscriminatedConnectionSettingsSettings", + "ConnectorOktaDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorOktaDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorOsuDiscriminatedConnectionSettings", "ConnectorOsuDiscriminatedConnectionSettingsSettings", + "ConnectorOsuDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorOsuDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorOuraDiscriminatedConnectionSettings", "ConnectorOuraDiscriminatedConnectionSettingsSettings", + "ConnectorOuraDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorOuraDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorOutreachDiscriminatedConnectionSettings", "ConnectorOutreachDiscriminatedConnectionSettingsSettings", + "ConnectorOutreachDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorOutreachDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorPagerdutyDiscriminatedConnectionSettings", "ConnectorPagerdutyDiscriminatedConnectionSettingsSettings", + "ConnectorPagerdutyDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorPagerdutyDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorPandadocDiscriminatedConnectionSettings", "ConnectorPandadocDiscriminatedConnectionSettingsSettings", + "ConnectorPandadocDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorPandadocDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorPayfitDiscriminatedConnectionSettings", "ConnectorPayfitDiscriminatedConnectionSettingsSettings", + "ConnectorPayfitDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorPayfitDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorPaypalDiscriminatedConnectionSettings", "ConnectorPaypalDiscriminatedConnectionSettingsSettings", + "ConnectorPaypalDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorPaypalDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorPennylaneDiscriminatedConnectionSettings", "ConnectorPennylaneDiscriminatedConnectionSettingsSettings", + "ConnectorPennylaneDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorPennylaneDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorPinterestDiscriminatedConnectionSettings", "ConnectorPinterestDiscriminatedConnectionSettingsSettings", + "ConnectorPinterestDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorPinterestDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorPipedriveDiscriminatedConnectionSettings", "ConnectorPipedriveDiscriminatedConnectionSettingsSettings", + "ConnectorPipedriveDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorPipedriveDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorPodiumDiscriminatedConnectionSettings", "ConnectorPodiumDiscriminatedConnectionSettingsSettings", + "ConnectorPodiumDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorPodiumDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorProductboardDiscriminatedConnectionSettings", "ConnectorProductboardDiscriminatedConnectionSettingsSettings", + "ConnectorProductboardDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorProductboardDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorQualtricsDiscriminatedConnectionSettings", "ConnectorQualtricsDiscriminatedConnectionSettingsSettings", + "ConnectorQualtricsDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorQualtricsDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorQuickbooksDiscriminatedConnectionSettings", "ConnectorQuickbooksDiscriminatedConnectionSettingsSettings", + "ConnectorQuickbooksDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorQuickbooksDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorRedditDiscriminatedConnectionSettings", "ConnectorRedditDiscriminatedConnectionSettingsSettings", + "ConnectorRedditDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorRedditDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorSageDiscriminatedConnectionSettings", "ConnectorSageDiscriminatedConnectionSettingsSettings", + "ConnectorSageDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorSageDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorSalesforceDiscriminatedConnectionSettings", "ConnectorSalesforceDiscriminatedConnectionSettingsSettings", + "ConnectorSalesforceDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorSalesforceDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorSalesloftDiscriminatedConnectionSettings", "ConnectorSalesloftDiscriminatedConnectionSettingsSettings", + "ConnectorSalesloftDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorSalesloftDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorSegmentDiscriminatedConnectionSettings", "ConnectorSegmentDiscriminatedConnectionSettingsSettings", + "ConnectorSegmentDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorSegmentDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorServicem8DiscriminatedConnectionSettings", "ConnectorServicem8DiscriminatedConnectionSettingsSettings", + "ConnectorServicem8DiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorServicem8DiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorServicenowDiscriminatedConnectionSettings", "ConnectorServicenowDiscriminatedConnectionSettingsSettings", + "ConnectorServicenowDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorServicenowDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorSharepointDiscriminatedConnectionSettings", "ConnectorSharepointDiscriminatedConnectionSettingsSettings", + "ConnectorSharepointDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorSharepointDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorShopifyDiscriminatedConnectionSettings", "ConnectorShopifyDiscriminatedConnectionSettingsSettings", + "ConnectorShopifyDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorShopifyDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorSignnowDiscriminatedConnectionSettings", "ConnectorSignnowDiscriminatedConnectionSettingsSettings", + "ConnectorSignnowDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorSignnowDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorSlackDiscriminatedConnectionSettings", "ConnectorSlackDiscriminatedConnectionSettingsSettings", + "ConnectorSlackDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorSlackDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorSmartsheetDiscriminatedConnectionSettings", "ConnectorSmartsheetDiscriminatedConnectionSettingsSettings", + "ConnectorSmartsheetDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorSmartsheetDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorSnowflakeDiscriminatedConnectionSettings", "ConnectorSnowflakeDiscriminatedConnectionSettingsSettings", + "ConnectorSnowflakeDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorSnowflakeDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorSpotifyDiscriminatedConnectionSettings", "ConnectorSpotifyDiscriminatedConnectionSettingsSettings", + "ConnectorSpotifyDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorSpotifyDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorSquarespaceDiscriminatedConnectionSettings", "ConnectorSquarespaceDiscriminatedConnectionSettingsSettings", + "ConnectorSquarespaceDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorSquarespaceDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorSquareupDiscriminatedConnectionSettings", "ConnectorSquareupDiscriminatedConnectionSettingsSettings", + "ConnectorSquareupDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorSquareupDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorStackexchangeDiscriminatedConnectionSettings", "ConnectorStackexchangeDiscriminatedConnectionSettingsSettings", + "ConnectorStackexchangeDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorStackexchangeDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorStravaDiscriminatedConnectionSettings", "ConnectorStravaDiscriminatedConnectionSettingsSettings", + "ConnectorStravaDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorStravaDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorTeamworkDiscriminatedConnectionSettings", "ConnectorTeamworkDiscriminatedConnectionSettingsSettings", + "ConnectorTeamworkDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorTeamworkDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorTicktickDiscriminatedConnectionSettings", "ConnectorTicktickDiscriminatedConnectionSettingsSettings", + "ConnectorTicktickDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorTicktickDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorTimelyDiscriminatedConnectionSettings", "ConnectorTimelyDiscriminatedConnectionSettingsSettings", + "ConnectorTimelyDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorTimelyDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorTodoistDiscriminatedConnectionSettings", "ConnectorTodoistDiscriminatedConnectionSettingsSettings", + "ConnectorTodoistDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorTodoistDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorTremendousDiscriminatedConnectionSettings", "ConnectorTremendousDiscriminatedConnectionSettingsSettings", + "ConnectorTremendousDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorTremendousDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorTsheetsteamDiscriminatedConnectionSettings", "ConnectorTsheetsteamDiscriminatedConnectionSettingsSettings", + "ConnectorTsheetsteamDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorTsheetsteamDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorTumblrDiscriminatedConnectionSettings", "ConnectorTumblrDiscriminatedConnectionSettingsSettings", + "ConnectorTumblrDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorTumblrDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorTwinfieldDiscriminatedConnectionSettings", "ConnectorTwinfieldDiscriminatedConnectionSettingsSettings", + "ConnectorTwinfieldDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorTwinfieldDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorTwitchDiscriminatedConnectionSettings", "ConnectorTwitchDiscriminatedConnectionSettingsSettings", + "ConnectorTwitchDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorTwitchDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorTwitterDiscriminatedConnectionSettings", "ConnectorTwitterDiscriminatedConnectionSettingsSettings", + "ConnectorTwitterDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorTwitterDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorTypeformDiscriminatedConnectionSettings", "ConnectorTypeformDiscriminatedConnectionSettingsSettings", + "ConnectorTypeformDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorTypeformDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorUberDiscriminatedConnectionSettings", "ConnectorUberDiscriminatedConnectionSettingsSettings", + "ConnectorUberDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorUberDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorVimeoDiscriminatedConnectionSettings", "ConnectorVimeoDiscriminatedConnectionSettingsSettings", + "ConnectorVimeoDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorVimeoDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorWakatimeDiscriminatedConnectionSettings", "ConnectorWakatimeDiscriminatedConnectionSettingsSettings", + "ConnectorWakatimeDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorWakatimeDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorWealthboxDiscriminatedConnectionSettings", "ConnectorWealthboxDiscriminatedConnectionSettingsSettings", + "ConnectorWealthboxDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorWealthboxDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorWebflowDiscriminatedConnectionSettings", "ConnectorWebflowDiscriminatedConnectionSettingsSettings", + "ConnectorWebflowDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorWebflowDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorWhoopDiscriminatedConnectionSettings", "ConnectorWhoopDiscriminatedConnectionSettingsSettings", + "ConnectorWhoopDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorWhoopDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorWordpressDiscriminatedConnectionSettings", "ConnectorWordpressDiscriminatedConnectionSettingsSettings", + "ConnectorWordpressDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorWordpressDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorWrikeDiscriminatedConnectionSettings", "ConnectorWrikeDiscriminatedConnectionSettingsSettings", + "ConnectorWrikeDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorWrikeDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorXeroDiscriminatedConnectionSettings", "ConnectorXeroDiscriminatedConnectionSettingsSettings", + "ConnectorXeroDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorXeroDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorYahooDiscriminatedConnectionSettings", "ConnectorYahooDiscriminatedConnectionSettingsSettings", + "ConnectorYahooDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorYahooDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorYandexDiscriminatedConnectionSettings", "ConnectorYandexDiscriminatedConnectionSettingsSettings", + "ConnectorYandexDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorYandexDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorZapierDiscriminatedConnectionSettings", "ConnectorZapierDiscriminatedConnectionSettingsSettings", + "ConnectorZapierDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorZapierDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorZendeskDiscriminatedConnectionSettings", "ConnectorZendeskDiscriminatedConnectionSettingsSettings", + "ConnectorZendeskDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorZendeskDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorZenefitsDiscriminatedConnectionSettings", "ConnectorZenefitsDiscriminatedConnectionSettingsSettings", + "ConnectorZenefitsDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorZenefitsDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorZohoDeskDiscriminatedConnectionSettings", "ConnectorZohoDeskDiscriminatedConnectionSettingsSettings", + "ConnectorZohoDeskDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorZohoDeskDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorZohoDiscriminatedConnectionSettings", "ConnectorZohoDiscriminatedConnectionSettingsSettings", + "ConnectorZohoDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorZohoDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorZoomDiscriminatedConnectionSettings", "ConnectorZoomDiscriminatedConnectionSettingsSettings", + "ConnectorZoomDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorZoomDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorAirtableDiscriminatedConnectionSettings", "ConnectorAirtableDiscriminatedConnectionSettingsSettings", "ConnectorApolloDiscriminatedConnectionSettings", @@ -338,6 +623,8 @@ "ConnectorRampDiscriminatedConnectionSettings", "ConnectorRampDiscriminatedConnectionSettingsSettings", "ConnectorSaltedgeDiscriminatedConnectionSettings", + "ConnectorSharepointOnpremDiscriminatedConnectionSettings", + "ConnectorSharepointOnpremDiscriminatedConnectionSettingsSettings", "ConnectorSplitwiseDiscriminatedConnectionSettings", "ConnectorSplitwiseDiscriminatedConnectionSettingsSettings", "ConnectorSplitwiseDiscriminatedConnectionSettingsSettingsCurrentUser", @@ -362,8 +649,40 @@ ] +class ConnectorAcceloDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorAcceloDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorAcceloDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorAcceloDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorAcceloDiscriminatedConnectionSettingsSettingsOAuth subdomain: str """The subdomain of your Accelo account (e.g., https://domain.api.accelo.com)""" @@ -412,8 +731,81 @@ class ConnectorAcceloDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorAcmeApikeyDiscriminatedConnectionSettingsSettings(BaseModel): + api_key: str + + +class ConnectorAcmeApikeyDiscriminatedConnectionSettings(BaseModel): + connector_name: Literal["acme-apikey"] + + id: Optional[str] = None + + connector: Optional[Connector] = None + + connector_config_id: Optional[str] = None + + created_at: Optional[str] = None + + customer_id: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integration: Optional[Integration] = None + + integration_id: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + settings: Optional[ConnectorAcmeApikeyDiscriminatedConnectionSettingsSettings] = None + + status: Optional[Literal["healthy", "disconnected", "error", "manual", "unknown"]] = None + + status_message: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorAcmeOauth2DiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorAcmeOauth2DiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorAcmeOauth2DiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorAcmeOauth2DiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorAcmeOauth2DiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -459,8 +851,40 @@ class ConnectorAcmeOauth2DiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorAdobeDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorAdobeDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorAdobeDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorAdobeDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorAdobeDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -506,11 +930,43 @@ class ConnectorAdobeDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorAdyenDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorAdyenDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorAdyenDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorAdyenDiscriminatedConnectionSettingsSettings(BaseModel): environment: str """The environment to use (e.g., live|test)""" - oauth: OAuthConnectionSettings + oauth: ConnectorAdyenDiscriminatedConnectionSettingsSettingsOAuth resource: str """ @@ -562,8 +1018,40 @@ class ConnectorAdyenDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorAircallDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorAircallDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorAircallDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorAircallDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorAircallDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -609,11 +1097,43 @@ class ConnectorAircallDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorAmazonDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorAmazonDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorAmazonDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorAmazonDiscriminatedConnectionSettingsSettings(BaseModel): extension: str """The domain extension for your Amazon account (e.g., com)""" - oauth: OAuthConnectionSettings + oauth: ConnectorAmazonDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -659,8 +1179,40 @@ class ConnectorAmazonDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorApaleoDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorApaleoDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorApaleoDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorApaleoDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorApaleoDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -706,8 +1258,40 @@ class ConnectorApaleoDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorAsanaDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorAsanaDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorAsanaDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorAsanaDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorAsanaDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -753,8 +1337,40 @@ class ConnectorAsanaDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorAttioDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorAttioDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorAttioDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorAttioDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorAttioDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -800,8 +1416,40 @@ class ConnectorAttioDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorAuth0DiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorAuth0DiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorAuth0DiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorAuth0DiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorAuth0DiscriminatedConnectionSettingsSettingsOAuth subdomain: str """The subdomain of your Auth0 account (e.g., https://domain.auth0.com)""" @@ -850,8 +1498,40 @@ class ConnectorAuth0DiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorAutodeskDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorAutodeskDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorAutodeskDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorAutodeskDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorAutodeskDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -897,6 +1577,38 @@ class ConnectorAutodeskDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorAwsDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorAwsDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorAwsDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorAwsDiscriminatedConnectionSettingsSettings(BaseModel): api_subdomain: str = FieldInfo(alias="apiSubdomain") """ @@ -907,7 +1619,7 @@ class ConnectorAwsDiscriminatedConnectionSettingsSettings(BaseModel): extension: str """The domain extension of your AWS account (e.g., com)""" - oauth: OAuthConnectionSettings + oauth: ConnectorAwsDiscriminatedConnectionSettingsSettingsOAuth subdomain: str """The subdomain of your AWS account (e.g., https://domain.amazoncognito.com)""" @@ -956,8 +1668,40 @@ class ConnectorAwsDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorBamboohrDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorBamboohrDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorBamboohrDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorBamboohrDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorBamboohrDiscriminatedConnectionSettingsSettingsOAuth subdomain: str """The subdomain of your BambooHR account (e.g., https://domain.bamboohr.com)""" @@ -997,11 +1741,43 @@ class ConnectorBamboohrDiscriminatedConnectionSettings(BaseModel): updates this object will be shallowly merged """ - settings: Optional[ConnectorBamboohrDiscriminatedConnectionSettingsSettings] = None + settings: Optional[ConnectorBamboohrDiscriminatedConnectionSettingsSettings] = None + + status: Optional[Literal["healthy", "disconnected", "error", "manual", "unknown"]] = None + + status_message: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorBasecampDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None - status: Optional[Literal["healthy", "disconnected", "error", "manual", "unknown"]] = None + token_type: Optional[str] = None - status_message: Optional[str] = None + +class ConnectorBasecampDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorBasecampDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None updated_at: Optional[str] = None @@ -1013,7 +1789,7 @@ class ConnectorBasecampDiscriminatedConnectionSettingsSettings(BaseModel): app_details: str = FieldInfo(alias="appDetails") """The details of your app (e.g., example-subdomain)""" - oauth: OAuthConnectionSettings + oauth: ConnectorBasecampDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -1059,6 +1835,38 @@ class ConnectorBasecampDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorBattlenetDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorBattlenetDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorBattlenetDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorBattlenetDiscriminatedConnectionSettingsSettings(BaseModel): api_domain: str = FieldInfo(alias="apiDomain") """ @@ -1068,7 +1876,7 @@ class ConnectorBattlenetDiscriminatedConnectionSettingsSettings(BaseModel): extension: str """The domain extension of your Battle.net account (e.g., com)""" - oauth: OAuthConnectionSettings + oauth: ConnectorBattlenetDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -1114,6 +1922,38 @@ class ConnectorBattlenetDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorBigcommerceDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorBigcommerceDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorBigcommerceDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorBigcommerceDiscriminatedConnectionSettingsSettings(BaseModel): account_uuid: str = FieldInfo(alias="accountUuid") """ @@ -1121,7 +1961,7 @@ class ConnectorBigcommerceDiscriminatedConnectionSettingsSettings(BaseModel): 123e4567-e89b-12d3-a456-426614174000) """ - oauth: OAuthConnectionSettings + oauth: ConnectorBigcommerceDiscriminatedConnectionSettingsSettingsOAuth store_hash: str = FieldInfo(alias="storeHash") """The store hash of your BigCommerce account (e.g., Example123)""" @@ -1170,8 +2010,40 @@ class ConnectorBigcommerceDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorBitbucketDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorBitbucketDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorBitbucketDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorBitbucketDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorBitbucketDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -1217,8 +2089,40 @@ class ConnectorBitbucketDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorBitlyDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorBitlyDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorBitlyDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorBitlyDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorBitlyDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -1264,8 +2168,40 @@ class ConnectorBitlyDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorBlackbaudDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorBlackbaudDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorBlackbaudDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorBlackbaudDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorBlackbaudDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -1311,8 +2247,40 @@ class ConnectorBlackbaudDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorBoldsignDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorBoldsignDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorBoldsignDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorBoldsignDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorBoldsignDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -1358,8 +2326,40 @@ class ConnectorBoldsignDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorBoxDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorBoxDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorBoxDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorBoxDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorBoxDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -1405,8 +2405,40 @@ class ConnectorBoxDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorBraintreeDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorBraintreeDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorBraintreeDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorBraintreeDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorBraintreeDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -1452,8 +2484,40 @@ class ConnectorBraintreeDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorCalendlyDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorCalendlyDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorCalendlyDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorCalendlyDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorCalendlyDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -1499,8 +2563,40 @@ class ConnectorCalendlyDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorClickupDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorClickupDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorClickupDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorClickupDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorClickupDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -1546,8 +2642,40 @@ class ConnectorClickupDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorCloseDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorCloseDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorCloseDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorCloseDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorCloseDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -1593,8 +2721,40 @@ class ConnectorCloseDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorConfluenceDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorConfluenceDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorConfluenceDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorConfluenceDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorConfluenceDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -1640,8 +2800,40 @@ class ConnectorConfluenceDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorContentfulDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorContentfulDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorContentfulDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorContentfulDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorContentfulDiscriminatedConnectionSettingsSettingsOAuth subdomain: str """The subdomain of your Contentful account (e.g., https://domain.contentful.com)""" @@ -1690,6 +2882,38 @@ class ConnectorContentfulDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorContentstackDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorContentstackDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorContentstackDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorContentstackDiscriminatedConnectionSettingsSettings(BaseModel): api_domain: str = FieldInfo(alias="apiDomain") """ @@ -1700,7 +2924,7 @@ class ConnectorContentstackDiscriminatedConnectionSettingsSettings(BaseModel): app_id: str = FieldInfo(alias="appId") """The app ID of your Contentstack account (e.g., example-subdomain)""" - oauth: OAuthConnectionSettings + oauth: ConnectorContentstackDiscriminatedConnectionSettingsSettingsOAuth subdomain: str """ @@ -1752,8 +2976,40 @@ class ConnectorContentstackDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorCopperDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorCopperDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorCopperDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorCopperDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorCopperDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -1799,8 +3055,40 @@ class ConnectorCopperDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorCorosDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorCorosDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorCorosDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorCorosDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorCorosDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -1846,8 +3134,40 @@ class ConnectorCorosDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorDatevDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorDatevDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorDatevDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorDatevDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorDatevDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -1893,8 +3213,40 @@ class ConnectorDatevDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorDeelDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorDeelDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorDeelDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorDeelDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorDeelDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -1940,8 +3292,40 @@ class ConnectorDeelDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorDialpadDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorDialpadDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorDialpadDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorDialpadDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorDialpadDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -1987,8 +3371,40 @@ class ConnectorDialpadDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorDigitaloceanDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorDigitaloceanDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorDigitaloceanDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorDigitaloceanDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorDigitaloceanDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -2034,8 +3450,40 @@ class ConnectorDigitaloceanDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorDiscordDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorDiscordDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorDiscordDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorDiscordDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorDiscordDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -2081,8 +3529,40 @@ class ConnectorDiscordDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorDocusignDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorDocusignDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorDocusignDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorDocusignDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorDocusignDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -2128,8 +3608,40 @@ class ConnectorDocusignDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorDropboxDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorDropboxDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorDropboxDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorDropboxDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorDropboxDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -2175,8 +3687,40 @@ class ConnectorDropboxDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorEbayDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorEbayDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorEbayDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorEbayDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorEbayDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -2222,8 +3766,40 @@ class ConnectorEbayDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorEgnyteDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorEgnyteDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorEgnyteDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorEgnyteDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorEgnyteDiscriminatedConnectionSettingsSettingsOAuth subdomain: str """The subdomain of your Egnyte account (e.g., https://domain.egnyte.com)""" @@ -2252,28 +3828,60 @@ class ConnectorEgnyteDiscriminatedConnectionSettings(BaseModel): display_name: Optional[str] = None - integration: Optional[Integration] = None + integration: Optional[Integration] = None + + integration_id: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + settings: Optional[ConnectorEgnyteDiscriminatedConnectionSettingsSettings] = None + + status: Optional[Literal["healthy", "disconnected", "error", "manual", "unknown"]] = None + + status_message: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorEnvoyDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None - integration_id: Optional[str] = None - metadata: Optional[Dict[str, object]] = None - """ - JSON object can can be used to associate arbitrary metadata to avoid needing a - separate 1-1 table just for simple key values in your application. During - updates this object will be shallowly merged - """ +class ConnectorEnvoyDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None - settings: Optional[ConnectorEgnyteDiscriminatedConnectionSettingsSettings] = None + credentials: Optional[ConnectorEnvoyDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" - status: Optional[Literal["healthy", "disconnected", "error", "manual", "unknown"]] = None + last_fetched_at: Optional[str] = None - status_message: Optional[str] = None + metadata: Optional[Dict[str, object]] = None updated_at: Optional[str] = None class ConnectorEnvoyDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorEnvoyDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -2319,8 +3927,40 @@ class ConnectorEnvoyDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorEventbriteDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorEventbriteDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorEventbriteDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorEventbriteDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorEventbriteDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -2366,8 +4006,40 @@ class ConnectorEventbriteDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorExistDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorExistDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorExistDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorExistDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorExistDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -2413,8 +4085,40 @@ class ConnectorExistDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorFacebookDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorFacebookDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorFacebookDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorFacebookDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorFacebookDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -2460,8 +4164,40 @@ class ConnectorFacebookDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorFactorialDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorFactorialDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorFactorialDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorFactorialDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorFactorialDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -2507,8 +4243,40 @@ class ConnectorFactorialDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorFigmaDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorFigmaDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorFigmaDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorFigmaDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorFigmaDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -2554,8 +4322,40 @@ class ConnectorFigmaDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorFitbitDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorFitbitDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorFitbitDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorFitbitDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorFitbitDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -2601,8 +4401,40 @@ class ConnectorFitbitDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorFortnoxDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorFortnoxDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorFortnoxDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorFortnoxDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorFortnoxDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -2648,8 +4480,40 @@ class ConnectorFortnoxDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorFreshbooksDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorFreshbooksDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorFreshbooksDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorFreshbooksDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorFreshbooksDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -2695,8 +4559,40 @@ class ConnectorFreshbooksDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorFrontDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorFrontDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorFrontDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorFrontDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorFrontDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -2742,8 +4638,40 @@ class ConnectorFrontDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorGitHubDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorGitHubDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorGitHubDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorGitHubDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorGitHubDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -2789,8 +4717,40 @@ class ConnectorGitHubDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorGitlabDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorGitlabDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorGitlabDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorGitlabDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorGitlabDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -2836,11 +4796,43 @@ class ConnectorGitlabDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorGongDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorGongDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorGongDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorGongDiscriminatedConnectionSettingsSettings(BaseModel): api_base_url_for_customer: str """The base URL of your Gong account (e.g., example)""" - oauth: OAuthConnectionSettings + oauth: ConnectorGongDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -2877,17 +4869,49 @@ class ConnectorGongDiscriminatedConnectionSettings(BaseModel): updates this object will be shallowly merged """ - settings: Optional[ConnectorGongDiscriminatedConnectionSettingsSettings] = None + settings: Optional[ConnectorGongDiscriminatedConnectionSettingsSettings] = None + + status: Optional[Literal["healthy", "disconnected", "error", "manual", "unknown"]] = None + + status_message: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorGoogleCalendarDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None - status: Optional[Literal["healthy", "disconnected", "error", "manual", "unknown"]] = None + scope: Optional[str] = None - status_message: Optional[str] = None + token_type: Optional[str] = None + + +class ConnectorGoogleCalendarDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorGoogleCalendarDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None updated_at: Optional[str] = None class ConnectorGoogleCalendarDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorGoogleCalendarDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -2933,8 +4957,40 @@ class ConnectorGoogleCalendarDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorGoogleDocsDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorGoogleDocsDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorGoogleDocsDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorGoogleDocsDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorGoogleDocsDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -2980,8 +5036,40 @@ class ConnectorGoogleDocsDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorGoogleDriveDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorGoogleDriveDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorGoogleDriveDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorGoogleDriveDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorGoogleDriveDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -3027,8 +5115,40 @@ class ConnectorGoogleDriveDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorGoogleMailDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorGoogleMailDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorGoogleMailDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorGoogleMailDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorGoogleMailDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -3074,8 +5194,40 @@ class ConnectorGoogleMailDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorGoogleSheetDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorGoogleSheetDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorGoogleSheetDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorGoogleSheetDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorGoogleSheetDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -3121,8 +5273,40 @@ class ConnectorGoogleSheetDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorGorgiasDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorGorgiasDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorGorgiasDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorGorgiasDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorGorgiasDiscriminatedConnectionSettingsSettingsOAuth subdomain: str """The subdomain of your Gorgias account (e.g., https://domain.gorgias.com)""" @@ -3171,8 +5355,40 @@ class ConnectorGorgiasDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorGrainDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorGrainDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorGrainDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorGrainDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorGrainDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -3218,8 +5434,40 @@ class ConnectorGrainDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorGumroadDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorGumroadDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorGumroadDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorGumroadDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorGumroadDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -3265,8 +5513,40 @@ class ConnectorGumroadDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorGustoDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorGustoDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorGustoDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorGustoDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorGustoDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -3312,11 +5592,43 @@ class ConnectorGustoDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorHarvestDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorHarvestDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorHarvestDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorHarvestDiscriminatedConnectionSettingsSettings(BaseModel): app_details: str = FieldInfo(alias="appDetails") """The details of your app (e.g., example-subdomain)""" - oauth: OAuthConnectionSettings + oauth: ConnectorHarvestDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -3362,8 +5674,40 @@ class ConnectorHarvestDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorHighlevelDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorHighlevelDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorHighlevelDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorHighlevelDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorHighlevelDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -3409,8 +5753,40 @@ class ConnectorHighlevelDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorHubspotDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorHubspotDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorHubspotDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorHubspotDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorHubspotDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -3456,8 +5832,40 @@ class ConnectorHubspotDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorInstagramDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorInstagramDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorInstagramDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorInstagramDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorInstagramDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -3503,8 +5911,40 @@ class ConnectorInstagramDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorIntercomDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorIntercomDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorIntercomDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorIntercomDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorIntercomDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -3550,8 +5990,40 @@ class ConnectorIntercomDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorJiraDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorJiraDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorJiraDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorJiraDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorJiraDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -3597,8 +6069,40 @@ class ConnectorJiraDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorKeapDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorKeapDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorKeapDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorKeapDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorKeapDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -3644,8 +6148,40 @@ class ConnectorKeapDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorLeverDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorLeverDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorLeverDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorLeverDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorLeverDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -3691,8 +6227,40 @@ class ConnectorLeverDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorLinearDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorLinearDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorLinearDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorLinearDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorLinearDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -3738,8 +6306,40 @@ class ConnectorLinearDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorLinkedinDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorLinkedinDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorLinkedinDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorLinkedinDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorLinkedinDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -3785,8 +6385,40 @@ class ConnectorLinkedinDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorLinkhutDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorLinkhutDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorLinkhutDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorLinkhutDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorLinkhutDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -3832,11 +6464,43 @@ class ConnectorLinkhutDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorMailchimpDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorMailchimpDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorMailchimpDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorMailchimpDiscriminatedConnectionSettingsSettings(BaseModel): dc: str """The data center for your account (e.g., us6)""" - oauth: OAuthConnectionSettings + oauth: ConnectorMailchimpDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -3882,8 +6546,40 @@ class ConnectorMailchimpDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorMiroDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorMiroDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorMiroDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorMiroDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorMiroDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -3929,8 +6625,40 @@ class ConnectorMiroDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorMondayDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorMondayDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorMondayDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorMondayDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorMondayDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -3976,8 +6704,40 @@ class ConnectorMondayDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorMuralDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorMuralDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorMuralDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorMuralDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorMuralDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -4023,11 +6783,43 @@ class ConnectorMuralDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorNamelyDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorNamelyDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorNamelyDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorNamelyDiscriminatedConnectionSettingsSettings(BaseModel): company: str """The name of your Namely company (e.g., example)""" - oauth: OAuthConnectionSettings + oauth: ConnectorNamelyDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -4073,11 +6865,43 @@ class ConnectorNamelyDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorNationbuilderDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorNationbuilderDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorNationbuilderDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorNationbuilderDiscriminatedConnectionSettingsSettings(BaseModel): account_id: str = FieldInfo(alias="accountId") """The account ID of your NationBuilder account (e.g., example-subdomain)""" - oauth: OAuthConnectionSettings + oauth: ConnectorNationbuilderDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -4105,20 +6929,52 @@ class ConnectorNationbuilderDiscriminatedConnectionSettings(BaseModel): integration: Optional[Integration] = None - integration_id: Optional[str] = None + integration_id: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + settings: Optional[ConnectorNationbuilderDiscriminatedConnectionSettingsSettings] = None + + status: Optional[Literal["healthy", "disconnected", "error", "manual", "unknown"]] = None + + status_message: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorNetsuiteDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + - metadata: Optional[Dict[str, object]] = None - """ - JSON object can can be used to associate arbitrary metadata to avoid needing a - separate 1-1 table just for simple key values in your application. During - updates this object will be shallowly merged - """ +class ConnectorNetsuiteDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None - settings: Optional[ConnectorNationbuilderDiscriminatedConnectionSettingsSettings] = None + credentials: Optional[ConnectorNetsuiteDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" - status: Optional[Literal["healthy", "disconnected", "error", "manual", "unknown"]] = None + last_fetched_at: Optional[str] = None - status_message: Optional[str] = None + metadata: Optional[Dict[str, object]] = None updated_at: Optional[str] = None @@ -4127,7 +6983,7 @@ class ConnectorNetsuiteDiscriminatedConnectionSettingsSettings(BaseModel): account_id: str = FieldInfo(alias="accountId") """The account ID of your NetSuite account (e.g., tstdrv231585)""" - oauth: OAuthConnectionSettings + oauth: ConnectorNetsuiteDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -4173,8 +7029,40 @@ class ConnectorNetsuiteDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorNotionDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorNotionDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorNotionDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorNotionDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorNotionDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -4220,8 +7108,40 @@ class ConnectorNotionDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorOdooDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorOdooDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorOdooDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorOdooDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorOdooDiscriminatedConnectionSettingsSettingsOAuth server_url: str = FieldInfo(alias="serverUrl") """The domain of your Odoo account (e.g., https://example-subdomain)""" @@ -4270,8 +7190,40 @@ class ConnectorOdooDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorOktaDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorOktaDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorOktaDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorOktaDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorOktaDiscriminatedConnectionSettingsSettingsOAuth subdomain: str """The subdomain of your Okta account (e.g., https://domain.okta.com)""" @@ -4320,8 +7272,40 @@ class ConnectorOktaDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorOsuDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorOsuDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorOsuDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorOsuDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorOsuDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -4367,8 +7351,40 @@ class ConnectorOsuDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorOuraDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorOuraDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorOuraDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorOuraDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorOuraDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -4414,8 +7430,40 @@ class ConnectorOuraDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorOutreachDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorOutreachDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorOutreachDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorOutreachDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorOutreachDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -4461,8 +7509,40 @@ class ConnectorOutreachDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorPagerdutyDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorPagerdutyDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorPagerdutyDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorPagerdutyDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorPagerdutyDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -4508,8 +7588,40 @@ class ConnectorPagerdutyDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorPandadocDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorPandadocDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorPandadocDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorPandadocDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorPandadocDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -4555,8 +7667,40 @@ class ConnectorPandadocDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorPayfitDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorPayfitDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorPayfitDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorPayfitDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorPayfitDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -4602,8 +7746,40 @@ class ConnectorPayfitDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorPaypalDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorPaypalDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorPaypalDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorPaypalDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorPaypalDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -4649,8 +7825,40 @@ class ConnectorPaypalDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorPennylaneDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorPennylaneDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorPennylaneDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorPennylaneDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorPennylaneDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -4696,8 +7904,40 @@ class ConnectorPennylaneDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorPinterestDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorPinterestDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorPinterestDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorPinterestDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorPinterestDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -4734,11 +7974,43 @@ class ConnectorPinterestDiscriminatedConnectionSettings(BaseModel): updates this object will be shallowly merged """ - settings: Optional[ConnectorPinterestDiscriminatedConnectionSettingsSettings] = None + settings: Optional[ConnectorPinterestDiscriminatedConnectionSettingsSettings] = None + + status: Optional[Literal["healthy", "disconnected", "error", "manual", "unknown"]] = None + + status_message: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorPipedriveDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None - status: Optional[Literal["healthy", "disconnected", "error", "manual", "unknown"]] = None + token_type: Optional[str] = None - status_message: Optional[str] = None + +class ConnectorPipedriveDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorPipedriveDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None updated_at: Optional[str] = None @@ -4747,7 +8019,7 @@ class ConnectorPipedriveDiscriminatedConnectionSettingsSettings(BaseModel): api_domain: str """The API URL of your Pipedrive account (e.g., example)""" - oauth: OAuthConnectionSettings + oauth: ConnectorPipedriveDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -4793,11 +8065,43 @@ class ConnectorPipedriveDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorPodiumDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorPodiumDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorPodiumDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorPodiumDiscriminatedConnectionSettingsSettings(BaseModel): api_version: str = FieldInfo(alias="apiVersion") """The API version of your Podium account (e.g., example-subdomain)""" - oauth: OAuthConnectionSettings + oauth: ConnectorPodiumDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -4843,8 +8147,40 @@ class ConnectorPodiumDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorProductboardDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorProductboardDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorProductboardDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorProductboardDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorProductboardDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -4890,8 +8226,40 @@ class ConnectorProductboardDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorQualtricsDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorQualtricsDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorQualtricsDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorQualtricsDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorQualtricsDiscriminatedConnectionSettingsSettingsOAuth subdomain: str """The subdomain of your Qualtrics account (e.g., https://domain.qualtrics.com)""" @@ -4940,8 +8308,40 @@ class ConnectorQualtricsDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorQuickbooksDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorQuickbooksDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorQuickbooksDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorQuickbooksDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorQuickbooksDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -4987,8 +8387,40 @@ class ConnectorQuickbooksDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorRedditDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorRedditDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorRedditDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorRedditDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorRedditDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -5034,8 +8466,40 @@ class ConnectorRedditDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorSageDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorSageDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorSageDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorSageDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorSageDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -5081,11 +8545,43 @@ class ConnectorSageDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorSalesforceDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorSalesforceDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorSalesforceDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorSalesforceDiscriminatedConnectionSettingsSettings(BaseModel): instance_url: str """The instance URL of your Salesforce account (e.g., example)""" - oauth: OAuthConnectionSettings + oauth: ConnectorSalesforceDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -5131,8 +8627,40 @@ class ConnectorSalesforceDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorSalesloftDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorSalesloftDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorSalesloftDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorSalesloftDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorSalesloftDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -5178,8 +8706,40 @@ class ConnectorSalesloftDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorSegmentDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorSegmentDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorSegmentDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorSegmentDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorSegmentDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -5225,8 +8785,40 @@ class ConnectorSegmentDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorServicem8DiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorServicem8DiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorServicem8DiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorServicem8DiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorServicem8DiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -5272,8 +8864,40 @@ class ConnectorServicem8DiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorServicenowDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorServicenowDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorServicenowDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorServicenowDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorServicenowDiscriminatedConnectionSettingsSettingsOAuth subdomain: str """The subdomain of your ServiceNow account (e.g., https://domain.service-now.com)""" @@ -5322,8 +8946,40 @@ class ConnectorServicenowDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorSharepointDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorSharepointDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorSharepointDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorSharepointDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorSharepointDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -5364,13 +9020,45 @@ class ConnectorSharepointDiscriminatedConnectionSettings(BaseModel): status: Optional[Literal["healthy", "disconnected", "error", "manual", "unknown"]] = None - status_message: Optional[str] = None + status_message: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorShopifyDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorShopifyDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorShopifyDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None updated_at: Optional[str] = None class ConnectorShopifyDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorShopifyDiscriminatedConnectionSettingsSettingsOAuth subdomain: str """The subdomain of your Shopify account (e.g., https://domain.myshopify.com)""" @@ -5419,8 +9107,40 @@ class ConnectorShopifyDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorSignnowDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorSignnowDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorSignnowDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorSignnowDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorSignnowDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -5466,8 +9186,40 @@ class ConnectorSignnowDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorSlackDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorSlackDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorSlackDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorSlackDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorSlackDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -5513,8 +9265,40 @@ class ConnectorSlackDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorSmartsheetDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorSmartsheetDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorSmartsheetDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorSmartsheetDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorSmartsheetDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -5560,8 +9344,40 @@ class ConnectorSmartsheetDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorSnowflakeDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorSnowflakeDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorSnowflakeDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorSnowflakeDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorSnowflakeDiscriminatedConnectionSettingsSettingsOAuth snowflake_account_url: str """The domain of your Snowflake account (e.g., https://example-subdomain)""" @@ -5610,8 +9426,40 @@ class ConnectorSnowflakeDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorSpotifyDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorSpotifyDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorSpotifyDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorSpotifyDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorSpotifyDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -5657,11 +9505,43 @@ class ConnectorSpotifyDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorSquarespaceDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorSquarespaceDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorSquarespaceDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorSquarespaceDiscriminatedConnectionSettingsSettings(BaseModel): customapp_description: str = FieldInfo(alias="customappDescription") """The user agent of your custom app (e.g., example-subdomain)""" - oauth: OAuthConnectionSettings + oauth: ConnectorSquarespaceDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -5707,8 +9587,40 @@ class ConnectorSquarespaceDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorSquareupDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorSquareupDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorSquareupDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorSquareupDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorSquareupDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -5754,8 +9666,40 @@ class ConnectorSquareupDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorStackexchangeDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorStackexchangeDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorStackexchangeDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorStackexchangeDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorStackexchangeDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -5801,8 +9745,40 @@ class ConnectorStackexchangeDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorStravaDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorStravaDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorStravaDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorStravaDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorStravaDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -5848,8 +9824,40 @@ class ConnectorStravaDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorTeamworkDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorTeamworkDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorTeamworkDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorTeamworkDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorTeamworkDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -5895,8 +9903,40 @@ class ConnectorTeamworkDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorTicktickDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorTicktickDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorTicktickDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorTicktickDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorTicktickDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -5942,8 +9982,40 @@ class ConnectorTicktickDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorTimelyDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorTimelyDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorTimelyDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorTimelyDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorTimelyDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -5973,24 +10045,56 @@ class ConnectorTimelyDiscriminatedConnectionSettings(BaseModel): integration_id: Optional[str] = None - metadata: Optional[Dict[str, object]] = None - """ - JSON object can can be used to associate arbitrary metadata to avoid needing a - separate 1-1 table just for simple key values in your application. During - updates this object will be shallowly merged - """ + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + settings: Optional[ConnectorTimelyDiscriminatedConnectionSettingsSettings] = None + + status: Optional[Literal["healthy", "disconnected", "error", "manual", "unknown"]] = None + + status_message: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorTodoistDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorTodoistDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None - settings: Optional[ConnectorTimelyDiscriminatedConnectionSettingsSettings] = None + credentials: Optional[ConnectorTodoistDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" - status: Optional[Literal["healthy", "disconnected", "error", "manual", "unknown"]] = None + last_fetched_at: Optional[str] = None - status_message: Optional[str] = None + metadata: Optional[Dict[str, object]] = None updated_at: Optional[str] = None class ConnectorTodoistDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorTodoistDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -6036,8 +10140,40 @@ class ConnectorTodoistDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorTremendousDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorTremendousDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorTremendousDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorTremendousDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorTremendousDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -6083,8 +10219,40 @@ class ConnectorTremendousDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorTsheetsteamDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorTsheetsteamDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorTsheetsteamDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorTsheetsteamDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorTsheetsteamDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -6130,8 +10298,40 @@ class ConnectorTsheetsteamDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorTumblrDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorTumblrDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorTumblrDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorTumblrDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorTumblrDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -6177,11 +10377,43 @@ class ConnectorTumblrDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorTwinfieldDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorTwinfieldDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorTwinfieldDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorTwinfieldDiscriminatedConnectionSettingsSettings(BaseModel): cluster: str """The cluster to your Twinfield instance (e.g., https://accounting.twinfield.com)""" - oauth: OAuthConnectionSettings + oauth: ConnectorTwinfieldDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -6227,8 +10459,40 @@ class ConnectorTwinfieldDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorTwitchDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorTwitchDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorTwitchDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorTwitchDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorTwitchDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -6274,8 +10538,40 @@ class ConnectorTwitchDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorTwitterDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorTwitterDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorTwitterDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorTwitterDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorTwitterDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -6321,8 +10617,40 @@ class ConnectorTwitterDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorTypeformDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorTypeformDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorTypeformDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorTypeformDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorTypeformDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -6368,8 +10696,40 @@ class ConnectorTypeformDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorUberDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorUberDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorUberDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorUberDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorUberDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -6415,8 +10775,40 @@ class ConnectorUberDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorVimeoDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorVimeoDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorVimeoDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorVimeoDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorVimeoDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -6462,8 +10854,40 @@ class ConnectorVimeoDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorWakatimeDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorWakatimeDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorWakatimeDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorWakatimeDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorWakatimeDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -6509,8 +10933,40 @@ class ConnectorWakatimeDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorWealthboxDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorWealthboxDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorWealthboxDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorWealthboxDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorWealthboxDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -6556,8 +11012,40 @@ class ConnectorWealthboxDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorWebflowDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorWebflowDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorWebflowDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorWebflowDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorWebflowDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -6594,17 +11082,49 @@ class ConnectorWebflowDiscriminatedConnectionSettings(BaseModel): updates this object will be shallowly merged """ - settings: Optional[ConnectorWebflowDiscriminatedConnectionSettingsSettings] = None + settings: Optional[ConnectorWebflowDiscriminatedConnectionSettingsSettings] = None + + status: Optional[Literal["healthy", "disconnected", "error", "manual", "unknown"]] = None + + status_message: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorWhoopDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None - status: Optional[Literal["healthy", "disconnected", "error", "manual", "unknown"]] = None - status_message: Optional[str] = None +class ConnectorWhoopDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorWhoopDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None updated_at: Optional[str] = None class ConnectorWhoopDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorWhoopDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -6650,8 +11170,40 @@ class ConnectorWhoopDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorWordpressDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorWordpressDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorWordpressDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorWordpressDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorWordpressDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -6697,11 +11249,43 @@ class ConnectorWordpressDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorWrikeDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorWrikeDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorWrikeDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorWrikeDiscriminatedConnectionSettingsSettings(BaseModel): host: str """The domain of your Wrike account (e.g., https://example-subdomain)""" - oauth: OAuthConnectionSettings + oauth: ConnectorWrikeDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -6747,8 +11331,40 @@ class ConnectorWrikeDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorXeroDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorXeroDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorXeroDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorXeroDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorXeroDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -6794,6 +11410,38 @@ class ConnectorXeroDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorYahooDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorYahooDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorYahooDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorYahooDiscriminatedConnectionSettingsSettings(BaseModel): api_domain: str = FieldInfo(alias="apiDomain") """ @@ -6801,7 +11449,7 @@ class ConnectorYahooDiscriminatedConnectionSettingsSettings(BaseModel): https://fantasysports.yahooapis.com) """ - oauth: OAuthConnectionSettings + oauth: ConnectorYahooDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -6847,8 +11495,40 @@ class ConnectorYahooDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorYandexDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorYandexDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorYandexDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorYandexDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorYandexDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -6894,8 +11574,40 @@ class ConnectorYandexDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorZapierDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorZapierDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorZapierDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorZapierDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorZapierDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -6941,8 +11653,40 @@ class ConnectorZapierDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorZendeskDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorZendeskDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorZendeskDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorZendeskDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorZendeskDiscriminatedConnectionSettingsSettingsOAuth subdomain: str """The subdomain of your Zendesk account (e.g., https://domain.zendesk.com)""" @@ -6991,8 +11735,40 @@ class ConnectorZendeskDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorZenefitsDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorZenefitsDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorZenefitsDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorZenefitsDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorZenefitsDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -7038,11 +11814,43 @@ class ConnectorZenefitsDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorZohoDeskDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorZohoDeskDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorZohoDeskDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorZohoDeskDiscriminatedConnectionSettingsSettings(BaseModel): extension: str """The domain extension of your Zoho account (e.g., https://accounts.zoho.com/)""" - oauth: OAuthConnectionSettings + oauth: ConnectorZohoDeskDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -7088,11 +11896,43 @@ class ConnectorZohoDeskDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorZohoDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorZohoDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorZohoDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorZohoDiscriminatedConnectionSettingsSettings(BaseModel): extension: str """The domain extension of your Zoho account (e.g., https://accounts.zoho.com/)""" - oauth: OAuthConnectionSettings + oauth: ConnectorZohoDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -7138,8 +11978,40 @@ class ConnectorZohoDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorZoomDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorZoomDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorZoomDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorZoomDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorZoomDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -8058,6 +12930,51 @@ class ConnectorSaltedgeDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorSharepointOnpremDiscriminatedConnectionSettingsSettings(BaseModel): + password: str + + site_url: str + + username: str + + +class ConnectorSharepointOnpremDiscriminatedConnectionSettings(BaseModel): + connector_name: Literal["sharepoint-onprem"] + + id: Optional[str] = None + + connector: Optional[Connector] = None + + connector_config_id: Optional[str] = None + + created_at: Optional[str] = None + + customer_id: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integration: Optional[Integration] = None + + integration_id: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + settings: Optional[ConnectorSharepointOnpremDiscriminatedConnectionSettingsSettings] = None + + status: Optional[Literal["healthy", "disconnected", "error", "manual", "unknown"]] = None + + status_message: Optional[str] = None + + updated_at: Optional[str] = None + + class ConnectorSplitwiseDiscriminatedConnectionSettingsSettingsCurrentUserNotifications(BaseModel): added_as_friend: bool @@ -8506,6 +13423,7 @@ class ConnectorYodleeDiscriminatedConnectionSettings(BaseModel): GetConnectionResponse: TypeAlias = Union[ ConnectorAcceloDiscriminatedConnectionSettings, + ConnectorAcmeApikeyDiscriminatedConnectionSettings, ConnectorAcmeOauth2DiscriminatedConnectionSettings, ConnectorAdobeDiscriminatedConnectionSettings, ConnectorAdyenDiscriminatedConnectionSettings, @@ -8666,6 +13584,7 @@ class ConnectorYodleeDiscriminatedConnectionSettings(BaseModel): ConnectorPostgresDiscriminatedConnectionSettings, ConnectorRampDiscriminatedConnectionSettings, ConnectorSaltedgeDiscriminatedConnectionSettings, + ConnectorSharepointOnpremDiscriminatedConnectionSettings, ConnectorSplitwiseDiscriminatedConnectionSettings, ConnectorStripeDiscriminatedConnectionSettings, ConnectorTellerDiscriminatedConnectionSettings, diff --git a/src/openint/types/integration.py b/src/openint/types/integration.py index c15339e..e1cad7e 100644 --- a/src/openint/types/integration.py +++ b/src/openint/types/integration.py @@ -13,6 +13,7 @@ class Integration(BaseModel): connector_name: Literal[ "accelo", + "acme-apikey", "acme-oauth2", "adobe", "adyen", @@ -135,6 +136,7 @@ class Integration(BaseModel): "servicem8", "servicenow", "sharepoint", + "sharepoint-onprem", "shopify", "signnow", "slack", diff --git a/src/openint/types/list_connection_configs_response.py b/src/openint/types/list_connection_configs_response.py index 369bc0e..b86432a 100644 --- a/src/openint/types/list_connection_configs_response.py +++ b/src/openint/types/list_connection_configs_response.py @@ -8,294 +8,436 @@ from .._models import BaseModel from .connector import Connector from .integration import Integration -from .oauth_connector_config import OAuthConnectorConfig __all__ = [ "ListConnectionConfigsResponse", "ConnectorAcceloDiscriminatedConnectorConfig", "ConnectorAcceloDiscriminatedConnectorConfigConfig", + "ConnectorAcceloDiscriminatedConnectorConfigConfigOAuth", + "ConnectorAcmeApikeyDiscriminatedConnectorConfig", "ConnectorAcmeOauth2DiscriminatedConnectorConfig", "ConnectorAcmeOauth2DiscriminatedConnectorConfigConfig", + "ConnectorAcmeOauth2DiscriminatedConnectorConfigConfigOAuth", "ConnectorAdobeDiscriminatedConnectorConfig", "ConnectorAdobeDiscriminatedConnectorConfigConfig", + "ConnectorAdobeDiscriminatedConnectorConfigConfigOAuth", "ConnectorAdyenDiscriminatedConnectorConfig", "ConnectorAdyenDiscriminatedConnectorConfigConfig", + "ConnectorAdyenDiscriminatedConnectorConfigConfigOAuth", "ConnectorAircallDiscriminatedConnectorConfig", "ConnectorAircallDiscriminatedConnectorConfigConfig", + "ConnectorAircallDiscriminatedConnectorConfigConfigOAuth", "ConnectorAmazonDiscriminatedConnectorConfig", "ConnectorAmazonDiscriminatedConnectorConfigConfig", + "ConnectorAmazonDiscriminatedConnectorConfigConfigOAuth", "ConnectorApaleoDiscriminatedConnectorConfig", "ConnectorApaleoDiscriminatedConnectorConfigConfig", + "ConnectorApaleoDiscriminatedConnectorConfigConfigOAuth", "ConnectorAsanaDiscriminatedConnectorConfig", "ConnectorAsanaDiscriminatedConnectorConfigConfig", + "ConnectorAsanaDiscriminatedConnectorConfigConfigOAuth", "ConnectorAttioDiscriminatedConnectorConfig", "ConnectorAttioDiscriminatedConnectorConfigConfig", + "ConnectorAttioDiscriminatedConnectorConfigConfigOAuth", "ConnectorAuth0DiscriminatedConnectorConfig", "ConnectorAuth0DiscriminatedConnectorConfigConfig", + "ConnectorAuth0DiscriminatedConnectorConfigConfigOAuth", "ConnectorAutodeskDiscriminatedConnectorConfig", "ConnectorAutodeskDiscriminatedConnectorConfigConfig", + "ConnectorAutodeskDiscriminatedConnectorConfigConfigOAuth", "ConnectorAwsDiscriminatedConnectorConfig", "ConnectorAwsDiscriminatedConnectorConfigConfig", + "ConnectorAwsDiscriminatedConnectorConfigConfigOAuth", "ConnectorBamboohrDiscriminatedConnectorConfig", "ConnectorBamboohrDiscriminatedConnectorConfigConfig", + "ConnectorBamboohrDiscriminatedConnectorConfigConfigOAuth", "ConnectorBasecampDiscriminatedConnectorConfig", "ConnectorBasecampDiscriminatedConnectorConfigConfig", + "ConnectorBasecampDiscriminatedConnectorConfigConfigOAuth", "ConnectorBattlenetDiscriminatedConnectorConfig", "ConnectorBattlenetDiscriminatedConnectorConfigConfig", + "ConnectorBattlenetDiscriminatedConnectorConfigConfigOAuth", "ConnectorBigcommerceDiscriminatedConnectorConfig", "ConnectorBigcommerceDiscriminatedConnectorConfigConfig", + "ConnectorBigcommerceDiscriminatedConnectorConfigConfigOAuth", "ConnectorBitbucketDiscriminatedConnectorConfig", "ConnectorBitbucketDiscriminatedConnectorConfigConfig", + "ConnectorBitbucketDiscriminatedConnectorConfigConfigOAuth", "ConnectorBitlyDiscriminatedConnectorConfig", "ConnectorBitlyDiscriminatedConnectorConfigConfig", + "ConnectorBitlyDiscriminatedConnectorConfigConfigOAuth", "ConnectorBlackbaudDiscriminatedConnectorConfig", "ConnectorBlackbaudDiscriminatedConnectorConfigConfig", + "ConnectorBlackbaudDiscriminatedConnectorConfigConfigOAuth", "ConnectorBoldsignDiscriminatedConnectorConfig", "ConnectorBoldsignDiscriminatedConnectorConfigConfig", + "ConnectorBoldsignDiscriminatedConnectorConfigConfigOAuth", "ConnectorBoxDiscriminatedConnectorConfig", "ConnectorBoxDiscriminatedConnectorConfigConfig", + "ConnectorBoxDiscriminatedConnectorConfigConfigOAuth", "ConnectorBraintreeDiscriminatedConnectorConfig", "ConnectorBraintreeDiscriminatedConnectorConfigConfig", + "ConnectorBraintreeDiscriminatedConnectorConfigConfigOAuth", "ConnectorCalendlyDiscriminatedConnectorConfig", "ConnectorCalendlyDiscriminatedConnectorConfigConfig", + "ConnectorCalendlyDiscriminatedConnectorConfigConfigOAuth", "ConnectorClickupDiscriminatedConnectorConfig", "ConnectorClickupDiscriminatedConnectorConfigConfig", + "ConnectorClickupDiscriminatedConnectorConfigConfigOAuth", "ConnectorCloseDiscriminatedConnectorConfig", "ConnectorCloseDiscriminatedConnectorConfigConfig", + "ConnectorCloseDiscriminatedConnectorConfigConfigOAuth", "ConnectorConfluenceDiscriminatedConnectorConfig", "ConnectorConfluenceDiscriminatedConnectorConfigConfig", + "ConnectorConfluenceDiscriminatedConnectorConfigConfigOAuth", "ConnectorContentfulDiscriminatedConnectorConfig", "ConnectorContentfulDiscriminatedConnectorConfigConfig", + "ConnectorContentfulDiscriminatedConnectorConfigConfigOAuth", "ConnectorContentstackDiscriminatedConnectorConfig", "ConnectorContentstackDiscriminatedConnectorConfigConfig", + "ConnectorContentstackDiscriminatedConnectorConfigConfigOAuth", "ConnectorCopperDiscriminatedConnectorConfig", "ConnectorCopperDiscriminatedConnectorConfigConfig", + "ConnectorCopperDiscriminatedConnectorConfigConfigOAuth", "ConnectorCorosDiscriminatedConnectorConfig", "ConnectorCorosDiscriminatedConnectorConfigConfig", + "ConnectorCorosDiscriminatedConnectorConfigConfigOAuth", "ConnectorDatevDiscriminatedConnectorConfig", "ConnectorDatevDiscriminatedConnectorConfigConfig", + "ConnectorDatevDiscriminatedConnectorConfigConfigOAuth", "ConnectorDeelDiscriminatedConnectorConfig", "ConnectorDeelDiscriminatedConnectorConfigConfig", + "ConnectorDeelDiscriminatedConnectorConfigConfigOAuth", "ConnectorDialpadDiscriminatedConnectorConfig", "ConnectorDialpadDiscriminatedConnectorConfigConfig", + "ConnectorDialpadDiscriminatedConnectorConfigConfigOAuth", "ConnectorDigitaloceanDiscriminatedConnectorConfig", "ConnectorDigitaloceanDiscriminatedConnectorConfigConfig", + "ConnectorDigitaloceanDiscriminatedConnectorConfigConfigOAuth", "ConnectorDiscordDiscriminatedConnectorConfig", "ConnectorDiscordDiscriminatedConnectorConfigConfig", + "ConnectorDiscordDiscriminatedConnectorConfigConfigOAuth", "ConnectorDocusignDiscriminatedConnectorConfig", "ConnectorDocusignDiscriminatedConnectorConfigConfig", + "ConnectorDocusignDiscriminatedConnectorConfigConfigOAuth", "ConnectorDropboxDiscriminatedConnectorConfig", "ConnectorDropboxDiscriminatedConnectorConfigConfig", + "ConnectorDropboxDiscriminatedConnectorConfigConfigOAuth", "ConnectorEbayDiscriminatedConnectorConfig", "ConnectorEbayDiscriminatedConnectorConfigConfig", + "ConnectorEbayDiscriminatedConnectorConfigConfigOAuth", "ConnectorEgnyteDiscriminatedConnectorConfig", "ConnectorEgnyteDiscriminatedConnectorConfigConfig", + "ConnectorEgnyteDiscriminatedConnectorConfigConfigOAuth", "ConnectorEnvoyDiscriminatedConnectorConfig", "ConnectorEnvoyDiscriminatedConnectorConfigConfig", + "ConnectorEnvoyDiscriminatedConnectorConfigConfigOAuth", "ConnectorEventbriteDiscriminatedConnectorConfig", "ConnectorEventbriteDiscriminatedConnectorConfigConfig", + "ConnectorEventbriteDiscriminatedConnectorConfigConfigOAuth", "ConnectorExistDiscriminatedConnectorConfig", "ConnectorExistDiscriminatedConnectorConfigConfig", + "ConnectorExistDiscriminatedConnectorConfigConfigOAuth", "ConnectorFacebookDiscriminatedConnectorConfig", "ConnectorFacebookDiscriminatedConnectorConfigConfig", + "ConnectorFacebookDiscriminatedConnectorConfigConfigOAuth", "ConnectorFactorialDiscriminatedConnectorConfig", "ConnectorFactorialDiscriminatedConnectorConfigConfig", + "ConnectorFactorialDiscriminatedConnectorConfigConfigOAuth", "ConnectorFigmaDiscriminatedConnectorConfig", "ConnectorFigmaDiscriminatedConnectorConfigConfig", + "ConnectorFigmaDiscriminatedConnectorConfigConfigOAuth", "ConnectorFitbitDiscriminatedConnectorConfig", "ConnectorFitbitDiscriminatedConnectorConfigConfig", + "ConnectorFitbitDiscriminatedConnectorConfigConfigOAuth", "ConnectorFortnoxDiscriminatedConnectorConfig", "ConnectorFortnoxDiscriminatedConnectorConfigConfig", + "ConnectorFortnoxDiscriminatedConnectorConfigConfigOAuth", "ConnectorFreshbooksDiscriminatedConnectorConfig", "ConnectorFreshbooksDiscriminatedConnectorConfigConfig", + "ConnectorFreshbooksDiscriminatedConnectorConfigConfigOAuth", "ConnectorFrontDiscriminatedConnectorConfig", "ConnectorFrontDiscriminatedConnectorConfigConfig", + "ConnectorFrontDiscriminatedConnectorConfigConfigOAuth", "ConnectorGitHubDiscriminatedConnectorConfig", "ConnectorGitHubDiscriminatedConnectorConfigConfig", + "ConnectorGitHubDiscriminatedConnectorConfigConfigOAuth", "ConnectorGitlabDiscriminatedConnectorConfig", "ConnectorGitlabDiscriminatedConnectorConfigConfig", + "ConnectorGitlabDiscriminatedConnectorConfigConfigOAuth", "ConnectorGongDiscriminatedConnectorConfig", "ConnectorGongDiscriminatedConnectorConfigConfig", + "ConnectorGongDiscriminatedConnectorConfigConfigOAuth", "ConnectorGoogleCalendarDiscriminatedConnectorConfig", "ConnectorGoogleCalendarDiscriminatedConnectorConfigConfig", + "ConnectorGoogleCalendarDiscriminatedConnectorConfigConfigOAuth", "ConnectorGoogleDocsDiscriminatedConnectorConfig", "ConnectorGoogleDocsDiscriminatedConnectorConfigConfig", + "ConnectorGoogleDocsDiscriminatedConnectorConfigConfigOAuth", "ConnectorGoogleDriveDiscriminatedConnectorConfig", "ConnectorGoogleDriveDiscriminatedConnectorConfigConfig", + "ConnectorGoogleDriveDiscriminatedConnectorConfigConfigOAuth", "ConnectorGoogleMailDiscriminatedConnectorConfig", "ConnectorGoogleMailDiscriminatedConnectorConfigConfig", + "ConnectorGoogleMailDiscriminatedConnectorConfigConfigOAuth", "ConnectorGoogleSheetDiscriminatedConnectorConfig", "ConnectorGoogleSheetDiscriminatedConnectorConfigConfig", + "ConnectorGoogleSheetDiscriminatedConnectorConfigConfigOAuth", "ConnectorGorgiasDiscriminatedConnectorConfig", "ConnectorGorgiasDiscriminatedConnectorConfigConfig", + "ConnectorGorgiasDiscriminatedConnectorConfigConfigOAuth", "ConnectorGrainDiscriminatedConnectorConfig", "ConnectorGrainDiscriminatedConnectorConfigConfig", + "ConnectorGrainDiscriminatedConnectorConfigConfigOAuth", "ConnectorGumroadDiscriminatedConnectorConfig", "ConnectorGumroadDiscriminatedConnectorConfigConfig", + "ConnectorGumroadDiscriminatedConnectorConfigConfigOAuth", "ConnectorGustoDiscriminatedConnectorConfig", "ConnectorGustoDiscriminatedConnectorConfigConfig", + "ConnectorGustoDiscriminatedConnectorConfigConfigOAuth", "ConnectorHarvestDiscriminatedConnectorConfig", "ConnectorHarvestDiscriminatedConnectorConfigConfig", + "ConnectorHarvestDiscriminatedConnectorConfigConfigOAuth", "ConnectorHighlevelDiscriminatedConnectorConfig", "ConnectorHighlevelDiscriminatedConnectorConfigConfig", + "ConnectorHighlevelDiscriminatedConnectorConfigConfigOAuth", "ConnectorHubspotDiscriminatedConnectorConfig", "ConnectorHubspotDiscriminatedConnectorConfigConfig", + "ConnectorHubspotDiscriminatedConnectorConfigConfigOAuth", "ConnectorInstagramDiscriminatedConnectorConfig", "ConnectorInstagramDiscriminatedConnectorConfigConfig", + "ConnectorInstagramDiscriminatedConnectorConfigConfigOAuth", "ConnectorIntercomDiscriminatedConnectorConfig", "ConnectorIntercomDiscriminatedConnectorConfigConfig", + "ConnectorIntercomDiscriminatedConnectorConfigConfigOAuth", "ConnectorJiraDiscriminatedConnectorConfig", "ConnectorJiraDiscriminatedConnectorConfigConfig", + "ConnectorJiraDiscriminatedConnectorConfigConfigOAuth", "ConnectorKeapDiscriminatedConnectorConfig", "ConnectorKeapDiscriminatedConnectorConfigConfig", + "ConnectorKeapDiscriminatedConnectorConfigConfigOAuth", "ConnectorLeverDiscriminatedConnectorConfig", "ConnectorLeverDiscriminatedConnectorConfigConfig", + "ConnectorLeverDiscriminatedConnectorConfigConfigOAuth", "ConnectorLinearDiscriminatedConnectorConfig", "ConnectorLinearDiscriminatedConnectorConfigConfig", + "ConnectorLinearDiscriminatedConnectorConfigConfigOAuth", "ConnectorLinkedinDiscriminatedConnectorConfig", "ConnectorLinkedinDiscriminatedConnectorConfigConfig", + "ConnectorLinkedinDiscriminatedConnectorConfigConfigOAuth", "ConnectorLinkhutDiscriminatedConnectorConfig", "ConnectorLinkhutDiscriminatedConnectorConfigConfig", + "ConnectorLinkhutDiscriminatedConnectorConfigConfigOAuth", "ConnectorMailchimpDiscriminatedConnectorConfig", "ConnectorMailchimpDiscriminatedConnectorConfigConfig", + "ConnectorMailchimpDiscriminatedConnectorConfigConfigOAuth", "ConnectorMiroDiscriminatedConnectorConfig", "ConnectorMiroDiscriminatedConnectorConfigConfig", + "ConnectorMiroDiscriminatedConnectorConfigConfigOAuth", "ConnectorMondayDiscriminatedConnectorConfig", "ConnectorMondayDiscriminatedConnectorConfigConfig", + "ConnectorMondayDiscriminatedConnectorConfigConfigOAuth", "ConnectorMuralDiscriminatedConnectorConfig", "ConnectorMuralDiscriminatedConnectorConfigConfig", + "ConnectorMuralDiscriminatedConnectorConfigConfigOAuth", "ConnectorNamelyDiscriminatedConnectorConfig", "ConnectorNamelyDiscriminatedConnectorConfigConfig", + "ConnectorNamelyDiscriminatedConnectorConfigConfigOAuth", "ConnectorNationbuilderDiscriminatedConnectorConfig", "ConnectorNationbuilderDiscriminatedConnectorConfigConfig", + "ConnectorNationbuilderDiscriminatedConnectorConfigConfigOAuth", "ConnectorNetsuiteDiscriminatedConnectorConfig", "ConnectorNetsuiteDiscriminatedConnectorConfigConfig", + "ConnectorNetsuiteDiscriminatedConnectorConfigConfigOAuth", "ConnectorNotionDiscriminatedConnectorConfig", "ConnectorNotionDiscriminatedConnectorConfigConfig", + "ConnectorNotionDiscriminatedConnectorConfigConfigOAuth", "ConnectorOdooDiscriminatedConnectorConfig", "ConnectorOdooDiscriminatedConnectorConfigConfig", + "ConnectorOdooDiscriminatedConnectorConfigConfigOAuth", "ConnectorOktaDiscriminatedConnectorConfig", "ConnectorOktaDiscriminatedConnectorConfigConfig", + "ConnectorOktaDiscriminatedConnectorConfigConfigOAuth", "ConnectorOsuDiscriminatedConnectorConfig", "ConnectorOsuDiscriminatedConnectorConfigConfig", + "ConnectorOsuDiscriminatedConnectorConfigConfigOAuth", "ConnectorOuraDiscriminatedConnectorConfig", "ConnectorOuraDiscriminatedConnectorConfigConfig", + "ConnectorOuraDiscriminatedConnectorConfigConfigOAuth", "ConnectorOutreachDiscriminatedConnectorConfig", "ConnectorOutreachDiscriminatedConnectorConfigConfig", + "ConnectorOutreachDiscriminatedConnectorConfigConfigOAuth", "ConnectorPagerdutyDiscriminatedConnectorConfig", "ConnectorPagerdutyDiscriminatedConnectorConfigConfig", + "ConnectorPagerdutyDiscriminatedConnectorConfigConfigOAuth", "ConnectorPandadocDiscriminatedConnectorConfig", "ConnectorPandadocDiscriminatedConnectorConfigConfig", + "ConnectorPandadocDiscriminatedConnectorConfigConfigOAuth", "ConnectorPayfitDiscriminatedConnectorConfig", "ConnectorPayfitDiscriminatedConnectorConfigConfig", + "ConnectorPayfitDiscriminatedConnectorConfigConfigOAuth", "ConnectorPaypalDiscriminatedConnectorConfig", "ConnectorPaypalDiscriminatedConnectorConfigConfig", + "ConnectorPaypalDiscriminatedConnectorConfigConfigOAuth", "ConnectorPennylaneDiscriminatedConnectorConfig", "ConnectorPennylaneDiscriminatedConnectorConfigConfig", + "ConnectorPennylaneDiscriminatedConnectorConfigConfigOAuth", "ConnectorPinterestDiscriminatedConnectorConfig", "ConnectorPinterestDiscriminatedConnectorConfigConfig", + "ConnectorPinterestDiscriminatedConnectorConfigConfigOAuth", "ConnectorPipedriveDiscriminatedConnectorConfig", "ConnectorPipedriveDiscriminatedConnectorConfigConfig", + "ConnectorPipedriveDiscriminatedConnectorConfigConfigOAuth", "ConnectorPodiumDiscriminatedConnectorConfig", "ConnectorPodiumDiscriminatedConnectorConfigConfig", + "ConnectorPodiumDiscriminatedConnectorConfigConfigOAuth", "ConnectorProductboardDiscriminatedConnectorConfig", "ConnectorProductboardDiscriminatedConnectorConfigConfig", + "ConnectorProductboardDiscriminatedConnectorConfigConfigOAuth", "ConnectorQualtricsDiscriminatedConnectorConfig", "ConnectorQualtricsDiscriminatedConnectorConfigConfig", + "ConnectorQualtricsDiscriminatedConnectorConfigConfigOAuth", "ConnectorQuickbooksDiscriminatedConnectorConfig", "ConnectorQuickbooksDiscriminatedConnectorConfigConfig", + "ConnectorQuickbooksDiscriminatedConnectorConfigConfigOAuth", "ConnectorRedditDiscriminatedConnectorConfig", "ConnectorRedditDiscriminatedConnectorConfigConfig", + "ConnectorRedditDiscriminatedConnectorConfigConfigOAuth", "ConnectorSageDiscriminatedConnectorConfig", "ConnectorSageDiscriminatedConnectorConfigConfig", + "ConnectorSageDiscriminatedConnectorConfigConfigOAuth", "ConnectorSalesforceDiscriminatedConnectorConfig", "ConnectorSalesforceDiscriminatedConnectorConfigConfig", + "ConnectorSalesforceDiscriminatedConnectorConfigConfigOAuth", "ConnectorSalesloftDiscriminatedConnectorConfig", "ConnectorSalesloftDiscriminatedConnectorConfigConfig", + "ConnectorSalesloftDiscriminatedConnectorConfigConfigOAuth", "ConnectorSegmentDiscriminatedConnectorConfig", "ConnectorSegmentDiscriminatedConnectorConfigConfig", + "ConnectorSegmentDiscriminatedConnectorConfigConfigOAuth", "ConnectorServicem8DiscriminatedConnectorConfig", "ConnectorServicem8DiscriminatedConnectorConfigConfig", + "ConnectorServicem8DiscriminatedConnectorConfigConfigOAuth", "ConnectorServicenowDiscriminatedConnectorConfig", "ConnectorServicenowDiscriminatedConnectorConfigConfig", + "ConnectorServicenowDiscriminatedConnectorConfigConfigOAuth", "ConnectorSharepointDiscriminatedConnectorConfig", "ConnectorSharepointDiscriminatedConnectorConfigConfig", + "ConnectorSharepointDiscriminatedConnectorConfigConfigOAuth", "ConnectorShopifyDiscriminatedConnectorConfig", "ConnectorShopifyDiscriminatedConnectorConfigConfig", + "ConnectorShopifyDiscriminatedConnectorConfigConfigOAuth", "ConnectorSignnowDiscriminatedConnectorConfig", "ConnectorSignnowDiscriminatedConnectorConfigConfig", + "ConnectorSignnowDiscriminatedConnectorConfigConfigOAuth", "ConnectorSlackDiscriminatedConnectorConfig", "ConnectorSlackDiscriminatedConnectorConfigConfig", + "ConnectorSlackDiscriminatedConnectorConfigConfigOAuth", "ConnectorSmartsheetDiscriminatedConnectorConfig", "ConnectorSmartsheetDiscriminatedConnectorConfigConfig", + "ConnectorSmartsheetDiscriminatedConnectorConfigConfigOAuth", "ConnectorSnowflakeDiscriminatedConnectorConfig", "ConnectorSnowflakeDiscriminatedConnectorConfigConfig", + "ConnectorSnowflakeDiscriminatedConnectorConfigConfigOAuth", "ConnectorSpotifyDiscriminatedConnectorConfig", "ConnectorSpotifyDiscriminatedConnectorConfigConfig", + "ConnectorSpotifyDiscriminatedConnectorConfigConfigOAuth", "ConnectorSquarespaceDiscriminatedConnectorConfig", "ConnectorSquarespaceDiscriminatedConnectorConfigConfig", + "ConnectorSquarespaceDiscriminatedConnectorConfigConfigOAuth", "ConnectorSquareupDiscriminatedConnectorConfig", "ConnectorSquareupDiscriminatedConnectorConfigConfig", + "ConnectorSquareupDiscriminatedConnectorConfigConfigOAuth", "ConnectorStackexchangeDiscriminatedConnectorConfig", "ConnectorStackexchangeDiscriminatedConnectorConfigConfig", + "ConnectorStackexchangeDiscriminatedConnectorConfigConfigOAuth", "ConnectorStravaDiscriminatedConnectorConfig", "ConnectorStravaDiscriminatedConnectorConfigConfig", + "ConnectorStravaDiscriminatedConnectorConfigConfigOAuth", "ConnectorTeamworkDiscriminatedConnectorConfig", "ConnectorTeamworkDiscriminatedConnectorConfigConfig", + "ConnectorTeamworkDiscriminatedConnectorConfigConfigOAuth", "ConnectorTicktickDiscriminatedConnectorConfig", "ConnectorTicktickDiscriminatedConnectorConfigConfig", + "ConnectorTicktickDiscriminatedConnectorConfigConfigOAuth", "ConnectorTimelyDiscriminatedConnectorConfig", "ConnectorTimelyDiscriminatedConnectorConfigConfig", + "ConnectorTimelyDiscriminatedConnectorConfigConfigOAuth", "ConnectorTodoistDiscriminatedConnectorConfig", "ConnectorTodoistDiscriminatedConnectorConfigConfig", + "ConnectorTodoistDiscriminatedConnectorConfigConfigOAuth", "ConnectorTremendousDiscriminatedConnectorConfig", "ConnectorTremendousDiscriminatedConnectorConfigConfig", + "ConnectorTremendousDiscriminatedConnectorConfigConfigOAuth", "ConnectorTsheetsteamDiscriminatedConnectorConfig", "ConnectorTsheetsteamDiscriminatedConnectorConfigConfig", + "ConnectorTsheetsteamDiscriminatedConnectorConfigConfigOAuth", "ConnectorTumblrDiscriminatedConnectorConfig", "ConnectorTumblrDiscriminatedConnectorConfigConfig", + "ConnectorTumblrDiscriminatedConnectorConfigConfigOAuth", "ConnectorTwinfieldDiscriminatedConnectorConfig", "ConnectorTwinfieldDiscriminatedConnectorConfigConfig", + "ConnectorTwinfieldDiscriminatedConnectorConfigConfigOAuth", "ConnectorTwitchDiscriminatedConnectorConfig", "ConnectorTwitchDiscriminatedConnectorConfigConfig", + "ConnectorTwitchDiscriminatedConnectorConfigConfigOAuth", "ConnectorTwitterDiscriminatedConnectorConfig", "ConnectorTwitterDiscriminatedConnectorConfigConfig", + "ConnectorTwitterDiscriminatedConnectorConfigConfigOAuth", "ConnectorTypeformDiscriminatedConnectorConfig", "ConnectorTypeformDiscriminatedConnectorConfigConfig", + "ConnectorTypeformDiscriminatedConnectorConfigConfigOAuth", "ConnectorUberDiscriminatedConnectorConfig", "ConnectorUberDiscriminatedConnectorConfigConfig", + "ConnectorUberDiscriminatedConnectorConfigConfigOAuth", "ConnectorVimeoDiscriminatedConnectorConfig", "ConnectorVimeoDiscriminatedConnectorConfigConfig", + "ConnectorVimeoDiscriminatedConnectorConfigConfigOAuth", "ConnectorWakatimeDiscriminatedConnectorConfig", "ConnectorWakatimeDiscriminatedConnectorConfigConfig", + "ConnectorWakatimeDiscriminatedConnectorConfigConfigOAuth", "ConnectorWealthboxDiscriminatedConnectorConfig", "ConnectorWealthboxDiscriminatedConnectorConfigConfig", + "ConnectorWealthboxDiscriminatedConnectorConfigConfigOAuth", "ConnectorWebflowDiscriminatedConnectorConfig", "ConnectorWebflowDiscriminatedConnectorConfigConfig", + "ConnectorWebflowDiscriminatedConnectorConfigConfigOAuth", "ConnectorWhoopDiscriminatedConnectorConfig", "ConnectorWhoopDiscriminatedConnectorConfigConfig", + "ConnectorWhoopDiscriminatedConnectorConfigConfigOAuth", "ConnectorWordpressDiscriminatedConnectorConfig", "ConnectorWordpressDiscriminatedConnectorConfigConfig", + "ConnectorWordpressDiscriminatedConnectorConfigConfigOAuth", "ConnectorWrikeDiscriminatedConnectorConfig", "ConnectorWrikeDiscriminatedConnectorConfigConfig", + "ConnectorWrikeDiscriminatedConnectorConfigConfigOAuth", "ConnectorXeroDiscriminatedConnectorConfig", "ConnectorXeroDiscriminatedConnectorConfigConfig", + "ConnectorXeroDiscriminatedConnectorConfigConfigOAuth", "ConnectorYahooDiscriminatedConnectorConfig", "ConnectorYahooDiscriminatedConnectorConfigConfig", + "ConnectorYahooDiscriminatedConnectorConfigConfigOAuth", "ConnectorYandexDiscriminatedConnectorConfig", "ConnectorYandexDiscriminatedConnectorConfigConfig", + "ConnectorYandexDiscriminatedConnectorConfigConfigOAuth", "ConnectorZapierDiscriminatedConnectorConfig", "ConnectorZapierDiscriminatedConnectorConfigConfig", + "ConnectorZapierDiscriminatedConnectorConfigConfigOAuth", "ConnectorZendeskDiscriminatedConnectorConfig", "ConnectorZendeskDiscriminatedConnectorConfigConfig", + "ConnectorZendeskDiscriminatedConnectorConfigConfigOAuth", "ConnectorZenefitsDiscriminatedConnectorConfig", "ConnectorZenefitsDiscriminatedConnectorConfigConfig", + "ConnectorZenefitsDiscriminatedConnectorConfigConfigOAuth", "ConnectorZohoDeskDiscriminatedConnectorConfig", "ConnectorZohoDeskDiscriminatedConnectorConfigConfig", + "ConnectorZohoDeskDiscriminatedConnectorConfigConfigOAuth", "ConnectorZohoDiscriminatedConnectorConfig", "ConnectorZohoDiscriminatedConnectorConfigConfig", + "ConnectorZohoDiscriminatedConnectorConfigConfigOAuth", "ConnectorZoomDiscriminatedConnectorConfig", "ConnectorZoomDiscriminatedConnectorConfigConfig", + "ConnectorZoomDiscriminatedConnectorConfigConfigOAuth", "ConnectorAirtableDiscriminatedConnectorConfig", "ConnectorApolloDiscriminatedConnectorConfig", "ConnectorBrexDiscriminatedConnectorConfig", @@ -331,6 +473,7 @@ "ConnectorRampDiscriminatedConnectorConfigConfigOAuth", "ConnectorSaltedgeDiscriminatedConnectorConfig", "ConnectorSaltedgeDiscriminatedConnectorConfigConfig", + "ConnectorSharepointOnpremDiscriminatedConnectorConfig", "ConnectorSplitwiseDiscriminatedConnectorConfig", "ConnectorStripeDiscriminatedConnectorConfig", "ConnectorStripeDiscriminatedConnectorConfigConfig", @@ -349,8 +492,19 @@ ] +class ConnectorAcceloDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorAcceloDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorAcceloDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -385,8 +539,51 @@ class ConnectorAcceloDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorAcmeApikeyDiscriminatedConnectorConfig(BaseModel): + config: object + """Base configuration for api key connector""" + + connector_name: Literal["acme-apikey"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorAcmeOauth2DiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorAcmeOauth2DiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorAcmeOauth2DiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -421,8 +618,19 @@ class ConnectorAcmeOauth2DiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorAdobeDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorAdobeDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorAdobeDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -457,8 +665,19 @@ class ConnectorAdobeDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorAdyenDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorAdyenDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorAdyenDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -493,8 +712,19 @@ class ConnectorAdyenDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorAircallDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorAircallDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorAircallDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -529,8 +759,19 @@ class ConnectorAircallDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorAmazonDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorAmazonDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorAmazonDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -565,8 +806,19 @@ class ConnectorAmazonDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorApaleoDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorApaleoDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorApaleoDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -601,8 +853,19 @@ class ConnectorApaleoDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorAsanaDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorAsanaDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorAsanaDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -637,8 +900,19 @@ class ConnectorAsanaDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorAttioDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorAttioDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorAttioDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -673,8 +947,19 @@ class ConnectorAttioDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorAuth0DiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorAuth0DiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorAuth0DiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -709,8 +994,19 @@ class ConnectorAuth0DiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorAutodeskDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorAutodeskDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorAutodeskDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -745,8 +1041,19 @@ class ConnectorAutodeskDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorAwsDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorAwsDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorAwsDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -781,8 +1088,19 @@ class ConnectorAwsDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorBamboohrDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorBamboohrDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorBamboohrDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -817,8 +1135,19 @@ class ConnectorBamboohrDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorBasecampDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorBasecampDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorBasecampDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -853,8 +1182,19 @@ class ConnectorBasecampDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorBattlenetDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorBattlenetDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorBattlenetDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -889,8 +1229,19 @@ class ConnectorBattlenetDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorBigcommerceDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorBigcommerceDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorBigcommerceDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -925,8 +1276,19 @@ class ConnectorBigcommerceDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorBitbucketDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorBitbucketDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorBitbucketDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -961,8 +1323,19 @@ class ConnectorBitbucketDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorBitlyDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorBitlyDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorBitlyDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -997,8 +1370,19 @@ class ConnectorBitlyDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorBlackbaudDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorBlackbaudDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorBlackbaudDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -1033,8 +1417,19 @@ class ConnectorBlackbaudDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorBoldsignDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorBoldsignDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorBoldsignDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -1069,8 +1464,19 @@ class ConnectorBoldsignDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorBoxDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorBoxDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorBoxDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -1105,8 +1511,19 @@ class ConnectorBoxDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorBraintreeDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorBraintreeDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorBraintreeDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -1141,8 +1558,19 @@ class ConnectorBraintreeDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorCalendlyDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorCalendlyDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorCalendlyDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -1177,8 +1605,19 @@ class ConnectorCalendlyDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorClickupDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorClickupDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorClickupDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -1213,8 +1652,19 @@ class ConnectorClickupDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorCloseDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorCloseDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorCloseDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -1249,8 +1699,19 @@ class ConnectorCloseDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorConfluenceDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorConfluenceDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorConfluenceDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -1285,8 +1746,19 @@ class ConnectorConfluenceDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorContentfulDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorContentfulDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorContentfulDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -1321,8 +1793,19 @@ class ConnectorContentfulDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorContentstackDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorContentstackDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorContentstackDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -1357,8 +1840,19 @@ class ConnectorContentstackDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorCopperDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorCopperDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorCopperDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -1393,8 +1887,19 @@ class ConnectorCopperDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorCorosDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorCorosDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorCorosDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -1429,8 +1934,19 @@ class ConnectorCorosDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorDatevDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorDatevDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorDatevDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -1465,8 +1981,19 @@ class ConnectorDatevDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorDeelDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorDeelDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorDeelDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -1501,8 +2028,19 @@ class ConnectorDeelDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorDialpadDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorDialpadDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorDialpadDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -1537,8 +2075,19 @@ class ConnectorDialpadDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorDigitaloceanDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorDigitaloceanDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorDigitaloceanDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -1573,8 +2122,19 @@ class ConnectorDigitaloceanDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorDiscordDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorDiscordDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorDiscordDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -1609,8 +2169,19 @@ class ConnectorDiscordDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorDocusignDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorDocusignDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorDocusignDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -1645,8 +2216,19 @@ class ConnectorDocusignDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorDropboxDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorDropboxDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorDropboxDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -1681,8 +2263,19 @@ class ConnectorDropboxDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorEbayDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorEbayDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorEbayDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -1717,8 +2310,19 @@ class ConnectorEbayDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorEgnyteDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorEgnyteDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorEgnyteDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -1753,8 +2357,19 @@ class ConnectorEgnyteDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorEnvoyDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorEnvoyDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorEnvoyDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -1789,8 +2404,19 @@ class ConnectorEnvoyDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorEventbriteDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorEventbriteDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorEventbriteDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -1825,8 +2451,19 @@ class ConnectorEventbriteDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorExistDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorExistDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorExistDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -1861,8 +2498,19 @@ class ConnectorExistDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorFacebookDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorFacebookDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorFacebookDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -1897,8 +2545,19 @@ class ConnectorFacebookDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorFactorialDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorFactorialDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorFactorialDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -1933,8 +2592,19 @@ class ConnectorFactorialDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorFigmaDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorFigmaDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorFigmaDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -1969,8 +2639,19 @@ class ConnectorFigmaDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorFitbitDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorFitbitDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorFitbitDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -2000,13 +2681,24 @@ class ConnectorFitbitDiscriminatedConnectorConfig(BaseModel): updates this object will be shallowly merged """ - org_id: Optional[str] = None + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorFortnoxDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None - updated_at: Optional[str] = None + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None class ConnectorFortnoxDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorFortnoxDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -2041,8 +2733,19 @@ class ConnectorFortnoxDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorFreshbooksDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorFreshbooksDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorFreshbooksDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -2077,8 +2780,19 @@ class ConnectorFreshbooksDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorFrontDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorFrontDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorFrontDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -2113,8 +2827,19 @@ class ConnectorFrontDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorGitHubDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorGitHubDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorGitHubDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -2149,8 +2874,19 @@ class ConnectorGitHubDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorGitlabDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorGitlabDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorGitlabDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -2185,8 +2921,19 @@ class ConnectorGitlabDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorGongDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorGongDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorGongDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -2221,8 +2968,19 @@ class ConnectorGongDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorGoogleCalendarDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorGoogleCalendarDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorGoogleCalendarDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -2257,8 +3015,19 @@ class ConnectorGoogleCalendarDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorGoogleDocsDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorGoogleDocsDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorGoogleDocsDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -2293,8 +3062,19 @@ class ConnectorGoogleDocsDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorGoogleDriveDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorGoogleDriveDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorGoogleDriveDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -2329,8 +3109,19 @@ class ConnectorGoogleDriveDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorGoogleMailDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorGoogleMailDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorGoogleMailDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -2365,8 +3156,19 @@ class ConnectorGoogleMailDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorGoogleSheetDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorGoogleSheetDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorGoogleSheetDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -2401,8 +3203,19 @@ class ConnectorGoogleSheetDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorGorgiasDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorGorgiasDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorGorgiasDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -2437,8 +3250,19 @@ class ConnectorGorgiasDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorGrainDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorGrainDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorGrainDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -2473,8 +3297,19 @@ class ConnectorGrainDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorGumroadDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorGumroadDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorGumroadDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -2509,8 +3344,19 @@ class ConnectorGumroadDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorGustoDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorGustoDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorGustoDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -2545,8 +3391,19 @@ class ConnectorGustoDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorHarvestDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorHarvestDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorHarvestDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -2581,8 +3438,19 @@ class ConnectorHarvestDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorHighlevelDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorHighlevelDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorHighlevelDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -2617,8 +3485,19 @@ class ConnectorHighlevelDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorHubspotDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorHubspotDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorHubspotDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -2653,8 +3532,19 @@ class ConnectorHubspotDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorInstagramDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorInstagramDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorInstagramDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -2689,8 +3579,19 @@ class ConnectorInstagramDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorIntercomDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorIntercomDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorIntercomDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -2725,8 +3626,19 @@ class ConnectorIntercomDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorJiraDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorJiraDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorJiraDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -2761,8 +3673,19 @@ class ConnectorJiraDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorKeapDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorKeapDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorKeapDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -2797,8 +3720,19 @@ class ConnectorKeapDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorLeverDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorLeverDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorLeverDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -2833,8 +3767,19 @@ class ConnectorLeverDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorLinearDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorLinearDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorLinearDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -2869,8 +3814,19 @@ class ConnectorLinearDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorLinkedinDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorLinkedinDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorLinkedinDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -2905,8 +3861,19 @@ class ConnectorLinkedinDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorLinkhutDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorLinkhutDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorLinkhutDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -2941,8 +3908,19 @@ class ConnectorLinkhutDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorMailchimpDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorMailchimpDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorMailchimpDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -2977,8 +3955,19 @@ class ConnectorMailchimpDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorMiroDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorMiroDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorMiroDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -3013,8 +4002,19 @@ class ConnectorMiroDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorMondayDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorMondayDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorMondayDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -3049,8 +4049,19 @@ class ConnectorMondayDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorMuralDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorMuralDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorMuralDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -3085,8 +4096,19 @@ class ConnectorMuralDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorNamelyDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorNamelyDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorNamelyDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -3121,8 +4143,19 @@ class ConnectorNamelyDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorNationbuilderDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorNationbuilderDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorNationbuilderDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -3157,8 +4190,19 @@ class ConnectorNationbuilderDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorNetsuiteDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorNetsuiteDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorNetsuiteDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -3193,8 +4237,19 @@ class ConnectorNetsuiteDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorNotionDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorNotionDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorNotionDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -3229,8 +4284,19 @@ class ConnectorNotionDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorOdooDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorOdooDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorOdooDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -3265,8 +4331,19 @@ class ConnectorOdooDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorOktaDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorOktaDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorOktaDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -3301,8 +4378,19 @@ class ConnectorOktaDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorOsuDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorOsuDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorOsuDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -3337,8 +4425,19 @@ class ConnectorOsuDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorOuraDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorOuraDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorOuraDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -3373,8 +4472,19 @@ class ConnectorOuraDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorOutreachDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorOutreachDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorOutreachDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -3409,8 +4519,19 @@ class ConnectorOutreachDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorPagerdutyDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorPagerdutyDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorPagerdutyDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -3445,8 +4566,19 @@ class ConnectorPagerdutyDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorPandadocDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorPandadocDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorPandadocDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -3481,8 +4613,19 @@ class ConnectorPandadocDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorPayfitDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorPayfitDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorPayfitDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -3517,8 +4660,19 @@ class ConnectorPayfitDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorPaypalDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorPaypalDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorPaypalDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -3553,8 +4707,19 @@ class ConnectorPaypalDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorPennylaneDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorPennylaneDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorPennylaneDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -3589,8 +4754,19 @@ class ConnectorPennylaneDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorPinterestDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorPinterestDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorPinterestDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -3625,8 +4801,19 @@ class ConnectorPinterestDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorPipedriveDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorPipedriveDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorPipedriveDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -3661,8 +4848,19 @@ class ConnectorPipedriveDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorPodiumDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorPodiumDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorPodiumDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -3697,8 +4895,19 @@ class ConnectorPodiumDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorProductboardDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorProductboardDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorProductboardDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -3733,8 +4942,19 @@ class ConnectorProductboardDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorQualtricsDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorQualtricsDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorQualtricsDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -3769,8 +4989,19 @@ class ConnectorQualtricsDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorQuickbooksDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorQuickbooksDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorQuickbooksDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -3800,13 +5031,24 @@ class ConnectorQuickbooksDiscriminatedConnectorConfig(BaseModel): updates this object will be shallowly merged """ - org_id: Optional[str] = None + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorRedditDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" - updated_at: Optional[str] = None + scopes: Optional[List[str]] = None class ConnectorRedditDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorRedditDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -3841,8 +5083,19 @@ class ConnectorRedditDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorSageDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorSageDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorSageDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -3877,8 +5130,19 @@ class ConnectorSageDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorSalesforceDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorSalesforceDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorSalesforceDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -3913,8 +5177,19 @@ class ConnectorSalesforceDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorSalesloftDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorSalesloftDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorSalesloftDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -3949,8 +5224,19 @@ class ConnectorSalesloftDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorSegmentDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorSegmentDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorSegmentDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -3985,8 +5271,19 @@ class ConnectorSegmentDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorServicem8DiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorServicem8DiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorServicem8DiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -4021,8 +5318,19 @@ class ConnectorServicem8DiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorServicenowDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorServicenowDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorServicenowDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -4057,8 +5365,19 @@ class ConnectorServicenowDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorSharepointDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorSharepointDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorSharepointDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -4093,8 +5412,19 @@ class ConnectorSharepointDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorShopifyDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorShopifyDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorShopifyDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -4129,8 +5459,19 @@ class ConnectorShopifyDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorSignnowDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorSignnowDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorSignnowDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -4165,8 +5506,19 @@ class ConnectorSignnowDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorSlackDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorSlackDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorSlackDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -4201,8 +5553,19 @@ class ConnectorSlackDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorSmartsheetDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorSmartsheetDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorSmartsheetDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -4237,8 +5600,19 @@ class ConnectorSmartsheetDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorSnowflakeDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorSnowflakeDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorSnowflakeDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -4273,8 +5647,19 @@ class ConnectorSnowflakeDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorSpotifyDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorSpotifyDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorSpotifyDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -4309,8 +5694,19 @@ class ConnectorSpotifyDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorSquarespaceDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorSquarespaceDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorSquarespaceDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -4345,8 +5741,19 @@ class ConnectorSquarespaceDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorSquareupDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorSquareupDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorSquareupDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -4381,8 +5788,19 @@ class ConnectorSquareupDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorStackexchangeDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorStackexchangeDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorStackexchangeDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -4417,8 +5835,19 @@ class ConnectorStackexchangeDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorStravaDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorStravaDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorStravaDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -4453,8 +5882,19 @@ class ConnectorStravaDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorTeamworkDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorTeamworkDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorTeamworkDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -4489,8 +5929,19 @@ class ConnectorTeamworkDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorTicktickDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorTicktickDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorTicktickDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -4525,8 +5976,19 @@ class ConnectorTicktickDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorTimelyDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorTimelyDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorTimelyDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -4561,8 +6023,19 @@ class ConnectorTimelyDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorTodoistDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorTodoistDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorTodoistDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -4597,8 +6070,19 @@ class ConnectorTodoistDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorTremendousDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorTremendousDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorTremendousDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -4633,8 +6117,19 @@ class ConnectorTremendousDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorTsheetsteamDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorTsheetsteamDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorTsheetsteamDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -4669,8 +6164,19 @@ class ConnectorTsheetsteamDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorTumblrDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorTumblrDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorTumblrDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -4705,8 +6211,19 @@ class ConnectorTumblrDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorTwinfieldDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorTwinfieldDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorTwinfieldDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -4741,8 +6258,19 @@ class ConnectorTwinfieldDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorTwitchDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorTwitchDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorTwitchDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -4777,8 +6305,19 @@ class ConnectorTwitchDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorTwitterDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorTwitterDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorTwitterDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -4813,8 +6352,19 @@ class ConnectorTwitterDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorTypeformDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorTypeformDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorTypeformDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -4849,8 +6399,19 @@ class ConnectorTypeformDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorUberDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorUberDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorUberDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -4885,8 +6446,19 @@ class ConnectorUberDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorVimeoDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorVimeoDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorVimeoDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -4921,8 +6493,19 @@ class ConnectorVimeoDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorWakatimeDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorWakatimeDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorWakatimeDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -4957,8 +6540,19 @@ class ConnectorWakatimeDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorWealthboxDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorWealthboxDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorWealthboxDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -4993,8 +6587,19 @@ class ConnectorWealthboxDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorWebflowDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorWebflowDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorWebflowDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -5029,8 +6634,19 @@ class ConnectorWebflowDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorWhoopDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorWhoopDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorWhoopDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -5065,8 +6681,19 @@ class ConnectorWhoopDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorWordpressDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorWordpressDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorWordpressDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -5101,8 +6728,19 @@ class ConnectorWordpressDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorWrikeDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorWrikeDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorWrikeDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -5137,8 +6775,19 @@ class ConnectorWrikeDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorXeroDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorXeroDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorXeroDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -5173,8 +6822,19 @@ class ConnectorXeroDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorYahooDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorYahooDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorYahooDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -5209,8 +6869,19 @@ class ConnectorYahooDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorYandexDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorYandexDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorYandexDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -5245,8 +6916,19 @@ class ConnectorYandexDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorZapierDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorZapierDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorZapierDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -5281,8 +6963,19 @@ class ConnectorZapierDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorZendeskDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorZendeskDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorZendeskDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -5317,8 +7010,19 @@ class ConnectorZendeskDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorZenefitsDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorZenefitsDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorZenefitsDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -5353,8 +7057,19 @@ class ConnectorZenefitsDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorZohoDeskDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorZohoDeskDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorZohoDeskDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -5389,8 +7104,19 @@ class ConnectorZohoDeskDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorZohoDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorZohoDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorZohoDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -5425,8 +7151,19 @@ class ConnectorZohoDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorZoomDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + class ConnectorZoomDiscriminatedConnectorConfigConfig(BaseModel): - oauth: Optional[OAuthConnectorConfig] = None + oauth: Optional[ConnectorZoomDiscriminatedConnectorConfigConfigOAuth] = None """Base oauth configuration for the connector""" @@ -6204,6 +7941,37 @@ class ConnectorSaltedgeDiscriminatedConnectorConfig(BaseModel): updated_at: Optional[str] = None +class ConnectorSharepointOnpremDiscriminatedConnectorConfig(BaseModel): + config: object + + connector_name: Literal["sharepoint-onprem"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + class ConnectorSplitwiseDiscriminatedConnectorConfig(BaseModel): config: object @@ -6508,6 +8276,7 @@ class ConnectorYodleeDiscriminatedConnectorConfig(BaseModel): ListConnectionConfigsResponse: TypeAlias = Union[ ConnectorAcceloDiscriminatedConnectorConfig, + ConnectorAcmeApikeyDiscriminatedConnectorConfig, ConnectorAcmeOauth2DiscriminatedConnectorConfig, ConnectorAdobeDiscriminatedConnectorConfig, ConnectorAdyenDiscriminatedConnectorConfig, @@ -6668,6 +8437,7 @@ class ConnectorYodleeDiscriminatedConnectorConfig(BaseModel): ConnectorPostgresDiscriminatedConnectorConfig, ConnectorRampDiscriminatedConnectorConfig, ConnectorSaltedgeDiscriminatedConnectorConfig, + ConnectorSharepointOnpremDiscriminatedConnectorConfig, ConnectorSplitwiseDiscriminatedConnectorConfig, ConnectorStripeDiscriminatedConnectorConfig, ConnectorTellerDiscriminatedConnectorConfig, diff --git a/src/openint/types/list_connections_response.py b/src/openint/types/list_connections_response.py index 63e823e..d667dd2 100644 --- a/src/openint/types/list_connections_response.py +++ b/src/openint/types/list_connections_response.py @@ -8,294 +8,579 @@ from .._models import BaseModel from .connector import Connector from .integration import Integration -from .oauth_connection_settings import OAuthConnectionSettings __all__ = [ "ListConnectionsResponse", "ConnectorAcceloDiscriminatedConnectionSettings", "ConnectorAcceloDiscriminatedConnectionSettingsSettings", + "ConnectorAcceloDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorAcceloDiscriminatedConnectionSettingsSettingsOAuthCredentials", + "ConnectorAcmeApikeyDiscriminatedConnectionSettings", + "ConnectorAcmeApikeyDiscriminatedConnectionSettingsSettings", "ConnectorAcmeOauth2DiscriminatedConnectionSettings", "ConnectorAcmeOauth2DiscriminatedConnectionSettingsSettings", + "ConnectorAcmeOauth2DiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorAcmeOauth2DiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorAdobeDiscriminatedConnectionSettings", "ConnectorAdobeDiscriminatedConnectionSettingsSettings", + "ConnectorAdobeDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorAdobeDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorAdyenDiscriminatedConnectionSettings", "ConnectorAdyenDiscriminatedConnectionSettingsSettings", + "ConnectorAdyenDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorAdyenDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorAircallDiscriminatedConnectionSettings", "ConnectorAircallDiscriminatedConnectionSettingsSettings", + "ConnectorAircallDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorAircallDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorAmazonDiscriminatedConnectionSettings", "ConnectorAmazonDiscriminatedConnectionSettingsSettings", + "ConnectorAmazonDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorAmazonDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorApaleoDiscriminatedConnectionSettings", "ConnectorApaleoDiscriminatedConnectionSettingsSettings", + "ConnectorApaleoDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorApaleoDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorAsanaDiscriminatedConnectionSettings", "ConnectorAsanaDiscriminatedConnectionSettingsSettings", + "ConnectorAsanaDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorAsanaDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorAttioDiscriminatedConnectionSettings", "ConnectorAttioDiscriminatedConnectionSettingsSettings", + "ConnectorAttioDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorAttioDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorAuth0DiscriminatedConnectionSettings", "ConnectorAuth0DiscriminatedConnectionSettingsSettings", + "ConnectorAuth0DiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorAuth0DiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorAutodeskDiscriminatedConnectionSettings", "ConnectorAutodeskDiscriminatedConnectionSettingsSettings", + "ConnectorAutodeskDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorAutodeskDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorAwsDiscriminatedConnectionSettings", "ConnectorAwsDiscriminatedConnectionSettingsSettings", + "ConnectorAwsDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorAwsDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorBamboohrDiscriminatedConnectionSettings", "ConnectorBamboohrDiscriminatedConnectionSettingsSettings", + "ConnectorBamboohrDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorBamboohrDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorBasecampDiscriminatedConnectionSettings", "ConnectorBasecampDiscriminatedConnectionSettingsSettings", + "ConnectorBasecampDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorBasecampDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorBattlenetDiscriminatedConnectionSettings", "ConnectorBattlenetDiscriminatedConnectionSettingsSettings", + "ConnectorBattlenetDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorBattlenetDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorBigcommerceDiscriminatedConnectionSettings", "ConnectorBigcommerceDiscriminatedConnectionSettingsSettings", + "ConnectorBigcommerceDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorBigcommerceDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorBitbucketDiscriminatedConnectionSettings", "ConnectorBitbucketDiscriminatedConnectionSettingsSettings", + "ConnectorBitbucketDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorBitbucketDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorBitlyDiscriminatedConnectionSettings", "ConnectorBitlyDiscriminatedConnectionSettingsSettings", + "ConnectorBitlyDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorBitlyDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorBlackbaudDiscriminatedConnectionSettings", "ConnectorBlackbaudDiscriminatedConnectionSettingsSettings", + "ConnectorBlackbaudDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorBlackbaudDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorBoldsignDiscriminatedConnectionSettings", "ConnectorBoldsignDiscriminatedConnectionSettingsSettings", + "ConnectorBoldsignDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorBoldsignDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorBoxDiscriminatedConnectionSettings", "ConnectorBoxDiscriminatedConnectionSettingsSettings", + "ConnectorBoxDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorBoxDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorBraintreeDiscriminatedConnectionSettings", "ConnectorBraintreeDiscriminatedConnectionSettingsSettings", + "ConnectorBraintreeDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorBraintreeDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorCalendlyDiscriminatedConnectionSettings", "ConnectorCalendlyDiscriminatedConnectionSettingsSettings", + "ConnectorCalendlyDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorCalendlyDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorClickupDiscriminatedConnectionSettings", "ConnectorClickupDiscriminatedConnectionSettingsSettings", + "ConnectorClickupDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorClickupDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorCloseDiscriminatedConnectionSettings", "ConnectorCloseDiscriminatedConnectionSettingsSettings", + "ConnectorCloseDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorCloseDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorConfluenceDiscriminatedConnectionSettings", "ConnectorConfluenceDiscriminatedConnectionSettingsSettings", + "ConnectorConfluenceDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorConfluenceDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorContentfulDiscriminatedConnectionSettings", "ConnectorContentfulDiscriminatedConnectionSettingsSettings", + "ConnectorContentfulDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorContentfulDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorContentstackDiscriminatedConnectionSettings", "ConnectorContentstackDiscriminatedConnectionSettingsSettings", + "ConnectorContentstackDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorContentstackDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorCopperDiscriminatedConnectionSettings", "ConnectorCopperDiscriminatedConnectionSettingsSettings", + "ConnectorCopperDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorCopperDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorCorosDiscriminatedConnectionSettings", "ConnectorCorosDiscriminatedConnectionSettingsSettings", + "ConnectorCorosDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorCorosDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorDatevDiscriminatedConnectionSettings", "ConnectorDatevDiscriminatedConnectionSettingsSettings", + "ConnectorDatevDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorDatevDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorDeelDiscriminatedConnectionSettings", "ConnectorDeelDiscriminatedConnectionSettingsSettings", + "ConnectorDeelDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorDeelDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorDialpadDiscriminatedConnectionSettings", "ConnectorDialpadDiscriminatedConnectionSettingsSettings", + "ConnectorDialpadDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorDialpadDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorDigitaloceanDiscriminatedConnectionSettings", "ConnectorDigitaloceanDiscriminatedConnectionSettingsSettings", + "ConnectorDigitaloceanDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorDigitaloceanDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorDiscordDiscriminatedConnectionSettings", "ConnectorDiscordDiscriminatedConnectionSettingsSettings", + "ConnectorDiscordDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorDiscordDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorDocusignDiscriminatedConnectionSettings", "ConnectorDocusignDiscriminatedConnectionSettingsSettings", + "ConnectorDocusignDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorDocusignDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorDropboxDiscriminatedConnectionSettings", "ConnectorDropboxDiscriminatedConnectionSettingsSettings", + "ConnectorDropboxDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorDropboxDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorEbayDiscriminatedConnectionSettings", "ConnectorEbayDiscriminatedConnectionSettingsSettings", + "ConnectorEbayDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorEbayDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorEgnyteDiscriminatedConnectionSettings", "ConnectorEgnyteDiscriminatedConnectionSettingsSettings", + "ConnectorEgnyteDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorEgnyteDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorEnvoyDiscriminatedConnectionSettings", "ConnectorEnvoyDiscriminatedConnectionSettingsSettings", + "ConnectorEnvoyDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorEnvoyDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorEventbriteDiscriminatedConnectionSettings", "ConnectorEventbriteDiscriminatedConnectionSettingsSettings", + "ConnectorEventbriteDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorEventbriteDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorExistDiscriminatedConnectionSettings", "ConnectorExistDiscriminatedConnectionSettingsSettings", + "ConnectorExistDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorExistDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorFacebookDiscriminatedConnectionSettings", "ConnectorFacebookDiscriminatedConnectionSettingsSettings", + "ConnectorFacebookDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorFacebookDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorFactorialDiscriminatedConnectionSettings", "ConnectorFactorialDiscriminatedConnectionSettingsSettings", + "ConnectorFactorialDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorFactorialDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorFigmaDiscriminatedConnectionSettings", "ConnectorFigmaDiscriminatedConnectionSettingsSettings", + "ConnectorFigmaDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorFigmaDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorFitbitDiscriminatedConnectionSettings", "ConnectorFitbitDiscriminatedConnectionSettingsSettings", + "ConnectorFitbitDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorFitbitDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorFortnoxDiscriminatedConnectionSettings", "ConnectorFortnoxDiscriminatedConnectionSettingsSettings", + "ConnectorFortnoxDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorFortnoxDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorFreshbooksDiscriminatedConnectionSettings", "ConnectorFreshbooksDiscriminatedConnectionSettingsSettings", + "ConnectorFreshbooksDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorFreshbooksDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorFrontDiscriminatedConnectionSettings", "ConnectorFrontDiscriminatedConnectionSettingsSettings", + "ConnectorFrontDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorFrontDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorGitHubDiscriminatedConnectionSettings", "ConnectorGitHubDiscriminatedConnectionSettingsSettings", + "ConnectorGitHubDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorGitHubDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorGitlabDiscriminatedConnectionSettings", "ConnectorGitlabDiscriminatedConnectionSettingsSettings", + "ConnectorGitlabDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorGitlabDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorGongDiscriminatedConnectionSettings", "ConnectorGongDiscriminatedConnectionSettingsSettings", + "ConnectorGongDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorGongDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorGoogleCalendarDiscriminatedConnectionSettings", "ConnectorGoogleCalendarDiscriminatedConnectionSettingsSettings", + "ConnectorGoogleCalendarDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorGoogleCalendarDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorGoogleDocsDiscriminatedConnectionSettings", "ConnectorGoogleDocsDiscriminatedConnectionSettingsSettings", + "ConnectorGoogleDocsDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorGoogleDocsDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorGoogleDriveDiscriminatedConnectionSettings", "ConnectorGoogleDriveDiscriminatedConnectionSettingsSettings", + "ConnectorGoogleDriveDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorGoogleDriveDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorGoogleMailDiscriminatedConnectionSettings", "ConnectorGoogleMailDiscriminatedConnectionSettingsSettings", + "ConnectorGoogleMailDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorGoogleMailDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorGoogleSheetDiscriminatedConnectionSettings", "ConnectorGoogleSheetDiscriminatedConnectionSettingsSettings", + "ConnectorGoogleSheetDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorGoogleSheetDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorGorgiasDiscriminatedConnectionSettings", "ConnectorGorgiasDiscriminatedConnectionSettingsSettings", + "ConnectorGorgiasDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorGorgiasDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorGrainDiscriminatedConnectionSettings", "ConnectorGrainDiscriminatedConnectionSettingsSettings", + "ConnectorGrainDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorGrainDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorGumroadDiscriminatedConnectionSettings", "ConnectorGumroadDiscriminatedConnectionSettingsSettings", + "ConnectorGumroadDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorGumroadDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorGustoDiscriminatedConnectionSettings", "ConnectorGustoDiscriminatedConnectionSettingsSettings", + "ConnectorGustoDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorGustoDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorHarvestDiscriminatedConnectionSettings", "ConnectorHarvestDiscriminatedConnectionSettingsSettings", + "ConnectorHarvestDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorHarvestDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorHighlevelDiscriminatedConnectionSettings", "ConnectorHighlevelDiscriminatedConnectionSettingsSettings", + "ConnectorHighlevelDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorHighlevelDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorHubspotDiscriminatedConnectionSettings", "ConnectorHubspotDiscriminatedConnectionSettingsSettings", + "ConnectorHubspotDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorHubspotDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorInstagramDiscriminatedConnectionSettings", "ConnectorInstagramDiscriminatedConnectionSettingsSettings", + "ConnectorInstagramDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorInstagramDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorIntercomDiscriminatedConnectionSettings", "ConnectorIntercomDiscriminatedConnectionSettingsSettings", + "ConnectorIntercomDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorIntercomDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorJiraDiscriminatedConnectionSettings", "ConnectorJiraDiscriminatedConnectionSettingsSettings", + "ConnectorJiraDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorJiraDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorKeapDiscriminatedConnectionSettings", "ConnectorKeapDiscriminatedConnectionSettingsSettings", + "ConnectorKeapDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorKeapDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorLeverDiscriminatedConnectionSettings", "ConnectorLeverDiscriminatedConnectionSettingsSettings", + "ConnectorLeverDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorLeverDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorLinearDiscriminatedConnectionSettings", "ConnectorLinearDiscriminatedConnectionSettingsSettings", + "ConnectorLinearDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorLinearDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorLinkedinDiscriminatedConnectionSettings", "ConnectorLinkedinDiscriminatedConnectionSettingsSettings", + "ConnectorLinkedinDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorLinkedinDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorLinkhutDiscriminatedConnectionSettings", "ConnectorLinkhutDiscriminatedConnectionSettingsSettings", + "ConnectorLinkhutDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorLinkhutDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorMailchimpDiscriminatedConnectionSettings", "ConnectorMailchimpDiscriminatedConnectionSettingsSettings", + "ConnectorMailchimpDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorMailchimpDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorMiroDiscriminatedConnectionSettings", "ConnectorMiroDiscriminatedConnectionSettingsSettings", + "ConnectorMiroDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorMiroDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorMondayDiscriminatedConnectionSettings", "ConnectorMondayDiscriminatedConnectionSettingsSettings", + "ConnectorMondayDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorMondayDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorMuralDiscriminatedConnectionSettings", "ConnectorMuralDiscriminatedConnectionSettingsSettings", + "ConnectorMuralDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorMuralDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorNamelyDiscriminatedConnectionSettings", "ConnectorNamelyDiscriminatedConnectionSettingsSettings", + "ConnectorNamelyDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorNamelyDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorNationbuilderDiscriminatedConnectionSettings", "ConnectorNationbuilderDiscriminatedConnectionSettingsSettings", + "ConnectorNationbuilderDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorNationbuilderDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorNetsuiteDiscriminatedConnectionSettings", "ConnectorNetsuiteDiscriminatedConnectionSettingsSettings", + "ConnectorNetsuiteDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorNetsuiteDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorNotionDiscriminatedConnectionSettings", "ConnectorNotionDiscriminatedConnectionSettingsSettings", + "ConnectorNotionDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorNotionDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorOdooDiscriminatedConnectionSettings", "ConnectorOdooDiscriminatedConnectionSettingsSettings", + "ConnectorOdooDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorOdooDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorOktaDiscriminatedConnectionSettings", "ConnectorOktaDiscriminatedConnectionSettingsSettings", + "ConnectorOktaDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorOktaDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorOsuDiscriminatedConnectionSettings", "ConnectorOsuDiscriminatedConnectionSettingsSettings", + "ConnectorOsuDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorOsuDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorOuraDiscriminatedConnectionSettings", "ConnectorOuraDiscriminatedConnectionSettingsSettings", + "ConnectorOuraDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorOuraDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorOutreachDiscriminatedConnectionSettings", "ConnectorOutreachDiscriminatedConnectionSettingsSettings", + "ConnectorOutreachDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorOutreachDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorPagerdutyDiscriminatedConnectionSettings", "ConnectorPagerdutyDiscriminatedConnectionSettingsSettings", + "ConnectorPagerdutyDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorPagerdutyDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorPandadocDiscriminatedConnectionSettings", "ConnectorPandadocDiscriminatedConnectionSettingsSettings", + "ConnectorPandadocDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorPandadocDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorPayfitDiscriminatedConnectionSettings", "ConnectorPayfitDiscriminatedConnectionSettingsSettings", + "ConnectorPayfitDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorPayfitDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorPaypalDiscriminatedConnectionSettings", "ConnectorPaypalDiscriminatedConnectionSettingsSettings", + "ConnectorPaypalDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorPaypalDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorPennylaneDiscriminatedConnectionSettings", "ConnectorPennylaneDiscriminatedConnectionSettingsSettings", + "ConnectorPennylaneDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorPennylaneDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorPinterestDiscriminatedConnectionSettings", "ConnectorPinterestDiscriminatedConnectionSettingsSettings", + "ConnectorPinterestDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorPinterestDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorPipedriveDiscriminatedConnectionSettings", "ConnectorPipedriveDiscriminatedConnectionSettingsSettings", + "ConnectorPipedriveDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorPipedriveDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorPodiumDiscriminatedConnectionSettings", "ConnectorPodiumDiscriminatedConnectionSettingsSettings", + "ConnectorPodiumDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorPodiumDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorProductboardDiscriminatedConnectionSettings", "ConnectorProductboardDiscriminatedConnectionSettingsSettings", + "ConnectorProductboardDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorProductboardDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorQualtricsDiscriminatedConnectionSettings", "ConnectorQualtricsDiscriminatedConnectionSettingsSettings", + "ConnectorQualtricsDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorQualtricsDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorQuickbooksDiscriminatedConnectionSettings", "ConnectorQuickbooksDiscriminatedConnectionSettingsSettings", + "ConnectorQuickbooksDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorQuickbooksDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorRedditDiscriminatedConnectionSettings", "ConnectorRedditDiscriminatedConnectionSettingsSettings", + "ConnectorRedditDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorRedditDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorSageDiscriminatedConnectionSettings", "ConnectorSageDiscriminatedConnectionSettingsSettings", + "ConnectorSageDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorSageDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorSalesforceDiscriminatedConnectionSettings", "ConnectorSalesforceDiscriminatedConnectionSettingsSettings", + "ConnectorSalesforceDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorSalesforceDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorSalesloftDiscriminatedConnectionSettings", "ConnectorSalesloftDiscriminatedConnectionSettingsSettings", + "ConnectorSalesloftDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorSalesloftDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorSegmentDiscriminatedConnectionSettings", "ConnectorSegmentDiscriminatedConnectionSettingsSettings", + "ConnectorSegmentDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorSegmentDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorServicem8DiscriminatedConnectionSettings", "ConnectorServicem8DiscriminatedConnectionSettingsSettings", + "ConnectorServicem8DiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorServicem8DiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorServicenowDiscriminatedConnectionSettings", "ConnectorServicenowDiscriminatedConnectionSettingsSettings", + "ConnectorServicenowDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorServicenowDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorSharepointDiscriminatedConnectionSettings", "ConnectorSharepointDiscriminatedConnectionSettingsSettings", + "ConnectorSharepointDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorSharepointDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorShopifyDiscriminatedConnectionSettings", "ConnectorShopifyDiscriminatedConnectionSettingsSettings", + "ConnectorShopifyDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorShopifyDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorSignnowDiscriminatedConnectionSettings", "ConnectorSignnowDiscriminatedConnectionSettingsSettings", + "ConnectorSignnowDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorSignnowDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorSlackDiscriminatedConnectionSettings", "ConnectorSlackDiscriminatedConnectionSettingsSettings", + "ConnectorSlackDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorSlackDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorSmartsheetDiscriminatedConnectionSettings", "ConnectorSmartsheetDiscriminatedConnectionSettingsSettings", + "ConnectorSmartsheetDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorSmartsheetDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorSnowflakeDiscriminatedConnectionSettings", "ConnectorSnowflakeDiscriminatedConnectionSettingsSettings", + "ConnectorSnowflakeDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorSnowflakeDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorSpotifyDiscriminatedConnectionSettings", "ConnectorSpotifyDiscriminatedConnectionSettingsSettings", + "ConnectorSpotifyDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorSpotifyDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorSquarespaceDiscriminatedConnectionSettings", "ConnectorSquarespaceDiscriminatedConnectionSettingsSettings", + "ConnectorSquarespaceDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorSquarespaceDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorSquareupDiscriminatedConnectionSettings", "ConnectorSquareupDiscriminatedConnectionSettingsSettings", + "ConnectorSquareupDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorSquareupDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorStackexchangeDiscriminatedConnectionSettings", "ConnectorStackexchangeDiscriminatedConnectionSettingsSettings", + "ConnectorStackexchangeDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorStackexchangeDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorStravaDiscriminatedConnectionSettings", "ConnectorStravaDiscriminatedConnectionSettingsSettings", + "ConnectorStravaDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorStravaDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorTeamworkDiscriminatedConnectionSettings", "ConnectorTeamworkDiscriminatedConnectionSettingsSettings", + "ConnectorTeamworkDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorTeamworkDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorTicktickDiscriminatedConnectionSettings", "ConnectorTicktickDiscriminatedConnectionSettingsSettings", + "ConnectorTicktickDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorTicktickDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorTimelyDiscriminatedConnectionSettings", "ConnectorTimelyDiscriminatedConnectionSettingsSettings", + "ConnectorTimelyDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorTimelyDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorTodoistDiscriminatedConnectionSettings", "ConnectorTodoistDiscriminatedConnectionSettingsSettings", + "ConnectorTodoistDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorTodoistDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorTremendousDiscriminatedConnectionSettings", "ConnectorTremendousDiscriminatedConnectionSettingsSettings", + "ConnectorTremendousDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorTremendousDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorTsheetsteamDiscriminatedConnectionSettings", "ConnectorTsheetsteamDiscriminatedConnectionSettingsSettings", + "ConnectorTsheetsteamDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorTsheetsteamDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorTumblrDiscriminatedConnectionSettings", "ConnectorTumblrDiscriminatedConnectionSettingsSettings", + "ConnectorTumblrDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorTumblrDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorTwinfieldDiscriminatedConnectionSettings", "ConnectorTwinfieldDiscriminatedConnectionSettingsSettings", + "ConnectorTwinfieldDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorTwinfieldDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorTwitchDiscriminatedConnectionSettings", "ConnectorTwitchDiscriminatedConnectionSettingsSettings", + "ConnectorTwitchDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorTwitchDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorTwitterDiscriminatedConnectionSettings", "ConnectorTwitterDiscriminatedConnectionSettingsSettings", + "ConnectorTwitterDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorTwitterDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorTypeformDiscriminatedConnectionSettings", "ConnectorTypeformDiscriminatedConnectionSettingsSettings", + "ConnectorTypeformDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorTypeformDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorUberDiscriminatedConnectionSettings", "ConnectorUberDiscriminatedConnectionSettingsSettings", + "ConnectorUberDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorUberDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorVimeoDiscriminatedConnectionSettings", "ConnectorVimeoDiscriminatedConnectionSettingsSettings", + "ConnectorVimeoDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorVimeoDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorWakatimeDiscriminatedConnectionSettings", "ConnectorWakatimeDiscriminatedConnectionSettingsSettings", + "ConnectorWakatimeDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorWakatimeDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorWealthboxDiscriminatedConnectionSettings", "ConnectorWealthboxDiscriminatedConnectionSettingsSettings", + "ConnectorWealthboxDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorWealthboxDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorWebflowDiscriminatedConnectionSettings", "ConnectorWebflowDiscriminatedConnectionSettingsSettings", + "ConnectorWebflowDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorWebflowDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorWhoopDiscriminatedConnectionSettings", "ConnectorWhoopDiscriminatedConnectionSettingsSettings", + "ConnectorWhoopDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorWhoopDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorWordpressDiscriminatedConnectionSettings", "ConnectorWordpressDiscriminatedConnectionSettingsSettings", + "ConnectorWordpressDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorWordpressDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorWrikeDiscriminatedConnectionSettings", "ConnectorWrikeDiscriminatedConnectionSettingsSettings", + "ConnectorWrikeDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorWrikeDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorXeroDiscriminatedConnectionSettings", "ConnectorXeroDiscriminatedConnectionSettingsSettings", + "ConnectorXeroDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorXeroDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorYahooDiscriminatedConnectionSettings", "ConnectorYahooDiscriminatedConnectionSettingsSettings", + "ConnectorYahooDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorYahooDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorYandexDiscriminatedConnectionSettings", "ConnectorYandexDiscriminatedConnectionSettingsSettings", + "ConnectorYandexDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorYandexDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorZapierDiscriminatedConnectionSettings", "ConnectorZapierDiscriminatedConnectionSettingsSettings", + "ConnectorZapierDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorZapierDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorZendeskDiscriminatedConnectionSettings", "ConnectorZendeskDiscriminatedConnectionSettingsSettings", + "ConnectorZendeskDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorZendeskDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorZenefitsDiscriminatedConnectionSettings", "ConnectorZenefitsDiscriminatedConnectionSettingsSettings", + "ConnectorZenefitsDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorZenefitsDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorZohoDeskDiscriminatedConnectionSettings", "ConnectorZohoDeskDiscriminatedConnectionSettingsSettings", + "ConnectorZohoDeskDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorZohoDeskDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorZohoDiscriminatedConnectionSettings", "ConnectorZohoDiscriminatedConnectionSettingsSettings", + "ConnectorZohoDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorZohoDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorZoomDiscriminatedConnectionSettings", "ConnectorZoomDiscriminatedConnectionSettingsSettings", + "ConnectorZoomDiscriminatedConnectionSettingsSettingsOAuth", + "ConnectorZoomDiscriminatedConnectionSettingsSettingsOAuthCredentials", "ConnectorAirtableDiscriminatedConnectionSettings", "ConnectorAirtableDiscriminatedConnectionSettingsSettings", "ConnectorApolloDiscriminatedConnectionSettings", @@ -338,6 +623,8 @@ "ConnectorRampDiscriminatedConnectionSettings", "ConnectorRampDiscriminatedConnectionSettingsSettings", "ConnectorSaltedgeDiscriminatedConnectionSettings", + "ConnectorSharepointOnpremDiscriminatedConnectionSettings", + "ConnectorSharepointOnpremDiscriminatedConnectionSettingsSettings", "ConnectorSplitwiseDiscriminatedConnectionSettings", "ConnectorSplitwiseDiscriminatedConnectionSettingsSettings", "ConnectorSplitwiseDiscriminatedConnectionSettingsSettingsCurrentUser", @@ -362,8 +649,40 @@ ] +class ConnectorAcceloDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorAcceloDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorAcceloDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorAcceloDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorAcceloDiscriminatedConnectionSettingsSettingsOAuth subdomain: str """The subdomain of your Accelo account (e.g., https://domain.api.accelo.com)""" @@ -412,8 +731,81 @@ class ConnectorAcceloDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorAcmeApikeyDiscriminatedConnectionSettingsSettings(BaseModel): + api_key: str + + +class ConnectorAcmeApikeyDiscriminatedConnectionSettings(BaseModel): + connector_name: Literal["acme-apikey"] + + id: Optional[str] = None + + connector: Optional[Connector] = None + + connector_config_id: Optional[str] = None + + created_at: Optional[str] = None + + customer_id: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integration: Optional[Integration] = None + + integration_id: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + settings: Optional[ConnectorAcmeApikeyDiscriminatedConnectionSettingsSettings] = None + + status: Optional[Literal["healthy", "disconnected", "error", "manual", "unknown"]] = None + + status_message: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorAcmeOauth2DiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorAcmeOauth2DiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorAcmeOauth2DiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorAcmeOauth2DiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorAcmeOauth2DiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -459,8 +851,40 @@ class ConnectorAcmeOauth2DiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorAdobeDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorAdobeDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorAdobeDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorAdobeDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorAdobeDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -506,11 +930,43 @@ class ConnectorAdobeDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorAdyenDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorAdyenDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorAdyenDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorAdyenDiscriminatedConnectionSettingsSettings(BaseModel): environment: str """The environment to use (e.g., live|test)""" - oauth: OAuthConnectionSettings + oauth: ConnectorAdyenDiscriminatedConnectionSettingsSettingsOAuth resource: str """ @@ -562,8 +1018,40 @@ class ConnectorAdyenDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorAircallDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorAircallDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorAircallDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorAircallDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorAircallDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -609,11 +1097,43 @@ class ConnectorAircallDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorAmazonDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorAmazonDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorAmazonDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorAmazonDiscriminatedConnectionSettingsSettings(BaseModel): extension: str """The domain extension for your Amazon account (e.g., com)""" - oauth: OAuthConnectionSettings + oauth: ConnectorAmazonDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -659,8 +1179,40 @@ class ConnectorAmazonDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorApaleoDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorApaleoDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorApaleoDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorApaleoDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorApaleoDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -706,8 +1258,40 @@ class ConnectorApaleoDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorAsanaDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorAsanaDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorAsanaDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorAsanaDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorAsanaDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -753,8 +1337,40 @@ class ConnectorAsanaDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorAttioDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorAttioDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorAttioDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorAttioDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorAttioDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -800,8 +1416,40 @@ class ConnectorAttioDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorAuth0DiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorAuth0DiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorAuth0DiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorAuth0DiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorAuth0DiscriminatedConnectionSettingsSettingsOAuth subdomain: str """The subdomain of your Auth0 account (e.g., https://domain.auth0.com)""" @@ -850,8 +1498,40 @@ class ConnectorAuth0DiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorAutodeskDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorAutodeskDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorAutodeskDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorAutodeskDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorAutodeskDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -897,6 +1577,38 @@ class ConnectorAutodeskDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorAwsDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorAwsDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorAwsDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorAwsDiscriminatedConnectionSettingsSettings(BaseModel): api_subdomain: str = FieldInfo(alias="apiSubdomain") """ @@ -907,7 +1619,7 @@ class ConnectorAwsDiscriminatedConnectionSettingsSettings(BaseModel): extension: str """The domain extension of your AWS account (e.g., com)""" - oauth: OAuthConnectionSettings + oauth: ConnectorAwsDiscriminatedConnectionSettingsSettingsOAuth subdomain: str """The subdomain of your AWS account (e.g., https://domain.amazoncognito.com)""" @@ -956,8 +1668,40 @@ class ConnectorAwsDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorBamboohrDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorBamboohrDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorBamboohrDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorBamboohrDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorBamboohrDiscriminatedConnectionSettingsSettingsOAuth subdomain: str """The subdomain of your BambooHR account (e.g., https://domain.bamboohr.com)""" @@ -997,11 +1741,43 @@ class ConnectorBamboohrDiscriminatedConnectionSettings(BaseModel): updates this object will be shallowly merged """ - settings: Optional[ConnectorBamboohrDiscriminatedConnectionSettingsSettings] = None + settings: Optional[ConnectorBamboohrDiscriminatedConnectionSettingsSettings] = None + + status: Optional[Literal["healthy", "disconnected", "error", "manual", "unknown"]] = None + + status_message: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorBasecampDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None - status: Optional[Literal["healthy", "disconnected", "error", "manual", "unknown"]] = None + token_type: Optional[str] = None - status_message: Optional[str] = None + +class ConnectorBasecampDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorBasecampDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None updated_at: Optional[str] = None @@ -1013,7 +1789,7 @@ class ConnectorBasecampDiscriminatedConnectionSettingsSettings(BaseModel): app_details: str = FieldInfo(alias="appDetails") """The details of your app (e.g., example-subdomain)""" - oauth: OAuthConnectionSettings + oauth: ConnectorBasecampDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -1059,6 +1835,38 @@ class ConnectorBasecampDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorBattlenetDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorBattlenetDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorBattlenetDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorBattlenetDiscriminatedConnectionSettingsSettings(BaseModel): api_domain: str = FieldInfo(alias="apiDomain") """ @@ -1068,7 +1876,7 @@ class ConnectorBattlenetDiscriminatedConnectionSettingsSettings(BaseModel): extension: str """The domain extension of your Battle.net account (e.g., com)""" - oauth: OAuthConnectionSettings + oauth: ConnectorBattlenetDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -1114,6 +1922,38 @@ class ConnectorBattlenetDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorBigcommerceDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorBigcommerceDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorBigcommerceDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorBigcommerceDiscriminatedConnectionSettingsSettings(BaseModel): account_uuid: str = FieldInfo(alias="accountUuid") """ @@ -1121,7 +1961,7 @@ class ConnectorBigcommerceDiscriminatedConnectionSettingsSettings(BaseModel): 123e4567-e89b-12d3-a456-426614174000) """ - oauth: OAuthConnectionSettings + oauth: ConnectorBigcommerceDiscriminatedConnectionSettingsSettingsOAuth store_hash: str = FieldInfo(alias="storeHash") """The store hash of your BigCommerce account (e.g., Example123)""" @@ -1170,8 +2010,40 @@ class ConnectorBigcommerceDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorBitbucketDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorBitbucketDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorBitbucketDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorBitbucketDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorBitbucketDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -1217,8 +2089,40 @@ class ConnectorBitbucketDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorBitlyDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorBitlyDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorBitlyDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorBitlyDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorBitlyDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -1264,8 +2168,40 @@ class ConnectorBitlyDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorBlackbaudDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorBlackbaudDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorBlackbaudDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorBlackbaudDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorBlackbaudDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -1311,8 +2247,40 @@ class ConnectorBlackbaudDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorBoldsignDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorBoldsignDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorBoldsignDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorBoldsignDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorBoldsignDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -1358,8 +2326,40 @@ class ConnectorBoldsignDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorBoxDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorBoxDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorBoxDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorBoxDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorBoxDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -1405,8 +2405,40 @@ class ConnectorBoxDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorBraintreeDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorBraintreeDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorBraintreeDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorBraintreeDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorBraintreeDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -1452,8 +2484,40 @@ class ConnectorBraintreeDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorCalendlyDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorCalendlyDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorCalendlyDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorCalendlyDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorCalendlyDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -1499,8 +2563,40 @@ class ConnectorCalendlyDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorClickupDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorClickupDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorClickupDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorClickupDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorClickupDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -1546,8 +2642,40 @@ class ConnectorClickupDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorCloseDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorCloseDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorCloseDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorCloseDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorCloseDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -1593,8 +2721,40 @@ class ConnectorCloseDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorConfluenceDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorConfluenceDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorConfluenceDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorConfluenceDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorConfluenceDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -1640,8 +2800,40 @@ class ConnectorConfluenceDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorContentfulDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorContentfulDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorContentfulDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorContentfulDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorContentfulDiscriminatedConnectionSettingsSettingsOAuth subdomain: str """The subdomain of your Contentful account (e.g., https://domain.contentful.com)""" @@ -1690,6 +2882,38 @@ class ConnectorContentfulDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorContentstackDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorContentstackDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorContentstackDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorContentstackDiscriminatedConnectionSettingsSettings(BaseModel): api_domain: str = FieldInfo(alias="apiDomain") """ @@ -1700,7 +2924,7 @@ class ConnectorContentstackDiscriminatedConnectionSettingsSettings(BaseModel): app_id: str = FieldInfo(alias="appId") """The app ID of your Contentstack account (e.g., example-subdomain)""" - oauth: OAuthConnectionSettings + oauth: ConnectorContentstackDiscriminatedConnectionSettingsSettingsOAuth subdomain: str """ @@ -1752,8 +2976,40 @@ class ConnectorContentstackDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorCopperDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorCopperDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorCopperDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorCopperDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorCopperDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -1799,8 +3055,40 @@ class ConnectorCopperDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorCorosDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorCorosDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorCorosDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorCorosDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorCorosDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -1846,8 +3134,40 @@ class ConnectorCorosDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorDatevDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorDatevDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorDatevDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorDatevDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorDatevDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -1893,8 +3213,40 @@ class ConnectorDatevDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorDeelDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorDeelDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorDeelDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorDeelDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorDeelDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -1940,8 +3292,40 @@ class ConnectorDeelDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorDialpadDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorDialpadDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorDialpadDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorDialpadDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorDialpadDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -1987,8 +3371,40 @@ class ConnectorDialpadDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorDigitaloceanDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorDigitaloceanDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorDigitaloceanDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorDigitaloceanDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorDigitaloceanDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -2034,8 +3450,40 @@ class ConnectorDigitaloceanDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorDiscordDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorDiscordDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorDiscordDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorDiscordDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorDiscordDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -2081,8 +3529,40 @@ class ConnectorDiscordDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorDocusignDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorDocusignDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorDocusignDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorDocusignDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorDocusignDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -2128,8 +3608,40 @@ class ConnectorDocusignDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorDropboxDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorDropboxDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorDropboxDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorDropboxDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorDropboxDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -2175,8 +3687,40 @@ class ConnectorDropboxDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorEbayDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorEbayDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorEbayDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorEbayDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorEbayDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -2222,8 +3766,40 @@ class ConnectorEbayDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorEgnyteDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorEgnyteDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorEgnyteDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorEgnyteDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorEgnyteDiscriminatedConnectionSettingsSettingsOAuth subdomain: str """The subdomain of your Egnyte account (e.g., https://domain.egnyte.com)""" @@ -2252,28 +3828,60 @@ class ConnectorEgnyteDiscriminatedConnectionSettings(BaseModel): display_name: Optional[str] = None - integration: Optional[Integration] = None + integration: Optional[Integration] = None + + integration_id: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + settings: Optional[ConnectorEgnyteDiscriminatedConnectionSettingsSettings] = None + + status: Optional[Literal["healthy", "disconnected", "error", "manual", "unknown"]] = None + + status_message: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorEnvoyDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None - integration_id: Optional[str] = None - metadata: Optional[Dict[str, object]] = None - """ - JSON object can can be used to associate arbitrary metadata to avoid needing a - separate 1-1 table just for simple key values in your application. During - updates this object will be shallowly merged - """ +class ConnectorEnvoyDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None - settings: Optional[ConnectorEgnyteDiscriminatedConnectionSettingsSettings] = None + credentials: Optional[ConnectorEnvoyDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" - status: Optional[Literal["healthy", "disconnected", "error", "manual", "unknown"]] = None + last_fetched_at: Optional[str] = None - status_message: Optional[str] = None + metadata: Optional[Dict[str, object]] = None updated_at: Optional[str] = None class ConnectorEnvoyDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorEnvoyDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -2319,8 +3927,40 @@ class ConnectorEnvoyDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorEventbriteDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorEventbriteDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorEventbriteDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorEventbriteDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorEventbriteDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -2366,8 +4006,40 @@ class ConnectorEventbriteDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorExistDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorExistDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorExistDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorExistDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorExistDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -2413,8 +4085,40 @@ class ConnectorExistDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorFacebookDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorFacebookDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorFacebookDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorFacebookDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorFacebookDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -2460,8 +4164,40 @@ class ConnectorFacebookDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorFactorialDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorFactorialDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorFactorialDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorFactorialDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorFactorialDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -2507,8 +4243,40 @@ class ConnectorFactorialDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorFigmaDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorFigmaDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorFigmaDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorFigmaDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorFigmaDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -2554,8 +4322,40 @@ class ConnectorFigmaDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorFitbitDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorFitbitDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorFitbitDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorFitbitDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorFitbitDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -2601,8 +4401,40 @@ class ConnectorFitbitDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorFortnoxDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorFortnoxDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorFortnoxDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorFortnoxDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorFortnoxDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -2648,8 +4480,40 @@ class ConnectorFortnoxDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorFreshbooksDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorFreshbooksDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorFreshbooksDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorFreshbooksDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorFreshbooksDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -2695,8 +4559,40 @@ class ConnectorFreshbooksDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorFrontDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorFrontDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorFrontDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorFrontDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorFrontDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -2742,8 +4638,40 @@ class ConnectorFrontDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorGitHubDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorGitHubDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorGitHubDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorGitHubDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorGitHubDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -2789,8 +4717,40 @@ class ConnectorGitHubDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorGitlabDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorGitlabDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorGitlabDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorGitlabDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorGitlabDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -2836,11 +4796,43 @@ class ConnectorGitlabDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorGongDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorGongDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorGongDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorGongDiscriminatedConnectionSettingsSettings(BaseModel): api_base_url_for_customer: str """The base URL of your Gong account (e.g., example)""" - oauth: OAuthConnectionSettings + oauth: ConnectorGongDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -2877,17 +4869,49 @@ class ConnectorGongDiscriminatedConnectionSettings(BaseModel): updates this object will be shallowly merged """ - settings: Optional[ConnectorGongDiscriminatedConnectionSettingsSettings] = None + settings: Optional[ConnectorGongDiscriminatedConnectionSettingsSettings] = None + + status: Optional[Literal["healthy", "disconnected", "error", "manual", "unknown"]] = None + + status_message: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorGoogleCalendarDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None - status: Optional[Literal["healthy", "disconnected", "error", "manual", "unknown"]] = None + scope: Optional[str] = None - status_message: Optional[str] = None + token_type: Optional[str] = None + + +class ConnectorGoogleCalendarDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorGoogleCalendarDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None updated_at: Optional[str] = None class ConnectorGoogleCalendarDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorGoogleCalendarDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -2933,8 +4957,40 @@ class ConnectorGoogleCalendarDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorGoogleDocsDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorGoogleDocsDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorGoogleDocsDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorGoogleDocsDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorGoogleDocsDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -2980,8 +5036,40 @@ class ConnectorGoogleDocsDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorGoogleDriveDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorGoogleDriveDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorGoogleDriveDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorGoogleDriveDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorGoogleDriveDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -3027,8 +5115,40 @@ class ConnectorGoogleDriveDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorGoogleMailDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorGoogleMailDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorGoogleMailDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorGoogleMailDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorGoogleMailDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -3074,8 +5194,40 @@ class ConnectorGoogleMailDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorGoogleSheetDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorGoogleSheetDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorGoogleSheetDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorGoogleSheetDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorGoogleSheetDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -3121,8 +5273,40 @@ class ConnectorGoogleSheetDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorGorgiasDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorGorgiasDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorGorgiasDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorGorgiasDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorGorgiasDiscriminatedConnectionSettingsSettingsOAuth subdomain: str """The subdomain of your Gorgias account (e.g., https://domain.gorgias.com)""" @@ -3171,8 +5355,40 @@ class ConnectorGorgiasDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorGrainDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorGrainDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorGrainDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorGrainDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorGrainDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -3218,8 +5434,40 @@ class ConnectorGrainDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorGumroadDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorGumroadDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorGumroadDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorGumroadDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorGumroadDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -3265,8 +5513,40 @@ class ConnectorGumroadDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorGustoDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorGustoDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorGustoDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorGustoDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorGustoDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -3312,11 +5592,43 @@ class ConnectorGustoDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorHarvestDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorHarvestDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorHarvestDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorHarvestDiscriminatedConnectionSettingsSettings(BaseModel): app_details: str = FieldInfo(alias="appDetails") """The details of your app (e.g., example-subdomain)""" - oauth: OAuthConnectionSettings + oauth: ConnectorHarvestDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -3362,8 +5674,40 @@ class ConnectorHarvestDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorHighlevelDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorHighlevelDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorHighlevelDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorHighlevelDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorHighlevelDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -3409,8 +5753,40 @@ class ConnectorHighlevelDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorHubspotDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorHubspotDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorHubspotDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorHubspotDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorHubspotDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -3456,8 +5832,40 @@ class ConnectorHubspotDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorInstagramDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorInstagramDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorInstagramDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorInstagramDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorInstagramDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -3503,8 +5911,40 @@ class ConnectorInstagramDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorIntercomDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorIntercomDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorIntercomDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorIntercomDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorIntercomDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -3550,8 +5990,40 @@ class ConnectorIntercomDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorJiraDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorJiraDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorJiraDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorJiraDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorJiraDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -3597,8 +6069,40 @@ class ConnectorJiraDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorKeapDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorKeapDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorKeapDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorKeapDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorKeapDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -3644,8 +6148,40 @@ class ConnectorKeapDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorLeverDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorLeverDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorLeverDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorLeverDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorLeverDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -3691,8 +6227,40 @@ class ConnectorLeverDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorLinearDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorLinearDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorLinearDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorLinearDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorLinearDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -3738,8 +6306,40 @@ class ConnectorLinearDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorLinkedinDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorLinkedinDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorLinkedinDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorLinkedinDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorLinkedinDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -3785,8 +6385,40 @@ class ConnectorLinkedinDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorLinkhutDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorLinkhutDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorLinkhutDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorLinkhutDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorLinkhutDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -3832,11 +6464,43 @@ class ConnectorLinkhutDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorMailchimpDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorMailchimpDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorMailchimpDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorMailchimpDiscriminatedConnectionSettingsSettings(BaseModel): dc: str """The data center for your account (e.g., us6)""" - oauth: OAuthConnectionSettings + oauth: ConnectorMailchimpDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -3882,8 +6546,40 @@ class ConnectorMailchimpDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorMiroDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorMiroDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorMiroDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorMiroDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorMiroDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -3929,8 +6625,40 @@ class ConnectorMiroDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorMondayDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorMondayDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorMondayDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorMondayDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorMondayDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -3976,8 +6704,40 @@ class ConnectorMondayDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorMuralDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorMuralDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorMuralDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorMuralDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorMuralDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -4023,11 +6783,43 @@ class ConnectorMuralDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorNamelyDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorNamelyDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorNamelyDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorNamelyDiscriminatedConnectionSettingsSettings(BaseModel): company: str """The name of your Namely company (e.g., example)""" - oauth: OAuthConnectionSettings + oauth: ConnectorNamelyDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -4073,11 +6865,43 @@ class ConnectorNamelyDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorNationbuilderDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorNationbuilderDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorNationbuilderDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorNationbuilderDiscriminatedConnectionSettingsSettings(BaseModel): account_id: str = FieldInfo(alias="accountId") """The account ID of your NationBuilder account (e.g., example-subdomain)""" - oauth: OAuthConnectionSettings + oauth: ConnectorNationbuilderDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -4105,20 +6929,52 @@ class ConnectorNationbuilderDiscriminatedConnectionSettings(BaseModel): integration: Optional[Integration] = None - integration_id: Optional[str] = None + integration_id: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + settings: Optional[ConnectorNationbuilderDiscriminatedConnectionSettingsSettings] = None + + status: Optional[Literal["healthy", "disconnected", "error", "manual", "unknown"]] = None + + status_message: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorNetsuiteDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + - metadata: Optional[Dict[str, object]] = None - """ - JSON object can can be used to associate arbitrary metadata to avoid needing a - separate 1-1 table just for simple key values in your application. During - updates this object will be shallowly merged - """ +class ConnectorNetsuiteDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None - settings: Optional[ConnectorNationbuilderDiscriminatedConnectionSettingsSettings] = None + credentials: Optional[ConnectorNetsuiteDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" - status: Optional[Literal["healthy", "disconnected", "error", "manual", "unknown"]] = None + last_fetched_at: Optional[str] = None - status_message: Optional[str] = None + metadata: Optional[Dict[str, object]] = None updated_at: Optional[str] = None @@ -4127,7 +6983,7 @@ class ConnectorNetsuiteDiscriminatedConnectionSettingsSettings(BaseModel): account_id: str = FieldInfo(alias="accountId") """The account ID of your NetSuite account (e.g., tstdrv231585)""" - oauth: OAuthConnectionSettings + oauth: ConnectorNetsuiteDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -4173,8 +7029,40 @@ class ConnectorNetsuiteDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorNotionDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorNotionDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorNotionDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorNotionDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorNotionDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -4220,8 +7108,40 @@ class ConnectorNotionDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorOdooDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorOdooDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorOdooDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorOdooDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorOdooDiscriminatedConnectionSettingsSettingsOAuth server_url: str = FieldInfo(alias="serverUrl") """The domain of your Odoo account (e.g., https://example-subdomain)""" @@ -4270,8 +7190,40 @@ class ConnectorOdooDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorOktaDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorOktaDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorOktaDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorOktaDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorOktaDiscriminatedConnectionSettingsSettingsOAuth subdomain: str """The subdomain of your Okta account (e.g., https://domain.okta.com)""" @@ -4320,8 +7272,40 @@ class ConnectorOktaDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorOsuDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorOsuDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorOsuDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorOsuDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorOsuDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -4367,8 +7351,40 @@ class ConnectorOsuDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorOuraDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorOuraDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorOuraDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorOuraDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorOuraDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -4414,8 +7430,40 @@ class ConnectorOuraDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorOutreachDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorOutreachDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorOutreachDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorOutreachDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorOutreachDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -4461,8 +7509,40 @@ class ConnectorOutreachDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorPagerdutyDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorPagerdutyDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorPagerdutyDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorPagerdutyDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorPagerdutyDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -4508,8 +7588,40 @@ class ConnectorPagerdutyDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorPandadocDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorPandadocDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorPandadocDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorPandadocDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorPandadocDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -4555,8 +7667,40 @@ class ConnectorPandadocDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorPayfitDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorPayfitDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorPayfitDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorPayfitDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorPayfitDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -4602,8 +7746,40 @@ class ConnectorPayfitDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorPaypalDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorPaypalDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorPaypalDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorPaypalDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorPaypalDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -4649,8 +7825,40 @@ class ConnectorPaypalDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorPennylaneDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorPennylaneDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorPennylaneDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorPennylaneDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorPennylaneDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -4696,8 +7904,40 @@ class ConnectorPennylaneDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorPinterestDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorPinterestDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorPinterestDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorPinterestDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorPinterestDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -4734,11 +7974,43 @@ class ConnectorPinterestDiscriminatedConnectionSettings(BaseModel): updates this object will be shallowly merged """ - settings: Optional[ConnectorPinterestDiscriminatedConnectionSettingsSettings] = None + settings: Optional[ConnectorPinterestDiscriminatedConnectionSettingsSettings] = None + + status: Optional[Literal["healthy", "disconnected", "error", "manual", "unknown"]] = None + + status_message: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorPipedriveDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None - status: Optional[Literal["healthy", "disconnected", "error", "manual", "unknown"]] = None + token_type: Optional[str] = None - status_message: Optional[str] = None + +class ConnectorPipedriveDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorPipedriveDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None updated_at: Optional[str] = None @@ -4747,7 +8019,7 @@ class ConnectorPipedriveDiscriminatedConnectionSettingsSettings(BaseModel): api_domain: str """The API URL of your Pipedrive account (e.g., example)""" - oauth: OAuthConnectionSettings + oauth: ConnectorPipedriveDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -4793,11 +8065,43 @@ class ConnectorPipedriveDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorPodiumDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorPodiumDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorPodiumDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorPodiumDiscriminatedConnectionSettingsSettings(BaseModel): api_version: str = FieldInfo(alias="apiVersion") """The API version of your Podium account (e.g., example-subdomain)""" - oauth: OAuthConnectionSettings + oauth: ConnectorPodiumDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -4843,8 +8147,40 @@ class ConnectorPodiumDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorProductboardDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorProductboardDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorProductboardDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorProductboardDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorProductboardDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -4890,8 +8226,40 @@ class ConnectorProductboardDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorQualtricsDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorQualtricsDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorQualtricsDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorQualtricsDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorQualtricsDiscriminatedConnectionSettingsSettingsOAuth subdomain: str """The subdomain of your Qualtrics account (e.g., https://domain.qualtrics.com)""" @@ -4940,8 +8308,40 @@ class ConnectorQualtricsDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorQuickbooksDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorQuickbooksDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorQuickbooksDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorQuickbooksDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorQuickbooksDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -4987,8 +8387,40 @@ class ConnectorQuickbooksDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorRedditDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorRedditDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorRedditDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorRedditDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorRedditDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -5034,8 +8466,40 @@ class ConnectorRedditDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorSageDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorSageDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorSageDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorSageDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorSageDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -5081,11 +8545,43 @@ class ConnectorSageDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorSalesforceDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorSalesforceDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorSalesforceDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorSalesforceDiscriminatedConnectionSettingsSettings(BaseModel): instance_url: str """The instance URL of your Salesforce account (e.g., example)""" - oauth: OAuthConnectionSettings + oauth: ConnectorSalesforceDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -5131,8 +8627,40 @@ class ConnectorSalesforceDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorSalesloftDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorSalesloftDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorSalesloftDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorSalesloftDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorSalesloftDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -5178,8 +8706,40 @@ class ConnectorSalesloftDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorSegmentDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorSegmentDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorSegmentDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorSegmentDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorSegmentDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -5225,8 +8785,40 @@ class ConnectorSegmentDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorServicem8DiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorServicem8DiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorServicem8DiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorServicem8DiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorServicem8DiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -5272,8 +8864,40 @@ class ConnectorServicem8DiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorServicenowDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorServicenowDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorServicenowDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorServicenowDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorServicenowDiscriminatedConnectionSettingsSettingsOAuth subdomain: str """The subdomain of your ServiceNow account (e.g., https://domain.service-now.com)""" @@ -5322,8 +8946,40 @@ class ConnectorServicenowDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorSharepointDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorSharepointDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorSharepointDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorSharepointDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorSharepointDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -5364,13 +9020,45 @@ class ConnectorSharepointDiscriminatedConnectionSettings(BaseModel): status: Optional[Literal["healthy", "disconnected", "error", "manual", "unknown"]] = None - status_message: Optional[str] = None + status_message: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorShopifyDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorShopifyDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorShopifyDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None updated_at: Optional[str] = None class ConnectorShopifyDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorShopifyDiscriminatedConnectionSettingsSettingsOAuth subdomain: str """The subdomain of your Shopify account (e.g., https://domain.myshopify.com)""" @@ -5419,8 +9107,40 @@ class ConnectorShopifyDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorSignnowDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorSignnowDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorSignnowDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorSignnowDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorSignnowDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -5466,8 +9186,40 @@ class ConnectorSignnowDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorSlackDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorSlackDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorSlackDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorSlackDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorSlackDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -5513,8 +9265,40 @@ class ConnectorSlackDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorSmartsheetDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorSmartsheetDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorSmartsheetDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorSmartsheetDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorSmartsheetDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -5560,8 +9344,40 @@ class ConnectorSmartsheetDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorSnowflakeDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorSnowflakeDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorSnowflakeDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorSnowflakeDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorSnowflakeDiscriminatedConnectionSettingsSettingsOAuth snowflake_account_url: str """The domain of your Snowflake account (e.g., https://example-subdomain)""" @@ -5610,8 +9426,40 @@ class ConnectorSnowflakeDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorSpotifyDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorSpotifyDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorSpotifyDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorSpotifyDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorSpotifyDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -5657,11 +9505,43 @@ class ConnectorSpotifyDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorSquarespaceDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorSquarespaceDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorSquarespaceDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorSquarespaceDiscriminatedConnectionSettingsSettings(BaseModel): customapp_description: str = FieldInfo(alias="customappDescription") """The user agent of your custom app (e.g., example-subdomain)""" - oauth: OAuthConnectionSettings + oauth: ConnectorSquarespaceDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -5707,8 +9587,40 @@ class ConnectorSquarespaceDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorSquareupDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorSquareupDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorSquareupDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorSquareupDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorSquareupDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -5754,8 +9666,40 @@ class ConnectorSquareupDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorStackexchangeDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorStackexchangeDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorStackexchangeDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorStackexchangeDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorStackexchangeDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -5801,8 +9745,40 @@ class ConnectorStackexchangeDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorStravaDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorStravaDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorStravaDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorStravaDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorStravaDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -5848,8 +9824,40 @@ class ConnectorStravaDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorTeamworkDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorTeamworkDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorTeamworkDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorTeamworkDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorTeamworkDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -5895,8 +9903,40 @@ class ConnectorTeamworkDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorTicktickDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorTicktickDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorTicktickDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorTicktickDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorTicktickDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -5942,8 +9982,40 @@ class ConnectorTicktickDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorTimelyDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorTimelyDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorTimelyDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorTimelyDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorTimelyDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -5973,24 +10045,56 @@ class ConnectorTimelyDiscriminatedConnectionSettings(BaseModel): integration_id: Optional[str] = None - metadata: Optional[Dict[str, object]] = None - """ - JSON object can can be used to associate arbitrary metadata to avoid needing a - separate 1-1 table just for simple key values in your application. During - updates this object will be shallowly merged - """ + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + settings: Optional[ConnectorTimelyDiscriminatedConnectionSettingsSettings] = None + + status: Optional[Literal["healthy", "disconnected", "error", "manual", "unknown"]] = None + + status_message: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorTodoistDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorTodoistDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None - settings: Optional[ConnectorTimelyDiscriminatedConnectionSettingsSettings] = None + credentials: Optional[ConnectorTodoistDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" - status: Optional[Literal["healthy", "disconnected", "error", "manual", "unknown"]] = None + last_fetched_at: Optional[str] = None - status_message: Optional[str] = None + metadata: Optional[Dict[str, object]] = None updated_at: Optional[str] = None class ConnectorTodoistDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorTodoistDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -6036,8 +10140,40 @@ class ConnectorTodoistDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorTremendousDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorTremendousDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorTremendousDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorTremendousDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorTremendousDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -6083,8 +10219,40 @@ class ConnectorTremendousDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorTsheetsteamDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorTsheetsteamDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorTsheetsteamDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorTsheetsteamDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorTsheetsteamDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -6130,8 +10298,40 @@ class ConnectorTsheetsteamDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorTumblrDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorTumblrDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorTumblrDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorTumblrDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorTumblrDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -6177,11 +10377,43 @@ class ConnectorTumblrDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorTwinfieldDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorTwinfieldDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorTwinfieldDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorTwinfieldDiscriminatedConnectionSettingsSettings(BaseModel): cluster: str """The cluster to your Twinfield instance (e.g., https://accounting.twinfield.com)""" - oauth: OAuthConnectionSettings + oauth: ConnectorTwinfieldDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -6227,8 +10459,40 @@ class ConnectorTwinfieldDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorTwitchDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorTwitchDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorTwitchDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorTwitchDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorTwitchDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -6274,8 +10538,40 @@ class ConnectorTwitchDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorTwitterDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorTwitterDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorTwitterDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorTwitterDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorTwitterDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -6321,8 +10617,40 @@ class ConnectorTwitterDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorTypeformDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorTypeformDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorTypeformDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorTypeformDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorTypeformDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -6368,8 +10696,40 @@ class ConnectorTypeformDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorUberDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorUberDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorUberDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorUberDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorUberDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -6415,8 +10775,40 @@ class ConnectorUberDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorVimeoDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorVimeoDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorVimeoDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorVimeoDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorVimeoDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -6462,8 +10854,40 @@ class ConnectorVimeoDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorWakatimeDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorWakatimeDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorWakatimeDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorWakatimeDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorWakatimeDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -6509,8 +10933,40 @@ class ConnectorWakatimeDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorWealthboxDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorWealthboxDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorWealthboxDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorWealthboxDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorWealthboxDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -6556,8 +11012,40 @@ class ConnectorWealthboxDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorWebflowDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorWebflowDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorWebflowDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorWebflowDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorWebflowDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -6594,17 +11082,49 @@ class ConnectorWebflowDiscriminatedConnectionSettings(BaseModel): updates this object will be shallowly merged """ - settings: Optional[ConnectorWebflowDiscriminatedConnectionSettingsSettings] = None + settings: Optional[ConnectorWebflowDiscriminatedConnectionSettingsSettings] = None + + status: Optional[Literal["healthy", "disconnected", "error", "manual", "unknown"]] = None + + status_message: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorWhoopDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None - status: Optional[Literal["healthy", "disconnected", "error", "manual", "unknown"]] = None - status_message: Optional[str] = None +class ConnectorWhoopDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorWhoopDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None updated_at: Optional[str] = None class ConnectorWhoopDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorWhoopDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -6650,8 +11170,40 @@ class ConnectorWhoopDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorWordpressDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorWordpressDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorWordpressDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorWordpressDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorWordpressDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -6697,11 +11249,43 @@ class ConnectorWordpressDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorWrikeDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorWrikeDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorWrikeDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorWrikeDiscriminatedConnectionSettingsSettings(BaseModel): host: str """The domain of your Wrike account (e.g., https://example-subdomain)""" - oauth: OAuthConnectionSettings + oauth: ConnectorWrikeDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -6747,8 +11331,40 @@ class ConnectorWrikeDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorXeroDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorXeroDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorXeroDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorXeroDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorXeroDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -6794,6 +11410,38 @@ class ConnectorXeroDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorYahooDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorYahooDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorYahooDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorYahooDiscriminatedConnectionSettingsSettings(BaseModel): api_domain: str = FieldInfo(alias="apiDomain") """ @@ -6801,7 +11449,7 @@ class ConnectorYahooDiscriminatedConnectionSettingsSettings(BaseModel): https://fantasysports.yahooapis.com) """ - oauth: OAuthConnectionSettings + oauth: ConnectorYahooDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -6847,8 +11495,40 @@ class ConnectorYahooDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorYandexDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorYandexDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorYandexDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorYandexDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorYandexDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -6894,8 +11574,40 @@ class ConnectorYandexDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorZapierDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorZapierDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorZapierDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorZapierDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorZapierDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -6941,8 +11653,40 @@ class ConnectorZapierDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorZendeskDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorZendeskDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorZendeskDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorZendeskDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorZendeskDiscriminatedConnectionSettingsSettingsOAuth subdomain: str """The subdomain of your Zendesk account (e.g., https://domain.zendesk.com)""" @@ -6991,8 +11735,40 @@ class ConnectorZendeskDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorZenefitsDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorZenefitsDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorZenefitsDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorZenefitsDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorZenefitsDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -7038,11 +11814,43 @@ class ConnectorZenefitsDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorZohoDeskDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorZohoDeskDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorZohoDeskDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorZohoDeskDiscriminatedConnectionSettingsSettings(BaseModel): extension: str """The domain extension of your Zoho account (e.g., https://accounts.zoho.com/)""" - oauth: OAuthConnectionSettings + oauth: ConnectorZohoDeskDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -7088,11 +11896,43 @@ class ConnectorZohoDeskDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorZohoDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorZohoDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorZohoDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorZohoDiscriminatedConnectionSettingsSettings(BaseModel): extension: str """The domain extension of your Zoho account (e.g., https://accounts.zoho.com/)""" - oauth: OAuthConnectionSettings + oauth: ConnectorZohoDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -7138,8 +11978,40 @@ class ConnectorZohoDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorZoomDiscriminatedConnectionSettingsSettingsOAuthCredentials(BaseModel): + access_token: str + + client_id: Optional[str] = None + """Client ID used for the connection""" + + expires_at: Optional[str] = None + + expires_in: Optional[float] = None + + raw: Optional[Dict[str, object]] = None + + refresh_token: Optional[str] = None + + scope: Optional[str] = None + + token_type: Optional[str] = None + + +class ConnectorZoomDiscriminatedConnectionSettingsSettingsOAuth(BaseModel): + created_at: Optional[str] = None + + credentials: Optional[ConnectorZoomDiscriminatedConnectionSettingsSettingsOAuthCredentials] = None + """Output of the postConnect hook for oauth2 connectors""" + + last_fetched_at: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + + updated_at: Optional[str] = None + + class ConnectorZoomDiscriminatedConnectionSettingsSettings(BaseModel): - oauth: OAuthConnectionSettings + oauth: ConnectorZoomDiscriminatedConnectionSettingsSettingsOAuth access_token: Optional[str] = None """Same as oauth.credentials.access_token, but more convenient to access. @@ -8058,6 +12930,51 @@ class ConnectorSaltedgeDiscriminatedConnectionSettings(BaseModel): updated_at: Optional[str] = None +class ConnectorSharepointOnpremDiscriminatedConnectionSettingsSettings(BaseModel): + password: str + + site_url: str + + username: str + + +class ConnectorSharepointOnpremDiscriminatedConnectionSettings(BaseModel): + connector_name: Literal["sharepoint-onprem"] + + id: Optional[str] = None + + connector: Optional[Connector] = None + + connector_config_id: Optional[str] = None + + created_at: Optional[str] = None + + customer_id: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integration: Optional[Integration] = None + + integration_id: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + settings: Optional[ConnectorSharepointOnpremDiscriminatedConnectionSettingsSettings] = None + + status: Optional[Literal["healthy", "disconnected", "error", "manual", "unknown"]] = None + + status_message: Optional[str] = None + + updated_at: Optional[str] = None + + class ConnectorSplitwiseDiscriminatedConnectionSettingsSettingsCurrentUserNotifications(BaseModel): added_as_friend: bool @@ -8506,6 +13423,7 @@ class ConnectorYodleeDiscriminatedConnectionSettings(BaseModel): ListConnectionsResponse: TypeAlias = Union[ ConnectorAcceloDiscriminatedConnectionSettings, + ConnectorAcmeApikeyDiscriminatedConnectionSettings, ConnectorAcmeOauth2DiscriminatedConnectionSettings, ConnectorAdobeDiscriminatedConnectionSettings, ConnectorAdyenDiscriminatedConnectionSettings, @@ -8666,6 +13584,7 @@ class ConnectorYodleeDiscriminatedConnectionSettings(BaseModel): ConnectorPostgresDiscriminatedConnectionSettings, ConnectorRampDiscriminatedConnectionSettings, ConnectorSaltedgeDiscriminatedConnectionSettings, + ConnectorSharepointOnpremDiscriminatedConnectionSettings, ConnectorSplitwiseDiscriminatedConnectionSettings, ConnectorStripeDiscriminatedConnectionSettings, ConnectorTellerDiscriminatedConnectionSettings, diff --git a/src/openint/types/oauth_connection_settings.py b/src/openint/types/oauth_connection_settings.py deleted file mode 100644 index 29f24ad..0000000 --- a/src/openint/types/oauth_connection_settings.py +++ /dev/null @@ -1,39 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from typing import Dict, Optional - -from .._models import BaseModel - -__all__ = ["OAuthConnectionSettings", "Credentials"] - - -class Credentials(BaseModel): - access_token: str - - client_id: Optional[str] = None - """Client ID used for the connection""" - - expires_at: Optional[str] = None - - expires_in: Optional[float] = None - - raw: Optional[Dict[str, object]] = None - - refresh_token: Optional[str] = None - - scope: Optional[str] = None - - token_type: Optional[str] = None - - -class OAuthConnectionSettings(BaseModel): - created_at: Optional[str] = None - - credentials: Optional[Credentials] = None - """Output of the postConnect hook for oauth2 connectors""" - - last_fetched_at: Optional[str] = None - - metadata: Optional[Dict[str, object]] = None - - updated_at: Optional[str] = None diff --git a/src/openint/types/oauth_connection_settings_param.py b/src/openint/types/oauth_connection_settings_param.py deleted file mode 100644 index c60bc1c..0000000 --- a/src/openint/types/oauth_connection_settings_param.py +++ /dev/null @@ -1,40 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from __future__ import annotations - -from typing import Dict, Optional -from typing_extensions import Required, TypedDict - -__all__ = ["OAuthConnectionSettingsParam", "Credentials"] - - -class Credentials(TypedDict, total=False): - access_token: Required[str] - - client_id: str - """Client ID used for the connection""" - - expires_at: str - - expires_in: float - - raw: Dict[str, object] - - refresh_token: str - - scope: str - - token_type: str - - -class OAuthConnectionSettingsParam(TypedDict, total=False): - created_at: str - - credentials: Credentials - """Output of the postConnect hook for oauth2 connectors""" - - last_fetched_at: str - - metadata: Optional[Dict[str, object]] - - updated_at: str diff --git a/src/openint/types/oauth_connector_config.py b/src/openint/types/oauth_connector_config.py deleted file mode 100644 index eea982c..0000000 --- a/src/openint/types/oauth_connector_config.py +++ /dev/null @@ -1,18 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from typing import List, Optional - -from .._models import BaseModel - -__all__ = ["OAuthConnectorConfig"] - - -class OAuthConnectorConfig(BaseModel): - client_id: Optional[str] = None - - client_secret: Optional[str] = None - - redirect_uri: Optional[str] = None - """Custom redirect URI""" - - scopes: Optional[List[str]] = None From 7dc816a1047a7b076b85745aa9cea3074e8657ea Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Sat, 28 Jun 2025 08:40:05 +0000 Subject: [PATCH 15/32] chore(ci): only run for pushes and fork pull requests --- .github/workflows/ci.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3c15f9e..3f895fc 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,6 +17,7 @@ jobs: timeout-minutes: 10 name: lint runs-on: ${{ github.repository == 'stainless-sdks/openint-python' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }} + if: github.event_name == 'push' || github.event.pull_request.head.repo.fork steps: - uses: actions/checkout@v4 @@ -42,6 +43,7 @@ jobs: contents: read id-token: write runs-on: depot-ubuntu-24.04 + if: github.event_name == 'push' || github.event.pull_request.head.repo.fork steps: - uses: actions/checkout@v4 @@ -62,6 +64,7 @@ jobs: timeout-minutes: 10 name: test runs-on: ${{ github.repository == 'stainless-sdks/openint-python' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }} + if: github.event_name == 'push' || github.event.pull_request.head.repo.fork steps: - uses: actions/checkout@v4 From 3c5fa29b84f0bfdf76f05b7adca4cf8374afe425 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Mon, 30 Jun 2025 02:34:35 +0000 Subject: [PATCH 16/32] fix(ci): correct conditional --- .github/workflows/ci.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3f895fc..97de9a4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -36,14 +36,13 @@ jobs: run: ./scripts/lint upload: - if: github.repository == 'stainless-sdks/openint-python' + if: github.repository == 'stainless-sdks/openint-python' && (github.event_name == 'push' || github.event.pull_request.head.repo.fork) timeout-minutes: 10 name: upload permissions: contents: read id-token: write runs-on: depot-ubuntu-24.04 - if: github.event_name == 'push' || github.event.pull_request.head.repo.fork steps: - uses: actions/checkout@v4 From 3617fa8cb1ce2407e0368a4bde03a29380dc6163 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Wed, 2 Jul 2025 05:10:56 +0000 Subject: [PATCH 17/32] chore(ci): change upload type --- .github/workflows/ci.yml | 18 ++++++++++++++++-- scripts/utils/upload-artifact.sh | 12 +++++++----- 2 files changed, 23 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 97de9a4..6dedd61 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -35,10 +35,10 @@ jobs: - name: Run lints run: ./scripts/lint - upload: + build: if: github.repository == 'stainless-sdks/openint-python' && (github.event_name == 'push' || github.event.pull_request.head.repo.fork) timeout-minutes: 10 - name: upload + name: build permissions: contents: read id-token: write @@ -46,6 +46,20 @@ jobs: steps: - uses: actions/checkout@v4 + - name: Install Rye + run: | + curl -sSf https://rye.astral.sh/get | bash + echo "$HOME/.rye/shims" >> $GITHUB_PATH + env: + RYE_VERSION: '0.44.0' + RYE_INSTALL_OPTION: '--yes' + + - name: Install dependencies + run: rye sync --all-features + + - name: Run build + run: rye build + - name: Get GitHub OIDC Token id: github-oidc uses: actions/github-script@v6 diff --git a/scripts/utils/upload-artifact.sh b/scripts/utils/upload-artifact.sh index de32b50..b71ac18 100755 --- a/scripts/utils/upload-artifact.sh +++ b/scripts/utils/upload-artifact.sh @@ -1,7 +1,9 @@ #!/usr/bin/env bash set -exuo pipefail -RESPONSE=$(curl -X POST "$URL" \ +FILENAME=$(basename dist/*.whl) + +RESPONSE=$(curl -X POST "$URL?filename=$FILENAME" \ -H "Authorization: Bearer $AUTH" \ -H "Content-Type: application/json") @@ -12,13 +14,13 @@ if [[ "$SIGNED_URL" == "null" ]]; then exit 1 fi -UPLOAD_RESPONSE=$(tar -cz . | curl -v -X PUT \ - -H "Content-Type: application/gzip" \ - --data-binary @- "$SIGNED_URL" 2>&1) +UPLOAD_RESPONSE=$(curl -v -X PUT \ + -H "Content-Type: binary/octet-stream" \ + --data-binary "@dist/$FILENAME" "$SIGNED_URL" 2>&1) if echo "$UPLOAD_RESPONSE" | grep -q "HTTP/[0-9.]* 200"; then echo -e "\033[32mUploaded build to Stainless storage.\033[0m" - echo -e "\033[32mInstallation: pip install 'https://pkg.stainless.com/s/openint-python/$SHA'\033[0m" + echo -e "\033[32mInstallation: pip install 'https://pkg.stainless.com/s/openint-python/$SHA/$FILENAME'\033[0m" else echo -e "\033[31mFailed to upload artifact.\033[0m" exit 1 From 9bcaeb5741a5deb86b7033e8038ba5b0a5239682 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 8 Jul 2025 02:19:11 +0000 Subject: [PATCH 18/32] chore(internal): codegen related update --- requirements-dev.lock | 2 +- requirements.lock | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/requirements-dev.lock b/requirements-dev.lock index b83ff08..8bd49c8 100644 --- a/requirements-dev.lock +++ b/requirements-dev.lock @@ -56,7 +56,7 @@ httpx==0.28.1 # via httpx-aiohttp # via openint # via respx -httpx-aiohttp==0.1.6 +httpx-aiohttp==0.1.8 # via openint idna==3.4 # via anyio diff --git a/requirements.lock b/requirements.lock index c38b61f..328943e 100644 --- a/requirements.lock +++ b/requirements.lock @@ -43,7 +43,7 @@ httpcore==1.0.2 httpx==0.28.1 # via httpx-aiohttp # via openint -httpx-aiohttp==0.1.6 +httpx-aiohttp==0.1.8 # via openint idna==3.4 # via anyio From 30b9c6fd75dd3138d8018e27e8efedbc09757e3e Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Wed, 9 Jul 2025 02:36:02 +0000 Subject: [PATCH 19/32] chore(internal): bump pinned h11 dep --- requirements-dev.lock | 4 ++-- requirements.lock | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/requirements-dev.lock b/requirements-dev.lock index 8bd49c8..cc55448 100644 --- a/requirements-dev.lock +++ b/requirements-dev.lock @@ -48,9 +48,9 @@ filelock==3.12.4 frozenlist==1.6.2 # via aiohttp # via aiosignal -h11==0.14.0 +h11==0.16.0 # via httpcore -httpcore==1.0.2 +httpcore==1.0.9 # via httpx httpx==0.28.1 # via httpx-aiohttp diff --git a/requirements.lock b/requirements.lock index 328943e..43a9397 100644 --- a/requirements.lock +++ b/requirements.lock @@ -36,9 +36,9 @@ exceptiongroup==1.2.2 frozenlist==1.6.2 # via aiohttp # via aiosignal -h11==0.14.0 +h11==0.16.0 # via httpcore -httpcore==1.0.2 +httpcore==1.0.9 # via httpx httpx==0.28.1 # via httpx-aiohttp From 7816ba8cf4cc1b395b488a5b899eeee3a5c6e9ef Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Wed, 9 Jul 2025 02:55:55 +0000 Subject: [PATCH 20/32] chore(package): mark python 3.13 as supported --- pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pyproject.toml b/pyproject.toml index ec60e25..31b15d0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -24,6 +24,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "Operating System :: OS Independent", "Operating System :: POSIX", "Operating System :: MacOS", From 21690ae92ff4e64eee4ea06050630f221018a4fe Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Thu, 10 Jul 2025 02:51:03 +0000 Subject: [PATCH 21/32] fix(parsing): correctly handle nested discriminated unions --- src/openint/_models.py | 13 +++++++----- tests/test_models.py | 45 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+), 5 deletions(-) diff --git a/src/openint/_models.py b/src/openint/_models.py index 4f21498..528d568 100644 --- a/src/openint/_models.py +++ b/src/openint/_models.py @@ -2,9 +2,10 @@ import os import inspect -from typing import TYPE_CHECKING, Any, Type, Union, Generic, TypeVar, Callable, cast +from typing import TYPE_CHECKING, Any, Type, Union, Generic, TypeVar, Callable, Optional, cast from datetime import date, datetime from typing_extensions import ( + List, Unpack, Literal, ClassVar, @@ -366,7 +367,7 @@ def _construct_field(value: object, field: FieldInfo, key: str) -> object: if type_ is None: raise RuntimeError(f"Unexpected field type is None for {key}") - return construct_type(value=value, type_=type_) + return construct_type(value=value, type_=type_, metadata=getattr(field, "metadata", None)) def is_basemodel(type_: type) -> bool: @@ -420,7 +421,7 @@ def construct_type_unchecked(*, value: object, type_: type[_T]) -> _T: return cast(_T, construct_type(value=value, type_=type_)) -def construct_type(*, value: object, type_: object) -> object: +def construct_type(*, value: object, type_: object, metadata: Optional[List[Any]] = None) -> object: """Loose coercion to the expected type with construction of nested values. If the given value does not match the expected type then it is returned as-is. @@ -438,8 +439,10 @@ def construct_type(*, value: object, type_: object) -> object: type_ = type_.__value__ # type: ignore[unreachable] # unwrap `Annotated[T, ...]` -> `T` - if is_annotated_type(type_): - meta: tuple[Any, ...] = get_args(type_)[1:] + if metadata is not None: + meta: tuple[Any, ...] = tuple(metadata) + elif is_annotated_type(type_): + meta = get_args(type_)[1:] type_ = extract_type_arg(type_, 0) else: meta = tuple() diff --git a/tests/test_models.py b/tests/test_models.py index afbc06e..baf4651 100644 --- a/tests/test_models.py +++ b/tests/test_models.py @@ -889,3 +889,48 @@ class ModelB(BaseModel): ) assert isinstance(m, ModelB) + + +def test_nested_discriminated_union() -> None: + class InnerType1(BaseModel): + type: Literal["type_1"] + + class InnerModel(BaseModel): + inner_value: str + + class InnerType2(BaseModel): + type: Literal["type_2"] + some_inner_model: InnerModel + + class Type1(BaseModel): + base_type: Literal["base_type_1"] + value: Annotated[ + Union[ + InnerType1, + InnerType2, + ], + PropertyInfo(discriminator="type"), + ] + + class Type2(BaseModel): + base_type: Literal["base_type_2"] + + T = Annotated[ + Union[ + Type1, + Type2, + ], + PropertyInfo(discriminator="base_type"), + ] + + model = construct_type( + type_=T, + value={ + "base_type": "base_type_1", + "value": { + "type": "type_2", + }, + }, + ) + assert isinstance(model, Type1) + assert isinstance(model.value, InnerType2) From ff23de4d954014004757e17fb5c016ca6a97a023 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 11 Jul 2025 03:10:23 +0000 Subject: [PATCH 22/32] chore(readme): fix version rendering on pypi --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 2619f51..eae5674 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ # Openint Python API library -[![PyPI version]()](https://pypi.org/project/openint/) + +[![PyPI version](https://img.shields.io/pypi/v/openint.svg?label=pypi%20(stable))](https://pypi.org/project/openint/) The Openint Python library provides convenient access to the Openint REST API from any Python 3.8+ application. The library includes type definitions for all request params and response fields, From c93f48787feef9bfadb7d4a4d740138cf9c5819b Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Sat, 12 Jul 2025 02:16:07 +0000 Subject: [PATCH 23/32] fix(client): don't send Content-Type header on GET requests --- pyproject.toml | 2 +- src/openint/_base_client.py | 11 +++++++++-- tests/test_client.py | 4 ++-- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 31b15d0..906cce6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -39,7 +39,7 @@ Homepage = "https://github.com/openintegrations/python-sdk" Repository = "https://github.com/openintegrations/python-sdk" [project.optional-dependencies] -aiohttp = ["aiohttp", "httpx_aiohttp>=0.1.6"] +aiohttp = ["aiohttp", "httpx_aiohttp>=0.1.8"] [tool.rye] managed = true diff --git a/src/openint/_base_client.py b/src/openint/_base_client.py index 5b671fc..f3e0ada 100644 --- a/src/openint/_base_client.py +++ b/src/openint/_base_client.py @@ -529,6 +529,15 @@ def _build_request( # work around https://github.com/encode/httpx/discussions/2880 kwargs["extensions"] = {"sni_hostname": prepared_url.host.replace("_", "-")} + is_body_allowed = options.method.lower() != "get" + + if is_body_allowed: + kwargs["json"] = json_data if is_given(json_data) else None + kwargs["files"] = files + else: + headers.pop("Content-Type", None) + kwargs.pop("data", None) + # TODO: report this error to httpx return self._client.build_request( # pyright: ignore[reportUnknownMemberType] headers=headers, @@ -540,8 +549,6 @@ def _build_request( # so that passing a `TypedDict` doesn't cause an error. # https://github.com/microsoft/pyright/issues/3526#event-6715453066 params=self.qs.stringify(cast(Mapping[str, Any], params)) if params else None, - json=json_data if is_given(json_data) else None, - files=files, **kwargs, ) diff --git a/tests/test_client.py b/tests/test_client.py index cc51e7d..c089140 100644 --- a/tests/test_client.py +++ b/tests/test_client.py @@ -452,7 +452,7 @@ def test_request_extra_query(self) -> None: def test_multipart_repeating_array(self, client: Openint) -> None: request = client._build_request( FinalRequestOptions.construct( - method="get", + method="post", url="/foo", headers={"Content-Type": "multipart/form-data; boundary=6b7ba517decee4a450543ea6ae821c82"}, json_data={"array": ["foo", "bar"]}, @@ -1240,7 +1240,7 @@ def test_request_extra_query(self) -> None: def test_multipart_repeating_array(self, async_client: AsyncOpenint) -> None: request = async_client._build_request( FinalRequestOptions.construct( - method="get", + method="post", url="/foo", headers={"Content-Type": "multipart/form-data; boundary=6b7ba517decee4a450543ea6ae821c82"}, json_data={"array": ["foo", "bar"]}, From 0de7cb3fe67f104d2786e9353cecd9e46e574ea1 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 15 Jul 2025 02:15:48 +0000 Subject: [PATCH 24/32] feat: clean up environment call outs --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index eae5674..5e98b26 100644 --- a/README.md +++ b/README.md @@ -79,7 +79,6 @@ pip install openint[aiohttp] Then you can enable it by instantiating the client with `http_client=DefaultAioHttpClient()`: ```python -import os import asyncio from openint import DefaultAioHttpClient from openint import AsyncOpenint @@ -87,7 +86,7 @@ from openint import AsyncOpenint async def main() -> None: async with AsyncOpenint( - token=os.environ.get("OPENINT_API_KEY"), # This is the default and can be omitted + token="My Token", http_client=DefaultAioHttpClient(), ) as client: page = await client.list_connections() From e261c8d982826578cd2722dafa820c2c59928a33 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 22 Jul 2025 02:19:26 +0000 Subject: [PATCH 25/32] fix(parsing): ignore empty metadata --- src/openint/_models.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/openint/_models.py b/src/openint/_models.py index 528d568..ffcbf67 100644 --- a/src/openint/_models.py +++ b/src/openint/_models.py @@ -439,7 +439,7 @@ def construct_type(*, value: object, type_: object, metadata: Optional[List[Any] type_ = type_.__value__ # type: ignore[unreachable] # unwrap `Annotated[T, ...]` -> `T` - if metadata is not None: + if metadata is not None and len(metadata) > 0: meta: tuple[Any, ...] = tuple(metadata) elif is_annotated_type(type_): meta = get_args(type_)[1:] From ad534e6e930a4d5151a3cfdb9418e90e3670a7ab Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Wed, 23 Jul 2025 02:22:44 +0000 Subject: [PATCH 26/32] fix(parsing): parse extra field types --- src/openint/_models.py | 25 ++++++++++++++-- .../types/create_connection_response.py | 2 ++ src/openint/types/get_connection_response.py | 2 ++ .../types/get_current_user_response.py | 5 +++- .../types/list_connections_response.py | 2 ++ tests/test_models.py | 29 ++++++++++++++++++- 6 files changed, 61 insertions(+), 4 deletions(-) diff --git a/src/openint/_models.py b/src/openint/_models.py index ffcbf67..b8387ce 100644 --- a/src/openint/_models.py +++ b/src/openint/_models.py @@ -208,14 +208,18 @@ def construct( # pyright: ignore[reportIncompatibleMethodOverride] else: fields_values[name] = field_get_default(field) + extra_field_type = _get_extra_fields_type(__cls) + _extra = {} for key, value in values.items(): if key not in model_fields: + parsed = construct_type(value=value, type_=extra_field_type) if extra_field_type is not None else value + if PYDANTIC_V2: - _extra[key] = value + _extra[key] = parsed else: _fields_set.add(key) - fields_values[key] = value + fields_values[key] = parsed object.__setattr__(m, "__dict__", fields_values) @@ -370,6 +374,23 @@ def _construct_field(value: object, field: FieldInfo, key: str) -> object: return construct_type(value=value, type_=type_, metadata=getattr(field, "metadata", None)) +def _get_extra_fields_type(cls: type[pydantic.BaseModel]) -> type | None: + if not PYDANTIC_V2: + # TODO + return None + + schema = cls.__pydantic_core_schema__ + if schema["type"] == "model": + fields = schema["schema"] + if fields["type"] == "model-fields": + extras = fields.get("extras_schema") + if extras and "cls" in extras: + # mypy can't narrow the type + return extras["cls"] # type: ignore[no-any-return] + + return None + + def is_basemodel(type_: type) -> bool: """Returns whether or not the given type is either a `BaseModel` or a union of `BaseModel`""" if is_union(type_): diff --git a/src/openint/types/create_connection_response.py b/src/openint/types/create_connection_response.py index c70e24e..7fcf91e 100644 --- a/src/openint/types/create_connection_response.py +++ b/src/openint/types/create_connection_response.py @@ -11673,6 +11673,7 @@ class ConnectorFinchDiscriminatedConnectionSettings(BaseModel): class ConnectorFirebaseDiscriminatedConnectionSettingsSettingsUnionMember0ServiceAccount(BaseModel): project_id: str + __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride] if TYPE_CHECKING: # Stub to indicate that arbitrary properties are accepted. # To access properties that are not valid identifiers you can use `getattr`, e.g. @@ -11695,6 +11696,7 @@ class ConnectorFirebaseDiscriminatedConnectionSettingsSettingsUnionMember1AuthDa uid: str + __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride] if TYPE_CHECKING: # Stub to indicate that arbitrary properties are accepted. # To access properties that are not valid identifiers you can use `getattr`, e.g. diff --git a/src/openint/types/get_connection_response.py b/src/openint/types/get_connection_response.py index 30fc7e5..4fb5a52 100644 --- a/src/openint/types/get_connection_response.py +++ b/src/openint/types/get_connection_response.py @@ -12267,6 +12267,7 @@ class ConnectorFinchDiscriminatedConnectionSettings(BaseModel): class ConnectorFirebaseDiscriminatedConnectionSettingsSettingsUnionMember0ServiceAccount(BaseModel): project_id: str + __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride] if TYPE_CHECKING: # Stub to indicate that arbitrary properties are accepted. # To access properties that are not valid identifiers you can use `getattr`, e.g. @@ -12289,6 +12290,7 @@ class ConnectorFirebaseDiscriminatedConnectionSettingsSettingsUnionMember1AuthDa uid: str + __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride] if TYPE_CHECKING: # Stub to indicate that arbitrary properties are accepted. # To access properties that are not valid identifiers you can use `getattr`, e.g. diff --git a/src/openint/types/get_current_user_response.py b/src/openint/types/get_current_user_response.py index 0b77d68..f4935fb 100644 --- a/src/openint/types/get_current_user_response.py +++ b/src/openint/types/get_current_user_response.py @@ -1,8 +1,10 @@ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, Dict from typing_extensions import Literal +from pydantic import Field as FieldInfo + from .._models import BaseModel __all__ = ["GetCurrentUserResponse"] @@ -11,6 +13,7 @@ class GetCurrentUserResponse(BaseModel): role: Literal["anon", "customer", "user", "org", "system"] + __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride] if TYPE_CHECKING: # Stub to indicate that arbitrary properties are accepted. # To access properties that are not valid identifiers you can use `getattr`, e.g. diff --git a/src/openint/types/list_connections_response.py b/src/openint/types/list_connections_response.py index d667dd2..ad297cb 100644 --- a/src/openint/types/list_connections_response.py +++ b/src/openint/types/list_connections_response.py @@ -12267,6 +12267,7 @@ class ConnectorFinchDiscriminatedConnectionSettings(BaseModel): class ConnectorFirebaseDiscriminatedConnectionSettingsSettingsUnionMember0ServiceAccount(BaseModel): project_id: str + __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride] if TYPE_CHECKING: # Stub to indicate that arbitrary properties are accepted. # To access properties that are not valid identifiers you can use `getattr`, e.g. @@ -12289,6 +12290,7 @@ class ConnectorFirebaseDiscriminatedConnectionSettingsSettingsUnionMember1AuthDa uid: str + __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride] if TYPE_CHECKING: # Stub to indicate that arbitrary properties are accepted. # To access properties that are not valid identifiers you can use `getattr`, e.g. diff --git a/tests/test_models.py b/tests/test_models.py index baf4651..944d6ec 100644 --- a/tests/test_models.py +++ b/tests/test_models.py @@ -1,5 +1,5 @@ import json -from typing import Any, Dict, List, Union, Optional, cast +from typing import TYPE_CHECKING, Any, Dict, List, Union, Optional, cast from datetime import datetime, timezone from typing_extensions import Literal, Annotated, TypeAliasType @@ -934,3 +934,30 @@ class Type2(BaseModel): ) assert isinstance(model, Type1) assert isinstance(model.value, InnerType2) + + +@pytest.mark.skipif(not PYDANTIC_V2, reason="this is only supported in pydantic v2 for now") +def test_extra_properties() -> None: + class Item(BaseModel): + prop: int + + class Model(BaseModel): + __pydantic_extra__: Dict[str, Item] = Field(init=False) # pyright: ignore[reportIncompatibleVariableOverride] + + other: str + + if TYPE_CHECKING: + + def __getattr__(self, attr: str) -> Item: ... + + model = construct_type( + type_=Model, + value={ + "a": {"prop": 1}, + "other": "foo", + }, + ) + assert isinstance(model, Model) + assert model.a.prop == 1 + assert isinstance(model.a, Item) + assert model.other == "foo" From bd8d6a28c1cf97bc10405bacb84703a01a562c64 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 25 Jul 2025 05:15:42 +0000 Subject: [PATCH 27/32] chore(project): add settings file for vscode --- .gitignore | 1 - .vscode/settings.json | 3 +++ 2 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 .vscode/settings.json diff --git a/.gitignore b/.gitignore index 8779740..95ceb18 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,4 @@ .prism.log -.vscode _dev __pycache__ diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..5b01030 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "python.analysis.importFormat": "relative", +} From 365ba486e77ce93e68a80a48649626119927b7b4 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Sat, 2 Aug 2025 22:14:38 +0000 Subject: [PATCH 28/32] feat(docs): updating documented docs for stainless --- src/openint/_base_client.py | 5 ++++- src/openint/_files.py | 8 ++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/openint/_base_client.py b/src/openint/_base_client.py index f3e0ada..c422d1a 100644 --- a/src/openint/_base_client.py +++ b/src/openint/_base_client.py @@ -532,7 +532,10 @@ def _build_request( is_body_allowed = options.method.lower() != "get" if is_body_allowed: - kwargs["json"] = json_data if is_given(json_data) else None + if isinstance(json_data, bytes): + kwargs["content"] = json_data + else: + kwargs["json"] = json_data if is_given(json_data) else None kwargs["files"] = files else: headers.pop("Content-Type", None) diff --git a/src/openint/_files.py b/src/openint/_files.py index 715cc20..cc14c14 100644 --- a/src/openint/_files.py +++ b/src/openint/_files.py @@ -69,12 +69,12 @@ def _transform_file(file: FileTypes) -> HttpxFileTypes: return file if is_tuple_t(file): - return (file[0], _read_file_content(file[1]), *file[2:]) + return (file[0], read_file_content(file[1]), *file[2:]) raise TypeError(f"Expected file types input to be a FileContent type or to be a tuple") -def _read_file_content(file: FileContent) -> HttpxFileContent: +def read_file_content(file: FileContent) -> HttpxFileContent: if isinstance(file, os.PathLike): return pathlib.Path(file).read_bytes() return file @@ -111,12 +111,12 @@ async def _async_transform_file(file: FileTypes) -> HttpxFileTypes: return file if is_tuple_t(file): - return (file[0], await _async_read_file_content(file[1]), *file[2:]) + return (file[0], await async_read_file_content(file[1]), *file[2:]) raise TypeError(f"Expected file types input to be a FileContent type or to be a tuple") -async def _async_read_file_content(file: FileContent) -> HttpxFileContent: +async def async_read_file_content(file: FileContent) -> HttpxFileContent: if isinstance(file, os.PathLike): return await anyio.Path(file).read_bytes() From 1dc7eb455b99c94c4bb00c95c9e63d99ee1d11ea Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Mon, 11 Aug 2025 17:45:53 +0000 Subject: [PATCH 29/32] feat(api): exposing more APIs --- .stats.yml | 4 +- api.md | 6 + pyproject.toml | 2 +- scripts/mock | 4 +- scripts/test | 2 +- src/openint/_client.py | 892 +- src/openint/types/__init__.py | 8 + .../client_get_conector_config_params.py | 12 + .../client_list_connnector_configs_params.py | 196 + .../types/client_upsert_customer_params.py | 14 + .../types/get_conector_config_response.py | 8449 +++++++++++++++++ .../types/list_connnector_configs_response.py | 8449 +++++++++++++++++ src/openint/types/upsert_customer_response.py | 21 + tests/api_resources/test_client.py | 439 +- 14 files changed, 18291 insertions(+), 207 deletions(-) create mode 100644 src/openint/types/client_get_conector_config_params.py create mode 100644 src/openint/types/client_list_connnector_configs_params.py create mode 100644 src/openint/types/client_upsert_customer_params.py create mode 100644 src/openint/types/get_conector_config_response.py create mode 100644 src/openint/types/list_connnector_configs_response.py create mode 100644 src/openint/types/upsert_customer_response.py diff --git a/.stats.yml b/.stats.yml index cdb1aab..063d8ef 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ -configured_endpoints: 11 +configured_endpoints: 13 openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/openint%2Fopenint-0a4eb274ac57a4d4bd8936015f41147c7cd218a13446aea787cd0cf063af66cf.yml openapi_spec_hash: 2ec6f02a72534100a5bdf0dc709dc6dd -config_hash: 287d5109de5717d392756a2fbe488e49 +config_hash: a272aa84b22214ea1c54dd24a80a9ce2 diff --git a/api.md b/api.md index 92bc1a2..86644ef 100644 --- a/api.md +++ b/api.md @@ -10,13 +10,16 @@ from openint.types import ( CreateConnectionResponse, CreateTokenResponse, DeleteConnectionResponse, + GetConectorConfigResponse, GetConnectionResponse, GetCurrentUserResponse, GetMessageTemplateResponse, ListConnectionConfigsResponse, ListConnectionsResponse, ListConnectorsResponse, + ListConnnectorConfigsResponse, ListEventsResponse, + UpsertCustomerResponse, ) ``` @@ -26,10 +29,13 @@ Methods: - client.create_connection(\*\*params) -> CreateConnectionResponse - client.create_token(customer_id, \*\*params) -> CreateTokenResponse - client.delete_connection(id) -> DeleteConnectionResponse +- client.get_conector_config(id, \*\*params) -> GetConectorConfigResponse - client.get_connection(id, \*\*params) -> GetConnectionResponse - client.get_current_user() -> GetCurrentUserResponse - client.get_message_template(\*\*params) -> GetMessageTemplateResponse - client.list_connection_configs(\*\*params) -> SyncOffsetPagination[ListConnectionConfigsResponse] - client.list_connections(\*\*params) -> SyncOffsetPagination[ListConnectionsResponse] - client.list_connectors(\*\*params) -> SyncOffsetPagination[ListConnectorsResponse] +- client.list_connnector_configs(\*\*params) -> SyncOffsetPagination[ListConnnectorConfigsResponse] - client.list_events(\*\*params) -> SyncOffsetPagination[ListEventsResponse] +- client.upsert_customer(\*\*params) -> UpsertCustomerResponse diff --git a/pyproject.toml b/pyproject.toml index 906cce6..96e5335 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -159,7 +159,7 @@ reportPrivateUsage = false [tool.ruff] line-length = 120 output-format = "grouped" -target-version = "py37" +target-version = "py38" [tool.ruff.format] docstring-code-format = true diff --git a/scripts/mock b/scripts/mock index d2814ae..0b28f6e 100755 --- a/scripts/mock +++ b/scripts/mock @@ -21,7 +21,7 @@ echo "==> Starting mock server with URL ${URL}" # Run prism mock on the given spec if [ "$1" == "--daemon" ]; then - npm exec --package=@stainless-api/prism-cli@5.8.5 -- prism mock "$URL" &> .prism.log & + npm exec --package=@stainless-api/prism-cli@5.15.0 -- prism mock "$URL" &> .prism.log & # Wait for server to come online echo -n "Waiting for server" @@ -37,5 +37,5 @@ if [ "$1" == "--daemon" ]; then echo else - npm exec --package=@stainless-api/prism-cli@5.8.5 -- prism mock "$URL" + npm exec --package=@stainless-api/prism-cli@5.15.0 -- prism mock "$URL" fi diff --git a/scripts/test b/scripts/test index 2b87845..dbeda2d 100755 --- a/scripts/test +++ b/scripts/test @@ -43,7 +43,7 @@ elif ! prism_is_running ; then echo -e "To run the server, pass in the path or url of your OpenAPI" echo -e "spec to the prism command:" echo - echo -e " \$ ${YELLOW}npm exec --package=@stoplight/prism-cli@~5.3.2 -- prism mock path/to/your.openapi.yml${NC}" + echo -e " \$ ${YELLOW}npm exec --package=@stainless-api/prism-cli@5.15.0 -- prism mock path/to/your.openapi.yml${NC}" echo exit 1 diff --git a/src/openint/_client.py b/src/openint/_client.py index 06e048f..035e00a 100644 --- a/src/openint/_client.py +++ b/src/openint/_client.py @@ -15,10 +15,13 @@ client_create_token_params, client_get_connection_params, client_list_connectors_params, + client_upsert_customer_params, client_list_connections_params, client_create_connection_params, + client_get_conector_config_params, client_get_message_template_params, client_list_connection_configs_params, + client_list_connnector_configs_params, ) from ._types import ( NOT_GIVEN, @@ -59,13 +62,16 @@ from .types.create_token_response import CreateTokenResponse from .types.get_connection_response import GetConnectionResponse from .types.list_connectors_response import ListConnectorsResponse +from .types.upsert_customer_response import UpsertCustomerResponse from .types.check_connection_response import CheckConnectionResponse from .types.get_current_user_response import GetCurrentUserResponse from .types.list_connections_response import ListConnectionsResponse from .types.create_connection_response import CreateConnectionResponse from .types.delete_connection_response import DeleteConnectionResponse +from .types.get_conector_config_response import GetConectorConfigResponse from .types.get_message_template_response import GetMessageTemplateResponse from .types.list_connection_configs_response import ListConnectionConfigsResponse +from .types.list_connnector_configs_response import ListConnnectorConfigsResponse __all__ = ["Timeout", "Transport", "ProxiesTypes", "RequestOptions", "Openint", "AsyncOpenint", "Client", "AsyncClient"] @@ -390,6 +396,51 @@ def delete_connection( cast_to=DeleteConnectionResponse, ) + def get_conector_config( + self, + id: str, + *, + expand: List[Literal["connector", "connector.schemas", "connection_count"]] | 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, + ) -> GetConectorConfigResponse: + """ + Args: + id: The id of the connector config, starts with `ccfg_` + + 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 + """ + if not id: + raise ValueError(f"Expected a non-empty value for `id` but received {id!r}") + return cast( + GetConectorConfigResponse, + self.get( + f"/connector-config/{id}", + options=make_request_options( + extra_headers=extra_headers, + extra_query=extra_query, + extra_body=extra_body, + timeout=timeout, + query=maybe_transform( + {"expand": expand}, client_get_conector_config_params.ClientGetConectorConfigParams + ), + ), + cast_to=cast( + Any, GetConectorConfigResponse + ), # Union types cannot be passed in as arguments in the type system + ), + ) + def get_connection( self, id: str, @@ -1038,23 +1089,198 @@ def list_connectors( model=ListConnectorsResponse, ) - def list_events( + def list_connnector_configs( self, *, - expand: List[Literal["prompt"]] | NotGiven = NOT_GIVEN, + connector_names: List[ + Literal[ + "accelo", + "acme-apikey", + "acme-oauth2", + "adobe", + "adyen", + "aircall", + "airtable", + "amazon", + "apaleo", + "apollo", + "asana", + "attio", + "auth0", + "autodesk", + "aws", + "bamboohr", + "basecamp", + "battlenet", + "bigcommerce", + "bitbucket", + "bitly", + "blackbaud", + "boldsign", + "box", + "braintree", + "brex", + "calendly", + "clickup", + "close", + "coda", + "confluence", + "contentful", + "contentstack", + "copper", + "coros", + "datev", + "deel", + "dialpad", + "digitalocean", + "discord", + "docusign", + "dropbox", + "ebay", + "egnyte", + "envoy", + "eventbrite", + "exist", + "facebook", + "factorial", + "figma", + "finch", + "firebase", + "fitbit", + "foreceipt", + "fortnox", + "freshbooks", + "front", + "github", + "gitlab", + "gong", + "google-calendar", + "google-docs", + "google-drive", + "google-mail", + "google-sheet", + "gorgias", + "grain", + "greenhouse", + "gumroad", + "gusto", + "harvest", + "heron", + "highlevel", + "hubspot", + "instagram", + "intercom", + "jira", + "keap", + "lever", + "linear", + "linkedin", + "linkhut", + "lunchmoney", + "mailchimp", + "mercury", + "merge", + "miro", + "monday", + "moota", + "mural", + "namely", + "nationbuilder", + "netsuite", + "notion", + "odoo", + "okta", + "onebrick", + "openledger", + "osu", + "oura", + "outreach", + "pagerduty", + "pandadoc", + "payfit", + "paypal", + "pennylane", + "pinterest", + "pipedrive", + "plaid", + "podium", + "postgres", + "productboard", + "qualtrics", + "quickbooks", + "ramp", + "reddit", + "sage", + "salesforce", + "salesloft", + "saltedge", + "segment", + "servicem8", + "servicenow", + "sharepoint", + "sharepoint-onprem", + "shopify", + "signnow", + "slack", + "smartsheet", + "snowflake", + "splitwise", + "spotify", + "squarespace", + "squareup", + "stackexchange", + "strava", + "stripe", + "teamwork", + "teller", + "ticktick", + "timely", + "todoist", + "toggl", + "tremendous", + "tsheetsteam", + "tumblr", + "twenty", + "twinfield", + "twitch", + "twitter", + "typeform", + "uber", + "venmo", + "vimeo", + "wakatime", + "wealthbox", + "webflow", + "whoop", + "wise", + "wordpress", + "wrike", + "xero", + "yahoo", + "yandex", + "yodlee", + "zapier", + "zendesk", + "zenefits", + "zoho", + "zoho-desk", + "zoom", + ] + ] + | NotGiven = NOT_GIVEN, + expand: List[Literal["connector", "connector.schemas", "connection_count"]] | NotGiven = NOT_GIVEN, limit: int | NotGiven = NOT_GIVEN, offset: int | NotGiven = NOT_GIVEN, - search_query: str | NotGiven = NOT_GIVEN, - since: str | NotGiven = NOT_GIVEN, + search_query: Optional[str] | 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[ListEventsResponse]: + ) -> SyncOffsetPagination[ListConnnectorConfigsResponse]: """ - List all events for an organization + List Configured Connectors Args: limit: Limit the number of items returned @@ -1070,8 +1296,8 @@ def list_events( timeout: Override the client-level default timeout for this request, in seconds """ return self.get_api_list( - "/event", - page=SyncOffsetPagination[ListEventsResponse], + "/connector-config", + page=SyncOffsetPagination[ListConnnectorConfigsResponse], options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, @@ -1079,30 +1305,124 @@ def list_events( timeout=timeout, query=maybe_transform( { + "connector_names": connector_names, "expand": expand, "limit": limit, "offset": offset, "search_query": search_query, - "since": since, }, - client_list_events_params.ClientListEventsParams, + client_list_connnector_configs_params.ClientListConnnectorConfigsParams, ), ), - model=cast(Any, ListEventsResponse), # Union types cannot be passed in as arguments in the type system + model=cast( + Any, ListConnnectorConfigsResponse + ), # Union types cannot be passed in as arguments in the type system ) - @override - def _make_status_error( + def list_events( self, - err_msg: str, *, - body: object, - response: httpx.Response, - ) -> APIStatusError: - if response.status_code == 400: - return _exceptions.BadRequestError(err_msg, response=response, body=body) + expand: List[Literal["prompt"]] | NotGiven = NOT_GIVEN, + limit: int | NotGiven = NOT_GIVEN, + offset: int | NotGiven = NOT_GIVEN, + search_query: str | NotGiven = NOT_GIVEN, + since: str | 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[ListEventsResponse]: + """ + List all events for an organization - if response.status_code == 401: + Args: + limit: Limit the number of items returned + + offset: Offset the items returned + + 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=SyncOffsetPagination[ListEventsResponse], + options=make_request_options( + extra_headers=extra_headers, + extra_query=extra_query, + extra_body=extra_body, + timeout=timeout, + query=maybe_transform( + { + "expand": expand, + "limit": limit, + "offset": offset, + "search_query": search_query, + "since": since, + }, + client_list_events_params.ClientListEventsParams, + ), + ), + model=cast(Any, ListEventsResponse), # Union types cannot be passed in as arguments in the type system + ) + + def upsert_customer( + self, + *, + id: str | NotGiven = NOT_GIVEN, + metadata: Dict[str, object] | 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, + ) -> UpsertCustomerResponse: + """ + Create or update a customer + + 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.put( + "/customers", + body=maybe_transform( + { + "id": id, + "metadata": metadata, + }, + client_upsert_customer_params.ClientUpsertCustomerParams, + ), + options=make_request_options( + extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout + ), + cast_to=UpsertCustomerResponse, + ) + + @override + def _make_status_error( + self, + err_msg: str, + *, + body: object, + response: httpx.Response, + ) -> APIStatusError: + if response.status_code == 400: + return _exceptions.BadRequestError(err_msg, response=response, body=body) + + if response.status_code == 401: return _exceptions.AuthenticationError(err_msg, response=response, body=body) if response.status_code == 403: @@ -1445,6 +1765,51 @@ async def delete_connection( cast_to=DeleteConnectionResponse, ) + async def get_conector_config( + self, + id: str, + *, + expand: List[Literal["connector", "connector.schemas", "connection_count"]] | 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, + ) -> GetConectorConfigResponse: + """ + Args: + id: The id of the connector config, starts with `ccfg_` + + 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 + """ + if not id: + raise ValueError(f"Expected a non-empty value for `id` but received {id!r}") + return cast( + GetConectorConfigResponse, + await self.get( + f"/connector-config/{id}", + options=make_request_options( + extra_headers=extra_headers, + extra_query=extra_query, + extra_body=extra_body, + timeout=timeout, + query=await async_maybe_transform( + {"expand": expand}, client_get_conector_config_params.ClientGetConectorConfigParams + ), + ), + cast_to=cast( + Any, GetConectorConfigResponse + ), # Union types cannot be passed in as arguments in the type system + ), + ) + async def get_connection( self, id: str, @@ -1533,11 +1898,236 @@ async def get_message_template( extra_query: Query | None = None, extra_body: Body | None = None, timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN, - ) -> GetMessageTemplateResponse: + ) -> GetMessageTemplateResponse: + """ + Get a message template for an AI agent + + 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 await self.get( + "/ai/message_template", + options=make_request_options( + extra_headers=extra_headers, + extra_query=extra_query, + extra_body=extra_body, + timeout=timeout, + query=await async_maybe_transform( + { + "customer_id": customer_id, + "language": language, + "use_environment_variables": use_environment_variables, + }, + client_get_message_template_params.ClientGetMessageTemplateParams, + ), + ), + cast_to=GetMessageTemplateResponse, + ) + + def list_connection_configs( + self, + *, + connector_names: List[ + Literal[ + "accelo", + "acme-apikey", + "acme-oauth2", + "adobe", + "adyen", + "aircall", + "airtable", + "amazon", + "apaleo", + "apollo", + "asana", + "attio", + "auth0", + "autodesk", + "aws", + "bamboohr", + "basecamp", + "battlenet", + "bigcommerce", + "bitbucket", + "bitly", + "blackbaud", + "boldsign", + "box", + "braintree", + "brex", + "calendly", + "clickup", + "close", + "coda", + "confluence", + "contentful", + "contentstack", + "copper", + "coros", + "datev", + "deel", + "dialpad", + "digitalocean", + "discord", + "docusign", + "dropbox", + "ebay", + "egnyte", + "envoy", + "eventbrite", + "exist", + "facebook", + "factorial", + "figma", + "finch", + "firebase", + "fitbit", + "foreceipt", + "fortnox", + "freshbooks", + "front", + "github", + "gitlab", + "gong", + "google-calendar", + "google-docs", + "google-drive", + "google-mail", + "google-sheet", + "gorgias", + "grain", + "greenhouse", + "gumroad", + "gusto", + "harvest", + "heron", + "highlevel", + "hubspot", + "instagram", + "intercom", + "jira", + "keap", + "lever", + "linear", + "linkedin", + "linkhut", + "lunchmoney", + "mailchimp", + "mercury", + "merge", + "miro", + "monday", + "moota", + "mural", + "namely", + "nationbuilder", + "netsuite", + "notion", + "odoo", + "okta", + "onebrick", + "openledger", + "osu", + "oura", + "outreach", + "pagerduty", + "pandadoc", + "payfit", + "paypal", + "pennylane", + "pinterest", + "pipedrive", + "plaid", + "podium", + "postgres", + "productboard", + "qualtrics", + "quickbooks", + "ramp", + "reddit", + "sage", + "salesforce", + "salesloft", + "saltedge", + "segment", + "servicem8", + "servicenow", + "sharepoint", + "sharepoint-onprem", + "shopify", + "signnow", + "slack", + "smartsheet", + "snowflake", + "splitwise", + "spotify", + "squarespace", + "squareup", + "stackexchange", + "strava", + "stripe", + "teamwork", + "teller", + "ticktick", + "timely", + "todoist", + "toggl", + "tremendous", + "tsheetsteam", + "tumblr", + "twenty", + "twinfield", + "twitch", + "twitter", + "typeform", + "uber", + "venmo", + "vimeo", + "wakatime", + "wealthbox", + "webflow", + "whoop", + "wise", + "wordpress", + "wrike", + "xero", + "yahoo", + "yandex", + "yodlee", + "zapier", + "zendesk", + "zenefits", + "zoho", + "zoho-desk", + "zoom", + ] + ] + | NotGiven = NOT_GIVEN, + expand: List[Literal["connector", "connector.schemas", "connection_count"]] | NotGiven = NOT_GIVEN, + limit: int | NotGiven = NOT_GIVEN, + offset: int | NotGiven = NOT_GIVEN, + search_query: Optional[str] | 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]]: """ - Get a message template for an AI agent + List Configured Connectors Args: + limit: Limit the number of items returned + + offset: Offset the items returned + extra_headers: Send extra headers extra_query: Add additional query parameters to the request @@ -1546,28 +2136,34 @@ async def get_message_template( timeout: Override the client-level default timeout for this request, in seconds """ - return await self.get( - "/ai/message_template", + 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=await async_maybe_transform( + query=maybe_transform( { - "customer_id": customer_id, - "language": language, - "use_environment_variables": use_environment_variables, + "connector_names": connector_names, + "expand": expand, + "limit": limit, + "offset": offset, + "search_query": search_query, }, - client_get_message_template_params.ClientGetMessageTemplateParams, + client_list_connection_configs_params.ClientListConnectionConfigsParams, ), ), - cast_to=GetMessageTemplateResponse, + model=cast( + Any, ListConnectionConfigsResponse + ), # Union types cannot be passed in as arguments in the type system ) - def list_connection_configs( + def list_connections( self, *, + connector_config_id: str | NotGiven = NOT_GIVEN, connector_names: List[ Literal[ "accelo", @@ -1744,25 +2340,41 @@ def list_connection_configs( ] ] | NotGiven = NOT_GIVEN, - expand: List[Literal["connector", "connector.schemas", "connection_count"]] | NotGiven = NOT_GIVEN, + customer_id: str | NotGiven = NOT_GIVEN, + expand: List[Literal["connector"]] | NotGiven = NOT_GIVEN, + include_secrets: bool | NotGiven = NOT_GIVEN, limit: int | NotGiven = NOT_GIVEN, offset: int | NotGiven = NOT_GIVEN, - search_query: Optional[str] | NotGiven = NOT_GIVEN, + refresh_policy: Literal["none", "force", "auto"] | NotGiven = NOT_GIVEN, + search_query: str | 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 Configured Connectors + ) -> AsyncPaginator[ListConnectionsResponse, AsyncOffsetPagination[ListConnectionsResponse]]: + """List all connections with optional filtering. + + Does not retrieve secrets or + perform any connection healthcheck. For that use `getConnection` or + `checkConnectionHealth`. Args: + connector_config_id: The id of the connector config, starts with `ccfg_` + + customer_id: The id of the customer in your application. Ensure it is unique for that + customer. + + expand: Expand the response with additional optionals + limit: Limit the number of items returned offset: Offset the items returned + refresh_policy: Controls credential refresh: none (never), force (always), or auto (when + expired, default) + extra_headers: Send extra headers extra_query: Add additional query parameters to the request @@ -1772,8 +2384,8 @@ def list_connection_configs( timeout: Override the client-level default timeout for this request, in seconds """ return self.get_api_list( - "/connector-config", - page=AsyncOffsetPagination[ListConnectionConfigsResponse], + "/connection", + page=AsyncOffsetPagination[ListConnectionsResponse], options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, @@ -1781,24 +2393,74 @@ def list_connection_configs( timeout=timeout, query=maybe_transform( { + "connector_config_id": connector_config_id, "connector_names": connector_names, + "customer_id": customer_id, "expand": expand, + "include_secrets": include_secrets, "limit": limit, "offset": offset, + "refresh_policy": refresh_policy, "search_query": search_query, }, - client_list_connection_configs_params.ClientListConnectionConfigsParams, + client_list_connections_params.ClientListConnectionsParams, ), ), - model=cast( - Any, ListConnectionConfigsResponse - ), # Union types cannot be passed in as arguments in the type system + model=cast(Any, ListConnectionsResponse), # Union types cannot be passed in as arguments in the type system ) - def list_connections( + def list_connectors( + self, + *, + expand: List[Literal["schemas"]] | 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[ListConnectorsResponse, AsyncOffsetPagination[ListConnectorsResponse]]: + """ + List all connectors to understand what integrations are available to configure + + Args: + limit: Limit the number of items returned + + offset: Offset the items returned + + 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", + page=AsyncOffsetPagination[ListConnectorsResponse], + options=make_request_options( + extra_headers=extra_headers, + extra_query=extra_query, + extra_body=extra_body, + timeout=timeout, + query=maybe_transform( + { + "expand": expand, + "limit": limit, + "offset": offset, + }, + client_list_connectors_params.ClientListConnectorsParams, + ), + ), + model=ListConnectorsResponse, + ) + + def list_connnector_configs( self, *, - connector_config_id: str | NotGiven = NOT_GIVEN, connector_names: List[ Literal[ "accelo", @@ -1975,41 +2637,25 @@ def list_connections( ] ] | NotGiven = NOT_GIVEN, - customer_id: str | NotGiven = NOT_GIVEN, - expand: List[Literal["connector"]] | NotGiven = NOT_GIVEN, - include_secrets: bool | NotGiven = NOT_GIVEN, + expand: List[Literal["connector", "connector.schemas", "connection_count"]] | NotGiven = NOT_GIVEN, limit: int | NotGiven = NOT_GIVEN, offset: int | NotGiven = NOT_GIVEN, - refresh_policy: Literal["none", "force", "auto"] | NotGiven = NOT_GIVEN, - search_query: str | NotGiven = NOT_GIVEN, + search_query: Optional[str] | 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[ListConnectionsResponse, AsyncOffsetPagination[ListConnectionsResponse]]: - """List all connections with optional filtering. - - Does not retrieve secrets or - perform any connection healthcheck. For that use `getConnection` or - `checkConnectionHealth`. + ) -> AsyncPaginator[ListConnnectorConfigsResponse, AsyncOffsetPagination[ListConnnectorConfigsResponse]]: + """ + List Configured Connectors Args: - connector_config_id: The id of the connector config, starts with `ccfg_` - - customer_id: The id of the customer in your application. Ensure it is unique for that - customer. - - expand: Expand the response with additional optionals - limit: Limit the number of items returned offset: Offset the items returned - refresh_policy: Controls credential refresh: none (never), force (always), or auto (when - expired, default) - extra_headers: Send extra headers extra_query: Add additional query parameters to the request @@ -2019,8 +2665,8 @@ def list_connections( timeout: Override the client-level default timeout for this request, in seconds """ return self.get_api_list( - "/connection", - page=AsyncOffsetPagination[ListConnectionsResponse], + "/connector-config", + page=AsyncOffsetPagination[ListConnnectorConfigsResponse], options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, @@ -2028,37 +2674,37 @@ def list_connections( timeout=timeout, query=maybe_transform( { - "connector_config_id": connector_config_id, "connector_names": connector_names, - "customer_id": customer_id, "expand": expand, - "include_secrets": include_secrets, "limit": limit, "offset": offset, - "refresh_policy": refresh_policy, "search_query": search_query, }, - client_list_connections_params.ClientListConnectionsParams, + client_list_connnector_configs_params.ClientListConnnectorConfigsParams, ), ), - model=cast(Any, ListConnectionsResponse), # Union types cannot be passed in as arguments in the type system + model=cast( + Any, ListConnnectorConfigsResponse + ), # Union types cannot be passed in as arguments in the type system ) - def list_connectors( + def list_events( self, *, - expand: List[Literal["schemas"]] | NotGiven = NOT_GIVEN, + expand: List[Literal["prompt"]] | NotGiven = NOT_GIVEN, limit: int | NotGiven = NOT_GIVEN, offset: int | NotGiven = NOT_GIVEN, + search_query: str | NotGiven = NOT_GIVEN, + since: str | 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[ListConnectorsResponse, AsyncOffsetPagination[ListConnectorsResponse]]: + ) -> AsyncPaginator[ListEventsResponse, AsyncOffsetPagination[ListEventsResponse]]: """ - List all connectors to understand what integrations are available to configure + List all events for an organization Args: limit: Limit the number of items returned @@ -2074,8 +2720,8 @@ def list_connectors( timeout: Override the client-level default timeout for this request, in seconds """ return self.get_api_list( - "/connector", - page=AsyncOffsetPagination[ListConnectorsResponse], + "/event", + page=AsyncOffsetPagination[ListEventsResponse], options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, @@ -2086,36 +2732,31 @@ def list_connectors( "expand": expand, "limit": limit, "offset": offset, + "search_query": search_query, + "since": since, }, - client_list_connectors_params.ClientListConnectorsParams, + client_list_events_params.ClientListEventsParams, ), ), - model=ListConnectorsResponse, + model=cast(Any, ListEventsResponse), # Union types cannot be passed in as arguments in the type system ) - def list_events( + async def upsert_customer( self, *, - expand: List[Literal["prompt"]] | NotGiven = NOT_GIVEN, - limit: int | NotGiven = NOT_GIVEN, - offset: int | NotGiven = NOT_GIVEN, - search_query: str | NotGiven = NOT_GIVEN, - since: str | NotGiven = NOT_GIVEN, + id: str | NotGiven = NOT_GIVEN, + metadata: Dict[str, object] | 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]]: + ) -> UpsertCustomerResponse: """ - List all events for an organization + Create or update a customer Args: - limit: Limit the number of items returned - - offset: Offset the items returned - extra_headers: Send extra headers extra_query: Add additional query parameters to the request @@ -2124,26 +2765,19 @@ def list_events( timeout: Override the client-level default timeout for this request, in seconds """ - return self.get_api_list( - "/event", - page=AsyncOffsetPagination[ListEventsResponse], + return await self.put( + "/customers", + body=await async_maybe_transform( + { + "id": id, + "metadata": metadata, + }, + client_upsert_customer_params.ClientUpsertCustomerParams, + ), options=make_request_options( - extra_headers=extra_headers, - extra_query=extra_query, - extra_body=extra_body, - timeout=timeout, - query=maybe_transform( - { - "expand": expand, - "limit": limit, - "offset": offset, - "search_query": search_query, - "since": since, - }, - client_list_events_params.ClientListEventsParams, - ), + extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), - model=cast(Any, ListEventsResponse), # Union types cannot be passed in as arguments in the type system + cast_to=UpsertCustomerResponse, ) @override @@ -2194,6 +2828,9 @@ def __init__(self, client: Openint) -> None: self.delete_connection = to_raw_response_wrapper( client.delete_connection, ) + self.get_conector_config = to_raw_response_wrapper( + client.get_conector_config, + ) self.get_connection = to_raw_response_wrapper( client.get_connection, ) @@ -2212,9 +2849,15 @@ def __init__(self, client: Openint) -> None: self.list_connectors = to_raw_response_wrapper( client.list_connectors, ) + self.list_connnector_configs = to_raw_response_wrapper( + client.list_connnector_configs, + ) self.list_events = to_raw_response_wrapper( client.list_events, ) + self.upsert_customer = to_raw_response_wrapper( + client.upsert_customer, + ) class AsyncOpenintWithRawResponse: @@ -2231,6 +2874,9 @@ def __init__(self, client: AsyncOpenint) -> None: self.delete_connection = async_to_raw_response_wrapper( client.delete_connection, ) + self.get_conector_config = async_to_raw_response_wrapper( + client.get_conector_config, + ) self.get_connection = async_to_raw_response_wrapper( client.get_connection, ) @@ -2249,9 +2895,15 @@ def __init__(self, client: AsyncOpenint) -> None: self.list_connectors = async_to_raw_response_wrapper( client.list_connectors, ) + self.list_connnector_configs = async_to_raw_response_wrapper( + client.list_connnector_configs, + ) self.list_events = async_to_raw_response_wrapper( client.list_events, ) + self.upsert_customer = async_to_raw_response_wrapper( + client.upsert_customer, + ) class OpenintWithStreamedResponse: @@ -2268,6 +2920,9 @@ def __init__(self, client: Openint) -> None: self.delete_connection = to_streamed_response_wrapper( client.delete_connection, ) + self.get_conector_config = to_streamed_response_wrapper( + client.get_conector_config, + ) self.get_connection = to_streamed_response_wrapper( client.get_connection, ) @@ -2286,9 +2941,15 @@ def __init__(self, client: Openint) -> None: self.list_connectors = to_streamed_response_wrapper( client.list_connectors, ) + self.list_connnector_configs = to_streamed_response_wrapper( + client.list_connnector_configs, + ) self.list_events = to_streamed_response_wrapper( client.list_events, ) + self.upsert_customer = to_streamed_response_wrapper( + client.upsert_customer, + ) class AsyncOpenintWithStreamedResponse: @@ -2305,6 +2966,9 @@ def __init__(self, client: AsyncOpenint) -> None: self.delete_connection = async_to_streamed_response_wrapper( client.delete_connection, ) + self.get_conector_config = async_to_streamed_response_wrapper( + client.get_conector_config, + ) self.get_connection = async_to_streamed_response_wrapper( client.get_connection, ) @@ -2323,9 +2987,15 @@ def __init__(self, client: AsyncOpenint) -> None: self.list_connectors = async_to_streamed_response_wrapper( client.list_connectors, ) + self.list_connnector_configs = async_to_streamed_response_wrapper( + client.list_connnector_configs, + ) self.list_events = async_to_streamed_response_wrapper( client.list_events, ) + self.upsert_customer = async_to_streamed_response_wrapper( + client.upsert_customer, + ) Client = Openint diff --git a/src/openint/types/__init__.py b/src/openint/types/__init__.py index fbffb6e..7899058 100644 --- a/src/openint/types/__init__.py +++ b/src/openint/types/__init__.py @@ -8,6 +8,7 @@ from .create_token_response import CreateTokenResponse as CreateTokenResponse from .get_connection_response import GetConnectionResponse as GetConnectionResponse from .list_connectors_response import ListConnectorsResponse as ListConnectorsResponse +from .upsert_customer_response import UpsertCustomerResponse as UpsertCustomerResponse from .check_connection_response import CheckConnectionResponse as CheckConnectionResponse from .client_list_events_params import ClientListEventsParams as ClientListEventsParams from .get_current_user_response import GetCurrentUserResponse as GetCurrentUserResponse @@ -16,12 +17,19 @@ from .create_connection_response import CreateConnectionResponse as CreateConnectionResponse from .delete_connection_response import DeleteConnectionResponse as DeleteConnectionResponse from .client_get_connection_params import ClientGetConnectionParams as ClientGetConnectionParams +from .get_conector_config_response import GetConectorConfigResponse as GetConectorConfigResponse from .client_list_connectors_params import ClientListConnectorsParams as ClientListConnectorsParams +from .client_upsert_customer_params import ClientUpsertCustomerParams as ClientUpsertCustomerParams from .get_message_template_response import GetMessageTemplateResponse as GetMessageTemplateResponse from .client_list_connections_params import ClientListConnectionsParams as ClientListConnectionsParams from .client_create_connection_params import ClientCreateConnectionParams as ClientCreateConnectionParams from .list_connection_configs_response import ListConnectionConfigsResponse as ListConnectionConfigsResponse +from .list_connnector_configs_response import ListConnnectorConfigsResponse as ListConnnectorConfigsResponse +from .client_get_conector_config_params import ClientGetConectorConfigParams as ClientGetConectorConfigParams from .client_get_message_template_params import ClientGetMessageTemplateParams as ClientGetMessageTemplateParams from .client_list_connection_configs_params import ( ClientListConnectionConfigsParams as ClientListConnectionConfigsParams, ) +from .client_list_connnector_configs_params import ( + ClientListConnnectorConfigsParams as ClientListConnnectorConfigsParams, +) diff --git a/src/openint/types/client_get_conector_config_params.py b/src/openint/types/client_get_conector_config_params.py new file mode 100644 index 0000000..ade960a --- /dev/null +++ b/src/openint/types/client_get_conector_config_params.py @@ -0,0 +1,12 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from __future__ import annotations + +from typing import List +from typing_extensions import Literal, TypedDict + +__all__ = ["ClientGetConectorConfigParams"] + + +class ClientGetConectorConfigParams(TypedDict, total=False): + expand: List[Literal["connector", "connector.schemas", "connection_count"]] diff --git a/src/openint/types/client_list_connnector_configs_params.py b/src/openint/types/client_list_connnector_configs_params.py new file mode 100644 index 0000000..ae75f08 --- /dev/null +++ b/src/openint/types/client_list_connnector_configs_params.py @@ -0,0 +1,196 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from __future__ import annotations + +from typing import List, Optional +from typing_extensions import Literal, TypedDict + +__all__ = ["ClientListConnnectorConfigsParams"] + + +class ClientListConnnectorConfigsParams(TypedDict, total=False): + connector_names: List[ + Literal[ + "accelo", + "acme-apikey", + "acme-oauth2", + "adobe", + "adyen", + "aircall", + "airtable", + "amazon", + "apaleo", + "apollo", + "asana", + "attio", + "auth0", + "autodesk", + "aws", + "bamboohr", + "basecamp", + "battlenet", + "bigcommerce", + "bitbucket", + "bitly", + "blackbaud", + "boldsign", + "box", + "braintree", + "brex", + "calendly", + "clickup", + "close", + "coda", + "confluence", + "contentful", + "contentstack", + "copper", + "coros", + "datev", + "deel", + "dialpad", + "digitalocean", + "discord", + "docusign", + "dropbox", + "ebay", + "egnyte", + "envoy", + "eventbrite", + "exist", + "facebook", + "factorial", + "figma", + "finch", + "firebase", + "fitbit", + "foreceipt", + "fortnox", + "freshbooks", + "front", + "github", + "gitlab", + "gong", + "google-calendar", + "google-docs", + "google-drive", + "google-mail", + "google-sheet", + "gorgias", + "grain", + "greenhouse", + "gumroad", + "gusto", + "harvest", + "heron", + "highlevel", + "hubspot", + "instagram", + "intercom", + "jira", + "keap", + "lever", + "linear", + "linkedin", + "linkhut", + "lunchmoney", + "mailchimp", + "mercury", + "merge", + "miro", + "monday", + "moota", + "mural", + "namely", + "nationbuilder", + "netsuite", + "notion", + "odoo", + "okta", + "onebrick", + "openledger", + "osu", + "oura", + "outreach", + "pagerduty", + "pandadoc", + "payfit", + "paypal", + "pennylane", + "pinterest", + "pipedrive", + "plaid", + "podium", + "postgres", + "productboard", + "qualtrics", + "quickbooks", + "ramp", + "reddit", + "sage", + "salesforce", + "salesloft", + "saltedge", + "segment", + "servicem8", + "servicenow", + "sharepoint", + "sharepoint-onprem", + "shopify", + "signnow", + "slack", + "smartsheet", + "snowflake", + "splitwise", + "spotify", + "squarespace", + "squareup", + "stackexchange", + "strava", + "stripe", + "teamwork", + "teller", + "ticktick", + "timely", + "todoist", + "toggl", + "tremendous", + "tsheetsteam", + "tumblr", + "twenty", + "twinfield", + "twitch", + "twitter", + "typeform", + "uber", + "venmo", + "vimeo", + "wakatime", + "wealthbox", + "webflow", + "whoop", + "wise", + "wordpress", + "wrike", + "xero", + "yahoo", + "yandex", + "yodlee", + "zapier", + "zendesk", + "zenefits", + "zoho", + "zoho-desk", + "zoom", + ] + ] + + expand: List[Literal["connector", "connector.schemas", "connection_count"]] + + limit: int + """Limit the number of items returned""" + + offset: int + """Offset the items returned""" + + search_query: Optional[str] diff --git a/src/openint/types/client_upsert_customer_params.py b/src/openint/types/client_upsert_customer_params.py new file mode 100644 index 0000000..0b4086b --- /dev/null +++ b/src/openint/types/client_upsert_customer_params.py @@ -0,0 +1,14 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from __future__ import annotations + +from typing import Dict +from typing_extensions import TypedDict + +__all__ = ["ClientUpsertCustomerParams"] + + +class ClientUpsertCustomerParams(TypedDict, total=False): + id: str + + metadata: Dict[str, object] diff --git a/src/openint/types/get_conector_config_response.py b/src/openint/types/get_conector_config_response.py new file mode 100644 index 0000000..963ca91 --- /dev/null +++ b/src/openint/types/get_conector_config_response.py @@ -0,0 +1,8449 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from typing import Dict, List, Union, Optional +from typing_extensions import Literal, TypeAlias + +from pydantic import Field as FieldInfo + +from .._models import BaseModel +from .connector import Connector +from .integration import Integration + +__all__ = [ + "GetConectorConfigResponse", + "ConnectorAcceloDiscriminatedConnectorConfig", + "ConnectorAcceloDiscriminatedConnectorConfigConfig", + "ConnectorAcceloDiscriminatedConnectorConfigConfigOAuth", + "ConnectorAcmeApikeyDiscriminatedConnectorConfig", + "ConnectorAcmeOauth2DiscriminatedConnectorConfig", + "ConnectorAcmeOauth2DiscriminatedConnectorConfigConfig", + "ConnectorAcmeOauth2DiscriminatedConnectorConfigConfigOAuth", + "ConnectorAdobeDiscriminatedConnectorConfig", + "ConnectorAdobeDiscriminatedConnectorConfigConfig", + "ConnectorAdobeDiscriminatedConnectorConfigConfigOAuth", + "ConnectorAdyenDiscriminatedConnectorConfig", + "ConnectorAdyenDiscriminatedConnectorConfigConfig", + "ConnectorAdyenDiscriminatedConnectorConfigConfigOAuth", + "ConnectorAircallDiscriminatedConnectorConfig", + "ConnectorAircallDiscriminatedConnectorConfigConfig", + "ConnectorAircallDiscriminatedConnectorConfigConfigOAuth", + "ConnectorAmazonDiscriminatedConnectorConfig", + "ConnectorAmazonDiscriminatedConnectorConfigConfig", + "ConnectorAmazonDiscriminatedConnectorConfigConfigOAuth", + "ConnectorApaleoDiscriminatedConnectorConfig", + "ConnectorApaleoDiscriminatedConnectorConfigConfig", + "ConnectorApaleoDiscriminatedConnectorConfigConfigOAuth", + "ConnectorAsanaDiscriminatedConnectorConfig", + "ConnectorAsanaDiscriminatedConnectorConfigConfig", + "ConnectorAsanaDiscriminatedConnectorConfigConfigOAuth", + "ConnectorAttioDiscriminatedConnectorConfig", + "ConnectorAttioDiscriminatedConnectorConfigConfig", + "ConnectorAttioDiscriminatedConnectorConfigConfigOAuth", + "ConnectorAuth0DiscriminatedConnectorConfig", + "ConnectorAuth0DiscriminatedConnectorConfigConfig", + "ConnectorAuth0DiscriminatedConnectorConfigConfigOAuth", + "ConnectorAutodeskDiscriminatedConnectorConfig", + "ConnectorAutodeskDiscriminatedConnectorConfigConfig", + "ConnectorAutodeskDiscriminatedConnectorConfigConfigOAuth", + "ConnectorAwsDiscriminatedConnectorConfig", + "ConnectorAwsDiscriminatedConnectorConfigConfig", + "ConnectorAwsDiscriminatedConnectorConfigConfigOAuth", + "ConnectorBamboohrDiscriminatedConnectorConfig", + "ConnectorBamboohrDiscriminatedConnectorConfigConfig", + "ConnectorBamboohrDiscriminatedConnectorConfigConfigOAuth", + "ConnectorBasecampDiscriminatedConnectorConfig", + "ConnectorBasecampDiscriminatedConnectorConfigConfig", + "ConnectorBasecampDiscriminatedConnectorConfigConfigOAuth", + "ConnectorBattlenetDiscriminatedConnectorConfig", + "ConnectorBattlenetDiscriminatedConnectorConfigConfig", + "ConnectorBattlenetDiscriminatedConnectorConfigConfigOAuth", + "ConnectorBigcommerceDiscriminatedConnectorConfig", + "ConnectorBigcommerceDiscriminatedConnectorConfigConfig", + "ConnectorBigcommerceDiscriminatedConnectorConfigConfigOAuth", + "ConnectorBitbucketDiscriminatedConnectorConfig", + "ConnectorBitbucketDiscriminatedConnectorConfigConfig", + "ConnectorBitbucketDiscriminatedConnectorConfigConfigOAuth", + "ConnectorBitlyDiscriminatedConnectorConfig", + "ConnectorBitlyDiscriminatedConnectorConfigConfig", + "ConnectorBitlyDiscriminatedConnectorConfigConfigOAuth", + "ConnectorBlackbaudDiscriminatedConnectorConfig", + "ConnectorBlackbaudDiscriminatedConnectorConfigConfig", + "ConnectorBlackbaudDiscriminatedConnectorConfigConfigOAuth", + "ConnectorBoldsignDiscriminatedConnectorConfig", + "ConnectorBoldsignDiscriminatedConnectorConfigConfig", + "ConnectorBoldsignDiscriminatedConnectorConfigConfigOAuth", + "ConnectorBoxDiscriminatedConnectorConfig", + "ConnectorBoxDiscriminatedConnectorConfigConfig", + "ConnectorBoxDiscriminatedConnectorConfigConfigOAuth", + "ConnectorBraintreeDiscriminatedConnectorConfig", + "ConnectorBraintreeDiscriminatedConnectorConfigConfig", + "ConnectorBraintreeDiscriminatedConnectorConfigConfigOAuth", + "ConnectorCalendlyDiscriminatedConnectorConfig", + "ConnectorCalendlyDiscriminatedConnectorConfigConfig", + "ConnectorCalendlyDiscriminatedConnectorConfigConfigOAuth", + "ConnectorClickupDiscriminatedConnectorConfig", + "ConnectorClickupDiscriminatedConnectorConfigConfig", + "ConnectorClickupDiscriminatedConnectorConfigConfigOAuth", + "ConnectorCloseDiscriminatedConnectorConfig", + "ConnectorCloseDiscriminatedConnectorConfigConfig", + "ConnectorCloseDiscriminatedConnectorConfigConfigOAuth", + "ConnectorConfluenceDiscriminatedConnectorConfig", + "ConnectorConfluenceDiscriminatedConnectorConfigConfig", + "ConnectorConfluenceDiscriminatedConnectorConfigConfigOAuth", + "ConnectorContentfulDiscriminatedConnectorConfig", + "ConnectorContentfulDiscriminatedConnectorConfigConfig", + "ConnectorContentfulDiscriminatedConnectorConfigConfigOAuth", + "ConnectorContentstackDiscriminatedConnectorConfig", + "ConnectorContentstackDiscriminatedConnectorConfigConfig", + "ConnectorContentstackDiscriminatedConnectorConfigConfigOAuth", + "ConnectorCopperDiscriminatedConnectorConfig", + "ConnectorCopperDiscriminatedConnectorConfigConfig", + "ConnectorCopperDiscriminatedConnectorConfigConfigOAuth", + "ConnectorCorosDiscriminatedConnectorConfig", + "ConnectorCorosDiscriminatedConnectorConfigConfig", + "ConnectorCorosDiscriminatedConnectorConfigConfigOAuth", + "ConnectorDatevDiscriminatedConnectorConfig", + "ConnectorDatevDiscriminatedConnectorConfigConfig", + "ConnectorDatevDiscriminatedConnectorConfigConfigOAuth", + "ConnectorDeelDiscriminatedConnectorConfig", + "ConnectorDeelDiscriminatedConnectorConfigConfig", + "ConnectorDeelDiscriminatedConnectorConfigConfigOAuth", + "ConnectorDialpadDiscriminatedConnectorConfig", + "ConnectorDialpadDiscriminatedConnectorConfigConfig", + "ConnectorDialpadDiscriminatedConnectorConfigConfigOAuth", + "ConnectorDigitaloceanDiscriminatedConnectorConfig", + "ConnectorDigitaloceanDiscriminatedConnectorConfigConfig", + "ConnectorDigitaloceanDiscriminatedConnectorConfigConfigOAuth", + "ConnectorDiscordDiscriminatedConnectorConfig", + "ConnectorDiscordDiscriminatedConnectorConfigConfig", + "ConnectorDiscordDiscriminatedConnectorConfigConfigOAuth", + "ConnectorDocusignDiscriminatedConnectorConfig", + "ConnectorDocusignDiscriminatedConnectorConfigConfig", + "ConnectorDocusignDiscriminatedConnectorConfigConfigOAuth", + "ConnectorDropboxDiscriminatedConnectorConfig", + "ConnectorDropboxDiscriminatedConnectorConfigConfig", + "ConnectorDropboxDiscriminatedConnectorConfigConfigOAuth", + "ConnectorEbayDiscriminatedConnectorConfig", + "ConnectorEbayDiscriminatedConnectorConfigConfig", + "ConnectorEbayDiscriminatedConnectorConfigConfigOAuth", + "ConnectorEgnyteDiscriminatedConnectorConfig", + "ConnectorEgnyteDiscriminatedConnectorConfigConfig", + "ConnectorEgnyteDiscriminatedConnectorConfigConfigOAuth", + "ConnectorEnvoyDiscriminatedConnectorConfig", + "ConnectorEnvoyDiscriminatedConnectorConfigConfig", + "ConnectorEnvoyDiscriminatedConnectorConfigConfigOAuth", + "ConnectorEventbriteDiscriminatedConnectorConfig", + "ConnectorEventbriteDiscriminatedConnectorConfigConfig", + "ConnectorEventbriteDiscriminatedConnectorConfigConfigOAuth", + "ConnectorExistDiscriminatedConnectorConfig", + "ConnectorExistDiscriminatedConnectorConfigConfig", + "ConnectorExistDiscriminatedConnectorConfigConfigOAuth", + "ConnectorFacebookDiscriminatedConnectorConfig", + "ConnectorFacebookDiscriminatedConnectorConfigConfig", + "ConnectorFacebookDiscriminatedConnectorConfigConfigOAuth", + "ConnectorFactorialDiscriminatedConnectorConfig", + "ConnectorFactorialDiscriminatedConnectorConfigConfig", + "ConnectorFactorialDiscriminatedConnectorConfigConfigOAuth", + "ConnectorFigmaDiscriminatedConnectorConfig", + "ConnectorFigmaDiscriminatedConnectorConfigConfig", + "ConnectorFigmaDiscriminatedConnectorConfigConfigOAuth", + "ConnectorFitbitDiscriminatedConnectorConfig", + "ConnectorFitbitDiscriminatedConnectorConfigConfig", + "ConnectorFitbitDiscriminatedConnectorConfigConfigOAuth", + "ConnectorFortnoxDiscriminatedConnectorConfig", + "ConnectorFortnoxDiscriminatedConnectorConfigConfig", + "ConnectorFortnoxDiscriminatedConnectorConfigConfigOAuth", + "ConnectorFreshbooksDiscriminatedConnectorConfig", + "ConnectorFreshbooksDiscriminatedConnectorConfigConfig", + "ConnectorFreshbooksDiscriminatedConnectorConfigConfigOAuth", + "ConnectorFrontDiscriminatedConnectorConfig", + "ConnectorFrontDiscriminatedConnectorConfigConfig", + "ConnectorFrontDiscriminatedConnectorConfigConfigOAuth", + "ConnectorGitHubDiscriminatedConnectorConfig", + "ConnectorGitHubDiscriminatedConnectorConfigConfig", + "ConnectorGitHubDiscriminatedConnectorConfigConfigOAuth", + "ConnectorGitlabDiscriminatedConnectorConfig", + "ConnectorGitlabDiscriminatedConnectorConfigConfig", + "ConnectorGitlabDiscriminatedConnectorConfigConfigOAuth", + "ConnectorGongDiscriminatedConnectorConfig", + "ConnectorGongDiscriminatedConnectorConfigConfig", + "ConnectorGongDiscriminatedConnectorConfigConfigOAuth", + "ConnectorGoogleCalendarDiscriminatedConnectorConfig", + "ConnectorGoogleCalendarDiscriminatedConnectorConfigConfig", + "ConnectorGoogleCalendarDiscriminatedConnectorConfigConfigOAuth", + "ConnectorGoogleDocsDiscriminatedConnectorConfig", + "ConnectorGoogleDocsDiscriminatedConnectorConfigConfig", + "ConnectorGoogleDocsDiscriminatedConnectorConfigConfigOAuth", + "ConnectorGoogleDriveDiscriminatedConnectorConfig", + "ConnectorGoogleDriveDiscriminatedConnectorConfigConfig", + "ConnectorGoogleDriveDiscriminatedConnectorConfigConfigOAuth", + "ConnectorGoogleMailDiscriminatedConnectorConfig", + "ConnectorGoogleMailDiscriminatedConnectorConfigConfig", + "ConnectorGoogleMailDiscriminatedConnectorConfigConfigOAuth", + "ConnectorGoogleSheetDiscriminatedConnectorConfig", + "ConnectorGoogleSheetDiscriminatedConnectorConfigConfig", + "ConnectorGoogleSheetDiscriminatedConnectorConfigConfigOAuth", + "ConnectorGorgiasDiscriminatedConnectorConfig", + "ConnectorGorgiasDiscriminatedConnectorConfigConfig", + "ConnectorGorgiasDiscriminatedConnectorConfigConfigOAuth", + "ConnectorGrainDiscriminatedConnectorConfig", + "ConnectorGrainDiscriminatedConnectorConfigConfig", + "ConnectorGrainDiscriminatedConnectorConfigConfigOAuth", + "ConnectorGumroadDiscriminatedConnectorConfig", + "ConnectorGumroadDiscriminatedConnectorConfigConfig", + "ConnectorGumroadDiscriminatedConnectorConfigConfigOAuth", + "ConnectorGustoDiscriminatedConnectorConfig", + "ConnectorGustoDiscriminatedConnectorConfigConfig", + "ConnectorGustoDiscriminatedConnectorConfigConfigOAuth", + "ConnectorHarvestDiscriminatedConnectorConfig", + "ConnectorHarvestDiscriminatedConnectorConfigConfig", + "ConnectorHarvestDiscriminatedConnectorConfigConfigOAuth", + "ConnectorHighlevelDiscriminatedConnectorConfig", + "ConnectorHighlevelDiscriminatedConnectorConfigConfig", + "ConnectorHighlevelDiscriminatedConnectorConfigConfigOAuth", + "ConnectorHubspotDiscriminatedConnectorConfig", + "ConnectorHubspotDiscriminatedConnectorConfigConfig", + "ConnectorHubspotDiscriminatedConnectorConfigConfigOAuth", + "ConnectorInstagramDiscriminatedConnectorConfig", + "ConnectorInstagramDiscriminatedConnectorConfigConfig", + "ConnectorInstagramDiscriminatedConnectorConfigConfigOAuth", + "ConnectorIntercomDiscriminatedConnectorConfig", + "ConnectorIntercomDiscriminatedConnectorConfigConfig", + "ConnectorIntercomDiscriminatedConnectorConfigConfigOAuth", + "ConnectorJiraDiscriminatedConnectorConfig", + "ConnectorJiraDiscriminatedConnectorConfigConfig", + "ConnectorJiraDiscriminatedConnectorConfigConfigOAuth", + "ConnectorKeapDiscriminatedConnectorConfig", + "ConnectorKeapDiscriminatedConnectorConfigConfig", + "ConnectorKeapDiscriminatedConnectorConfigConfigOAuth", + "ConnectorLeverDiscriminatedConnectorConfig", + "ConnectorLeverDiscriminatedConnectorConfigConfig", + "ConnectorLeverDiscriminatedConnectorConfigConfigOAuth", + "ConnectorLinearDiscriminatedConnectorConfig", + "ConnectorLinearDiscriminatedConnectorConfigConfig", + "ConnectorLinearDiscriminatedConnectorConfigConfigOAuth", + "ConnectorLinkedinDiscriminatedConnectorConfig", + "ConnectorLinkedinDiscriminatedConnectorConfigConfig", + "ConnectorLinkedinDiscriminatedConnectorConfigConfigOAuth", + "ConnectorLinkhutDiscriminatedConnectorConfig", + "ConnectorLinkhutDiscriminatedConnectorConfigConfig", + "ConnectorLinkhutDiscriminatedConnectorConfigConfigOAuth", + "ConnectorMailchimpDiscriminatedConnectorConfig", + "ConnectorMailchimpDiscriminatedConnectorConfigConfig", + "ConnectorMailchimpDiscriminatedConnectorConfigConfigOAuth", + "ConnectorMiroDiscriminatedConnectorConfig", + "ConnectorMiroDiscriminatedConnectorConfigConfig", + "ConnectorMiroDiscriminatedConnectorConfigConfigOAuth", + "ConnectorMondayDiscriminatedConnectorConfig", + "ConnectorMondayDiscriminatedConnectorConfigConfig", + "ConnectorMondayDiscriminatedConnectorConfigConfigOAuth", + "ConnectorMuralDiscriminatedConnectorConfig", + "ConnectorMuralDiscriminatedConnectorConfigConfig", + "ConnectorMuralDiscriminatedConnectorConfigConfigOAuth", + "ConnectorNamelyDiscriminatedConnectorConfig", + "ConnectorNamelyDiscriminatedConnectorConfigConfig", + "ConnectorNamelyDiscriminatedConnectorConfigConfigOAuth", + "ConnectorNationbuilderDiscriminatedConnectorConfig", + "ConnectorNationbuilderDiscriminatedConnectorConfigConfig", + "ConnectorNationbuilderDiscriminatedConnectorConfigConfigOAuth", + "ConnectorNetsuiteDiscriminatedConnectorConfig", + "ConnectorNetsuiteDiscriminatedConnectorConfigConfig", + "ConnectorNetsuiteDiscriminatedConnectorConfigConfigOAuth", + "ConnectorNotionDiscriminatedConnectorConfig", + "ConnectorNotionDiscriminatedConnectorConfigConfig", + "ConnectorNotionDiscriminatedConnectorConfigConfigOAuth", + "ConnectorOdooDiscriminatedConnectorConfig", + "ConnectorOdooDiscriminatedConnectorConfigConfig", + "ConnectorOdooDiscriminatedConnectorConfigConfigOAuth", + "ConnectorOktaDiscriminatedConnectorConfig", + "ConnectorOktaDiscriminatedConnectorConfigConfig", + "ConnectorOktaDiscriminatedConnectorConfigConfigOAuth", + "ConnectorOsuDiscriminatedConnectorConfig", + "ConnectorOsuDiscriminatedConnectorConfigConfig", + "ConnectorOsuDiscriminatedConnectorConfigConfigOAuth", + "ConnectorOuraDiscriminatedConnectorConfig", + "ConnectorOuraDiscriminatedConnectorConfigConfig", + "ConnectorOuraDiscriminatedConnectorConfigConfigOAuth", + "ConnectorOutreachDiscriminatedConnectorConfig", + "ConnectorOutreachDiscriminatedConnectorConfigConfig", + "ConnectorOutreachDiscriminatedConnectorConfigConfigOAuth", + "ConnectorPagerdutyDiscriminatedConnectorConfig", + "ConnectorPagerdutyDiscriminatedConnectorConfigConfig", + "ConnectorPagerdutyDiscriminatedConnectorConfigConfigOAuth", + "ConnectorPandadocDiscriminatedConnectorConfig", + "ConnectorPandadocDiscriminatedConnectorConfigConfig", + "ConnectorPandadocDiscriminatedConnectorConfigConfigOAuth", + "ConnectorPayfitDiscriminatedConnectorConfig", + "ConnectorPayfitDiscriminatedConnectorConfigConfig", + "ConnectorPayfitDiscriminatedConnectorConfigConfigOAuth", + "ConnectorPaypalDiscriminatedConnectorConfig", + "ConnectorPaypalDiscriminatedConnectorConfigConfig", + "ConnectorPaypalDiscriminatedConnectorConfigConfigOAuth", + "ConnectorPennylaneDiscriminatedConnectorConfig", + "ConnectorPennylaneDiscriminatedConnectorConfigConfig", + "ConnectorPennylaneDiscriminatedConnectorConfigConfigOAuth", + "ConnectorPinterestDiscriminatedConnectorConfig", + "ConnectorPinterestDiscriminatedConnectorConfigConfig", + "ConnectorPinterestDiscriminatedConnectorConfigConfigOAuth", + "ConnectorPipedriveDiscriminatedConnectorConfig", + "ConnectorPipedriveDiscriminatedConnectorConfigConfig", + "ConnectorPipedriveDiscriminatedConnectorConfigConfigOAuth", + "ConnectorPodiumDiscriminatedConnectorConfig", + "ConnectorPodiumDiscriminatedConnectorConfigConfig", + "ConnectorPodiumDiscriminatedConnectorConfigConfigOAuth", + "ConnectorProductboardDiscriminatedConnectorConfig", + "ConnectorProductboardDiscriminatedConnectorConfigConfig", + "ConnectorProductboardDiscriminatedConnectorConfigConfigOAuth", + "ConnectorQualtricsDiscriminatedConnectorConfig", + "ConnectorQualtricsDiscriminatedConnectorConfigConfig", + "ConnectorQualtricsDiscriminatedConnectorConfigConfigOAuth", + "ConnectorQuickbooksDiscriminatedConnectorConfig", + "ConnectorQuickbooksDiscriminatedConnectorConfigConfig", + "ConnectorQuickbooksDiscriminatedConnectorConfigConfigOAuth", + "ConnectorRedditDiscriminatedConnectorConfig", + "ConnectorRedditDiscriminatedConnectorConfigConfig", + "ConnectorRedditDiscriminatedConnectorConfigConfigOAuth", + "ConnectorSageDiscriminatedConnectorConfig", + "ConnectorSageDiscriminatedConnectorConfigConfig", + "ConnectorSageDiscriminatedConnectorConfigConfigOAuth", + "ConnectorSalesforceDiscriminatedConnectorConfig", + "ConnectorSalesforceDiscriminatedConnectorConfigConfig", + "ConnectorSalesforceDiscriminatedConnectorConfigConfigOAuth", + "ConnectorSalesloftDiscriminatedConnectorConfig", + "ConnectorSalesloftDiscriminatedConnectorConfigConfig", + "ConnectorSalesloftDiscriminatedConnectorConfigConfigOAuth", + "ConnectorSegmentDiscriminatedConnectorConfig", + "ConnectorSegmentDiscriminatedConnectorConfigConfig", + "ConnectorSegmentDiscriminatedConnectorConfigConfigOAuth", + "ConnectorServicem8DiscriminatedConnectorConfig", + "ConnectorServicem8DiscriminatedConnectorConfigConfig", + "ConnectorServicem8DiscriminatedConnectorConfigConfigOAuth", + "ConnectorServicenowDiscriminatedConnectorConfig", + "ConnectorServicenowDiscriminatedConnectorConfigConfig", + "ConnectorServicenowDiscriminatedConnectorConfigConfigOAuth", + "ConnectorSharepointDiscriminatedConnectorConfig", + "ConnectorSharepointDiscriminatedConnectorConfigConfig", + "ConnectorSharepointDiscriminatedConnectorConfigConfigOAuth", + "ConnectorShopifyDiscriminatedConnectorConfig", + "ConnectorShopifyDiscriminatedConnectorConfigConfig", + "ConnectorShopifyDiscriminatedConnectorConfigConfigOAuth", + "ConnectorSignnowDiscriminatedConnectorConfig", + "ConnectorSignnowDiscriminatedConnectorConfigConfig", + "ConnectorSignnowDiscriminatedConnectorConfigConfigOAuth", + "ConnectorSlackDiscriminatedConnectorConfig", + "ConnectorSlackDiscriminatedConnectorConfigConfig", + "ConnectorSlackDiscriminatedConnectorConfigConfigOAuth", + "ConnectorSmartsheetDiscriminatedConnectorConfig", + "ConnectorSmartsheetDiscriminatedConnectorConfigConfig", + "ConnectorSmartsheetDiscriminatedConnectorConfigConfigOAuth", + "ConnectorSnowflakeDiscriminatedConnectorConfig", + "ConnectorSnowflakeDiscriminatedConnectorConfigConfig", + "ConnectorSnowflakeDiscriminatedConnectorConfigConfigOAuth", + "ConnectorSpotifyDiscriminatedConnectorConfig", + "ConnectorSpotifyDiscriminatedConnectorConfigConfig", + "ConnectorSpotifyDiscriminatedConnectorConfigConfigOAuth", + "ConnectorSquarespaceDiscriminatedConnectorConfig", + "ConnectorSquarespaceDiscriminatedConnectorConfigConfig", + "ConnectorSquarespaceDiscriminatedConnectorConfigConfigOAuth", + "ConnectorSquareupDiscriminatedConnectorConfig", + "ConnectorSquareupDiscriminatedConnectorConfigConfig", + "ConnectorSquareupDiscriminatedConnectorConfigConfigOAuth", + "ConnectorStackexchangeDiscriminatedConnectorConfig", + "ConnectorStackexchangeDiscriminatedConnectorConfigConfig", + "ConnectorStackexchangeDiscriminatedConnectorConfigConfigOAuth", + "ConnectorStravaDiscriminatedConnectorConfig", + "ConnectorStravaDiscriminatedConnectorConfigConfig", + "ConnectorStravaDiscriminatedConnectorConfigConfigOAuth", + "ConnectorTeamworkDiscriminatedConnectorConfig", + "ConnectorTeamworkDiscriminatedConnectorConfigConfig", + "ConnectorTeamworkDiscriminatedConnectorConfigConfigOAuth", + "ConnectorTicktickDiscriminatedConnectorConfig", + "ConnectorTicktickDiscriminatedConnectorConfigConfig", + "ConnectorTicktickDiscriminatedConnectorConfigConfigOAuth", + "ConnectorTimelyDiscriminatedConnectorConfig", + "ConnectorTimelyDiscriminatedConnectorConfigConfig", + "ConnectorTimelyDiscriminatedConnectorConfigConfigOAuth", + "ConnectorTodoistDiscriminatedConnectorConfig", + "ConnectorTodoistDiscriminatedConnectorConfigConfig", + "ConnectorTodoistDiscriminatedConnectorConfigConfigOAuth", + "ConnectorTremendousDiscriminatedConnectorConfig", + "ConnectorTremendousDiscriminatedConnectorConfigConfig", + "ConnectorTremendousDiscriminatedConnectorConfigConfigOAuth", + "ConnectorTsheetsteamDiscriminatedConnectorConfig", + "ConnectorTsheetsteamDiscriminatedConnectorConfigConfig", + "ConnectorTsheetsteamDiscriminatedConnectorConfigConfigOAuth", + "ConnectorTumblrDiscriminatedConnectorConfig", + "ConnectorTumblrDiscriminatedConnectorConfigConfig", + "ConnectorTumblrDiscriminatedConnectorConfigConfigOAuth", + "ConnectorTwinfieldDiscriminatedConnectorConfig", + "ConnectorTwinfieldDiscriminatedConnectorConfigConfig", + "ConnectorTwinfieldDiscriminatedConnectorConfigConfigOAuth", + "ConnectorTwitchDiscriminatedConnectorConfig", + "ConnectorTwitchDiscriminatedConnectorConfigConfig", + "ConnectorTwitchDiscriminatedConnectorConfigConfigOAuth", + "ConnectorTwitterDiscriminatedConnectorConfig", + "ConnectorTwitterDiscriminatedConnectorConfigConfig", + "ConnectorTwitterDiscriminatedConnectorConfigConfigOAuth", + "ConnectorTypeformDiscriminatedConnectorConfig", + "ConnectorTypeformDiscriminatedConnectorConfigConfig", + "ConnectorTypeformDiscriminatedConnectorConfigConfigOAuth", + "ConnectorUberDiscriminatedConnectorConfig", + "ConnectorUberDiscriminatedConnectorConfigConfig", + "ConnectorUberDiscriminatedConnectorConfigConfigOAuth", + "ConnectorVimeoDiscriminatedConnectorConfig", + "ConnectorVimeoDiscriminatedConnectorConfigConfig", + "ConnectorVimeoDiscriminatedConnectorConfigConfigOAuth", + "ConnectorWakatimeDiscriminatedConnectorConfig", + "ConnectorWakatimeDiscriminatedConnectorConfigConfig", + "ConnectorWakatimeDiscriminatedConnectorConfigConfigOAuth", + "ConnectorWealthboxDiscriminatedConnectorConfig", + "ConnectorWealthboxDiscriminatedConnectorConfigConfig", + "ConnectorWealthboxDiscriminatedConnectorConfigConfigOAuth", + "ConnectorWebflowDiscriminatedConnectorConfig", + "ConnectorWebflowDiscriminatedConnectorConfigConfig", + "ConnectorWebflowDiscriminatedConnectorConfigConfigOAuth", + "ConnectorWhoopDiscriminatedConnectorConfig", + "ConnectorWhoopDiscriminatedConnectorConfigConfig", + "ConnectorWhoopDiscriminatedConnectorConfigConfigOAuth", + "ConnectorWordpressDiscriminatedConnectorConfig", + "ConnectorWordpressDiscriminatedConnectorConfigConfig", + "ConnectorWordpressDiscriminatedConnectorConfigConfigOAuth", + "ConnectorWrikeDiscriminatedConnectorConfig", + "ConnectorWrikeDiscriminatedConnectorConfigConfig", + "ConnectorWrikeDiscriminatedConnectorConfigConfigOAuth", + "ConnectorXeroDiscriminatedConnectorConfig", + "ConnectorXeroDiscriminatedConnectorConfigConfig", + "ConnectorXeroDiscriminatedConnectorConfigConfigOAuth", + "ConnectorYahooDiscriminatedConnectorConfig", + "ConnectorYahooDiscriminatedConnectorConfigConfig", + "ConnectorYahooDiscriminatedConnectorConfigConfigOAuth", + "ConnectorYandexDiscriminatedConnectorConfig", + "ConnectorYandexDiscriminatedConnectorConfigConfig", + "ConnectorYandexDiscriminatedConnectorConfigConfigOAuth", + "ConnectorZapierDiscriminatedConnectorConfig", + "ConnectorZapierDiscriminatedConnectorConfigConfig", + "ConnectorZapierDiscriminatedConnectorConfigConfigOAuth", + "ConnectorZendeskDiscriminatedConnectorConfig", + "ConnectorZendeskDiscriminatedConnectorConfigConfig", + "ConnectorZendeskDiscriminatedConnectorConfigConfigOAuth", + "ConnectorZenefitsDiscriminatedConnectorConfig", + "ConnectorZenefitsDiscriminatedConnectorConfigConfig", + "ConnectorZenefitsDiscriminatedConnectorConfigConfigOAuth", + "ConnectorZohoDeskDiscriminatedConnectorConfig", + "ConnectorZohoDeskDiscriminatedConnectorConfigConfig", + "ConnectorZohoDeskDiscriminatedConnectorConfigConfigOAuth", + "ConnectorZohoDiscriminatedConnectorConfig", + "ConnectorZohoDiscriminatedConnectorConfigConfig", + "ConnectorZohoDiscriminatedConnectorConfigConfigOAuth", + "ConnectorZoomDiscriminatedConnectorConfig", + "ConnectorZoomDiscriminatedConnectorConfigConfig", + "ConnectorZoomDiscriminatedConnectorConfigConfigOAuth", + "ConnectorAirtableDiscriminatedConnectorConfig", + "ConnectorApolloDiscriminatedConnectorConfig", + "ConnectorBrexDiscriminatedConnectorConfig", + "ConnectorBrexDiscriminatedConnectorConfigConfig", + "ConnectorBrexDiscriminatedConnectorConfigConfigOAuth", + "ConnectorCodaDiscriminatedConnectorConfig", + "ConnectorFinchDiscriminatedConnectorConfig", + "ConnectorFinchDiscriminatedConnectorConfigConfig", + "ConnectorFirebaseDiscriminatedConnectorConfig", + "ConnectorForeceiptDiscriminatedConnectorConfig", + "ConnectorGreenhouseDiscriminatedConnectorConfig", + "ConnectorHeronDiscriminatedConnectorConfig", + "ConnectorHeronDiscriminatedConnectorConfigConfig", + "ConnectorLunchmoneyDiscriminatedConnectorConfig", + "ConnectorLunchmoneyDiscriminatedConnectorConfigConfig", + "ConnectorMercuryDiscriminatedConnectorConfig", + "ConnectorMercuryDiscriminatedConnectorConfigConfig", + "ConnectorMercuryDiscriminatedConnectorConfigConfigOAuth", + "ConnectorMergeDiscriminatedConnectorConfig", + "ConnectorMergeDiscriminatedConnectorConfigConfig", + "ConnectorMootaDiscriminatedConnectorConfig", + "ConnectorMootaDiscriminatedConnectorConfigConfig", + "ConnectorOnebrickDiscriminatedConnectorConfig", + "ConnectorOnebrickDiscriminatedConnectorConfigConfig", + "ConnectorOpenledgerDiscriminatedConnectorConfig", + "ConnectorOpenledgerDiscriminatedConnectorConfigConfig", + "ConnectorPlaidDiscriminatedConnectorConfig", + "ConnectorPlaidDiscriminatedConnectorConfigConfig", + "ConnectorPlaidDiscriminatedConnectorConfigConfigCredentials", + "ConnectorPostgresDiscriminatedConnectorConfig", + "ConnectorRampDiscriminatedConnectorConfig", + "ConnectorRampDiscriminatedConnectorConfigConfig", + "ConnectorRampDiscriminatedConnectorConfigConfigOAuth", + "ConnectorSaltedgeDiscriminatedConnectorConfig", + "ConnectorSaltedgeDiscriminatedConnectorConfigConfig", + "ConnectorSharepointOnpremDiscriminatedConnectorConfig", + "ConnectorSplitwiseDiscriminatedConnectorConfig", + "ConnectorStripeDiscriminatedConnectorConfig", + "ConnectorStripeDiscriminatedConnectorConfigConfig", + "ConnectorStripeDiscriminatedConnectorConfigConfigOAuth", + "ConnectorTellerDiscriminatedConnectorConfig", + "ConnectorTellerDiscriminatedConnectorConfigConfig", + "ConnectorTogglDiscriminatedConnectorConfig", + "ConnectorTwentyDiscriminatedConnectorConfig", + "ConnectorVenmoDiscriminatedConnectorConfig", + "ConnectorVenmoDiscriminatedConnectorConfigConfig", + "ConnectorVenmoDiscriminatedConnectorConfigConfigProxy", + "ConnectorWiseDiscriminatedConnectorConfig", + "ConnectorYodleeDiscriminatedConnectorConfig", + "ConnectorYodleeDiscriminatedConnectorConfigConfig", + "ConnectorYodleeDiscriminatedConnectorConfigConfigProxy", +] + + +class ConnectorAcceloDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorAcceloDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorAcceloDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorAcceloDiscriminatedConnectorConfig(BaseModel): + config: ConnectorAcceloDiscriminatedConnectorConfigConfig + + connector_name: Literal["accelo"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorAcmeApikeyDiscriminatedConnectorConfig(BaseModel): + config: object + """Base configuration for api key connector""" + + connector_name: Literal["acme-apikey"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorAcmeOauth2DiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorAcmeOauth2DiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorAcmeOauth2DiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorAcmeOauth2DiscriminatedConnectorConfig(BaseModel): + config: ConnectorAcmeOauth2DiscriminatedConnectorConfigConfig + + connector_name: Literal["acme-oauth2"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorAdobeDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorAdobeDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorAdobeDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorAdobeDiscriminatedConnectorConfig(BaseModel): + config: ConnectorAdobeDiscriminatedConnectorConfigConfig + + connector_name: Literal["adobe"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorAdyenDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorAdyenDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorAdyenDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorAdyenDiscriminatedConnectorConfig(BaseModel): + config: ConnectorAdyenDiscriminatedConnectorConfigConfig + + connector_name: Literal["adyen"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorAircallDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorAircallDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorAircallDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorAircallDiscriminatedConnectorConfig(BaseModel): + config: ConnectorAircallDiscriminatedConnectorConfigConfig + + connector_name: Literal["aircall"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorAmazonDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorAmazonDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorAmazonDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorAmazonDiscriminatedConnectorConfig(BaseModel): + config: ConnectorAmazonDiscriminatedConnectorConfigConfig + + connector_name: Literal["amazon"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorApaleoDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorApaleoDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorApaleoDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorApaleoDiscriminatedConnectorConfig(BaseModel): + config: ConnectorApaleoDiscriminatedConnectorConfigConfig + + connector_name: Literal["apaleo"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorAsanaDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorAsanaDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorAsanaDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorAsanaDiscriminatedConnectorConfig(BaseModel): + config: ConnectorAsanaDiscriminatedConnectorConfigConfig + + connector_name: Literal["asana"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorAttioDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorAttioDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorAttioDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorAttioDiscriminatedConnectorConfig(BaseModel): + config: ConnectorAttioDiscriminatedConnectorConfigConfig + + connector_name: Literal["attio"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorAuth0DiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorAuth0DiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorAuth0DiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorAuth0DiscriminatedConnectorConfig(BaseModel): + config: ConnectorAuth0DiscriminatedConnectorConfigConfig + + connector_name: Literal["auth0"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorAutodeskDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorAutodeskDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorAutodeskDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorAutodeskDiscriminatedConnectorConfig(BaseModel): + config: ConnectorAutodeskDiscriminatedConnectorConfigConfig + + connector_name: Literal["autodesk"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorAwsDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorAwsDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorAwsDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorAwsDiscriminatedConnectorConfig(BaseModel): + config: ConnectorAwsDiscriminatedConnectorConfigConfig + + connector_name: Literal["aws"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorBamboohrDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorBamboohrDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorBamboohrDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorBamboohrDiscriminatedConnectorConfig(BaseModel): + config: ConnectorBamboohrDiscriminatedConnectorConfigConfig + + connector_name: Literal["bamboohr"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorBasecampDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorBasecampDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorBasecampDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorBasecampDiscriminatedConnectorConfig(BaseModel): + config: ConnectorBasecampDiscriminatedConnectorConfigConfig + + connector_name: Literal["basecamp"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorBattlenetDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorBattlenetDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorBattlenetDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorBattlenetDiscriminatedConnectorConfig(BaseModel): + config: ConnectorBattlenetDiscriminatedConnectorConfigConfig + + connector_name: Literal["battlenet"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorBigcommerceDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorBigcommerceDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorBigcommerceDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorBigcommerceDiscriminatedConnectorConfig(BaseModel): + config: ConnectorBigcommerceDiscriminatedConnectorConfigConfig + + connector_name: Literal["bigcommerce"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorBitbucketDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorBitbucketDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorBitbucketDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorBitbucketDiscriminatedConnectorConfig(BaseModel): + config: ConnectorBitbucketDiscriminatedConnectorConfigConfig + + connector_name: Literal["bitbucket"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorBitlyDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorBitlyDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorBitlyDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorBitlyDiscriminatedConnectorConfig(BaseModel): + config: ConnectorBitlyDiscriminatedConnectorConfigConfig + + connector_name: Literal["bitly"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorBlackbaudDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorBlackbaudDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorBlackbaudDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorBlackbaudDiscriminatedConnectorConfig(BaseModel): + config: ConnectorBlackbaudDiscriminatedConnectorConfigConfig + + connector_name: Literal["blackbaud"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorBoldsignDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorBoldsignDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorBoldsignDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorBoldsignDiscriminatedConnectorConfig(BaseModel): + config: ConnectorBoldsignDiscriminatedConnectorConfigConfig + + connector_name: Literal["boldsign"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorBoxDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorBoxDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorBoxDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorBoxDiscriminatedConnectorConfig(BaseModel): + config: ConnectorBoxDiscriminatedConnectorConfigConfig + + connector_name: Literal["box"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorBraintreeDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorBraintreeDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorBraintreeDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorBraintreeDiscriminatedConnectorConfig(BaseModel): + config: ConnectorBraintreeDiscriminatedConnectorConfigConfig + + connector_name: Literal["braintree"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorCalendlyDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorCalendlyDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorCalendlyDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorCalendlyDiscriminatedConnectorConfig(BaseModel): + config: ConnectorCalendlyDiscriminatedConnectorConfigConfig + + connector_name: Literal["calendly"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorClickupDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorClickupDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorClickupDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorClickupDiscriminatedConnectorConfig(BaseModel): + config: ConnectorClickupDiscriminatedConnectorConfigConfig + + connector_name: Literal["clickup"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorCloseDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorCloseDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorCloseDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorCloseDiscriminatedConnectorConfig(BaseModel): + config: ConnectorCloseDiscriminatedConnectorConfigConfig + + connector_name: Literal["close"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorConfluenceDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorConfluenceDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorConfluenceDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorConfluenceDiscriminatedConnectorConfig(BaseModel): + config: ConnectorConfluenceDiscriminatedConnectorConfigConfig + + connector_name: Literal["confluence"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorContentfulDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorContentfulDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorContentfulDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorContentfulDiscriminatedConnectorConfig(BaseModel): + config: ConnectorContentfulDiscriminatedConnectorConfigConfig + + connector_name: Literal["contentful"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorContentstackDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorContentstackDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorContentstackDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorContentstackDiscriminatedConnectorConfig(BaseModel): + config: ConnectorContentstackDiscriminatedConnectorConfigConfig + + connector_name: Literal["contentstack"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorCopperDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorCopperDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorCopperDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorCopperDiscriminatedConnectorConfig(BaseModel): + config: ConnectorCopperDiscriminatedConnectorConfigConfig + + connector_name: Literal["copper"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorCorosDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorCorosDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorCorosDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorCorosDiscriminatedConnectorConfig(BaseModel): + config: ConnectorCorosDiscriminatedConnectorConfigConfig + + connector_name: Literal["coros"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorDatevDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorDatevDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorDatevDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorDatevDiscriminatedConnectorConfig(BaseModel): + config: ConnectorDatevDiscriminatedConnectorConfigConfig + + connector_name: Literal["datev"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorDeelDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorDeelDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorDeelDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorDeelDiscriminatedConnectorConfig(BaseModel): + config: ConnectorDeelDiscriminatedConnectorConfigConfig + + connector_name: Literal["deel"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorDialpadDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorDialpadDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorDialpadDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorDialpadDiscriminatedConnectorConfig(BaseModel): + config: ConnectorDialpadDiscriminatedConnectorConfigConfig + + connector_name: Literal["dialpad"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorDigitaloceanDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorDigitaloceanDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorDigitaloceanDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorDigitaloceanDiscriminatedConnectorConfig(BaseModel): + config: ConnectorDigitaloceanDiscriminatedConnectorConfigConfig + + connector_name: Literal["digitalocean"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorDiscordDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorDiscordDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorDiscordDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorDiscordDiscriminatedConnectorConfig(BaseModel): + config: ConnectorDiscordDiscriminatedConnectorConfigConfig + + connector_name: Literal["discord"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorDocusignDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorDocusignDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorDocusignDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorDocusignDiscriminatedConnectorConfig(BaseModel): + config: ConnectorDocusignDiscriminatedConnectorConfigConfig + + connector_name: Literal["docusign"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorDropboxDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorDropboxDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorDropboxDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorDropboxDiscriminatedConnectorConfig(BaseModel): + config: ConnectorDropboxDiscriminatedConnectorConfigConfig + + connector_name: Literal["dropbox"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorEbayDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorEbayDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorEbayDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorEbayDiscriminatedConnectorConfig(BaseModel): + config: ConnectorEbayDiscriminatedConnectorConfigConfig + + connector_name: Literal["ebay"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorEgnyteDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorEgnyteDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorEgnyteDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorEgnyteDiscriminatedConnectorConfig(BaseModel): + config: ConnectorEgnyteDiscriminatedConnectorConfigConfig + + connector_name: Literal["egnyte"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorEnvoyDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorEnvoyDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorEnvoyDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorEnvoyDiscriminatedConnectorConfig(BaseModel): + config: ConnectorEnvoyDiscriminatedConnectorConfigConfig + + connector_name: Literal["envoy"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorEventbriteDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorEventbriteDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorEventbriteDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorEventbriteDiscriminatedConnectorConfig(BaseModel): + config: ConnectorEventbriteDiscriminatedConnectorConfigConfig + + connector_name: Literal["eventbrite"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorExistDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorExistDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorExistDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorExistDiscriminatedConnectorConfig(BaseModel): + config: ConnectorExistDiscriminatedConnectorConfigConfig + + connector_name: Literal["exist"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorFacebookDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorFacebookDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorFacebookDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorFacebookDiscriminatedConnectorConfig(BaseModel): + config: ConnectorFacebookDiscriminatedConnectorConfigConfig + + connector_name: Literal["facebook"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorFactorialDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorFactorialDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorFactorialDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorFactorialDiscriminatedConnectorConfig(BaseModel): + config: ConnectorFactorialDiscriminatedConnectorConfigConfig + + connector_name: Literal["factorial"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorFigmaDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorFigmaDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorFigmaDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorFigmaDiscriminatedConnectorConfig(BaseModel): + config: ConnectorFigmaDiscriminatedConnectorConfigConfig + + connector_name: Literal["figma"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorFitbitDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorFitbitDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorFitbitDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorFitbitDiscriminatedConnectorConfig(BaseModel): + config: ConnectorFitbitDiscriminatedConnectorConfigConfig + + connector_name: Literal["fitbit"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorFortnoxDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorFortnoxDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorFortnoxDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorFortnoxDiscriminatedConnectorConfig(BaseModel): + config: ConnectorFortnoxDiscriminatedConnectorConfigConfig + + connector_name: Literal["fortnox"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorFreshbooksDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorFreshbooksDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorFreshbooksDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorFreshbooksDiscriminatedConnectorConfig(BaseModel): + config: ConnectorFreshbooksDiscriminatedConnectorConfigConfig + + connector_name: Literal["freshbooks"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorFrontDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorFrontDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorFrontDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorFrontDiscriminatedConnectorConfig(BaseModel): + config: ConnectorFrontDiscriminatedConnectorConfigConfig + + connector_name: Literal["front"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorGitHubDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorGitHubDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorGitHubDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorGitHubDiscriminatedConnectorConfig(BaseModel): + config: ConnectorGitHubDiscriminatedConnectorConfigConfig + + connector_name: Literal["github"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorGitlabDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorGitlabDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorGitlabDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorGitlabDiscriminatedConnectorConfig(BaseModel): + config: ConnectorGitlabDiscriminatedConnectorConfigConfig + + connector_name: Literal["gitlab"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorGongDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorGongDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorGongDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorGongDiscriminatedConnectorConfig(BaseModel): + config: ConnectorGongDiscriminatedConnectorConfigConfig + + connector_name: Literal["gong"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorGoogleCalendarDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorGoogleCalendarDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorGoogleCalendarDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorGoogleCalendarDiscriminatedConnectorConfig(BaseModel): + config: ConnectorGoogleCalendarDiscriminatedConnectorConfigConfig + + connector_name: Literal["google-calendar"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorGoogleDocsDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorGoogleDocsDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorGoogleDocsDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorGoogleDocsDiscriminatedConnectorConfig(BaseModel): + config: ConnectorGoogleDocsDiscriminatedConnectorConfigConfig + + connector_name: Literal["google-docs"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorGoogleDriveDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorGoogleDriveDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorGoogleDriveDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorGoogleDriveDiscriminatedConnectorConfig(BaseModel): + config: ConnectorGoogleDriveDiscriminatedConnectorConfigConfig + + connector_name: Literal["google-drive"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorGoogleMailDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorGoogleMailDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorGoogleMailDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorGoogleMailDiscriminatedConnectorConfig(BaseModel): + config: ConnectorGoogleMailDiscriminatedConnectorConfigConfig + + connector_name: Literal["google-mail"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorGoogleSheetDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorGoogleSheetDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorGoogleSheetDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorGoogleSheetDiscriminatedConnectorConfig(BaseModel): + config: ConnectorGoogleSheetDiscriminatedConnectorConfigConfig + + connector_name: Literal["google-sheet"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorGorgiasDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorGorgiasDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorGorgiasDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorGorgiasDiscriminatedConnectorConfig(BaseModel): + config: ConnectorGorgiasDiscriminatedConnectorConfigConfig + + connector_name: Literal["gorgias"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorGrainDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorGrainDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorGrainDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorGrainDiscriminatedConnectorConfig(BaseModel): + config: ConnectorGrainDiscriminatedConnectorConfigConfig + + connector_name: Literal["grain"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorGumroadDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorGumroadDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorGumroadDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorGumroadDiscriminatedConnectorConfig(BaseModel): + config: ConnectorGumroadDiscriminatedConnectorConfigConfig + + connector_name: Literal["gumroad"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorGustoDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorGustoDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorGustoDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorGustoDiscriminatedConnectorConfig(BaseModel): + config: ConnectorGustoDiscriminatedConnectorConfigConfig + + connector_name: Literal["gusto"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorHarvestDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorHarvestDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorHarvestDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorHarvestDiscriminatedConnectorConfig(BaseModel): + config: ConnectorHarvestDiscriminatedConnectorConfigConfig + + connector_name: Literal["harvest"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorHighlevelDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorHighlevelDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorHighlevelDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorHighlevelDiscriminatedConnectorConfig(BaseModel): + config: ConnectorHighlevelDiscriminatedConnectorConfigConfig + + connector_name: Literal["highlevel"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorHubspotDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorHubspotDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorHubspotDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorHubspotDiscriminatedConnectorConfig(BaseModel): + config: ConnectorHubspotDiscriminatedConnectorConfigConfig + + connector_name: Literal["hubspot"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorInstagramDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorInstagramDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorInstagramDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorInstagramDiscriminatedConnectorConfig(BaseModel): + config: ConnectorInstagramDiscriminatedConnectorConfigConfig + + connector_name: Literal["instagram"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorIntercomDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorIntercomDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorIntercomDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorIntercomDiscriminatedConnectorConfig(BaseModel): + config: ConnectorIntercomDiscriminatedConnectorConfigConfig + + connector_name: Literal["intercom"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorJiraDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorJiraDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorJiraDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorJiraDiscriminatedConnectorConfig(BaseModel): + config: ConnectorJiraDiscriminatedConnectorConfigConfig + + connector_name: Literal["jira"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorKeapDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorKeapDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorKeapDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorKeapDiscriminatedConnectorConfig(BaseModel): + config: ConnectorKeapDiscriminatedConnectorConfigConfig + + connector_name: Literal["keap"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorLeverDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorLeverDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorLeverDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorLeverDiscriminatedConnectorConfig(BaseModel): + config: ConnectorLeverDiscriminatedConnectorConfigConfig + + connector_name: Literal["lever"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorLinearDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorLinearDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorLinearDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorLinearDiscriminatedConnectorConfig(BaseModel): + config: ConnectorLinearDiscriminatedConnectorConfigConfig + + connector_name: Literal["linear"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorLinkedinDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorLinkedinDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorLinkedinDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorLinkedinDiscriminatedConnectorConfig(BaseModel): + config: ConnectorLinkedinDiscriminatedConnectorConfigConfig + + connector_name: Literal["linkedin"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorLinkhutDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorLinkhutDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorLinkhutDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorLinkhutDiscriminatedConnectorConfig(BaseModel): + config: ConnectorLinkhutDiscriminatedConnectorConfigConfig + + connector_name: Literal["linkhut"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorMailchimpDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorMailchimpDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorMailchimpDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorMailchimpDiscriminatedConnectorConfig(BaseModel): + config: ConnectorMailchimpDiscriminatedConnectorConfigConfig + + connector_name: Literal["mailchimp"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorMiroDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorMiroDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorMiroDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorMiroDiscriminatedConnectorConfig(BaseModel): + config: ConnectorMiroDiscriminatedConnectorConfigConfig + + connector_name: Literal["miro"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorMondayDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorMondayDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorMondayDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorMondayDiscriminatedConnectorConfig(BaseModel): + config: ConnectorMondayDiscriminatedConnectorConfigConfig + + connector_name: Literal["monday"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorMuralDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorMuralDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorMuralDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorMuralDiscriminatedConnectorConfig(BaseModel): + config: ConnectorMuralDiscriminatedConnectorConfigConfig + + connector_name: Literal["mural"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorNamelyDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorNamelyDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorNamelyDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorNamelyDiscriminatedConnectorConfig(BaseModel): + config: ConnectorNamelyDiscriminatedConnectorConfigConfig + + connector_name: Literal["namely"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorNationbuilderDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorNationbuilderDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorNationbuilderDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorNationbuilderDiscriminatedConnectorConfig(BaseModel): + config: ConnectorNationbuilderDiscriminatedConnectorConfigConfig + + connector_name: Literal["nationbuilder"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorNetsuiteDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorNetsuiteDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorNetsuiteDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorNetsuiteDiscriminatedConnectorConfig(BaseModel): + config: ConnectorNetsuiteDiscriminatedConnectorConfigConfig + + connector_name: Literal["netsuite"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorNotionDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorNotionDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorNotionDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorNotionDiscriminatedConnectorConfig(BaseModel): + config: ConnectorNotionDiscriminatedConnectorConfigConfig + + connector_name: Literal["notion"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorOdooDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorOdooDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorOdooDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorOdooDiscriminatedConnectorConfig(BaseModel): + config: ConnectorOdooDiscriminatedConnectorConfigConfig + + connector_name: Literal["odoo"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorOktaDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorOktaDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorOktaDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorOktaDiscriminatedConnectorConfig(BaseModel): + config: ConnectorOktaDiscriminatedConnectorConfigConfig + + connector_name: Literal["okta"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorOsuDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorOsuDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorOsuDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorOsuDiscriminatedConnectorConfig(BaseModel): + config: ConnectorOsuDiscriminatedConnectorConfigConfig + + connector_name: Literal["osu"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorOuraDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorOuraDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorOuraDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorOuraDiscriminatedConnectorConfig(BaseModel): + config: ConnectorOuraDiscriminatedConnectorConfigConfig + + connector_name: Literal["oura"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorOutreachDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorOutreachDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorOutreachDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorOutreachDiscriminatedConnectorConfig(BaseModel): + config: ConnectorOutreachDiscriminatedConnectorConfigConfig + + connector_name: Literal["outreach"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorPagerdutyDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorPagerdutyDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorPagerdutyDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorPagerdutyDiscriminatedConnectorConfig(BaseModel): + config: ConnectorPagerdutyDiscriminatedConnectorConfigConfig + + connector_name: Literal["pagerduty"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorPandadocDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorPandadocDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorPandadocDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorPandadocDiscriminatedConnectorConfig(BaseModel): + config: ConnectorPandadocDiscriminatedConnectorConfigConfig + + connector_name: Literal["pandadoc"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorPayfitDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorPayfitDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorPayfitDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorPayfitDiscriminatedConnectorConfig(BaseModel): + config: ConnectorPayfitDiscriminatedConnectorConfigConfig + + connector_name: Literal["payfit"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorPaypalDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorPaypalDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorPaypalDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorPaypalDiscriminatedConnectorConfig(BaseModel): + config: ConnectorPaypalDiscriminatedConnectorConfigConfig + + connector_name: Literal["paypal"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorPennylaneDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorPennylaneDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorPennylaneDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorPennylaneDiscriminatedConnectorConfig(BaseModel): + config: ConnectorPennylaneDiscriminatedConnectorConfigConfig + + connector_name: Literal["pennylane"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorPinterestDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorPinterestDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorPinterestDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorPinterestDiscriminatedConnectorConfig(BaseModel): + config: ConnectorPinterestDiscriminatedConnectorConfigConfig + + connector_name: Literal["pinterest"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorPipedriveDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorPipedriveDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorPipedriveDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorPipedriveDiscriminatedConnectorConfig(BaseModel): + config: ConnectorPipedriveDiscriminatedConnectorConfigConfig + + connector_name: Literal["pipedrive"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorPodiumDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorPodiumDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorPodiumDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorPodiumDiscriminatedConnectorConfig(BaseModel): + config: ConnectorPodiumDiscriminatedConnectorConfigConfig + + connector_name: Literal["podium"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorProductboardDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorProductboardDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorProductboardDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorProductboardDiscriminatedConnectorConfig(BaseModel): + config: ConnectorProductboardDiscriminatedConnectorConfigConfig + + connector_name: Literal["productboard"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorQualtricsDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorQualtricsDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorQualtricsDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorQualtricsDiscriminatedConnectorConfig(BaseModel): + config: ConnectorQualtricsDiscriminatedConnectorConfigConfig + + connector_name: Literal["qualtrics"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorQuickbooksDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorQuickbooksDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorQuickbooksDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorQuickbooksDiscriminatedConnectorConfig(BaseModel): + config: ConnectorQuickbooksDiscriminatedConnectorConfigConfig + + connector_name: Literal["quickbooks"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorRedditDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorRedditDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorRedditDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorRedditDiscriminatedConnectorConfig(BaseModel): + config: ConnectorRedditDiscriminatedConnectorConfigConfig + + connector_name: Literal["reddit"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorSageDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorSageDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorSageDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorSageDiscriminatedConnectorConfig(BaseModel): + config: ConnectorSageDiscriminatedConnectorConfigConfig + + connector_name: Literal["sage"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorSalesforceDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorSalesforceDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorSalesforceDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorSalesforceDiscriminatedConnectorConfig(BaseModel): + config: ConnectorSalesforceDiscriminatedConnectorConfigConfig + + connector_name: Literal["salesforce"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorSalesloftDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorSalesloftDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorSalesloftDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorSalesloftDiscriminatedConnectorConfig(BaseModel): + config: ConnectorSalesloftDiscriminatedConnectorConfigConfig + + connector_name: Literal["salesloft"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorSegmentDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorSegmentDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorSegmentDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorSegmentDiscriminatedConnectorConfig(BaseModel): + config: ConnectorSegmentDiscriminatedConnectorConfigConfig + + connector_name: Literal["segment"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorServicem8DiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorServicem8DiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorServicem8DiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorServicem8DiscriminatedConnectorConfig(BaseModel): + config: ConnectorServicem8DiscriminatedConnectorConfigConfig + + connector_name: Literal["servicem8"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorServicenowDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorServicenowDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorServicenowDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorServicenowDiscriminatedConnectorConfig(BaseModel): + config: ConnectorServicenowDiscriminatedConnectorConfigConfig + + connector_name: Literal["servicenow"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorSharepointDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorSharepointDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorSharepointDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorSharepointDiscriminatedConnectorConfig(BaseModel): + config: ConnectorSharepointDiscriminatedConnectorConfigConfig + + connector_name: Literal["sharepoint"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorShopifyDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorShopifyDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorShopifyDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorShopifyDiscriminatedConnectorConfig(BaseModel): + config: ConnectorShopifyDiscriminatedConnectorConfigConfig + + connector_name: Literal["shopify"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorSignnowDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorSignnowDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorSignnowDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorSignnowDiscriminatedConnectorConfig(BaseModel): + config: ConnectorSignnowDiscriminatedConnectorConfigConfig + + connector_name: Literal["signnow"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorSlackDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorSlackDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorSlackDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorSlackDiscriminatedConnectorConfig(BaseModel): + config: ConnectorSlackDiscriminatedConnectorConfigConfig + + connector_name: Literal["slack"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorSmartsheetDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorSmartsheetDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorSmartsheetDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorSmartsheetDiscriminatedConnectorConfig(BaseModel): + config: ConnectorSmartsheetDiscriminatedConnectorConfigConfig + + connector_name: Literal["smartsheet"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorSnowflakeDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorSnowflakeDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorSnowflakeDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorSnowflakeDiscriminatedConnectorConfig(BaseModel): + config: ConnectorSnowflakeDiscriminatedConnectorConfigConfig + + connector_name: Literal["snowflake"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorSpotifyDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorSpotifyDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorSpotifyDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorSpotifyDiscriminatedConnectorConfig(BaseModel): + config: ConnectorSpotifyDiscriminatedConnectorConfigConfig + + connector_name: Literal["spotify"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorSquarespaceDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorSquarespaceDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorSquarespaceDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorSquarespaceDiscriminatedConnectorConfig(BaseModel): + config: ConnectorSquarespaceDiscriminatedConnectorConfigConfig + + connector_name: Literal["squarespace"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorSquareupDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorSquareupDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorSquareupDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorSquareupDiscriminatedConnectorConfig(BaseModel): + config: ConnectorSquareupDiscriminatedConnectorConfigConfig + + connector_name: Literal["squareup"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorStackexchangeDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorStackexchangeDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorStackexchangeDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorStackexchangeDiscriminatedConnectorConfig(BaseModel): + config: ConnectorStackexchangeDiscriminatedConnectorConfigConfig + + connector_name: Literal["stackexchange"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorStravaDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorStravaDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorStravaDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorStravaDiscriminatedConnectorConfig(BaseModel): + config: ConnectorStravaDiscriminatedConnectorConfigConfig + + connector_name: Literal["strava"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorTeamworkDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorTeamworkDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorTeamworkDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorTeamworkDiscriminatedConnectorConfig(BaseModel): + config: ConnectorTeamworkDiscriminatedConnectorConfigConfig + + connector_name: Literal["teamwork"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorTicktickDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorTicktickDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorTicktickDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorTicktickDiscriminatedConnectorConfig(BaseModel): + config: ConnectorTicktickDiscriminatedConnectorConfigConfig + + connector_name: Literal["ticktick"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorTimelyDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorTimelyDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorTimelyDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorTimelyDiscriminatedConnectorConfig(BaseModel): + config: ConnectorTimelyDiscriminatedConnectorConfigConfig + + connector_name: Literal["timely"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorTodoistDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorTodoistDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorTodoistDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorTodoistDiscriminatedConnectorConfig(BaseModel): + config: ConnectorTodoistDiscriminatedConnectorConfigConfig + + connector_name: Literal["todoist"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorTremendousDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorTremendousDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorTremendousDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorTremendousDiscriminatedConnectorConfig(BaseModel): + config: ConnectorTremendousDiscriminatedConnectorConfigConfig + + connector_name: Literal["tremendous"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorTsheetsteamDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorTsheetsteamDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorTsheetsteamDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorTsheetsteamDiscriminatedConnectorConfig(BaseModel): + config: ConnectorTsheetsteamDiscriminatedConnectorConfigConfig + + connector_name: Literal["tsheetsteam"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorTumblrDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorTumblrDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorTumblrDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorTumblrDiscriminatedConnectorConfig(BaseModel): + config: ConnectorTumblrDiscriminatedConnectorConfigConfig + + connector_name: Literal["tumblr"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorTwinfieldDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorTwinfieldDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorTwinfieldDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorTwinfieldDiscriminatedConnectorConfig(BaseModel): + config: ConnectorTwinfieldDiscriminatedConnectorConfigConfig + + connector_name: Literal["twinfield"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorTwitchDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorTwitchDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorTwitchDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorTwitchDiscriminatedConnectorConfig(BaseModel): + config: ConnectorTwitchDiscriminatedConnectorConfigConfig + + connector_name: Literal["twitch"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorTwitterDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorTwitterDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorTwitterDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorTwitterDiscriminatedConnectorConfig(BaseModel): + config: ConnectorTwitterDiscriminatedConnectorConfigConfig + + connector_name: Literal["twitter"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorTypeformDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorTypeformDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorTypeformDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorTypeformDiscriminatedConnectorConfig(BaseModel): + config: ConnectorTypeformDiscriminatedConnectorConfigConfig + + connector_name: Literal["typeform"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorUberDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorUberDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorUberDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorUberDiscriminatedConnectorConfig(BaseModel): + config: ConnectorUberDiscriminatedConnectorConfigConfig + + connector_name: Literal["uber"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorVimeoDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorVimeoDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorVimeoDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorVimeoDiscriminatedConnectorConfig(BaseModel): + config: ConnectorVimeoDiscriminatedConnectorConfigConfig + + connector_name: Literal["vimeo"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorWakatimeDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorWakatimeDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorWakatimeDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorWakatimeDiscriminatedConnectorConfig(BaseModel): + config: ConnectorWakatimeDiscriminatedConnectorConfigConfig + + connector_name: Literal["wakatime"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorWealthboxDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorWealthboxDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorWealthboxDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorWealthboxDiscriminatedConnectorConfig(BaseModel): + config: ConnectorWealthboxDiscriminatedConnectorConfigConfig + + connector_name: Literal["wealthbox"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorWebflowDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorWebflowDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorWebflowDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorWebflowDiscriminatedConnectorConfig(BaseModel): + config: ConnectorWebflowDiscriminatedConnectorConfigConfig + + connector_name: Literal["webflow"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorWhoopDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorWhoopDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorWhoopDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorWhoopDiscriminatedConnectorConfig(BaseModel): + config: ConnectorWhoopDiscriminatedConnectorConfigConfig + + connector_name: Literal["whoop"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorWordpressDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorWordpressDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorWordpressDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorWordpressDiscriminatedConnectorConfig(BaseModel): + config: ConnectorWordpressDiscriminatedConnectorConfigConfig + + connector_name: Literal["wordpress"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorWrikeDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorWrikeDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorWrikeDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorWrikeDiscriminatedConnectorConfig(BaseModel): + config: ConnectorWrikeDiscriminatedConnectorConfigConfig + + connector_name: Literal["wrike"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorXeroDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorXeroDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorXeroDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorXeroDiscriminatedConnectorConfig(BaseModel): + config: ConnectorXeroDiscriminatedConnectorConfigConfig + + connector_name: Literal["xero"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorYahooDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorYahooDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorYahooDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorYahooDiscriminatedConnectorConfig(BaseModel): + config: ConnectorYahooDiscriminatedConnectorConfigConfig + + connector_name: Literal["yahoo"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorYandexDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorYandexDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorYandexDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorYandexDiscriminatedConnectorConfig(BaseModel): + config: ConnectorYandexDiscriminatedConnectorConfigConfig + + connector_name: Literal["yandex"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorZapierDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorZapierDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorZapierDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorZapierDiscriminatedConnectorConfig(BaseModel): + config: ConnectorZapierDiscriminatedConnectorConfigConfig + + connector_name: Literal["zapier"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorZendeskDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorZendeskDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorZendeskDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorZendeskDiscriminatedConnectorConfig(BaseModel): + config: ConnectorZendeskDiscriminatedConnectorConfigConfig + + connector_name: Literal["zendesk"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorZenefitsDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorZenefitsDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorZenefitsDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorZenefitsDiscriminatedConnectorConfig(BaseModel): + config: ConnectorZenefitsDiscriminatedConnectorConfigConfig + + connector_name: Literal["zenefits"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorZohoDeskDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorZohoDeskDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorZohoDeskDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorZohoDeskDiscriminatedConnectorConfig(BaseModel): + config: ConnectorZohoDeskDiscriminatedConnectorConfigConfig + + connector_name: Literal["zoho-desk"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorZohoDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorZohoDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorZohoDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorZohoDiscriminatedConnectorConfig(BaseModel): + config: ConnectorZohoDiscriminatedConnectorConfigConfig + + connector_name: Literal["zoho"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorZoomDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorZoomDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorZoomDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorZoomDiscriminatedConnectorConfig(BaseModel): + config: ConnectorZoomDiscriminatedConnectorConfigConfig + + connector_name: Literal["zoom"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorAirtableDiscriminatedConnectorConfig(BaseModel): + config: object + + connector_name: Literal["airtable"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorApolloDiscriminatedConnectorConfig(BaseModel): + config: object + + connector_name: Literal["apollo"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorBrexDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: str = FieldInfo(alias="clientId") + + client_secret: str = FieldInfo(alias="clientSecret") + + +class ConnectorBrexDiscriminatedConnectorConfigConfig(BaseModel): + apikey_auth: Optional[bool] = FieldInfo(alias="apikeyAuth", default=None) + """API key auth support""" + + oauth: Optional[ConnectorBrexDiscriminatedConnectorConfigConfigOAuth] = None + """Configure oauth""" + + +class ConnectorBrexDiscriminatedConnectorConfig(BaseModel): + config: ConnectorBrexDiscriminatedConnectorConfigConfig + + connector_name: Literal["brex"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorCodaDiscriminatedConnectorConfig(BaseModel): + config: object + + connector_name: Literal["coda"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorFinchDiscriminatedConnectorConfigConfig(BaseModel): + client_id: str + + client_secret: str + + products: List[ + Literal["company", "directory", "individual", "ssn", "employment", "payment", "pay_statement", "benefits"] + ] + """ + Finch products to access, @see + https://developer.tryfinch.com/api-reference/development-guides/Permissions + """ + + api_version: Optional[str] = None + """Finch API version""" + + +class ConnectorFinchDiscriminatedConnectorConfig(BaseModel): + config: ConnectorFinchDiscriminatedConnectorConfigConfig + + connector_name: Literal["finch"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorFirebaseDiscriminatedConnectorConfig(BaseModel): + config: object + + connector_name: Literal["firebase"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorForeceiptDiscriminatedConnectorConfig(BaseModel): + config: object + + connector_name: Literal["foreceipt"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorGreenhouseDiscriminatedConnectorConfig(BaseModel): + config: object + + connector_name: Literal["greenhouse"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorHeronDiscriminatedConnectorConfigConfig(BaseModel): + api_key: str = FieldInfo(alias="apiKey") + + +class ConnectorHeronDiscriminatedConnectorConfig(BaseModel): + config: ConnectorHeronDiscriminatedConnectorConfigConfig + + connector_name: Literal["heron"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorLunchmoneyDiscriminatedConnectorConfigConfig(BaseModel): + access_token: str = FieldInfo(alias="accessToken") + + +class ConnectorLunchmoneyDiscriminatedConnectorConfig(BaseModel): + config: ConnectorLunchmoneyDiscriminatedConnectorConfigConfig + + connector_name: Literal["lunchmoney"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorMercuryDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: str = FieldInfo(alias="clientId") + + client_secret: str = FieldInfo(alias="clientSecret") + + +class ConnectorMercuryDiscriminatedConnectorConfigConfig(BaseModel): + apikey_auth: Optional[bool] = FieldInfo(alias="apikeyAuth", default=None) + """API key auth support""" + + oauth: Optional[ConnectorMercuryDiscriminatedConnectorConfigConfigOAuth] = None + """Configure oauth""" + + +class ConnectorMercuryDiscriminatedConnectorConfig(BaseModel): + config: ConnectorMercuryDiscriminatedConnectorConfigConfig + + connector_name: Literal["mercury"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorMergeDiscriminatedConnectorConfigConfig(BaseModel): + api_key: str = FieldInfo(alias="apiKey") + + +class ConnectorMergeDiscriminatedConnectorConfig(BaseModel): + config: ConnectorMergeDiscriminatedConnectorConfigConfig + + connector_name: Literal["merge"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorMootaDiscriminatedConnectorConfigConfig(BaseModel): + token: str + + +class ConnectorMootaDiscriminatedConnectorConfig(BaseModel): + config: ConnectorMootaDiscriminatedConnectorConfigConfig + + connector_name: Literal["moota"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorOnebrickDiscriminatedConnectorConfigConfig(BaseModel): + client_id: str = FieldInfo(alias="clientId") + + client_secret: str = FieldInfo(alias="clientSecret") + + env_name: Literal["sandbox", "production"] = FieldInfo(alias="envName") + + public_token: str = FieldInfo(alias="publicToken") + + access_token: Optional[str] = FieldInfo(alias="accessToken", default=None) + + redirect_url: Optional[str] = FieldInfo(alias="redirectUrl", default=None) + + +class ConnectorOnebrickDiscriminatedConnectorConfig(BaseModel): + config: ConnectorOnebrickDiscriminatedConnectorConfigConfig + + connector_name: Literal["onebrick"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorOpenledgerDiscriminatedConnectorConfigConfig(BaseModel): + api_url: str + """API endpoint""" + + developer_id: str + """Your developer ID for authentication""" + + developer_secret: str + """Your developer secret""" + + environment: Literal["development", "production"] + """Switch to "production" for live data""" + + +class ConnectorOpenledgerDiscriminatedConnectorConfig(BaseModel): + config: ConnectorOpenledgerDiscriminatedConnectorConfigConfig + + connector_name: Literal["openledger"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorPlaidDiscriminatedConnectorConfigConfigCredentials(BaseModel): + client_id: str = FieldInfo(alias="clientId") + + client_secret: str = FieldInfo(alias="clientSecret") + + +class ConnectorPlaidDiscriminatedConnectorConfigConfig(BaseModel): + client_name: str = FieldInfo(alias="clientName") + """ + The name of your application, as it should be displayed in Link. Maximum length + of 30 characters. If a value longer than 30 characters is provided, Link will + display "This Application" instead. + """ + + country_codes: List[ + Literal["US", "GB", "ES", "NL", "FR", "IE", "CA", "DE", "IT", "PL", "DK", "NO", "SE", "EE", "LT", "LV"] + ] = FieldInfo(alias="countryCodes") + + env_name: Literal["sandbox", "development", "production"] = FieldInfo(alias="envName") + + language: Literal["en", "fr", "es", "nl", "de"] + + products: List[ + Literal[ + "assets", + "auth", + "balance", + "identity", + "investments", + "liabilities", + "payment_initiation", + "identity_verification", + "transactions", + "credit_details", + "income", + "income_verification", + "deposit_switch", + "standing_orders", + "transfer", + "employment", + "recurring_transactions", + ] + ] + + credentials: Optional[ConnectorPlaidDiscriminatedConnectorConfigConfigCredentials] = None + + +class ConnectorPlaidDiscriminatedConnectorConfig(BaseModel): + config: ConnectorPlaidDiscriminatedConnectorConfigConfig + + connector_name: Literal["plaid"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorPostgresDiscriminatedConnectorConfig(BaseModel): + config: object + + connector_name: Literal["postgres"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorRampDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: str = FieldInfo(alias="clientId") + + client_secret: str = FieldInfo(alias="clientSecret") + + +class ConnectorRampDiscriminatedConnectorConfigConfig(BaseModel): + oauth: ConnectorRampDiscriminatedConnectorConfigConfigOAuth + + +class ConnectorRampDiscriminatedConnectorConfig(BaseModel): + config: ConnectorRampDiscriminatedConnectorConfigConfig + + connector_name: Literal["ramp"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorSaltedgeDiscriminatedConnectorConfigConfig(BaseModel): + app_id: str = FieldInfo(alias="appId") + + secret: str + + url: Optional[str] = None + + +class ConnectorSaltedgeDiscriminatedConnectorConfig(BaseModel): + config: ConnectorSaltedgeDiscriminatedConnectorConfigConfig + + connector_name: Literal["saltedge"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorSharepointOnpremDiscriminatedConnectorConfig(BaseModel): + config: object + + connector_name: Literal["sharepoint-onprem"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorSplitwiseDiscriminatedConnectorConfig(BaseModel): + config: object + + connector_name: Literal["splitwise"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorStripeDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: str = FieldInfo(alias="clientId") + + client_secret: str = FieldInfo(alias="clientSecret") + + +class ConnectorStripeDiscriminatedConnectorConfigConfig(BaseModel): + apikey_auth: Optional[bool] = FieldInfo(alias="apikeyAuth", default=None) + """API key auth support""" + + oauth: Optional[ConnectorStripeDiscriminatedConnectorConfigConfigOAuth] = None + """Configure oauth""" + + +class ConnectorStripeDiscriminatedConnectorConfig(BaseModel): + config: ConnectorStripeDiscriminatedConnectorConfigConfig + + connector_name: Literal["stripe"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorTellerDiscriminatedConnectorConfigConfig(BaseModel): + application_id: str = FieldInfo(alias="applicationId") + + token: Optional[str] = None + + +class ConnectorTellerDiscriminatedConnectorConfig(BaseModel): + config: ConnectorTellerDiscriminatedConnectorConfigConfig + + connector_name: Literal["teller"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorTogglDiscriminatedConnectorConfig(BaseModel): + config: object + + connector_name: Literal["toggl"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorTwentyDiscriminatedConnectorConfig(BaseModel): + config: object + + connector_name: Literal["twenty"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorVenmoDiscriminatedConnectorConfigConfigProxy(BaseModel): + cert: str + + url: str + + +class ConnectorVenmoDiscriminatedConnectorConfigConfig(BaseModel): + proxy: Optional[ConnectorVenmoDiscriminatedConnectorConfigConfigProxy] = None + + v1_base_url: Optional[str] = FieldInfo(alias="v1BaseURL", default=None) + + v5_base_url: Optional[str] = FieldInfo(alias="v5BaseURL", default=None) + + +class ConnectorVenmoDiscriminatedConnectorConfig(BaseModel): + config: ConnectorVenmoDiscriminatedConnectorConfigConfig + + connector_name: Literal["venmo"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorWiseDiscriminatedConnectorConfig(BaseModel): + config: object + + connector_name: Literal["wise"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorYodleeDiscriminatedConnectorConfigConfigProxy(BaseModel): + cert: str + + url: str + + +class ConnectorYodleeDiscriminatedConnectorConfigConfig(BaseModel): + admin_login_name: str = FieldInfo(alias="adminLoginName") + + client_id: str = FieldInfo(alias="clientId") + + client_secret: str = FieldInfo(alias="clientSecret") + + env_name: Literal["sandbox", "development", "production"] = FieldInfo(alias="envName") + + proxy: Optional[ConnectorYodleeDiscriminatedConnectorConfigConfigProxy] = None + + sandbox_login_name: Optional[str] = FieldInfo(alias="sandboxLoginName", default=None) + + +class ConnectorYodleeDiscriminatedConnectorConfig(BaseModel): + config: ConnectorYodleeDiscriminatedConnectorConfigConfig + + connector_name: Literal["yodlee"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +GetConectorConfigResponse: TypeAlias = Union[ + ConnectorAcceloDiscriminatedConnectorConfig, + ConnectorAcmeApikeyDiscriminatedConnectorConfig, + ConnectorAcmeOauth2DiscriminatedConnectorConfig, + ConnectorAdobeDiscriminatedConnectorConfig, + ConnectorAdyenDiscriminatedConnectorConfig, + ConnectorAircallDiscriminatedConnectorConfig, + ConnectorAmazonDiscriminatedConnectorConfig, + ConnectorApaleoDiscriminatedConnectorConfig, + ConnectorAsanaDiscriminatedConnectorConfig, + ConnectorAttioDiscriminatedConnectorConfig, + ConnectorAuth0DiscriminatedConnectorConfig, + ConnectorAutodeskDiscriminatedConnectorConfig, + ConnectorAwsDiscriminatedConnectorConfig, + ConnectorBamboohrDiscriminatedConnectorConfig, + ConnectorBasecampDiscriminatedConnectorConfig, + ConnectorBattlenetDiscriminatedConnectorConfig, + ConnectorBigcommerceDiscriminatedConnectorConfig, + ConnectorBitbucketDiscriminatedConnectorConfig, + ConnectorBitlyDiscriminatedConnectorConfig, + ConnectorBlackbaudDiscriminatedConnectorConfig, + ConnectorBoldsignDiscriminatedConnectorConfig, + ConnectorBoxDiscriminatedConnectorConfig, + ConnectorBraintreeDiscriminatedConnectorConfig, + ConnectorCalendlyDiscriminatedConnectorConfig, + ConnectorClickupDiscriminatedConnectorConfig, + ConnectorCloseDiscriminatedConnectorConfig, + ConnectorConfluenceDiscriminatedConnectorConfig, + ConnectorContentfulDiscriminatedConnectorConfig, + ConnectorContentstackDiscriminatedConnectorConfig, + ConnectorCopperDiscriminatedConnectorConfig, + ConnectorCorosDiscriminatedConnectorConfig, + ConnectorDatevDiscriminatedConnectorConfig, + ConnectorDeelDiscriminatedConnectorConfig, + ConnectorDialpadDiscriminatedConnectorConfig, + ConnectorDigitaloceanDiscriminatedConnectorConfig, + ConnectorDiscordDiscriminatedConnectorConfig, + ConnectorDocusignDiscriminatedConnectorConfig, + ConnectorDropboxDiscriminatedConnectorConfig, + ConnectorEbayDiscriminatedConnectorConfig, + ConnectorEgnyteDiscriminatedConnectorConfig, + ConnectorEnvoyDiscriminatedConnectorConfig, + ConnectorEventbriteDiscriminatedConnectorConfig, + ConnectorExistDiscriminatedConnectorConfig, + ConnectorFacebookDiscriminatedConnectorConfig, + ConnectorFactorialDiscriminatedConnectorConfig, + ConnectorFigmaDiscriminatedConnectorConfig, + ConnectorFitbitDiscriminatedConnectorConfig, + ConnectorFortnoxDiscriminatedConnectorConfig, + ConnectorFreshbooksDiscriminatedConnectorConfig, + ConnectorFrontDiscriminatedConnectorConfig, + ConnectorGitHubDiscriminatedConnectorConfig, + ConnectorGitlabDiscriminatedConnectorConfig, + ConnectorGongDiscriminatedConnectorConfig, + ConnectorGoogleCalendarDiscriminatedConnectorConfig, + ConnectorGoogleDocsDiscriminatedConnectorConfig, + ConnectorGoogleDriveDiscriminatedConnectorConfig, + ConnectorGoogleMailDiscriminatedConnectorConfig, + ConnectorGoogleSheetDiscriminatedConnectorConfig, + ConnectorGorgiasDiscriminatedConnectorConfig, + ConnectorGrainDiscriminatedConnectorConfig, + ConnectorGumroadDiscriminatedConnectorConfig, + ConnectorGustoDiscriminatedConnectorConfig, + ConnectorHarvestDiscriminatedConnectorConfig, + ConnectorHighlevelDiscriminatedConnectorConfig, + ConnectorHubspotDiscriminatedConnectorConfig, + ConnectorInstagramDiscriminatedConnectorConfig, + ConnectorIntercomDiscriminatedConnectorConfig, + ConnectorJiraDiscriminatedConnectorConfig, + ConnectorKeapDiscriminatedConnectorConfig, + ConnectorLeverDiscriminatedConnectorConfig, + ConnectorLinearDiscriminatedConnectorConfig, + ConnectorLinkedinDiscriminatedConnectorConfig, + ConnectorLinkhutDiscriminatedConnectorConfig, + ConnectorMailchimpDiscriminatedConnectorConfig, + ConnectorMiroDiscriminatedConnectorConfig, + ConnectorMondayDiscriminatedConnectorConfig, + ConnectorMuralDiscriminatedConnectorConfig, + ConnectorNamelyDiscriminatedConnectorConfig, + ConnectorNationbuilderDiscriminatedConnectorConfig, + ConnectorNetsuiteDiscriminatedConnectorConfig, + ConnectorNotionDiscriminatedConnectorConfig, + ConnectorOdooDiscriminatedConnectorConfig, + ConnectorOktaDiscriminatedConnectorConfig, + ConnectorOsuDiscriminatedConnectorConfig, + ConnectorOuraDiscriminatedConnectorConfig, + ConnectorOutreachDiscriminatedConnectorConfig, + ConnectorPagerdutyDiscriminatedConnectorConfig, + ConnectorPandadocDiscriminatedConnectorConfig, + ConnectorPayfitDiscriminatedConnectorConfig, + ConnectorPaypalDiscriminatedConnectorConfig, + ConnectorPennylaneDiscriminatedConnectorConfig, + ConnectorPinterestDiscriminatedConnectorConfig, + ConnectorPipedriveDiscriminatedConnectorConfig, + ConnectorPodiumDiscriminatedConnectorConfig, + ConnectorProductboardDiscriminatedConnectorConfig, + ConnectorQualtricsDiscriminatedConnectorConfig, + ConnectorQuickbooksDiscriminatedConnectorConfig, + ConnectorRedditDiscriminatedConnectorConfig, + ConnectorSageDiscriminatedConnectorConfig, + ConnectorSalesforceDiscriminatedConnectorConfig, + ConnectorSalesloftDiscriminatedConnectorConfig, + ConnectorSegmentDiscriminatedConnectorConfig, + ConnectorServicem8DiscriminatedConnectorConfig, + ConnectorServicenowDiscriminatedConnectorConfig, + ConnectorSharepointDiscriminatedConnectorConfig, + ConnectorShopifyDiscriminatedConnectorConfig, + ConnectorSignnowDiscriminatedConnectorConfig, + ConnectorSlackDiscriminatedConnectorConfig, + ConnectorSmartsheetDiscriminatedConnectorConfig, + ConnectorSnowflakeDiscriminatedConnectorConfig, + ConnectorSpotifyDiscriminatedConnectorConfig, + ConnectorSquarespaceDiscriminatedConnectorConfig, + ConnectorSquareupDiscriminatedConnectorConfig, + ConnectorStackexchangeDiscriminatedConnectorConfig, + ConnectorStravaDiscriminatedConnectorConfig, + ConnectorTeamworkDiscriminatedConnectorConfig, + ConnectorTicktickDiscriminatedConnectorConfig, + ConnectorTimelyDiscriminatedConnectorConfig, + ConnectorTodoistDiscriminatedConnectorConfig, + ConnectorTremendousDiscriminatedConnectorConfig, + ConnectorTsheetsteamDiscriminatedConnectorConfig, + ConnectorTumblrDiscriminatedConnectorConfig, + ConnectorTwinfieldDiscriminatedConnectorConfig, + ConnectorTwitchDiscriminatedConnectorConfig, + ConnectorTwitterDiscriminatedConnectorConfig, + ConnectorTypeformDiscriminatedConnectorConfig, + ConnectorUberDiscriminatedConnectorConfig, + ConnectorVimeoDiscriminatedConnectorConfig, + ConnectorWakatimeDiscriminatedConnectorConfig, + ConnectorWealthboxDiscriminatedConnectorConfig, + ConnectorWebflowDiscriminatedConnectorConfig, + ConnectorWhoopDiscriminatedConnectorConfig, + ConnectorWordpressDiscriminatedConnectorConfig, + ConnectorWrikeDiscriminatedConnectorConfig, + ConnectorXeroDiscriminatedConnectorConfig, + ConnectorYahooDiscriminatedConnectorConfig, + ConnectorYandexDiscriminatedConnectorConfig, + ConnectorZapierDiscriminatedConnectorConfig, + ConnectorZendeskDiscriminatedConnectorConfig, + ConnectorZenefitsDiscriminatedConnectorConfig, + ConnectorZohoDeskDiscriminatedConnectorConfig, + ConnectorZohoDiscriminatedConnectorConfig, + ConnectorZoomDiscriminatedConnectorConfig, + ConnectorAirtableDiscriminatedConnectorConfig, + ConnectorApolloDiscriminatedConnectorConfig, + ConnectorBrexDiscriminatedConnectorConfig, + ConnectorCodaDiscriminatedConnectorConfig, + ConnectorFinchDiscriminatedConnectorConfig, + ConnectorFirebaseDiscriminatedConnectorConfig, + ConnectorForeceiptDiscriminatedConnectorConfig, + ConnectorGreenhouseDiscriminatedConnectorConfig, + ConnectorHeronDiscriminatedConnectorConfig, + ConnectorLunchmoneyDiscriminatedConnectorConfig, + ConnectorMercuryDiscriminatedConnectorConfig, + ConnectorMergeDiscriminatedConnectorConfig, + ConnectorMootaDiscriminatedConnectorConfig, + ConnectorOnebrickDiscriminatedConnectorConfig, + ConnectorOpenledgerDiscriminatedConnectorConfig, + ConnectorPlaidDiscriminatedConnectorConfig, + ConnectorPostgresDiscriminatedConnectorConfig, + ConnectorRampDiscriminatedConnectorConfig, + ConnectorSaltedgeDiscriminatedConnectorConfig, + ConnectorSharepointOnpremDiscriminatedConnectorConfig, + ConnectorSplitwiseDiscriminatedConnectorConfig, + ConnectorStripeDiscriminatedConnectorConfig, + ConnectorTellerDiscriminatedConnectorConfig, + ConnectorTogglDiscriminatedConnectorConfig, + ConnectorTwentyDiscriminatedConnectorConfig, + ConnectorVenmoDiscriminatedConnectorConfig, + ConnectorWiseDiscriminatedConnectorConfig, + ConnectorYodleeDiscriminatedConnectorConfig, +] diff --git a/src/openint/types/list_connnector_configs_response.py b/src/openint/types/list_connnector_configs_response.py new file mode 100644 index 0000000..df9c242 --- /dev/null +++ b/src/openint/types/list_connnector_configs_response.py @@ -0,0 +1,8449 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from typing import Dict, List, Union, Optional +from typing_extensions import Literal, TypeAlias + +from pydantic import Field as FieldInfo + +from .._models import BaseModel +from .connector import Connector +from .integration import Integration + +__all__ = [ + "ListConnnectorConfigsResponse", + "ConnectorAcceloDiscriminatedConnectorConfig", + "ConnectorAcceloDiscriminatedConnectorConfigConfig", + "ConnectorAcceloDiscriminatedConnectorConfigConfigOAuth", + "ConnectorAcmeApikeyDiscriminatedConnectorConfig", + "ConnectorAcmeOauth2DiscriminatedConnectorConfig", + "ConnectorAcmeOauth2DiscriminatedConnectorConfigConfig", + "ConnectorAcmeOauth2DiscriminatedConnectorConfigConfigOAuth", + "ConnectorAdobeDiscriminatedConnectorConfig", + "ConnectorAdobeDiscriminatedConnectorConfigConfig", + "ConnectorAdobeDiscriminatedConnectorConfigConfigOAuth", + "ConnectorAdyenDiscriminatedConnectorConfig", + "ConnectorAdyenDiscriminatedConnectorConfigConfig", + "ConnectorAdyenDiscriminatedConnectorConfigConfigOAuth", + "ConnectorAircallDiscriminatedConnectorConfig", + "ConnectorAircallDiscriminatedConnectorConfigConfig", + "ConnectorAircallDiscriminatedConnectorConfigConfigOAuth", + "ConnectorAmazonDiscriminatedConnectorConfig", + "ConnectorAmazonDiscriminatedConnectorConfigConfig", + "ConnectorAmazonDiscriminatedConnectorConfigConfigOAuth", + "ConnectorApaleoDiscriminatedConnectorConfig", + "ConnectorApaleoDiscriminatedConnectorConfigConfig", + "ConnectorApaleoDiscriminatedConnectorConfigConfigOAuth", + "ConnectorAsanaDiscriminatedConnectorConfig", + "ConnectorAsanaDiscriminatedConnectorConfigConfig", + "ConnectorAsanaDiscriminatedConnectorConfigConfigOAuth", + "ConnectorAttioDiscriminatedConnectorConfig", + "ConnectorAttioDiscriminatedConnectorConfigConfig", + "ConnectorAttioDiscriminatedConnectorConfigConfigOAuth", + "ConnectorAuth0DiscriminatedConnectorConfig", + "ConnectorAuth0DiscriminatedConnectorConfigConfig", + "ConnectorAuth0DiscriminatedConnectorConfigConfigOAuth", + "ConnectorAutodeskDiscriminatedConnectorConfig", + "ConnectorAutodeskDiscriminatedConnectorConfigConfig", + "ConnectorAutodeskDiscriminatedConnectorConfigConfigOAuth", + "ConnectorAwsDiscriminatedConnectorConfig", + "ConnectorAwsDiscriminatedConnectorConfigConfig", + "ConnectorAwsDiscriminatedConnectorConfigConfigOAuth", + "ConnectorBamboohrDiscriminatedConnectorConfig", + "ConnectorBamboohrDiscriminatedConnectorConfigConfig", + "ConnectorBamboohrDiscriminatedConnectorConfigConfigOAuth", + "ConnectorBasecampDiscriminatedConnectorConfig", + "ConnectorBasecampDiscriminatedConnectorConfigConfig", + "ConnectorBasecampDiscriminatedConnectorConfigConfigOAuth", + "ConnectorBattlenetDiscriminatedConnectorConfig", + "ConnectorBattlenetDiscriminatedConnectorConfigConfig", + "ConnectorBattlenetDiscriminatedConnectorConfigConfigOAuth", + "ConnectorBigcommerceDiscriminatedConnectorConfig", + "ConnectorBigcommerceDiscriminatedConnectorConfigConfig", + "ConnectorBigcommerceDiscriminatedConnectorConfigConfigOAuth", + "ConnectorBitbucketDiscriminatedConnectorConfig", + "ConnectorBitbucketDiscriminatedConnectorConfigConfig", + "ConnectorBitbucketDiscriminatedConnectorConfigConfigOAuth", + "ConnectorBitlyDiscriminatedConnectorConfig", + "ConnectorBitlyDiscriminatedConnectorConfigConfig", + "ConnectorBitlyDiscriminatedConnectorConfigConfigOAuth", + "ConnectorBlackbaudDiscriminatedConnectorConfig", + "ConnectorBlackbaudDiscriminatedConnectorConfigConfig", + "ConnectorBlackbaudDiscriminatedConnectorConfigConfigOAuth", + "ConnectorBoldsignDiscriminatedConnectorConfig", + "ConnectorBoldsignDiscriminatedConnectorConfigConfig", + "ConnectorBoldsignDiscriminatedConnectorConfigConfigOAuth", + "ConnectorBoxDiscriminatedConnectorConfig", + "ConnectorBoxDiscriminatedConnectorConfigConfig", + "ConnectorBoxDiscriminatedConnectorConfigConfigOAuth", + "ConnectorBraintreeDiscriminatedConnectorConfig", + "ConnectorBraintreeDiscriminatedConnectorConfigConfig", + "ConnectorBraintreeDiscriminatedConnectorConfigConfigOAuth", + "ConnectorCalendlyDiscriminatedConnectorConfig", + "ConnectorCalendlyDiscriminatedConnectorConfigConfig", + "ConnectorCalendlyDiscriminatedConnectorConfigConfigOAuth", + "ConnectorClickupDiscriminatedConnectorConfig", + "ConnectorClickupDiscriminatedConnectorConfigConfig", + "ConnectorClickupDiscriminatedConnectorConfigConfigOAuth", + "ConnectorCloseDiscriminatedConnectorConfig", + "ConnectorCloseDiscriminatedConnectorConfigConfig", + "ConnectorCloseDiscriminatedConnectorConfigConfigOAuth", + "ConnectorConfluenceDiscriminatedConnectorConfig", + "ConnectorConfluenceDiscriminatedConnectorConfigConfig", + "ConnectorConfluenceDiscriminatedConnectorConfigConfigOAuth", + "ConnectorContentfulDiscriminatedConnectorConfig", + "ConnectorContentfulDiscriminatedConnectorConfigConfig", + "ConnectorContentfulDiscriminatedConnectorConfigConfigOAuth", + "ConnectorContentstackDiscriminatedConnectorConfig", + "ConnectorContentstackDiscriminatedConnectorConfigConfig", + "ConnectorContentstackDiscriminatedConnectorConfigConfigOAuth", + "ConnectorCopperDiscriminatedConnectorConfig", + "ConnectorCopperDiscriminatedConnectorConfigConfig", + "ConnectorCopperDiscriminatedConnectorConfigConfigOAuth", + "ConnectorCorosDiscriminatedConnectorConfig", + "ConnectorCorosDiscriminatedConnectorConfigConfig", + "ConnectorCorosDiscriminatedConnectorConfigConfigOAuth", + "ConnectorDatevDiscriminatedConnectorConfig", + "ConnectorDatevDiscriminatedConnectorConfigConfig", + "ConnectorDatevDiscriminatedConnectorConfigConfigOAuth", + "ConnectorDeelDiscriminatedConnectorConfig", + "ConnectorDeelDiscriminatedConnectorConfigConfig", + "ConnectorDeelDiscriminatedConnectorConfigConfigOAuth", + "ConnectorDialpadDiscriminatedConnectorConfig", + "ConnectorDialpadDiscriminatedConnectorConfigConfig", + "ConnectorDialpadDiscriminatedConnectorConfigConfigOAuth", + "ConnectorDigitaloceanDiscriminatedConnectorConfig", + "ConnectorDigitaloceanDiscriminatedConnectorConfigConfig", + "ConnectorDigitaloceanDiscriminatedConnectorConfigConfigOAuth", + "ConnectorDiscordDiscriminatedConnectorConfig", + "ConnectorDiscordDiscriminatedConnectorConfigConfig", + "ConnectorDiscordDiscriminatedConnectorConfigConfigOAuth", + "ConnectorDocusignDiscriminatedConnectorConfig", + "ConnectorDocusignDiscriminatedConnectorConfigConfig", + "ConnectorDocusignDiscriminatedConnectorConfigConfigOAuth", + "ConnectorDropboxDiscriminatedConnectorConfig", + "ConnectorDropboxDiscriminatedConnectorConfigConfig", + "ConnectorDropboxDiscriminatedConnectorConfigConfigOAuth", + "ConnectorEbayDiscriminatedConnectorConfig", + "ConnectorEbayDiscriminatedConnectorConfigConfig", + "ConnectorEbayDiscriminatedConnectorConfigConfigOAuth", + "ConnectorEgnyteDiscriminatedConnectorConfig", + "ConnectorEgnyteDiscriminatedConnectorConfigConfig", + "ConnectorEgnyteDiscriminatedConnectorConfigConfigOAuth", + "ConnectorEnvoyDiscriminatedConnectorConfig", + "ConnectorEnvoyDiscriminatedConnectorConfigConfig", + "ConnectorEnvoyDiscriminatedConnectorConfigConfigOAuth", + "ConnectorEventbriteDiscriminatedConnectorConfig", + "ConnectorEventbriteDiscriminatedConnectorConfigConfig", + "ConnectorEventbriteDiscriminatedConnectorConfigConfigOAuth", + "ConnectorExistDiscriminatedConnectorConfig", + "ConnectorExistDiscriminatedConnectorConfigConfig", + "ConnectorExistDiscriminatedConnectorConfigConfigOAuth", + "ConnectorFacebookDiscriminatedConnectorConfig", + "ConnectorFacebookDiscriminatedConnectorConfigConfig", + "ConnectorFacebookDiscriminatedConnectorConfigConfigOAuth", + "ConnectorFactorialDiscriminatedConnectorConfig", + "ConnectorFactorialDiscriminatedConnectorConfigConfig", + "ConnectorFactorialDiscriminatedConnectorConfigConfigOAuth", + "ConnectorFigmaDiscriminatedConnectorConfig", + "ConnectorFigmaDiscriminatedConnectorConfigConfig", + "ConnectorFigmaDiscriminatedConnectorConfigConfigOAuth", + "ConnectorFitbitDiscriminatedConnectorConfig", + "ConnectorFitbitDiscriminatedConnectorConfigConfig", + "ConnectorFitbitDiscriminatedConnectorConfigConfigOAuth", + "ConnectorFortnoxDiscriminatedConnectorConfig", + "ConnectorFortnoxDiscriminatedConnectorConfigConfig", + "ConnectorFortnoxDiscriminatedConnectorConfigConfigOAuth", + "ConnectorFreshbooksDiscriminatedConnectorConfig", + "ConnectorFreshbooksDiscriminatedConnectorConfigConfig", + "ConnectorFreshbooksDiscriminatedConnectorConfigConfigOAuth", + "ConnectorFrontDiscriminatedConnectorConfig", + "ConnectorFrontDiscriminatedConnectorConfigConfig", + "ConnectorFrontDiscriminatedConnectorConfigConfigOAuth", + "ConnectorGitHubDiscriminatedConnectorConfig", + "ConnectorGitHubDiscriminatedConnectorConfigConfig", + "ConnectorGitHubDiscriminatedConnectorConfigConfigOAuth", + "ConnectorGitlabDiscriminatedConnectorConfig", + "ConnectorGitlabDiscriminatedConnectorConfigConfig", + "ConnectorGitlabDiscriminatedConnectorConfigConfigOAuth", + "ConnectorGongDiscriminatedConnectorConfig", + "ConnectorGongDiscriminatedConnectorConfigConfig", + "ConnectorGongDiscriminatedConnectorConfigConfigOAuth", + "ConnectorGoogleCalendarDiscriminatedConnectorConfig", + "ConnectorGoogleCalendarDiscriminatedConnectorConfigConfig", + "ConnectorGoogleCalendarDiscriminatedConnectorConfigConfigOAuth", + "ConnectorGoogleDocsDiscriminatedConnectorConfig", + "ConnectorGoogleDocsDiscriminatedConnectorConfigConfig", + "ConnectorGoogleDocsDiscriminatedConnectorConfigConfigOAuth", + "ConnectorGoogleDriveDiscriminatedConnectorConfig", + "ConnectorGoogleDriveDiscriminatedConnectorConfigConfig", + "ConnectorGoogleDriveDiscriminatedConnectorConfigConfigOAuth", + "ConnectorGoogleMailDiscriminatedConnectorConfig", + "ConnectorGoogleMailDiscriminatedConnectorConfigConfig", + "ConnectorGoogleMailDiscriminatedConnectorConfigConfigOAuth", + "ConnectorGoogleSheetDiscriminatedConnectorConfig", + "ConnectorGoogleSheetDiscriminatedConnectorConfigConfig", + "ConnectorGoogleSheetDiscriminatedConnectorConfigConfigOAuth", + "ConnectorGorgiasDiscriminatedConnectorConfig", + "ConnectorGorgiasDiscriminatedConnectorConfigConfig", + "ConnectorGorgiasDiscriminatedConnectorConfigConfigOAuth", + "ConnectorGrainDiscriminatedConnectorConfig", + "ConnectorGrainDiscriminatedConnectorConfigConfig", + "ConnectorGrainDiscriminatedConnectorConfigConfigOAuth", + "ConnectorGumroadDiscriminatedConnectorConfig", + "ConnectorGumroadDiscriminatedConnectorConfigConfig", + "ConnectorGumroadDiscriminatedConnectorConfigConfigOAuth", + "ConnectorGustoDiscriminatedConnectorConfig", + "ConnectorGustoDiscriminatedConnectorConfigConfig", + "ConnectorGustoDiscriminatedConnectorConfigConfigOAuth", + "ConnectorHarvestDiscriminatedConnectorConfig", + "ConnectorHarvestDiscriminatedConnectorConfigConfig", + "ConnectorHarvestDiscriminatedConnectorConfigConfigOAuth", + "ConnectorHighlevelDiscriminatedConnectorConfig", + "ConnectorHighlevelDiscriminatedConnectorConfigConfig", + "ConnectorHighlevelDiscriminatedConnectorConfigConfigOAuth", + "ConnectorHubspotDiscriminatedConnectorConfig", + "ConnectorHubspotDiscriminatedConnectorConfigConfig", + "ConnectorHubspotDiscriminatedConnectorConfigConfigOAuth", + "ConnectorInstagramDiscriminatedConnectorConfig", + "ConnectorInstagramDiscriminatedConnectorConfigConfig", + "ConnectorInstagramDiscriminatedConnectorConfigConfigOAuth", + "ConnectorIntercomDiscriminatedConnectorConfig", + "ConnectorIntercomDiscriminatedConnectorConfigConfig", + "ConnectorIntercomDiscriminatedConnectorConfigConfigOAuth", + "ConnectorJiraDiscriminatedConnectorConfig", + "ConnectorJiraDiscriminatedConnectorConfigConfig", + "ConnectorJiraDiscriminatedConnectorConfigConfigOAuth", + "ConnectorKeapDiscriminatedConnectorConfig", + "ConnectorKeapDiscriminatedConnectorConfigConfig", + "ConnectorKeapDiscriminatedConnectorConfigConfigOAuth", + "ConnectorLeverDiscriminatedConnectorConfig", + "ConnectorLeverDiscriminatedConnectorConfigConfig", + "ConnectorLeverDiscriminatedConnectorConfigConfigOAuth", + "ConnectorLinearDiscriminatedConnectorConfig", + "ConnectorLinearDiscriminatedConnectorConfigConfig", + "ConnectorLinearDiscriminatedConnectorConfigConfigOAuth", + "ConnectorLinkedinDiscriminatedConnectorConfig", + "ConnectorLinkedinDiscriminatedConnectorConfigConfig", + "ConnectorLinkedinDiscriminatedConnectorConfigConfigOAuth", + "ConnectorLinkhutDiscriminatedConnectorConfig", + "ConnectorLinkhutDiscriminatedConnectorConfigConfig", + "ConnectorLinkhutDiscriminatedConnectorConfigConfigOAuth", + "ConnectorMailchimpDiscriminatedConnectorConfig", + "ConnectorMailchimpDiscriminatedConnectorConfigConfig", + "ConnectorMailchimpDiscriminatedConnectorConfigConfigOAuth", + "ConnectorMiroDiscriminatedConnectorConfig", + "ConnectorMiroDiscriminatedConnectorConfigConfig", + "ConnectorMiroDiscriminatedConnectorConfigConfigOAuth", + "ConnectorMondayDiscriminatedConnectorConfig", + "ConnectorMondayDiscriminatedConnectorConfigConfig", + "ConnectorMondayDiscriminatedConnectorConfigConfigOAuth", + "ConnectorMuralDiscriminatedConnectorConfig", + "ConnectorMuralDiscriminatedConnectorConfigConfig", + "ConnectorMuralDiscriminatedConnectorConfigConfigOAuth", + "ConnectorNamelyDiscriminatedConnectorConfig", + "ConnectorNamelyDiscriminatedConnectorConfigConfig", + "ConnectorNamelyDiscriminatedConnectorConfigConfigOAuth", + "ConnectorNationbuilderDiscriminatedConnectorConfig", + "ConnectorNationbuilderDiscriminatedConnectorConfigConfig", + "ConnectorNationbuilderDiscriminatedConnectorConfigConfigOAuth", + "ConnectorNetsuiteDiscriminatedConnectorConfig", + "ConnectorNetsuiteDiscriminatedConnectorConfigConfig", + "ConnectorNetsuiteDiscriminatedConnectorConfigConfigOAuth", + "ConnectorNotionDiscriminatedConnectorConfig", + "ConnectorNotionDiscriminatedConnectorConfigConfig", + "ConnectorNotionDiscriminatedConnectorConfigConfigOAuth", + "ConnectorOdooDiscriminatedConnectorConfig", + "ConnectorOdooDiscriminatedConnectorConfigConfig", + "ConnectorOdooDiscriminatedConnectorConfigConfigOAuth", + "ConnectorOktaDiscriminatedConnectorConfig", + "ConnectorOktaDiscriminatedConnectorConfigConfig", + "ConnectorOktaDiscriminatedConnectorConfigConfigOAuth", + "ConnectorOsuDiscriminatedConnectorConfig", + "ConnectorOsuDiscriminatedConnectorConfigConfig", + "ConnectorOsuDiscriminatedConnectorConfigConfigOAuth", + "ConnectorOuraDiscriminatedConnectorConfig", + "ConnectorOuraDiscriminatedConnectorConfigConfig", + "ConnectorOuraDiscriminatedConnectorConfigConfigOAuth", + "ConnectorOutreachDiscriminatedConnectorConfig", + "ConnectorOutreachDiscriminatedConnectorConfigConfig", + "ConnectorOutreachDiscriminatedConnectorConfigConfigOAuth", + "ConnectorPagerdutyDiscriminatedConnectorConfig", + "ConnectorPagerdutyDiscriminatedConnectorConfigConfig", + "ConnectorPagerdutyDiscriminatedConnectorConfigConfigOAuth", + "ConnectorPandadocDiscriminatedConnectorConfig", + "ConnectorPandadocDiscriminatedConnectorConfigConfig", + "ConnectorPandadocDiscriminatedConnectorConfigConfigOAuth", + "ConnectorPayfitDiscriminatedConnectorConfig", + "ConnectorPayfitDiscriminatedConnectorConfigConfig", + "ConnectorPayfitDiscriminatedConnectorConfigConfigOAuth", + "ConnectorPaypalDiscriminatedConnectorConfig", + "ConnectorPaypalDiscriminatedConnectorConfigConfig", + "ConnectorPaypalDiscriminatedConnectorConfigConfigOAuth", + "ConnectorPennylaneDiscriminatedConnectorConfig", + "ConnectorPennylaneDiscriminatedConnectorConfigConfig", + "ConnectorPennylaneDiscriminatedConnectorConfigConfigOAuth", + "ConnectorPinterestDiscriminatedConnectorConfig", + "ConnectorPinterestDiscriminatedConnectorConfigConfig", + "ConnectorPinterestDiscriminatedConnectorConfigConfigOAuth", + "ConnectorPipedriveDiscriminatedConnectorConfig", + "ConnectorPipedriveDiscriminatedConnectorConfigConfig", + "ConnectorPipedriveDiscriminatedConnectorConfigConfigOAuth", + "ConnectorPodiumDiscriminatedConnectorConfig", + "ConnectorPodiumDiscriminatedConnectorConfigConfig", + "ConnectorPodiumDiscriminatedConnectorConfigConfigOAuth", + "ConnectorProductboardDiscriminatedConnectorConfig", + "ConnectorProductboardDiscriminatedConnectorConfigConfig", + "ConnectorProductboardDiscriminatedConnectorConfigConfigOAuth", + "ConnectorQualtricsDiscriminatedConnectorConfig", + "ConnectorQualtricsDiscriminatedConnectorConfigConfig", + "ConnectorQualtricsDiscriminatedConnectorConfigConfigOAuth", + "ConnectorQuickbooksDiscriminatedConnectorConfig", + "ConnectorQuickbooksDiscriminatedConnectorConfigConfig", + "ConnectorQuickbooksDiscriminatedConnectorConfigConfigOAuth", + "ConnectorRedditDiscriminatedConnectorConfig", + "ConnectorRedditDiscriminatedConnectorConfigConfig", + "ConnectorRedditDiscriminatedConnectorConfigConfigOAuth", + "ConnectorSageDiscriminatedConnectorConfig", + "ConnectorSageDiscriminatedConnectorConfigConfig", + "ConnectorSageDiscriminatedConnectorConfigConfigOAuth", + "ConnectorSalesforceDiscriminatedConnectorConfig", + "ConnectorSalesforceDiscriminatedConnectorConfigConfig", + "ConnectorSalesforceDiscriminatedConnectorConfigConfigOAuth", + "ConnectorSalesloftDiscriminatedConnectorConfig", + "ConnectorSalesloftDiscriminatedConnectorConfigConfig", + "ConnectorSalesloftDiscriminatedConnectorConfigConfigOAuth", + "ConnectorSegmentDiscriminatedConnectorConfig", + "ConnectorSegmentDiscriminatedConnectorConfigConfig", + "ConnectorSegmentDiscriminatedConnectorConfigConfigOAuth", + "ConnectorServicem8DiscriminatedConnectorConfig", + "ConnectorServicem8DiscriminatedConnectorConfigConfig", + "ConnectorServicem8DiscriminatedConnectorConfigConfigOAuth", + "ConnectorServicenowDiscriminatedConnectorConfig", + "ConnectorServicenowDiscriminatedConnectorConfigConfig", + "ConnectorServicenowDiscriminatedConnectorConfigConfigOAuth", + "ConnectorSharepointDiscriminatedConnectorConfig", + "ConnectorSharepointDiscriminatedConnectorConfigConfig", + "ConnectorSharepointDiscriminatedConnectorConfigConfigOAuth", + "ConnectorShopifyDiscriminatedConnectorConfig", + "ConnectorShopifyDiscriminatedConnectorConfigConfig", + "ConnectorShopifyDiscriminatedConnectorConfigConfigOAuth", + "ConnectorSignnowDiscriminatedConnectorConfig", + "ConnectorSignnowDiscriminatedConnectorConfigConfig", + "ConnectorSignnowDiscriminatedConnectorConfigConfigOAuth", + "ConnectorSlackDiscriminatedConnectorConfig", + "ConnectorSlackDiscriminatedConnectorConfigConfig", + "ConnectorSlackDiscriminatedConnectorConfigConfigOAuth", + "ConnectorSmartsheetDiscriminatedConnectorConfig", + "ConnectorSmartsheetDiscriminatedConnectorConfigConfig", + "ConnectorSmartsheetDiscriminatedConnectorConfigConfigOAuth", + "ConnectorSnowflakeDiscriminatedConnectorConfig", + "ConnectorSnowflakeDiscriminatedConnectorConfigConfig", + "ConnectorSnowflakeDiscriminatedConnectorConfigConfigOAuth", + "ConnectorSpotifyDiscriminatedConnectorConfig", + "ConnectorSpotifyDiscriminatedConnectorConfigConfig", + "ConnectorSpotifyDiscriminatedConnectorConfigConfigOAuth", + "ConnectorSquarespaceDiscriminatedConnectorConfig", + "ConnectorSquarespaceDiscriminatedConnectorConfigConfig", + "ConnectorSquarespaceDiscriminatedConnectorConfigConfigOAuth", + "ConnectorSquareupDiscriminatedConnectorConfig", + "ConnectorSquareupDiscriminatedConnectorConfigConfig", + "ConnectorSquareupDiscriminatedConnectorConfigConfigOAuth", + "ConnectorStackexchangeDiscriminatedConnectorConfig", + "ConnectorStackexchangeDiscriminatedConnectorConfigConfig", + "ConnectorStackexchangeDiscriminatedConnectorConfigConfigOAuth", + "ConnectorStravaDiscriminatedConnectorConfig", + "ConnectorStravaDiscriminatedConnectorConfigConfig", + "ConnectorStravaDiscriminatedConnectorConfigConfigOAuth", + "ConnectorTeamworkDiscriminatedConnectorConfig", + "ConnectorTeamworkDiscriminatedConnectorConfigConfig", + "ConnectorTeamworkDiscriminatedConnectorConfigConfigOAuth", + "ConnectorTicktickDiscriminatedConnectorConfig", + "ConnectorTicktickDiscriminatedConnectorConfigConfig", + "ConnectorTicktickDiscriminatedConnectorConfigConfigOAuth", + "ConnectorTimelyDiscriminatedConnectorConfig", + "ConnectorTimelyDiscriminatedConnectorConfigConfig", + "ConnectorTimelyDiscriminatedConnectorConfigConfigOAuth", + "ConnectorTodoistDiscriminatedConnectorConfig", + "ConnectorTodoistDiscriminatedConnectorConfigConfig", + "ConnectorTodoistDiscriminatedConnectorConfigConfigOAuth", + "ConnectorTremendousDiscriminatedConnectorConfig", + "ConnectorTremendousDiscriminatedConnectorConfigConfig", + "ConnectorTremendousDiscriminatedConnectorConfigConfigOAuth", + "ConnectorTsheetsteamDiscriminatedConnectorConfig", + "ConnectorTsheetsteamDiscriminatedConnectorConfigConfig", + "ConnectorTsheetsteamDiscriminatedConnectorConfigConfigOAuth", + "ConnectorTumblrDiscriminatedConnectorConfig", + "ConnectorTumblrDiscriminatedConnectorConfigConfig", + "ConnectorTumblrDiscriminatedConnectorConfigConfigOAuth", + "ConnectorTwinfieldDiscriminatedConnectorConfig", + "ConnectorTwinfieldDiscriminatedConnectorConfigConfig", + "ConnectorTwinfieldDiscriminatedConnectorConfigConfigOAuth", + "ConnectorTwitchDiscriminatedConnectorConfig", + "ConnectorTwitchDiscriminatedConnectorConfigConfig", + "ConnectorTwitchDiscriminatedConnectorConfigConfigOAuth", + "ConnectorTwitterDiscriminatedConnectorConfig", + "ConnectorTwitterDiscriminatedConnectorConfigConfig", + "ConnectorTwitterDiscriminatedConnectorConfigConfigOAuth", + "ConnectorTypeformDiscriminatedConnectorConfig", + "ConnectorTypeformDiscriminatedConnectorConfigConfig", + "ConnectorTypeformDiscriminatedConnectorConfigConfigOAuth", + "ConnectorUberDiscriminatedConnectorConfig", + "ConnectorUberDiscriminatedConnectorConfigConfig", + "ConnectorUberDiscriminatedConnectorConfigConfigOAuth", + "ConnectorVimeoDiscriminatedConnectorConfig", + "ConnectorVimeoDiscriminatedConnectorConfigConfig", + "ConnectorVimeoDiscriminatedConnectorConfigConfigOAuth", + "ConnectorWakatimeDiscriminatedConnectorConfig", + "ConnectorWakatimeDiscriminatedConnectorConfigConfig", + "ConnectorWakatimeDiscriminatedConnectorConfigConfigOAuth", + "ConnectorWealthboxDiscriminatedConnectorConfig", + "ConnectorWealthboxDiscriminatedConnectorConfigConfig", + "ConnectorWealthboxDiscriminatedConnectorConfigConfigOAuth", + "ConnectorWebflowDiscriminatedConnectorConfig", + "ConnectorWebflowDiscriminatedConnectorConfigConfig", + "ConnectorWebflowDiscriminatedConnectorConfigConfigOAuth", + "ConnectorWhoopDiscriminatedConnectorConfig", + "ConnectorWhoopDiscriminatedConnectorConfigConfig", + "ConnectorWhoopDiscriminatedConnectorConfigConfigOAuth", + "ConnectorWordpressDiscriminatedConnectorConfig", + "ConnectorWordpressDiscriminatedConnectorConfigConfig", + "ConnectorWordpressDiscriminatedConnectorConfigConfigOAuth", + "ConnectorWrikeDiscriminatedConnectorConfig", + "ConnectorWrikeDiscriminatedConnectorConfigConfig", + "ConnectorWrikeDiscriminatedConnectorConfigConfigOAuth", + "ConnectorXeroDiscriminatedConnectorConfig", + "ConnectorXeroDiscriminatedConnectorConfigConfig", + "ConnectorXeroDiscriminatedConnectorConfigConfigOAuth", + "ConnectorYahooDiscriminatedConnectorConfig", + "ConnectorYahooDiscriminatedConnectorConfigConfig", + "ConnectorYahooDiscriminatedConnectorConfigConfigOAuth", + "ConnectorYandexDiscriminatedConnectorConfig", + "ConnectorYandexDiscriminatedConnectorConfigConfig", + "ConnectorYandexDiscriminatedConnectorConfigConfigOAuth", + "ConnectorZapierDiscriminatedConnectorConfig", + "ConnectorZapierDiscriminatedConnectorConfigConfig", + "ConnectorZapierDiscriminatedConnectorConfigConfigOAuth", + "ConnectorZendeskDiscriminatedConnectorConfig", + "ConnectorZendeskDiscriminatedConnectorConfigConfig", + "ConnectorZendeskDiscriminatedConnectorConfigConfigOAuth", + "ConnectorZenefitsDiscriminatedConnectorConfig", + "ConnectorZenefitsDiscriminatedConnectorConfigConfig", + "ConnectorZenefitsDiscriminatedConnectorConfigConfigOAuth", + "ConnectorZohoDeskDiscriminatedConnectorConfig", + "ConnectorZohoDeskDiscriminatedConnectorConfigConfig", + "ConnectorZohoDeskDiscriminatedConnectorConfigConfigOAuth", + "ConnectorZohoDiscriminatedConnectorConfig", + "ConnectorZohoDiscriminatedConnectorConfigConfig", + "ConnectorZohoDiscriminatedConnectorConfigConfigOAuth", + "ConnectorZoomDiscriminatedConnectorConfig", + "ConnectorZoomDiscriminatedConnectorConfigConfig", + "ConnectorZoomDiscriminatedConnectorConfigConfigOAuth", + "ConnectorAirtableDiscriminatedConnectorConfig", + "ConnectorApolloDiscriminatedConnectorConfig", + "ConnectorBrexDiscriminatedConnectorConfig", + "ConnectorBrexDiscriminatedConnectorConfigConfig", + "ConnectorBrexDiscriminatedConnectorConfigConfigOAuth", + "ConnectorCodaDiscriminatedConnectorConfig", + "ConnectorFinchDiscriminatedConnectorConfig", + "ConnectorFinchDiscriminatedConnectorConfigConfig", + "ConnectorFirebaseDiscriminatedConnectorConfig", + "ConnectorForeceiptDiscriminatedConnectorConfig", + "ConnectorGreenhouseDiscriminatedConnectorConfig", + "ConnectorHeronDiscriminatedConnectorConfig", + "ConnectorHeronDiscriminatedConnectorConfigConfig", + "ConnectorLunchmoneyDiscriminatedConnectorConfig", + "ConnectorLunchmoneyDiscriminatedConnectorConfigConfig", + "ConnectorMercuryDiscriminatedConnectorConfig", + "ConnectorMercuryDiscriminatedConnectorConfigConfig", + "ConnectorMercuryDiscriminatedConnectorConfigConfigOAuth", + "ConnectorMergeDiscriminatedConnectorConfig", + "ConnectorMergeDiscriminatedConnectorConfigConfig", + "ConnectorMootaDiscriminatedConnectorConfig", + "ConnectorMootaDiscriminatedConnectorConfigConfig", + "ConnectorOnebrickDiscriminatedConnectorConfig", + "ConnectorOnebrickDiscriminatedConnectorConfigConfig", + "ConnectorOpenledgerDiscriminatedConnectorConfig", + "ConnectorOpenledgerDiscriminatedConnectorConfigConfig", + "ConnectorPlaidDiscriminatedConnectorConfig", + "ConnectorPlaidDiscriminatedConnectorConfigConfig", + "ConnectorPlaidDiscriminatedConnectorConfigConfigCredentials", + "ConnectorPostgresDiscriminatedConnectorConfig", + "ConnectorRampDiscriminatedConnectorConfig", + "ConnectorRampDiscriminatedConnectorConfigConfig", + "ConnectorRampDiscriminatedConnectorConfigConfigOAuth", + "ConnectorSaltedgeDiscriminatedConnectorConfig", + "ConnectorSaltedgeDiscriminatedConnectorConfigConfig", + "ConnectorSharepointOnpremDiscriminatedConnectorConfig", + "ConnectorSplitwiseDiscriminatedConnectorConfig", + "ConnectorStripeDiscriminatedConnectorConfig", + "ConnectorStripeDiscriminatedConnectorConfigConfig", + "ConnectorStripeDiscriminatedConnectorConfigConfigOAuth", + "ConnectorTellerDiscriminatedConnectorConfig", + "ConnectorTellerDiscriminatedConnectorConfigConfig", + "ConnectorTogglDiscriminatedConnectorConfig", + "ConnectorTwentyDiscriminatedConnectorConfig", + "ConnectorVenmoDiscriminatedConnectorConfig", + "ConnectorVenmoDiscriminatedConnectorConfigConfig", + "ConnectorVenmoDiscriminatedConnectorConfigConfigProxy", + "ConnectorWiseDiscriminatedConnectorConfig", + "ConnectorYodleeDiscriminatedConnectorConfig", + "ConnectorYodleeDiscriminatedConnectorConfigConfig", + "ConnectorYodleeDiscriminatedConnectorConfigConfigProxy", +] + + +class ConnectorAcceloDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorAcceloDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorAcceloDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorAcceloDiscriminatedConnectorConfig(BaseModel): + config: ConnectorAcceloDiscriminatedConnectorConfigConfig + + connector_name: Literal["accelo"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorAcmeApikeyDiscriminatedConnectorConfig(BaseModel): + config: object + """Base configuration for api key connector""" + + connector_name: Literal["acme-apikey"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorAcmeOauth2DiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorAcmeOauth2DiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorAcmeOauth2DiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorAcmeOauth2DiscriminatedConnectorConfig(BaseModel): + config: ConnectorAcmeOauth2DiscriminatedConnectorConfigConfig + + connector_name: Literal["acme-oauth2"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorAdobeDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorAdobeDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorAdobeDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorAdobeDiscriminatedConnectorConfig(BaseModel): + config: ConnectorAdobeDiscriminatedConnectorConfigConfig + + connector_name: Literal["adobe"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorAdyenDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorAdyenDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorAdyenDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorAdyenDiscriminatedConnectorConfig(BaseModel): + config: ConnectorAdyenDiscriminatedConnectorConfigConfig + + connector_name: Literal["adyen"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorAircallDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorAircallDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorAircallDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorAircallDiscriminatedConnectorConfig(BaseModel): + config: ConnectorAircallDiscriminatedConnectorConfigConfig + + connector_name: Literal["aircall"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorAmazonDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorAmazonDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorAmazonDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorAmazonDiscriminatedConnectorConfig(BaseModel): + config: ConnectorAmazonDiscriminatedConnectorConfigConfig + + connector_name: Literal["amazon"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorApaleoDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorApaleoDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorApaleoDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorApaleoDiscriminatedConnectorConfig(BaseModel): + config: ConnectorApaleoDiscriminatedConnectorConfigConfig + + connector_name: Literal["apaleo"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorAsanaDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorAsanaDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorAsanaDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorAsanaDiscriminatedConnectorConfig(BaseModel): + config: ConnectorAsanaDiscriminatedConnectorConfigConfig + + connector_name: Literal["asana"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorAttioDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorAttioDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorAttioDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorAttioDiscriminatedConnectorConfig(BaseModel): + config: ConnectorAttioDiscriminatedConnectorConfigConfig + + connector_name: Literal["attio"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorAuth0DiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorAuth0DiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorAuth0DiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorAuth0DiscriminatedConnectorConfig(BaseModel): + config: ConnectorAuth0DiscriminatedConnectorConfigConfig + + connector_name: Literal["auth0"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorAutodeskDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorAutodeskDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorAutodeskDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorAutodeskDiscriminatedConnectorConfig(BaseModel): + config: ConnectorAutodeskDiscriminatedConnectorConfigConfig + + connector_name: Literal["autodesk"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorAwsDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorAwsDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorAwsDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorAwsDiscriminatedConnectorConfig(BaseModel): + config: ConnectorAwsDiscriminatedConnectorConfigConfig + + connector_name: Literal["aws"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorBamboohrDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorBamboohrDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorBamboohrDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorBamboohrDiscriminatedConnectorConfig(BaseModel): + config: ConnectorBamboohrDiscriminatedConnectorConfigConfig + + connector_name: Literal["bamboohr"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorBasecampDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorBasecampDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorBasecampDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorBasecampDiscriminatedConnectorConfig(BaseModel): + config: ConnectorBasecampDiscriminatedConnectorConfigConfig + + connector_name: Literal["basecamp"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorBattlenetDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorBattlenetDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorBattlenetDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorBattlenetDiscriminatedConnectorConfig(BaseModel): + config: ConnectorBattlenetDiscriminatedConnectorConfigConfig + + connector_name: Literal["battlenet"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorBigcommerceDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorBigcommerceDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorBigcommerceDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorBigcommerceDiscriminatedConnectorConfig(BaseModel): + config: ConnectorBigcommerceDiscriminatedConnectorConfigConfig + + connector_name: Literal["bigcommerce"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorBitbucketDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorBitbucketDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorBitbucketDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorBitbucketDiscriminatedConnectorConfig(BaseModel): + config: ConnectorBitbucketDiscriminatedConnectorConfigConfig + + connector_name: Literal["bitbucket"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorBitlyDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorBitlyDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorBitlyDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorBitlyDiscriminatedConnectorConfig(BaseModel): + config: ConnectorBitlyDiscriminatedConnectorConfigConfig + + connector_name: Literal["bitly"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorBlackbaudDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorBlackbaudDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorBlackbaudDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorBlackbaudDiscriminatedConnectorConfig(BaseModel): + config: ConnectorBlackbaudDiscriminatedConnectorConfigConfig + + connector_name: Literal["blackbaud"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorBoldsignDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorBoldsignDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorBoldsignDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorBoldsignDiscriminatedConnectorConfig(BaseModel): + config: ConnectorBoldsignDiscriminatedConnectorConfigConfig + + connector_name: Literal["boldsign"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorBoxDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorBoxDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorBoxDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorBoxDiscriminatedConnectorConfig(BaseModel): + config: ConnectorBoxDiscriminatedConnectorConfigConfig + + connector_name: Literal["box"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorBraintreeDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorBraintreeDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorBraintreeDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorBraintreeDiscriminatedConnectorConfig(BaseModel): + config: ConnectorBraintreeDiscriminatedConnectorConfigConfig + + connector_name: Literal["braintree"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorCalendlyDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorCalendlyDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorCalendlyDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorCalendlyDiscriminatedConnectorConfig(BaseModel): + config: ConnectorCalendlyDiscriminatedConnectorConfigConfig + + connector_name: Literal["calendly"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorClickupDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorClickupDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorClickupDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorClickupDiscriminatedConnectorConfig(BaseModel): + config: ConnectorClickupDiscriminatedConnectorConfigConfig + + connector_name: Literal["clickup"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorCloseDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorCloseDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorCloseDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorCloseDiscriminatedConnectorConfig(BaseModel): + config: ConnectorCloseDiscriminatedConnectorConfigConfig + + connector_name: Literal["close"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorConfluenceDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorConfluenceDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorConfluenceDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorConfluenceDiscriminatedConnectorConfig(BaseModel): + config: ConnectorConfluenceDiscriminatedConnectorConfigConfig + + connector_name: Literal["confluence"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorContentfulDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorContentfulDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorContentfulDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorContentfulDiscriminatedConnectorConfig(BaseModel): + config: ConnectorContentfulDiscriminatedConnectorConfigConfig + + connector_name: Literal["contentful"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorContentstackDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorContentstackDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorContentstackDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorContentstackDiscriminatedConnectorConfig(BaseModel): + config: ConnectorContentstackDiscriminatedConnectorConfigConfig + + connector_name: Literal["contentstack"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorCopperDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorCopperDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorCopperDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorCopperDiscriminatedConnectorConfig(BaseModel): + config: ConnectorCopperDiscriminatedConnectorConfigConfig + + connector_name: Literal["copper"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorCorosDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorCorosDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorCorosDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorCorosDiscriminatedConnectorConfig(BaseModel): + config: ConnectorCorosDiscriminatedConnectorConfigConfig + + connector_name: Literal["coros"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorDatevDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorDatevDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorDatevDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorDatevDiscriminatedConnectorConfig(BaseModel): + config: ConnectorDatevDiscriminatedConnectorConfigConfig + + connector_name: Literal["datev"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorDeelDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorDeelDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorDeelDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorDeelDiscriminatedConnectorConfig(BaseModel): + config: ConnectorDeelDiscriminatedConnectorConfigConfig + + connector_name: Literal["deel"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorDialpadDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorDialpadDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorDialpadDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorDialpadDiscriminatedConnectorConfig(BaseModel): + config: ConnectorDialpadDiscriminatedConnectorConfigConfig + + connector_name: Literal["dialpad"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorDigitaloceanDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorDigitaloceanDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorDigitaloceanDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorDigitaloceanDiscriminatedConnectorConfig(BaseModel): + config: ConnectorDigitaloceanDiscriminatedConnectorConfigConfig + + connector_name: Literal["digitalocean"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorDiscordDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorDiscordDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorDiscordDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorDiscordDiscriminatedConnectorConfig(BaseModel): + config: ConnectorDiscordDiscriminatedConnectorConfigConfig + + connector_name: Literal["discord"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorDocusignDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorDocusignDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorDocusignDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorDocusignDiscriminatedConnectorConfig(BaseModel): + config: ConnectorDocusignDiscriminatedConnectorConfigConfig + + connector_name: Literal["docusign"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorDropboxDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorDropboxDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorDropboxDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorDropboxDiscriminatedConnectorConfig(BaseModel): + config: ConnectorDropboxDiscriminatedConnectorConfigConfig + + connector_name: Literal["dropbox"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorEbayDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorEbayDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorEbayDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorEbayDiscriminatedConnectorConfig(BaseModel): + config: ConnectorEbayDiscriminatedConnectorConfigConfig + + connector_name: Literal["ebay"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorEgnyteDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorEgnyteDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorEgnyteDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorEgnyteDiscriminatedConnectorConfig(BaseModel): + config: ConnectorEgnyteDiscriminatedConnectorConfigConfig + + connector_name: Literal["egnyte"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorEnvoyDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorEnvoyDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorEnvoyDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorEnvoyDiscriminatedConnectorConfig(BaseModel): + config: ConnectorEnvoyDiscriminatedConnectorConfigConfig + + connector_name: Literal["envoy"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorEventbriteDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorEventbriteDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorEventbriteDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorEventbriteDiscriminatedConnectorConfig(BaseModel): + config: ConnectorEventbriteDiscriminatedConnectorConfigConfig + + connector_name: Literal["eventbrite"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorExistDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorExistDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorExistDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorExistDiscriminatedConnectorConfig(BaseModel): + config: ConnectorExistDiscriminatedConnectorConfigConfig + + connector_name: Literal["exist"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorFacebookDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorFacebookDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorFacebookDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorFacebookDiscriminatedConnectorConfig(BaseModel): + config: ConnectorFacebookDiscriminatedConnectorConfigConfig + + connector_name: Literal["facebook"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorFactorialDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorFactorialDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorFactorialDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorFactorialDiscriminatedConnectorConfig(BaseModel): + config: ConnectorFactorialDiscriminatedConnectorConfigConfig + + connector_name: Literal["factorial"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorFigmaDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorFigmaDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorFigmaDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorFigmaDiscriminatedConnectorConfig(BaseModel): + config: ConnectorFigmaDiscriminatedConnectorConfigConfig + + connector_name: Literal["figma"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorFitbitDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorFitbitDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorFitbitDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorFitbitDiscriminatedConnectorConfig(BaseModel): + config: ConnectorFitbitDiscriminatedConnectorConfigConfig + + connector_name: Literal["fitbit"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorFortnoxDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorFortnoxDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorFortnoxDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorFortnoxDiscriminatedConnectorConfig(BaseModel): + config: ConnectorFortnoxDiscriminatedConnectorConfigConfig + + connector_name: Literal["fortnox"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorFreshbooksDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorFreshbooksDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorFreshbooksDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorFreshbooksDiscriminatedConnectorConfig(BaseModel): + config: ConnectorFreshbooksDiscriminatedConnectorConfigConfig + + connector_name: Literal["freshbooks"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorFrontDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorFrontDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorFrontDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorFrontDiscriminatedConnectorConfig(BaseModel): + config: ConnectorFrontDiscriminatedConnectorConfigConfig + + connector_name: Literal["front"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorGitHubDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorGitHubDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorGitHubDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorGitHubDiscriminatedConnectorConfig(BaseModel): + config: ConnectorGitHubDiscriminatedConnectorConfigConfig + + connector_name: Literal["github"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorGitlabDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorGitlabDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorGitlabDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorGitlabDiscriminatedConnectorConfig(BaseModel): + config: ConnectorGitlabDiscriminatedConnectorConfigConfig + + connector_name: Literal["gitlab"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorGongDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorGongDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorGongDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorGongDiscriminatedConnectorConfig(BaseModel): + config: ConnectorGongDiscriminatedConnectorConfigConfig + + connector_name: Literal["gong"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorGoogleCalendarDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorGoogleCalendarDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorGoogleCalendarDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorGoogleCalendarDiscriminatedConnectorConfig(BaseModel): + config: ConnectorGoogleCalendarDiscriminatedConnectorConfigConfig + + connector_name: Literal["google-calendar"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorGoogleDocsDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorGoogleDocsDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorGoogleDocsDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorGoogleDocsDiscriminatedConnectorConfig(BaseModel): + config: ConnectorGoogleDocsDiscriminatedConnectorConfigConfig + + connector_name: Literal["google-docs"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorGoogleDriveDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorGoogleDriveDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorGoogleDriveDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorGoogleDriveDiscriminatedConnectorConfig(BaseModel): + config: ConnectorGoogleDriveDiscriminatedConnectorConfigConfig + + connector_name: Literal["google-drive"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorGoogleMailDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorGoogleMailDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorGoogleMailDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorGoogleMailDiscriminatedConnectorConfig(BaseModel): + config: ConnectorGoogleMailDiscriminatedConnectorConfigConfig + + connector_name: Literal["google-mail"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorGoogleSheetDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorGoogleSheetDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorGoogleSheetDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorGoogleSheetDiscriminatedConnectorConfig(BaseModel): + config: ConnectorGoogleSheetDiscriminatedConnectorConfigConfig + + connector_name: Literal["google-sheet"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorGorgiasDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorGorgiasDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorGorgiasDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorGorgiasDiscriminatedConnectorConfig(BaseModel): + config: ConnectorGorgiasDiscriminatedConnectorConfigConfig + + connector_name: Literal["gorgias"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorGrainDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorGrainDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorGrainDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorGrainDiscriminatedConnectorConfig(BaseModel): + config: ConnectorGrainDiscriminatedConnectorConfigConfig + + connector_name: Literal["grain"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorGumroadDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorGumroadDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorGumroadDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorGumroadDiscriminatedConnectorConfig(BaseModel): + config: ConnectorGumroadDiscriminatedConnectorConfigConfig + + connector_name: Literal["gumroad"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorGustoDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorGustoDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorGustoDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorGustoDiscriminatedConnectorConfig(BaseModel): + config: ConnectorGustoDiscriminatedConnectorConfigConfig + + connector_name: Literal["gusto"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorHarvestDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorHarvestDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorHarvestDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorHarvestDiscriminatedConnectorConfig(BaseModel): + config: ConnectorHarvestDiscriminatedConnectorConfigConfig + + connector_name: Literal["harvest"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorHighlevelDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorHighlevelDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorHighlevelDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorHighlevelDiscriminatedConnectorConfig(BaseModel): + config: ConnectorHighlevelDiscriminatedConnectorConfigConfig + + connector_name: Literal["highlevel"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorHubspotDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorHubspotDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorHubspotDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorHubspotDiscriminatedConnectorConfig(BaseModel): + config: ConnectorHubspotDiscriminatedConnectorConfigConfig + + connector_name: Literal["hubspot"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorInstagramDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorInstagramDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorInstagramDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorInstagramDiscriminatedConnectorConfig(BaseModel): + config: ConnectorInstagramDiscriminatedConnectorConfigConfig + + connector_name: Literal["instagram"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorIntercomDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorIntercomDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorIntercomDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorIntercomDiscriminatedConnectorConfig(BaseModel): + config: ConnectorIntercomDiscriminatedConnectorConfigConfig + + connector_name: Literal["intercom"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorJiraDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorJiraDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorJiraDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorJiraDiscriminatedConnectorConfig(BaseModel): + config: ConnectorJiraDiscriminatedConnectorConfigConfig + + connector_name: Literal["jira"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorKeapDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorKeapDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorKeapDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorKeapDiscriminatedConnectorConfig(BaseModel): + config: ConnectorKeapDiscriminatedConnectorConfigConfig + + connector_name: Literal["keap"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorLeverDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorLeverDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorLeverDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorLeverDiscriminatedConnectorConfig(BaseModel): + config: ConnectorLeverDiscriminatedConnectorConfigConfig + + connector_name: Literal["lever"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorLinearDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorLinearDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorLinearDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorLinearDiscriminatedConnectorConfig(BaseModel): + config: ConnectorLinearDiscriminatedConnectorConfigConfig + + connector_name: Literal["linear"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorLinkedinDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorLinkedinDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorLinkedinDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorLinkedinDiscriminatedConnectorConfig(BaseModel): + config: ConnectorLinkedinDiscriminatedConnectorConfigConfig + + connector_name: Literal["linkedin"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorLinkhutDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorLinkhutDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorLinkhutDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorLinkhutDiscriminatedConnectorConfig(BaseModel): + config: ConnectorLinkhutDiscriminatedConnectorConfigConfig + + connector_name: Literal["linkhut"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorMailchimpDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorMailchimpDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorMailchimpDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorMailchimpDiscriminatedConnectorConfig(BaseModel): + config: ConnectorMailchimpDiscriminatedConnectorConfigConfig + + connector_name: Literal["mailchimp"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorMiroDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorMiroDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorMiroDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorMiroDiscriminatedConnectorConfig(BaseModel): + config: ConnectorMiroDiscriminatedConnectorConfigConfig + + connector_name: Literal["miro"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorMondayDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorMondayDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorMondayDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorMondayDiscriminatedConnectorConfig(BaseModel): + config: ConnectorMondayDiscriminatedConnectorConfigConfig + + connector_name: Literal["monday"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorMuralDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorMuralDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorMuralDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorMuralDiscriminatedConnectorConfig(BaseModel): + config: ConnectorMuralDiscriminatedConnectorConfigConfig + + connector_name: Literal["mural"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorNamelyDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorNamelyDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorNamelyDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorNamelyDiscriminatedConnectorConfig(BaseModel): + config: ConnectorNamelyDiscriminatedConnectorConfigConfig + + connector_name: Literal["namely"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorNationbuilderDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorNationbuilderDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorNationbuilderDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorNationbuilderDiscriminatedConnectorConfig(BaseModel): + config: ConnectorNationbuilderDiscriminatedConnectorConfigConfig + + connector_name: Literal["nationbuilder"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorNetsuiteDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorNetsuiteDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorNetsuiteDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorNetsuiteDiscriminatedConnectorConfig(BaseModel): + config: ConnectorNetsuiteDiscriminatedConnectorConfigConfig + + connector_name: Literal["netsuite"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorNotionDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorNotionDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorNotionDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorNotionDiscriminatedConnectorConfig(BaseModel): + config: ConnectorNotionDiscriminatedConnectorConfigConfig + + connector_name: Literal["notion"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorOdooDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorOdooDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorOdooDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorOdooDiscriminatedConnectorConfig(BaseModel): + config: ConnectorOdooDiscriminatedConnectorConfigConfig + + connector_name: Literal["odoo"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorOktaDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorOktaDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorOktaDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorOktaDiscriminatedConnectorConfig(BaseModel): + config: ConnectorOktaDiscriminatedConnectorConfigConfig + + connector_name: Literal["okta"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorOsuDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorOsuDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorOsuDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorOsuDiscriminatedConnectorConfig(BaseModel): + config: ConnectorOsuDiscriminatedConnectorConfigConfig + + connector_name: Literal["osu"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorOuraDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorOuraDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorOuraDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorOuraDiscriminatedConnectorConfig(BaseModel): + config: ConnectorOuraDiscriminatedConnectorConfigConfig + + connector_name: Literal["oura"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorOutreachDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorOutreachDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorOutreachDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorOutreachDiscriminatedConnectorConfig(BaseModel): + config: ConnectorOutreachDiscriminatedConnectorConfigConfig + + connector_name: Literal["outreach"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorPagerdutyDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorPagerdutyDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorPagerdutyDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorPagerdutyDiscriminatedConnectorConfig(BaseModel): + config: ConnectorPagerdutyDiscriminatedConnectorConfigConfig + + connector_name: Literal["pagerduty"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorPandadocDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorPandadocDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorPandadocDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorPandadocDiscriminatedConnectorConfig(BaseModel): + config: ConnectorPandadocDiscriminatedConnectorConfigConfig + + connector_name: Literal["pandadoc"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorPayfitDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorPayfitDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorPayfitDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorPayfitDiscriminatedConnectorConfig(BaseModel): + config: ConnectorPayfitDiscriminatedConnectorConfigConfig + + connector_name: Literal["payfit"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorPaypalDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorPaypalDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorPaypalDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorPaypalDiscriminatedConnectorConfig(BaseModel): + config: ConnectorPaypalDiscriminatedConnectorConfigConfig + + connector_name: Literal["paypal"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorPennylaneDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorPennylaneDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorPennylaneDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorPennylaneDiscriminatedConnectorConfig(BaseModel): + config: ConnectorPennylaneDiscriminatedConnectorConfigConfig + + connector_name: Literal["pennylane"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorPinterestDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorPinterestDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorPinterestDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorPinterestDiscriminatedConnectorConfig(BaseModel): + config: ConnectorPinterestDiscriminatedConnectorConfigConfig + + connector_name: Literal["pinterest"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorPipedriveDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorPipedriveDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorPipedriveDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorPipedriveDiscriminatedConnectorConfig(BaseModel): + config: ConnectorPipedriveDiscriminatedConnectorConfigConfig + + connector_name: Literal["pipedrive"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorPodiumDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorPodiumDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorPodiumDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorPodiumDiscriminatedConnectorConfig(BaseModel): + config: ConnectorPodiumDiscriminatedConnectorConfigConfig + + connector_name: Literal["podium"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorProductboardDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorProductboardDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorProductboardDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorProductboardDiscriminatedConnectorConfig(BaseModel): + config: ConnectorProductboardDiscriminatedConnectorConfigConfig + + connector_name: Literal["productboard"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorQualtricsDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorQualtricsDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorQualtricsDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorQualtricsDiscriminatedConnectorConfig(BaseModel): + config: ConnectorQualtricsDiscriminatedConnectorConfigConfig + + connector_name: Literal["qualtrics"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorQuickbooksDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorQuickbooksDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorQuickbooksDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorQuickbooksDiscriminatedConnectorConfig(BaseModel): + config: ConnectorQuickbooksDiscriminatedConnectorConfigConfig + + connector_name: Literal["quickbooks"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorRedditDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorRedditDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorRedditDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorRedditDiscriminatedConnectorConfig(BaseModel): + config: ConnectorRedditDiscriminatedConnectorConfigConfig + + connector_name: Literal["reddit"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorSageDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorSageDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorSageDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorSageDiscriminatedConnectorConfig(BaseModel): + config: ConnectorSageDiscriminatedConnectorConfigConfig + + connector_name: Literal["sage"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorSalesforceDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorSalesforceDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorSalesforceDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorSalesforceDiscriminatedConnectorConfig(BaseModel): + config: ConnectorSalesforceDiscriminatedConnectorConfigConfig + + connector_name: Literal["salesforce"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorSalesloftDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorSalesloftDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorSalesloftDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorSalesloftDiscriminatedConnectorConfig(BaseModel): + config: ConnectorSalesloftDiscriminatedConnectorConfigConfig + + connector_name: Literal["salesloft"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorSegmentDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorSegmentDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorSegmentDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorSegmentDiscriminatedConnectorConfig(BaseModel): + config: ConnectorSegmentDiscriminatedConnectorConfigConfig + + connector_name: Literal["segment"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorServicem8DiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorServicem8DiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorServicem8DiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorServicem8DiscriminatedConnectorConfig(BaseModel): + config: ConnectorServicem8DiscriminatedConnectorConfigConfig + + connector_name: Literal["servicem8"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorServicenowDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorServicenowDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorServicenowDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorServicenowDiscriminatedConnectorConfig(BaseModel): + config: ConnectorServicenowDiscriminatedConnectorConfigConfig + + connector_name: Literal["servicenow"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorSharepointDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorSharepointDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorSharepointDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorSharepointDiscriminatedConnectorConfig(BaseModel): + config: ConnectorSharepointDiscriminatedConnectorConfigConfig + + connector_name: Literal["sharepoint"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorShopifyDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorShopifyDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorShopifyDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorShopifyDiscriminatedConnectorConfig(BaseModel): + config: ConnectorShopifyDiscriminatedConnectorConfigConfig + + connector_name: Literal["shopify"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorSignnowDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorSignnowDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorSignnowDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorSignnowDiscriminatedConnectorConfig(BaseModel): + config: ConnectorSignnowDiscriminatedConnectorConfigConfig + + connector_name: Literal["signnow"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorSlackDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorSlackDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorSlackDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorSlackDiscriminatedConnectorConfig(BaseModel): + config: ConnectorSlackDiscriminatedConnectorConfigConfig + + connector_name: Literal["slack"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorSmartsheetDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorSmartsheetDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorSmartsheetDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorSmartsheetDiscriminatedConnectorConfig(BaseModel): + config: ConnectorSmartsheetDiscriminatedConnectorConfigConfig + + connector_name: Literal["smartsheet"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorSnowflakeDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorSnowflakeDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorSnowflakeDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorSnowflakeDiscriminatedConnectorConfig(BaseModel): + config: ConnectorSnowflakeDiscriminatedConnectorConfigConfig + + connector_name: Literal["snowflake"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorSpotifyDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorSpotifyDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorSpotifyDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorSpotifyDiscriminatedConnectorConfig(BaseModel): + config: ConnectorSpotifyDiscriminatedConnectorConfigConfig + + connector_name: Literal["spotify"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorSquarespaceDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorSquarespaceDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorSquarespaceDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorSquarespaceDiscriminatedConnectorConfig(BaseModel): + config: ConnectorSquarespaceDiscriminatedConnectorConfigConfig + + connector_name: Literal["squarespace"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorSquareupDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorSquareupDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorSquareupDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorSquareupDiscriminatedConnectorConfig(BaseModel): + config: ConnectorSquareupDiscriminatedConnectorConfigConfig + + connector_name: Literal["squareup"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorStackexchangeDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorStackexchangeDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorStackexchangeDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorStackexchangeDiscriminatedConnectorConfig(BaseModel): + config: ConnectorStackexchangeDiscriminatedConnectorConfigConfig + + connector_name: Literal["stackexchange"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorStravaDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorStravaDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorStravaDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorStravaDiscriminatedConnectorConfig(BaseModel): + config: ConnectorStravaDiscriminatedConnectorConfigConfig + + connector_name: Literal["strava"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorTeamworkDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorTeamworkDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorTeamworkDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorTeamworkDiscriminatedConnectorConfig(BaseModel): + config: ConnectorTeamworkDiscriminatedConnectorConfigConfig + + connector_name: Literal["teamwork"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorTicktickDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorTicktickDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorTicktickDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorTicktickDiscriminatedConnectorConfig(BaseModel): + config: ConnectorTicktickDiscriminatedConnectorConfigConfig + + connector_name: Literal["ticktick"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorTimelyDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorTimelyDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorTimelyDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorTimelyDiscriminatedConnectorConfig(BaseModel): + config: ConnectorTimelyDiscriminatedConnectorConfigConfig + + connector_name: Literal["timely"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorTodoistDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorTodoistDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorTodoistDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorTodoistDiscriminatedConnectorConfig(BaseModel): + config: ConnectorTodoistDiscriminatedConnectorConfigConfig + + connector_name: Literal["todoist"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorTremendousDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorTremendousDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorTremendousDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorTremendousDiscriminatedConnectorConfig(BaseModel): + config: ConnectorTremendousDiscriminatedConnectorConfigConfig + + connector_name: Literal["tremendous"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorTsheetsteamDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorTsheetsteamDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorTsheetsteamDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorTsheetsteamDiscriminatedConnectorConfig(BaseModel): + config: ConnectorTsheetsteamDiscriminatedConnectorConfigConfig + + connector_name: Literal["tsheetsteam"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorTumblrDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorTumblrDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorTumblrDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorTumblrDiscriminatedConnectorConfig(BaseModel): + config: ConnectorTumblrDiscriminatedConnectorConfigConfig + + connector_name: Literal["tumblr"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorTwinfieldDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorTwinfieldDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorTwinfieldDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorTwinfieldDiscriminatedConnectorConfig(BaseModel): + config: ConnectorTwinfieldDiscriminatedConnectorConfigConfig + + connector_name: Literal["twinfield"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorTwitchDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorTwitchDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorTwitchDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorTwitchDiscriminatedConnectorConfig(BaseModel): + config: ConnectorTwitchDiscriminatedConnectorConfigConfig + + connector_name: Literal["twitch"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorTwitterDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorTwitterDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorTwitterDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorTwitterDiscriminatedConnectorConfig(BaseModel): + config: ConnectorTwitterDiscriminatedConnectorConfigConfig + + connector_name: Literal["twitter"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorTypeformDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorTypeformDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorTypeformDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorTypeformDiscriminatedConnectorConfig(BaseModel): + config: ConnectorTypeformDiscriminatedConnectorConfigConfig + + connector_name: Literal["typeform"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorUberDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorUberDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorUberDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorUberDiscriminatedConnectorConfig(BaseModel): + config: ConnectorUberDiscriminatedConnectorConfigConfig + + connector_name: Literal["uber"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorVimeoDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorVimeoDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorVimeoDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorVimeoDiscriminatedConnectorConfig(BaseModel): + config: ConnectorVimeoDiscriminatedConnectorConfigConfig + + connector_name: Literal["vimeo"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorWakatimeDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorWakatimeDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorWakatimeDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorWakatimeDiscriminatedConnectorConfig(BaseModel): + config: ConnectorWakatimeDiscriminatedConnectorConfigConfig + + connector_name: Literal["wakatime"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorWealthboxDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorWealthboxDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorWealthboxDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorWealthboxDiscriminatedConnectorConfig(BaseModel): + config: ConnectorWealthboxDiscriminatedConnectorConfigConfig + + connector_name: Literal["wealthbox"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorWebflowDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorWebflowDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorWebflowDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorWebflowDiscriminatedConnectorConfig(BaseModel): + config: ConnectorWebflowDiscriminatedConnectorConfigConfig + + connector_name: Literal["webflow"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorWhoopDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorWhoopDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorWhoopDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorWhoopDiscriminatedConnectorConfig(BaseModel): + config: ConnectorWhoopDiscriminatedConnectorConfigConfig + + connector_name: Literal["whoop"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorWordpressDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorWordpressDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorWordpressDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorWordpressDiscriminatedConnectorConfig(BaseModel): + config: ConnectorWordpressDiscriminatedConnectorConfigConfig + + connector_name: Literal["wordpress"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorWrikeDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorWrikeDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorWrikeDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorWrikeDiscriminatedConnectorConfig(BaseModel): + config: ConnectorWrikeDiscriminatedConnectorConfigConfig + + connector_name: Literal["wrike"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorXeroDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorXeroDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorXeroDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorXeroDiscriminatedConnectorConfig(BaseModel): + config: ConnectorXeroDiscriminatedConnectorConfigConfig + + connector_name: Literal["xero"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorYahooDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorYahooDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorYahooDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorYahooDiscriminatedConnectorConfig(BaseModel): + config: ConnectorYahooDiscriminatedConnectorConfigConfig + + connector_name: Literal["yahoo"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorYandexDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorYandexDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorYandexDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorYandexDiscriminatedConnectorConfig(BaseModel): + config: ConnectorYandexDiscriminatedConnectorConfigConfig + + connector_name: Literal["yandex"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorZapierDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorZapierDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorZapierDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorZapierDiscriminatedConnectorConfig(BaseModel): + config: ConnectorZapierDiscriminatedConnectorConfigConfig + + connector_name: Literal["zapier"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorZendeskDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorZendeskDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorZendeskDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorZendeskDiscriminatedConnectorConfig(BaseModel): + config: ConnectorZendeskDiscriminatedConnectorConfigConfig + + connector_name: Literal["zendesk"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorZenefitsDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorZenefitsDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorZenefitsDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorZenefitsDiscriminatedConnectorConfig(BaseModel): + config: ConnectorZenefitsDiscriminatedConnectorConfigConfig + + connector_name: Literal["zenefits"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorZohoDeskDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorZohoDeskDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorZohoDeskDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorZohoDeskDiscriminatedConnectorConfig(BaseModel): + config: ConnectorZohoDeskDiscriminatedConnectorConfigConfig + + connector_name: Literal["zoho-desk"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorZohoDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorZohoDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorZohoDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorZohoDiscriminatedConnectorConfig(BaseModel): + config: ConnectorZohoDiscriminatedConnectorConfigConfig + + connector_name: Literal["zoho"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorZoomDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorZoomDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorZoomDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorZoomDiscriminatedConnectorConfig(BaseModel): + config: ConnectorZoomDiscriminatedConnectorConfigConfig + + connector_name: Literal["zoom"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorAirtableDiscriminatedConnectorConfig(BaseModel): + config: object + + connector_name: Literal["airtable"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorApolloDiscriminatedConnectorConfig(BaseModel): + config: object + + connector_name: Literal["apollo"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorBrexDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: str = FieldInfo(alias="clientId") + + client_secret: str = FieldInfo(alias="clientSecret") + + +class ConnectorBrexDiscriminatedConnectorConfigConfig(BaseModel): + apikey_auth: Optional[bool] = FieldInfo(alias="apikeyAuth", default=None) + """API key auth support""" + + oauth: Optional[ConnectorBrexDiscriminatedConnectorConfigConfigOAuth] = None + """Configure oauth""" + + +class ConnectorBrexDiscriminatedConnectorConfig(BaseModel): + config: ConnectorBrexDiscriminatedConnectorConfigConfig + + connector_name: Literal["brex"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorCodaDiscriminatedConnectorConfig(BaseModel): + config: object + + connector_name: Literal["coda"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorFinchDiscriminatedConnectorConfigConfig(BaseModel): + client_id: str + + client_secret: str + + products: List[ + Literal["company", "directory", "individual", "ssn", "employment", "payment", "pay_statement", "benefits"] + ] + """ + Finch products to access, @see + https://developer.tryfinch.com/api-reference/development-guides/Permissions + """ + + api_version: Optional[str] = None + """Finch API version""" + + +class ConnectorFinchDiscriminatedConnectorConfig(BaseModel): + config: ConnectorFinchDiscriminatedConnectorConfigConfig + + connector_name: Literal["finch"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorFirebaseDiscriminatedConnectorConfig(BaseModel): + config: object + + connector_name: Literal["firebase"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorForeceiptDiscriminatedConnectorConfig(BaseModel): + config: object + + connector_name: Literal["foreceipt"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorGreenhouseDiscriminatedConnectorConfig(BaseModel): + config: object + + connector_name: Literal["greenhouse"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorHeronDiscriminatedConnectorConfigConfig(BaseModel): + api_key: str = FieldInfo(alias="apiKey") + + +class ConnectorHeronDiscriminatedConnectorConfig(BaseModel): + config: ConnectorHeronDiscriminatedConnectorConfigConfig + + connector_name: Literal["heron"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorLunchmoneyDiscriminatedConnectorConfigConfig(BaseModel): + access_token: str = FieldInfo(alias="accessToken") + + +class ConnectorLunchmoneyDiscriminatedConnectorConfig(BaseModel): + config: ConnectorLunchmoneyDiscriminatedConnectorConfigConfig + + connector_name: Literal["lunchmoney"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorMercuryDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: str = FieldInfo(alias="clientId") + + client_secret: str = FieldInfo(alias="clientSecret") + + +class ConnectorMercuryDiscriminatedConnectorConfigConfig(BaseModel): + apikey_auth: Optional[bool] = FieldInfo(alias="apikeyAuth", default=None) + """API key auth support""" + + oauth: Optional[ConnectorMercuryDiscriminatedConnectorConfigConfigOAuth] = None + """Configure oauth""" + + +class ConnectorMercuryDiscriminatedConnectorConfig(BaseModel): + config: ConnectorMercuryDiscriminatedConnectorConfigConfig + + connector_name: Literal["mercury"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorMergeDiscriminatedConnectorConfigConfig(BaseModel): + api_key: str = FieldInfo(alias="apiKey") + + +class ConnectorMergeDiscriminatedConnectorConfig(BaseModel): + config: ConnectorMergeDiscriminatedConnectorConfigConfig + + connector_name: Literal["merge"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorMootaDiscriminatedConnectorConfigConfig(BaseModel): + token: str + + +class ConnectorMootaDiscriminatedConnectorConfig(BaseModel): + config: ConnectorMootaDiscriminatedConnectorConfigConfig + + connector_name: Literal["moota"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorOnebrickDiscriminatedConnectorConfigConfig(BaseModel): + client_id: str = FieldInfo(alias="clientId") + + client_secret: str = FieldInfo(alias="clientSecret") + + env_name: Literal["sandbox", "production"] = FieldInfo(alias="envName") + + public_token: str = FieldInfo(alias="publicToken") + + access_token: Optional[str] = FieldInfo(alias="accessToken", default=None) + + redirect_url: Optional[str] = FieldInfo(alias="redirectUrl", default=None) + + +class ConnectorOnebrickDiscriminatedConnectorConfig(BaseModel): + config: ConnectorOnebrickDiscriminatedConnectorConfigConfig + + connector_name: Literal["onebrick"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorOpenledgerDiscriminatedConnectorConfigConfig(BaseModel): + api_url: str + """API endpoint""" + + developer_id: str + """Your developer ID for authentication""" + + developer_secret: str + """Your developer secret""" + + environment: Literal["development", "production"] + """Switch to "production" for live data""" + + +class ConnectorOpenledgerDiscriminatedConnectorConfig(BaseModel): + config: ConnectorOpenledgerDiscriminatedConnectorConfigConfig + + connector_name: Literal["openledger"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorPlaidDiscriminatedConnectorConfigConfigCredentials(BaseModel): + client_id: str = FieldInfo(alias="clientId") + + client_secret: str = FieldInfo(alias="clientSecret") + + +class ConnectorPlaidDiscriminatedConnectorConfigConfig(BaseModel): + client_name: str = FieldInfo(alias="clientName") + """ + The name of your application, as it should be displayed in Link. Maximum length + of 30 characters. If a value longer than 30 characters is provided, Link will + display "This Application" instead. + """ + + country_codes: List[ + Literal["US", "GB", "ES", "NL", "FR", "IE", "CA", "DE", "IT", "PL", "DK", "NO", "SE", "EE", "LT", "LV"] + ] = FieldInfo(alias="countryCodes") + + env_name: Literal["sandbox", "development", "production"] = FieldInfo(alias="envName") + + language: Literal["en", "fr", "es", "nl", "de"] + + products: List[ + Literal[ + "assets", + "auth", + "balance", + "identity", + "investments", + "liabilities", + "payment_initiation", + "identity_verification", + "transactions", + "credit_details", + "income", + "income_verification", + "deposit_switch", + "standing_orders", + "transfer", + "employment", + "recurring_transactions", + ] + ] + + credentials: Optional[ConnectorPlaidDiscriminatedConnectorConfigConfigCredentials] = None + + +class ConnectorPlaidDiscriminatedConnectorConfig(BaseModel): + config: ConnectorPlaidDiscriminatedConnectorConfigConfig + + connector_name: Literal["plaid"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorPostgresDiscriminatedConnectorConfig(BaseModel): + config: object + + connector_name: Literal["postgres"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorRampDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: str = FieldInfo(alias="clientId") + + client_secret: str = FieldInfo(alias="clientSecret") + + +class ConnectorRampDiscriminatedConnectorConfigConfig(BaseModel): + oauth: ConnectorRampDiscriminatedConnectorConfigConfigOAuth + + +class ConnectorRampDiscriminatedConnectorConfig(BaseModel): + config: ConnectorRampDiscriminatedConnectorConfigConfig + + connector_name: Literal["ramp"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorSaltedgeDiscriminatedConnectorConfigConfig(BaseModel): + app_id: str = FieldInfo(alias="appId") + + secret: str + + url: Optional[str] = None + + +class ConnectorSaltedgeDiscriminatedConnectorConfig(BaseModel): + config: ConnectorSaltedgeDiscriminatedConnectorConfigConfig + + connector_name: Literal["saltedge"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorSharepointOnpremDiscriminatedConnectorConfig(BaseModel): + config: object + + connector_name: Literal["sharepoint-onprem"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorSplitwiseDiscriminatedConnectorConfig(BaseModel): + config: object + + connector_name: Literal["splitwise"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorStripeDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: str = FieldInfo(alias="clientId") + + client_secret: str = FieldInfo(alias="clientSecret") + + +class ConnectorStripeDiscriminatedConnectorConfigConfig(BaseModel): + apikey_auth: Optional[bool] = FieldInfo(alias="apikeyAuth", default=None) + """API key auth support""" + + oauth: Optional[ConnectorStripeDiscriminatedConnectorConfigConfigOAuth] = None + """Configure oauth""" + + +class ConnectorStripeDiscriminatedConnectorConfig(BaseModel): + config: ConnectorStripeDiscriminatedConnectorConfigConfig + + connector_name: Literal["stripe"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorTellerDiscriminatedConnectorConfigConfig(BaseModel): + application_id: str = FieldInfo(alias="applicationId") + + token: Optional[str] = None + + +class ConnectorTellerDiscriminatedConnectorConfig(BaseModel): + config: ConnectorTellerDiscriminatedConnectorConfigConfig + + connector_name: Literal["teller"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorTogglDiscriminatedConnectorConfig(BaseModel): + config: object + + connector_name: Literal["toggl"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorTwentyDiscriminatedConnectorConfig(BaseModel): + config: object + + connector_name: Literal["twenty"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorVenmoDiscriminatedConnectorConfigConfigProxy(BaseModel): + cert: str + + url: str + + +class ConnectorVenmoDiscriminatedConnectorConfigConfig(BaseModel): + proxy: Optional[ConnectorVenmoDiscriminatedConnectorConfigConfigProxy] = None + + v1_base_url: Optional[str] = FieldInfo(alias="v1BaseURL", default=None) + + v5_base_url: Optional[str] = FieldInfo(alias="v5BaseURL", default=None) + + +class ConnectorVenmoDiscriminatedConnectorConfig(BaseModel): + config: ConnectorVenmoDiscriminatedConnectorConfigConfig + + connector_name: Literal["venmo"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorWiseDiscriminatedConnectorConfig(BaseModel): + config: object + + connector_name: Literal["wise"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorYodleeDiscriminatedConnectorConfigConfigProxy(BaseModel): + cert: str + + url: str + + +class ConnectorYodleeDiscriminatedConnectorConfigConfig(BaseModel): + admin_login_name: str = FieldInfo(alias="adminLoginName") + + client_id: str = FieldInfo(alias="clientId") + + client_secret: str = FieldInfo(alias="clientSecret") + + env_name: Literal["sandbox", "development", "production"] = FieldInfo(alias="envName") + + proxy: Optional[ConnectorYodleeDiscriminatedConnectorConfigConfigProxy] = None + + sandbox_login_name: Optional[str] = FieldInfo(alias="sandboxLoginName", default=None) + + +class ConnectorYodleeDiscriminatedConnectorConfig(BaseModel): + config: ConnectorYodleeDiscriminatedConnectorConfigConfig + + connector_name: Literal["yodlee"] + + id: Optional[str] = None + + connection_count: Optional[float] = None + + connector: Optional[Connector] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + integrations: Optional[Dict[str, Integration]] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +ListConnnectorConfigsResponse: TypeAlias = Union[ + ConnectorAcceloDiscriminatedConnectorConfig, + ConnectorAcmeApikeyDiscriminatedConnectorConfig, + ConnectorAcmeOauth2DiscriminatedConnectorConfig, + ConnectorAdobeDiscriminatedConnectorConfig, + ConnectorAdyenDiscriminatedConnectorConfig, + ConnectorAircallDiscriminatedConnectorConfig, + ConnectorAmazonDiscriminatedConnectorConfig, + ConnectorApaleoDiscriminatedConnectorConfig, + ConnectorAsanaDiscriminatedConnectorConfig, + ConnectorAttioDiscriminatedConnectorConfig, + ConnectorAuth0DiscriminatedConnectorConfig, + ConnectorAutodeskDiscriminatedConnectorConfig, + ConnectorAwsDiscriminatedConnectorConfig, + ConnectorBamboohrDiscriminatedConnectorConfig, + ConnectorBasecampDiscriminatedConnectorConfig, + ConnectorBattlenetDiscriminatedConnectorConfig, + ConnectorBigcommerceDiscriminatedConnectorConfig, + ConnectorBitbucketDiscriminatedConnectorConfig, + ConnectorBitlyDiscriminatedConnectorConfig, + ConnectorBlackbaudDiscriminatedConnectorConfig, + ConnectorBoldsignDiscriminatedConnectorConfig, + ConnectorBoxDiscriminatedConnectorConfig, + ConnectorBraintreeDiscriminatedConnectorConfig, + ConnectorCalendlyDiscriminatedConnectorConfig, + ConnectorClickupDiscriminatedConnectorConfig, + ConnectorCloseDiscriminatedConnectorConfig, + ConnectorConfluenceDiscriminatedConnectorConfig, + ConnectorContentfulDiscriminatedConnectorConfig, + ConnectorContentstackDiscriminatedConnectorConfig, + ConnectorCopperDiscriminatedConnectorConfig, + ConnectorCorosDiscriminatedConnectorConfig, + ConnectorDatevDiscriminatedConnectorConfig, + ConnectorDeelDiscriminatedConnectorConfig, + ConnectorDialpadDiscriminatedConnectorConfig, + ConnectorDigitaloceanDiscriminatedConnectorConfig, + ConnectorDiscordDiscriminatedConnectorConfig, + ConnectorDocusignDiscriminatedConnectorConfig, + ConnectorDropboxDiscriminatedConnectorConfig, + ConnectorEbayDiscriminatedConnectorConfig, + ConnectorEgnyteDiscriminatedConnectorConfig, + ConnectorEnvoyDiscriminatedConnectorConfig, + ConnectorEventbriteDiscriminatedConnectorConfig, + ConnectorExistDiscriminatedConnectorConfig, + ConnectorFacebookDiscriminatedConnectorConfig, + ConnectorFactorialDiscriminatedConnectorConfig, + ConnectorFigmaDiscriminatedConnectorConfig, + ConnectorFitbitDiscriminatedConnectorConfig, + ConnectorFortnoxDiscriminatedConnectorConfig, + ConnectorFreshbooksDiscriminatedConnectorConfig, + ConnectorFrontDiscriminatedConnectorConfig, + ConnectorGitHubDiscriminatedConnectorConfig, + ConnectorGitlabDiscriminatedConnectorConfig, + ConnectorGongDiscriminatedConnectorConfig, + ConnectorGoogleCalendarDiscriminatedConnectorConfig, + ConnectorGoogleDocsDiscriminatedConnectorConfig, + ConnectorGoogleDriveDiscriminatedConnectorConfig, + ConnectorGoogleMailDiscriminatedConnectorConfig, + ConnectorGoogleSheetDiscriminatedConnectorConfig, + ConnectorGorgiasDiscriminatedConnectorConfig, + ConnectorGrainDiscriminatedConnectorConfig, + ConnectorGumroadDiscriminatedConnectorConfig, + ConnectorGustoDiscriminatedConnectorConfig, + ConnectorHarvestDiscriminatedConnectorConfig, + ConnectorHighlevelDiscriminatedConnectorConfig, + ConnectorHubspotDiscriminatedConnectorConfig, + ConnectorInstagramDiscriminatedConnectorConfig, + ConnectorIntercomDiscriminatedConnectorConfig, + ConnectorJiraDiscriminatedConnectorConfig, + ConnectorKeapDiscriminatedConnectorConfig, + ConnectorLeverDiscriminatedConnectorConfig, + ConnectorLinearDiscriminatedConnectorConfig, + ConnectorLinkedinDiscriminatedConnectorConfig, + ConnectorLinkhutDiscriminatedConnectorConfig, + ConnectorMailchimpDiscriminatedConnectorConfig, + ConnectorMiroDiscriminatedConnectorConfig, + ConnectorMondayDiscriminatedConnectorConfig, + ConnectorMuralDiscriminatedConnectorConfig, + ConnectorNamelyDiscriminatedConnectorConfig, + ConnectorNationbuilderDiscriminatedConnectorConfig, + ConnectorNetsuiteDiscriminatedConnectorConfig, + ConnectorNotionDiscriminatedConnectorConfig, + ConnectorOdooDiscriminatedConnectorConfig, + ConnectorOktaDiscriminatedConnectorConfig, + ConnectorOsuDiscriminatedConnectorConfig, + ConnectorOuraDiscriminatedConnectorConfig, + ConnectorOutreachDiscriminatedConnectorConfig, + ConnectorPagerdutyDiscriminatedConnectorConfig, + ConnectorPandadocDiscriminatedConnectorConfig, + ConnectorPayfitDiscriminatedConnectorConfig, + ConnectorPaypalDiscriminatedConnectorConfig, + ConnectorPennylaneDiscriminatedConnectorConfig, + ConnectorPinterestDiscriminatedConnectorConfig, + ConnectorPipedriveDiscriminatedConnectorConfig, + ConnectorPodiumDiscriminatedConnectorConfig, + ConnectorProductboardDiscriminatedConnectorConfig, + ConnectorQualtricsDiscriminatedConnectorConfig, + ConnectorQuickbooksDiscriminatedConnectorConfig, + ConnectorRedditDiscriminatedConnectorConfig, + ConnectorSageDiscriminatedConnectorConfig, + ConnectorSalesforceDiscriminatedConnectorConfig, + ConnectorSalesloftDiscriminatedConnectorConfig, + ConnectorSegmentDiscriminatedConnectorConfig, + ConnectorServicem8DiscriminatedConnectorConfig, + ConnectorServicenowDiscriminatedConnectorConfig, + ConnectorSharepointDiscriminatedConnectorConfig, + ConnectorShopifyDiscriminatedConnectorConfig, + ConnectorSignnowDiscriminatedConnectorConfig, + ConnectorSlackDiscriminatedConnectorConfig, + ConnectorSmartsheetDiscriminatedConnectorConfig, + ConnectorSnowflakeDiscriminatedConnectorConfig, + ConnectorSpotifyDiscriminatedConnectorConfig, + ConnectorSquarespaceDiscriminatedConnectorConfig, + ConnectorSquareupDiscriminatedConnectorConfig, + ConnectorStackexchangeDiscriminatedConnectorConfig, + ConnectorStravaDiscriminatedConnectorConfig, + ConnectorTeamworkDiscriminatedConnectorConfig, + ConnectorTicktickDiscriminatedConnectorConfig, + ConnectorTimelyDiscriminatedConnectorConfig, + ConnectorTodoistDiscriminatedConnectorConfig, + ConnectorTremendousDiscriminatedConnectorConfig, + ConnectorTsheetsteamDiscriminatedConnectorConfig, + ConnectorTumblrDiscriminatedConnectorConfig, + ConnectorTwinfieldDiscriminatedConnectorConfig, + ConnectorTwitchDiscriminatedConnectorConfig, + ConnectorTwitterDiscriminatedConnectorConfig, + ConnectorTypeformDiscriminatedConnectorConfig, + ConnectorUberDiscriminatedConnectorConfig, + ConnectorVimeoDiscriminatedConnectorConfig, + ConnectorWakatimeDiscriminatedConnectorConfig, + ConnectorWealthboxDiscriminatedConnectorConfig, + ConnectorWebflowDiscriminatedConnectorConfig, + ConnectorWhoopDiscriminatedConnectorConfig, + ConnectorWordpressDiscriminatedConnectorConfig, + ConnectorWrikeDiscriminatedConnectorConfig, + ConnectorXeroDiscriminatedConnectorConfig, + ConnectorYahooDiscriminatedConnectorConfig, + ConnectorYandexDiscriminatedConnectorConfig, + ConnectorZapierDiscriminatedConnectorConfig, + ConnectorZendeskDiscriminatedConnectorConfig, + ConnectorZenefitsDiscriminatedConnectorConfig, + ConnectorZohoDeskDiscriminatedConnectorConfig, + ConnectorZohoDiscriminatedConnectorConfig, + ConnectorZoomDiscriminatedConnectorConfig, + ConnectorAirtableDiscriminatedConnectorConfig, + ConnectorApolloDiscriminatedConnectorConfig, + ConnectorBrexDiscriminatedConnectorConfig, + ConnectorCodaDiscriminatedConnectorConfig, + ConnectorFinchDiscriminatedConnectorConfig, + ConnectorFirebaseDiscriminatedConnectorConfig, + ConnectorForeceiptDiscriminatedConnectorConfig, + ConnectorGreenhouseDiscriminatedConnectorConfig, + ConnectorHeronDiscriminatedConnectorConfig, + ConnectorLunchmoneyDiscriminatedConnectorConfig, + ConnectorMercuryDiscriminatedConnectorConfig, + ConnectorMergeDiscriminatedConnectorConfig, + ConnectorMootaDiscriminatedConnectorConfig, + ConnectorOnebrickDiscriminatedConnectorConfig, + ConnectorOpenledgerDiscriminatedConnectorConfig, + ConnectorPlaidDiscriminatedConnectorConfig, + ConnectorPostgresDiscriminatedConnectorConfig, + ConnectorRampDiscriminatedConnectorConfig, + ConnectorSaltedgeDiscriminatedConnectorConfig, + ConnectorSharepointOnpremDiscriminatedConnectorConfig, + ConnectorSplitwiseDiscriminatedConnectorConfig, + ConnectorStripeDiscriminatedConnectorConfig, + ConnectorTellerDiscriminatedConnectorConfig, + ConnectorTogglDiscriminatedConnectorConfig, + ConnectorTwentyDiscriminatedConnectorConfig, + ConnectorVenmoDiscriminatedConnectorConfig, + ConnectorWiseDiscriminatedConnectorConfig, + ConnectorYodleeDiscriminatedConnectorConfig, +] diff --git a/src/openint/types/upsert_customer_response.py b/src/openint/types/upsert_customer_response.py new file mode 100644 index 0000000..3ddc176 --- /dev/null +++ b/src/openint/types/upsert_customer_response.py @@ -0,0 +1,21 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from typing import Dict, List, Union, Optional + +from .._models import BaseModel + +__all__ = ["UpsertCustomerResponse"] + + +class UpsertCustomerResponse(BaseModel): + id: str + + api_key: Optional[str] = None + + created_at: str + + metadata: Union[str, float, bool, Dict[str, object], List[object], None] = None + + org_id: str + + updated_at: str diff --git a/tests/api_resources/test_client.py b/tests/api_resources/test_client.py index 9aa084f..5472ca2 100644 --- a/tests/api_resources/test_client.py +++ b/tests/api_resources/test_client.py @@ -15,12 +15,15 @@ GetConnectionResponse, GetCurrentUserResponse, ListConnectorsResponse, + UpsertCustomerResponse, CheckConnectionResponse, ListConnectionsResponse, CreateConnectionResponse, DeleteConnectionResponse, + GetConectorConfigResponse, GetMessageTemplateResponse, ListConnectionConfigsResponse, + ListConnnectorConfigsResponse, ) from openint.pagination import SyncOffsetPagination, AsyncOffsetPagination @@ -30,7 +33,7 @@ class TestClient: parametrize = pytest.mark.parametrize("client", [False, True], indirect=True, ids=["loose", "strict"]) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize def test_method_check_connection(self, client: Openint) -> None: client_ = client.check_connection( @@ -38,7 +41,7 @@ def test_method_check_connection(self, client: Openint) -> None: ) assert_matches_type(CheckConnectionResponse, client_, path=["response"]) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize def test_raw_response_check_connection(self, client: Openint) -> None: response = client.with_raw_response.check_connection( @@ -50,7 +53,7 @@ def test_raw_response_check_connection(self, client: Openint) -> None: client_ = response.parse() assert_matches_type(CheckConnectionResponse, client_, path=["response"]) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize def test_streaming_response_check_connection(self, client: Openint) -> None: with client.with_streaming_response.check_connection( @@ -64,7 +67,7 @@ def test_streaming_response_check_connection(self, client: Openint) -> None: assert cast(Any, response.is_closed) is True - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize def test_path_params_check_connection(self, client: Openint) -> None: with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"): @@ -72,7 +75,7 @@ def test_path_params_check_connection(self, client: Openint) -> None: "", ) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize def test_method_create_connection(self, client: Openint) -> None: client_ = client.create_connection( @@ -82,7 +85,7 @@ def test_method_create_connection(self, client: Openint) -> None: ) assert_matches_type(CreateConnectionResponse, client_, path=["response"]) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize def test_method_create_connection_with_all_params(self, client: Openint) -> None: client_ = client.create_connection( @@ -116,7 +119,7 @@ def test_method_create_connection_with_all_params(self, client: Openint) -> None ) assert_matches_type(CreateConnectionResponse, client_, path=["response"]) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize def test_raw_response_create_connection(self, client: Openint) -> None: response = client.with_raw_response.create_connection( @@ -130,7 +133,7 @@ def test_raw_response_create_connection(self, client: Openint) -> None: client_ = response.parse() assert_matches_type(CreateConnectionResponse, client_, path=["response"]) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize def test_streaming_response_create_connection(self, client: Openint) -> None: with client.with_streaming_response.create_connection( @@ -146,7 +149,7 @@ def test_streaming_response_create_connection(self, client: Openint) -> None: assert cast(Any, response.is_closed) is True - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize def test_method_create_token(self, client: Openint) -> None: client_ = client.create_token( @@ -154,7 +157,7 @@ def test_method_create_token(self, client: Openint) -> None: ) assert_matches_type(CreateTokenResponse, client_, path=["response"]) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize def test_method_create_token_with_all_params(self, client: Openint) -> None: client_ = client.create_token( @@ -170,7 +173,7 @@ def test_method_create_token_with_all_params(self, client: Openint) -> None: ) assert_matches_type(CreateTokenResponse, client_, path=["response"]) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize def test_raw_response_create_token(self, client: Openint) -> None: response = client.with_raw_response.create_token( @@ -182,7 +185,7 @@ def test_raw_response_create_token(self, client: Openint) -> None: client_ = response.parse() assert_matches_type(CreateTokenResponse, client_, path=["response"]) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize def test_streaming_response_create_token(self, client: Openint) -> None: with client.with_streaming_response.create_token( @@ -196,7 +199,7 @@ def test_streaming_response_create_token(self, client: Openint) -> None: assert cast(Any, response.is_closed) is True - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize def test_path_params_create_token(self, client: Openint) -> None: with pytest.raises(ValueError, match=r"Expected a non-empty value for `customer_id` but received ''"): @@ -204,7 +207,7 @@ def test_path_params_create_token(self, client: Openint) -> None: customer_id="", ) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize def test_method_delete_connection(self, client: Openint) -> None: client_ = client.delete_connection( @@ -212,7 +215,7 @@ def test_method_delete_connection(self, client: Openint) -> None: ) assert_matches_type(DeleteConnectionResponse, client_, path=["response"]) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize def test_raw_response_delete_connection(self, client: Openint) -> None: response = client.with_raw_response.delete_connection( @@ -224,7 +227,7 @@ def test_raw_response_delete_connection(self, client: Openint) -> None: client_ = response.parse() assert_matches_type(DeleteConnectionResponse, client_, path=["response"]) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize def test_streaming_response_delete_connection(self, client: Openint) -> None: with client.with_streaming_response.delete_connection( @@ -238,7 +241,7 @@ def test_streaming_response_delete_connection(self, client: Openint) -> None: assert cast(Any, response.is_closed) is True - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize def test_path_params_delete_connection(self, client: Openint) -> None: with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"): @@ -246,7 +249,58 @@ def test_path_params_delete_connection(self, client: Openint) -> None: "", ) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") + @parametrize + def test_method_get_conector_config(self, client: Openint) -> None: + client_ = client.get_conector_config( + id="ccfg_", + ) + assert_matches_type(GetConectorConfigResponse, client_, path=["response"]) + + @pytest.mark.skip(reason="Prism tests are disabled") + @parametrize + def test_method_get_conector_config_with_all_params(self, client: Openint) -> None: + client_ = client.get_conector_config( + id="ccfg_", + expand=["connector"], + ) + assert_matches_type(GetConectorConfigResponse, client_, path=["response"]) + + @pytest.mark.skip(reason="Prism tests are disabled") + @parametrize + def test_raw_response_get_conector_config(self, client: Openint) -> None: + response = client.with_raw_response.get_conector_config( + id="ccfg_", + ) + + assert response.is_closed is True + assert response.http_request.headers.get("X-Stainless-Lang") == "python" + client_ = response.parse() + assert_matches_type(GetConectorConfigResponse, client_, path=["response"]) + + @pytest.mark.skip(reason="Prism tests are disabled") + @parametrize + def test_streaming_response_get_conector_config(self, client: Openint) -> None: + with client.with_streaming_response.get_conector_config( + id="ccfg_", + ) as response: + assert not response.is_closed + assert response.http_request.headers.get("X-Stainless-Lang") == "python" + + client_ = response.parse() + assert_matches_type(GetConectorConfigResponse, client_, path=["response"]) + + assert cast(Any, response.is_closed) is True + + @pytest.mark.skip(reason="Prism tests are disabled") + @parametrize + def test_path_params_get_conector_config(self, client: Openint) -> None: + with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"): + client.with_raw_response.get_conector_config( + id="", + ) + + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize def test_method_get_connection(self, client: Openint) -> None: client_ = client.get_connection( @@ -254,7 +308,7 @@ def test_method_get_connection(self, client: Openint) -> None: ) assert_matches_type(GetConnectionResponse, client_, path=["response"]) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize def test_method_get_connection_with_all_params(self, client: Openint) -> None: client_ = client.get_connection( @@ -265,7 +319,7 @@ def test_method_get_connection_with_all_params(self, client: Openint) -> None: ) assert_matches_type(GetConnectionResponse, client_, path=["response"]) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize def test_raw_response_get_connection(self, client: Openint) -> None: response = client.with_raw_response.get_connection( @@ -277,7 +331,7 @@ def test_raw_response_get_connection(self, client: Openint) -> None: client_ = response.parse() assert_matches_type(GetConnectionResponse, client_, path=["response"]) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize def test_streaming_response_get_connection(self, client: Openint) -> None: with client.with_streaming_response.get_connection( @@ -291,7 +345,7 @@ def test_streaming_response_get_connection(self, client: Openint) -> None: assert cast(Any, response.is_closed) is True - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @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 ''"): @@ -299,13 +353,13 @@ def test_path_params_get_connection(self, client: Openint) -> None: id="", ) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize def test_method_get_current_user(self, client: Openint) -> None: client_ = client.get_current_user() assert_matches_type(GetCurrentUserResponse, client_, path=["response"]) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize def test_raw_response_get_current_user(self, client: Openint) -> None: response = client.with_raw_response.get_current_user() @@ -315,7 +369,7 @@ def test_raw_response_get_current_user(self, client: Openint) -> None: client_ = response.parse() assert_matches_type(GetCurrentUserResponse, client_, path=["response"]) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize def test_streaming_response_get_current_user(self, client: Openint) -> None: with client.with_streaming_response.get_current_user() as response: @@ -327,7 +381,7 @@ def test_streaming_response_get_current_user(self, client: Openint) -> None: assert cast(Any, response.is_closed) is True - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize def test_method_get_message_template(self, client: Openint) -> None: client_ = client.get_message_template( @@ -335,7 +389,7 @@ def test_method_get_message_template(self, client: Openint) -> None: ) assert_matches_type(GetMessageTemplateResponse, client_, path=["response"]) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize def test_method_get_message_template_with_all_params(self, client: Openint) -> None: client_ = client.get_message_template( @@ -345,7 +399,7 @@ def test_method_get_message_template_with_all_params(self, client: Openint) -> N ) assert_matches_type(GetMessageTemplateResponse, client_, path=["response"]) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize def test_raw_response_get_message_template(self, client: Openint) -> None: response = client.with_raw_response.get_message_template( @@ -357,7 +411,7 @@ def test_raw_response_get_message_template(self, client: Openint) -> None: client_ = response.parse() assert_matches_type(GetMessageTemplateResponse, client_, path=["response"]) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize def test_streaming_response_get_message_template(self, client: Openint) -> None: with client.with_streaming_response.get_message_template( @@ -371,13 +425,13 @@ def test_streaming_response_get_message_template(self, client: Openint) -> None: assert cast(Any, response.is_closed) is True - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize def test_method_list_connection_configs(self, client: Openint) -> None: client_ = client.list_connection_configs() assert_matches_type(SyncOffsetPagination[ListConnectionConfigsResponse], client_, path=["response"]) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize def test_method_list_connection_configs_with_all_params(self, client: Openint) -> None: client_ = client.list_connection_configs( @@ -389,7 +443,7 @@ def test_method_list_connection_configs_with_all_params(self, client: Openint) - ) assert_matches_type(SyncOffsetPagination[ListConnectionConfigsResponse], client_, path=["response"]) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize def test_raw_response_list_connection_configs(self, client: Openint) -> None: response = client.with_raw_response.list_connection_configs() @@ -399,7 +453,7 @@ def test_raw_response_list_connection_configs(self, client: Openint) -> None: client_ = response.parse() assert_matches_type(SyncOffsetPagination[ListConnectionConfigsResponse], client_, path=["response"]) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize def test_streaming_response_list_connection_configs(self, client: Openint) -> None: with client.with_streaming_response.list_connection_configs() as response: @@ -411,13 +465,13 @@ def test_streaming_response_list_connection_configs(self, client: Openint) -> No assert cast(Any, response.is_closed) is True - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize def test_method_list_connections(self, client: Openint) -> None: client_ = client.list_connections() assert_matches_type(SyncOffsetPagination[ListConnectionsResponse], client_, path=["response"]) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize def test_method_list_connections_with_all_params(self, client: Openint) -> None: client_ = client.list_connections( @@ -433,7 +487,7 @@ def test_method_list_connections_with_all_params(self, client: Openint) -> None: ) assert_matches_type(SyncOffsetPagination[ListConnectionsResponse], client_, path=["response"]) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize def test_raw_response_list_connections(self, client: Openint) -> None: response = client.with_raw_response.list_connections() @@ -443,7 +497,7 @@ def test_raw_response_list_connections(self, client: Openint) -> None: client_ = response.parse() assert_matches_type(SyncOffsetPagination[ListConnectionsResponse], client_, path=["response"]) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize def test_streaming_response_list_connections(self, client: Openint) -> None: with client.with_streaming_response.list_connections() as response: @@ -455,13 +509,13 @@ def test_streaming_response_list_connections(self, client: Openint) -> None: assert cast(Any, response.is_closed) is True - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize def test_method_list_connectors(self, client: Openint) -> None: client_ = client.list_connectors() assert_matches_type(SyncOffsetPagination[ListConnectorsResponse], client_, path=["response"]) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize def test_method_list_connectors_with_all_params(self, client: Openint) -> None: client_ = client.list_connectors( @@ -471,7 +525,7 @@ def test_method_list_connectors_with_all_params(self, client: Openint) -> None: ) assert_matches_type(SyncOffsetPagination[ListConnectorsResponse], client_, path=["response"]) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize def test_raw_response_list_connectors(self, client: Openint) -> None: response = client.with_raw_response.list_connectors() @@ -481,7 +535,7 @@ def test_raw_response_list_connectors(self, client: Openint) -> None: client_ = response.parse() assert_matches_type(SyncOffsetPagination[ListConnectorsResponse], client_, path=["response"]) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize def test_streaming_response_list_connectors(self, client: Openint) -> None: with client.with_streaming_response.list_connectors() as response: @@ -493,13 +547,53 @@ def test_streaming_response_list_connectors(self, client: Openint) -> None: assert cast(Any, response.is_closed) is True - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") + @parametrize + def test_method_list_connnector_configs(self, client: Openint) -> None: + client_ = client.list_connnector_configs() + assert_matches_type(SyncOffsetPagination[ListConnnectorConfigsResponse], client_, path=["response"]) + + @pytest.mark.skip(reason="Prism tests are disabled") + @parametrize + def test_method_list_connnector_configs_with_all_params(self, client: Openint) -> None: + client_ = client.list_connnector_configs( + connector_names=["accelo"], + expand=["connector"], + limit=0, + offset=0, + search_query="search_query", + ) + assert_matches_type(SyncOffsetPagination[ListConnnectorConfigsResponse], client_, path=["response"]) + + @pytest.mark.skip(reason="Prism tests are disabled") + @parametrize + def test_raw_response_list_connnector_configs(self, client: Openint) -> None: + response = client.with_raw_response.list_connnector_configs() + + assert response.is_closed is True + assert response.http_request.headers.get("X-Stainless-Lang") == "python" + client_ = response.parse() + assert_matches_type(SyncOffsetPagination[ListConnnectorConfigsResponse], client_, path=["response"]) + + @pytest.mark.skip(reason="Prism tests are disabled") + @parametrize + def test_streaming_response_list_connnector_configs(self, client: Openint) -> None: + with client.with_streaming_response.list_connnector_configs() as response: + assert not response.is_closed + assert response.http_request.headers.get("X-Stainless-Lang") == "python" + + client_ = response.parse() + assert_matches_type(SyncOffsetPagination[ListConnnectorConfigsResponse], client_, path=["response"]) + + assert cast(Any, response.is_closed) is True + + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize def test_method_list_events(self, client: Openint) -> None: client_ = client.list_events() assert_matches_type(SyncOffsetPagination[ListEventsResponse], client_, path=["response"]) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize def test_method_list_events_with_all_params(self, client: Openint) -> None: client_ = client.list_events( @@ -511,7 +605,7 @@ def test_method_list_events_with_all_params(self, client: Openint) -> None: ) assert_matches_type(SyncOffsetPagination[ListEventsResponse], client_, path=["response"]) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize def test_raw_response_list_events(self, client: Openint) -> None: response = client.with_raw_response.list_events() @@ -521,7 +615,7 @@ def test_raw_response_list_events(self, client: Openint) -> None: client_ = response.parse() assert_matches_type(SyncOffsetPagination[ListEventsResponse], client_, path=["response"]) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize def test_streaming_response_list_events(self, client: Openint) -> None: with client.with_streaming_response.list_events() as response: @@ -533,13 +627,50 @@ def test_streaming_response_list_events(self, client: Openint) -> None: assert cast(Any, response.is_closed) is True + @pytest.mark.skip(reason="Prism tests are disabled") + @parametrize + def test_method_upsert_customer(self, client: Openint) -> None: + client_ = client.upsert_customer() + assert_matches_type(UpsertCustomerResponse, client_, path=["response"]) + + @pytest.mark.skip(reason="Prism tests are disabled") + @parametrize + def test_method_upsert_customer_with_all_params(self, client: Openint) -> None: + client_ = client.upsert_customer( + id="id", + metadata={"foo": "bar"}, + ) + assert_matches_type(UpsertCustomerResponse, client_, path=["response"]) + + @pytest.mark.skip(reason="Prism tests are disabled") + @parametrize + def test_raw_response_upsert_customer(self, client: Openint) -> None: + response = client.with_raw_response.upsert_customer() + + assert response.is_closed is True + assert response.http_request.headers.get("X-Stainless-Lang") == "python" + client_ = response.parse() + assert_matches_type(UpsertCustomerResponse, client_, path=["response"]) + + @pytest.mark.skip(reason="Prism tests are disabled") + @parametrize + def test_streaming_response_upsert_customer(self, client: Openint) -> None: + with client.with_streaming_response.upsert_customer() as response: + assert not response.is_closed + assert response.http_request.headers.get("X-Stainless-Lang") == "python" + + client_ = response.parse() + assert_matches_type(UpsertCustomerResponse, client_, path=["response"]) + + assert cast(Any, response.is_closed) is True + class TestAsyncClient: parametrize = pytest.mark.parametrize( "async_client", [False, True, {"http_client": "aiohttp"}], indirect=True, ids=["loose", "strict", "aiohttp"] ) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize async def test_method_check_connection(self, async_client: AsyncOpenint) -> None: client = await async_client.check_connection( @@ -547,7 +678,7 @@ async def test_method_check_connection(self, async_client: AsyncOpenint) -> None ) assert_matches_type(CheckConnectionResponse, client, path=["response"]) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize async def test_raw_response_check_connection(self, async_client: AsyncOpenint) -> None: response = await async_client.with_raw_response.check_connection( @@ -559,7 +690,7 @@ async def test_raw_response_check_connection(self, async_client: AsyncOpenint) - client = await response.parse() assert_matches_type(CheckConnectionResponse, client, path=["response"]) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize async def test_streaming_response_check_connection(self, async_client: AsyncOpenint) -> None: async with async_client.with_streaming_response.check_connection( @@ -573,7 +704,7 @@ async def test_streaming_response_check_connection(self, async_client: AsyncOpen assert cast(Any, response.is_closed) is True - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize async def test_path_params_check_connection(self, async_client: AsyncOpenint) -> None: with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"): @@ -581,7 +712,7 @@ async def test_path_params_check_connection(self, async_client: AsyncOpenint) -> "", ) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize async def test_method_create_connection(self, async_client: AsyncOpenint) -> None: client = await async_client.create_connection( @@ -591,7 +722,7 @@ async def test_method_create_connection(self, async_client: AsyncOpenint) -> Non ) assert_matches_type(CreateConnectionResponse, client, path=["response"]) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize async def test_method_create_connection_with_all_params(self, async_client: AsyncOpenint) -> None: client = await async_client.create_connection( @@ -625,7 +756,7 @@ async def test_method_create_connection_with_all_params(self, async_client: Asyn ) assert_matches_type(CreateConnectionResponse, client, path=["response"]) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize async def test_raw_response_create_connection(self, async_client: AsyncOpenint) -> None: response = await async_client.with_raw_response.create_connection( @@ -639,7 +770,7 @@ async def test_raw_response_create_connection(self, async_client: AsyncOpenint) client = await response.parse() assert_matches_type(CreateConnectionResponse, client, path=["response"]) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize async def test_streaming_response_create_connection(self, async_client: AsyncOpenint) -> None: async with async_client.with_streaming_response.create_connection( @@ -655,7 +786,7 @@ async def test_streaming_response_create_connection(self, async_client: AsyncOpe assert cast(Any, response.is_closed) is True - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize async def test_method_create_token(self, async_client: AsyncOpenint) -> None: client = await async_client.create_token( @@ -663,7 +794,7 @@ async def test_method_create_token(self, async_client: AsyncOpenint) -> None: ) assert_matches_type(CreateTokenResponse, client, path=["response"]) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize async def test_method_create_token_with_all_params(self, async_client: AsyncOpenint) -> None: client = await async_client.create_token( @@ -679,7 +810,7 @@ async def test_method_create_token_with_all_params(self, async_client: AsyncOpen ) assert_matches_type(CreateTokenResponse, client, path=["response"]) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize async def test_raw_response_create_token(self, async_client: AsyncOpenint) -> None: response = await async_client.with_raw_response.create_token( @@ -691,7 +822,7 @@ async def test_raw_response_create_token(self, async_client: AsyncOpenint) -> No client = await response.parse() assert_matches_type(CreateTokenResponse, client, path=["response"]) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize async def test_streaming_response_create_token(self, async_client: AsyncOpenint) -> None: async with async_client.with_streaming_response.create_token( @@ -705,7 +836,7 @@ async def test_streaming_response_create_token(self, async_client: AsyncOpenint) assert cast(Any, response.is_closed) is True - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize async def test_path_params_create_token(self, async_client: AsyncOpenint) -> None: with pytest.raises(ValueError, match=r"Expected a non-empty value for `customer_id` but received ''"): @@ -713,7 +844,7 @@ async def test_path_params_create_token(self, async_client: AsyncOpenint) -> Non customer_id="", ) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize async def test_method_delete_connection(self, async_client: AsyncOpenint) -> None: client = await async_client.delete_connection( @@ -721,7 +852,7 @@ async def test_method_delete_connection(self, async_client: AsyncOpenint) -> Non ) assert_matches_type(DeleteConnectionResponse, client, path=["response"]) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize async def test_raw_response_delete_connection(self, async_client: AsyncOpenint) -> None: response = await async_client.with_raw_response.delete_connection( @@ -733,7 +864,7 @@ async def test_raw_response_delete_connection(self, async_client: AsyncOpenint) client = await response.parse() assert_matches_type(DeleteConnectionResponse, client, path=["response"]) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize async def test_streaming_response_delete_connection(self, async_client: AsyncOpenint) -> None: async with async_client.with_streaming_response.delete_connection( @@ -747,7 +878,7 @@ async def test_streaming_response_delete_connection(self, async_client: AsyncOpe assert cast(Any, response.is_closed) is True - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize async def test_path_params_delete_connection(self, async_client: AsyncOpenint) -> None: with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"): @@ -755,7 +886,58 @@ async def test_path_params_delete_connection(self, async_client: AsyncOpenint) - "", ) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") + @parametrize + async def test_method_get_conector_config(self, async_client: AsyncOpenint) -> None: + client = await async_client.get_conector_config( + id="ccfg_", + ) + assert_matches_type(GetConectorConfigResponse, client, path=["response"]) + + @pytest.mark.skip(reason="Prism tests are disabled") + @parametrize + async def test_method_get_conector_config_with_all_params(self, async_client: AsyncOpenint) -> None: + client = await async_client.get_conector_config( + id="ccfg_", + expand=["connector"], + ) + assert_matches_type(GetConectorConfigResponse, client, path=["response"]) + + @pytest.mark.skip(reason="Prism tests are disabled") + @parametrize + async def test_raw_response_get_conector_config(self, async_client: AsyncOpenint) -> None: + response = await async_client.with_raw_response.get_conector_config( + id="ccfg_", + ) + + assert response.is_closed is True + assert response.http_request.headers.get("X-Stainless-Lang") == "python" + client = await response.parse() + assert_matches_type(GetConectorConfigResponse, client, path=["response"]) + + @pytest.mark.skip(reason="Prism tests are disabled") + @parametrize + async def test_streaming_response_get_conector_config(self, async_client: AsyncOpenint) -> None: + async with async_client.with_streaming_response.get_conector_config( + id="ccfg_", + ) as response: + assert not response.is_closed + assert response.http_request.headers.get("X-Stainless-Lang") == "python" + + client = await response.parse() + assert_matches_type(GetConectorConfigResponse, client, path=["response"]) + + assert cast(Any, response.is_closed) is True + + @pytest.mark.skip(reason="Prism tests are disabled") + @parametrize + async def test_path_params_get_conector_config(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_conector_config( + id="", + ) + + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize async def test_method_get_connection(self, async_client: AsyncOpenint) -> None: client = await async_client.get_connection( @@ -763,7 +945,7 @@ async def test_method_get_connection(self, async_client: AsyncOpenint) -> None: ) assert_matches_type(GetConnectionResponse, client, path=["response"]) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize async def test_method_get_connection_with_all_params(self, async_client: AsyncOpenint) -> None: client = await async_client.get_connection( @@ -774,7 +956,7 @@ async def test_method_get_connection_with_all_params(self, async_client: AsyncOp ) assert_matches_type(GetConnectionResponse, client, path=["response"]) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize async def test_raw_response_get_connection(self, async_client: AsyncOpenint) -> None: response = await async_client.with_raw_response.get_connection( @@ -786,7 +968,7 @@ async def test_raw_response_get_connection(self, async_client: AsyncOpenint) -> client = await response.parse() assert_matches_type(GetConnectionResponse, client, path=["response"]) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize async def test_streaming_response_get_connection(self, async_client: AsyncOpenint) -> None: async with async_client.with_streaming_response.get_connection( @@ -800,7 +982,7 @@ async def test_streaming_response_get_connection(self, async_client: AsyncOpenin assert cast(Any, response.is_closed) is True - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @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 ''"): @@ -808,13 +990,13 @@ async def test_path_params_get_connection(self, async_client: AsyncOpenint) -> N id="", ) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize async def test_method_get_current_user(self, async_client: AsyncOpenint) -> None: client = await async_client.get_current_user() assert_matches_type(GetCurrentUserResponse, client, path=["response"]) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize async def test_raw_response_get_current_user(self, async_client: AsyncOpenint) -> None: response = await async_client.with_raw_response.get_current_user() @@ -824,7 +1006,7 @@ async def test_raw_response_get_current_user(self, async_client: AsyncOpenint) - client = await response.parse() assert_matches_type(GetCurrentUserResponse, client, path=["response"]) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize async def test_streaming_response_get_current_user(self, async_client: AsyncOpenint) -> None: async with async_client.with_streaming_response.get_current_user() as response: @@ -836,7 +1018,7 @@ async def test_streaming_response_get_current_user(self, async_client: AsyncOpen assert cast(Any, response.is_closed) is True - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize async def test_method_get_message_template(self, async_client: AsyncOpenint) -> None: client = await async_client.get_message_template( @@ -844,7 +1026,7 @@ async def test_method_get_message_template(self, async_client: AsyncOpenint) -> ) assert_matches_type(GetMessageTemplateResponse, client, path=["response"]) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize async def test_method_get_message_template_with_all_params(self, async_client: AsyncOpenint) -> None: client = await async_client.get_message_template( @@ -854,7 +1036,7 @@ async def test_method_get_message_template_with_all_params(self, async_client: A ) assert_matches_type(GetMessageTemplateResponse, client, path=["response"]) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize async def test_raw_response_get_message_template(self, async_client: AsyncOpenint) -> None: response = await async_client.with_raw_response.get_message_template( @@ -866,7 +1048,7 @@ async def test_raw_response_get_message_template(self, async_client: AsyncOpenin client = await response.parse() assert_matches_type(GetMessageTemplateResponse, client, path=["response"]) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize async def test_streaming_response_get_message_template(self, async_client: AsyncOpenint) -> None: async with async_client.with_streaming_response.get_message_template( @@ -880,13 +1062,13 @@ async def test_streaming_response_get_message_template(self, async_client: Async assert cast(Any, response.is_closed) is True - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize async def test_method_list_connection_configs(self, async_client: AsyncOpenint) -> None: client = await async_client.list_connection_configs() assert_matches_type(AsyncOffsetPagination[ListConnectionConfigsResponse], client, path=["response"]) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize async def test_method_list_connection_configs_with_all_params(self, async_client: AsyncOpenint) -> None: client = await async_client.list_connection_configs( @@ -898,7 +1080,7 @@ async def test_method_list_connection_configs_with_all_params(self, async_client ) assert_matches_type(AsyncOffsetPagination[ListConnectionConfigsResponse], client, path=["response"]) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize async def test_raw_response_list_connection_configs(self, async_client: AsyncOpenint) -> None: response = await async_client.with_raw_response.list_connection_configs() @@ -908,7 +1090,7 @@ async def test_raw_response_list_connection_configs(self, async_client: AsyncOpe client = await response.parse() assert_matches_type(AsyncOffsetPagination[ListConnectionConfigsResponse], client, path=["response"]) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize async def test_streaming_response_list_connection_configs(self, async_client: AsyncOpenint) -> None: async with async_client.with_streaming_response.list_connection_configs() as response: @@ -920,13 +1102,13 @@ async def test_streaming_response_list_connection_configs(self, async_client: As assert cast(Any, response.is_closed) is True - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize async def test_method_list_connections(self, async_client: AsyncOpenint) -> None: client = await async_client.list_connections() assert_matches_type(AsyncOffsetPagination[ListConnectionsResponse], client, path=["response"]) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize async def test_method_list_connections_with_all_params(self, async_client: AsyncOpenint) -> None: client = await async_client.list_connections( @@ -942,7 +1124,7 @@ async def test_method_list_connections_with_all_params(self, async_client: Async ) assert_matches_type(AsyncOffsetPagination[ListConnectionsResponse], client, path=["response"]) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize async def test_raw_response_list_connections(self, async_client: AsyncOpenint) -> None: response = await async_client.with_raw_response.list_connections() @@ -952,7 +1134,7 @@ async def test_raw_response_list_connections(self, async_client: AsyncOpenint) - client = await response.parse() assert_matches_type(AsyncOffsetPagination[ListConnectionsResponse], client, path=["response"]) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize async def test_streaming_response_list_connections(self, async_client: AsyncOpenint) -> None: async with async_client.with_streaming_response.list_connections() as response: @@ -964,13 +1146,13 @@ async def test_streaming_response_list_connections(self, async_client: AsyncOpen assert cast(Any, response.is_closed) is True - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize async def test_method_list_connectors(self, async_client: AsyncOpenint) -> None: client = await async_client.list_connectors() assert_matches_type(AsyncOffsetPagination[ListConnectorsResponse], client, path=["response"]) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize async def test_method_list_connectors_with_all_params(self, async_client: AsyncOpenint) -> None: client = await async_client.list_connectors( @@ -980,7 +1162,7 @@ async def test_method_list_connectors_with_all_params(self, async_client: AsyncO ) assert_matches_type(AsyncOffsetPagination[ListConnectorsResponse], client, path=["response"]) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize async def test_raw_response_list_connectors(self, async_client: AsyncOpenint) -> None: response = await async_client.with_raw_response.list_connectors() @@ -990,7 +1172,7 @@ async def test_raw_response_list_connectors(self, async_client: AsyncOpenint) -> client = await response.parse() assert_matches_type(AsyncOffsetPagination[ListConnectorsResponse], client, path=["response"]) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize async def test_streaming_response_list_connectors(self, async_client: AsyncOpenint) -> None: async with async_client.with_streaming_response.list_connectors() as response: @@ -1002,13 +1184,53 @@ async def test_streaming_response_list_connectors(self, async_client: AsyncOpeni assert cast(Any, response.is_closed) is True - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") + @parametrize + async def test_method_list_connnector_configs(self, async_client: AsyncOpenint) -> None: + client = await async_client.list_connnector_configs() + assert_matches_type(AsyncOffsetPagination[ListConnnectorConfigsResponse], client, path=["response"]) + + @pytest.mark.skip(reason="Prism tests are disabled") + @parametrize + async def test_method_list_connnector_configs_with_all_params(self, async_client: AsyncOpenint) -> None: + client = await async_client.list_connnector_configs( + connector_names=["accelo"], + expand=["connector"], + limit=0, + offset=0, + search_query="search_query", + ) + assert_matches_type(AsyncOffsetPagination[ListConnnectorConfigsResponse], client, path=["response"]) + + @pytest.mark.skip(reason="Prism tests are disabled") + @parametrize + async def test_raw_response_list_connnector_configs(self, async_client: AsyncOpenint) -> None: + response = await async_client.with_raw_response.list_connnector_configs() + + assert response.is_closed is True + assert response.http_request.headers.get("X-Stainless-Lang") == "python" + client = await response.parse() + assert_matches_type(AsyncOffsetPagination[ListConnnectorConfigsResponse], client, path=["response"]) + + @pytest.mark.skip(reason="Prism tests are disabled") + @parametrize + async def test_streaming_response_list_connnector_configs(self, async_client: AsyncOpenint) -> None: + async with async_client.with_streaming_response.list_connnector_configs() as response: + assert not response.is_closed + assert response.http_request.headers.get("X-Stainless-Lang") == "python" + + client = await response.parse() + assert_matches_type(AsyncOffsetPagination[ListConnnectorConfigsResponse], client, path=["response"]) + + assert cast(Any, response.is_closed) is True + + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize async def test_method_list_events(self, async_client: AsyncOpenint) -> None: client = await async_client.list_events() assert_matches_type(AsyncOffsetPagination[ListEventsResponse], client, path=["response"]) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize async def test_method_list_events_with_all_params(self, async_client: AsyncOpenint) -> None: client = await async_client.list_events( @@ -1020,7 +1242,7 @@ async def test_method_list_events_with_all_params(self, async_client: AsyncOpeni ) assert_matches_type(AsyncOffsetPagination[ListEventsResponse], client, path=["response"]) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize async def test_raw_response_list_events(self, async_client: AsyncOpenint) -> None: response = await async_client.with_raw_response.list_events() @@ -1030,7 +1252,7 @@ async def test_raw_response_list_events(self, async_client: AsyncOpenint) -> Non client = await response.parse() assert_matches_type(AsyncOffsetPagination[ListEventsResponse], client, path=["response"]) - @pytest.mark.skip() + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize async def test_streaming_response_list_events(self, async_client: AsyncOpenint) -> None: async with async_client.with_streaming_response.list_events() as response: @@ -1041,3 +1263,40 @@ async def test_streaming_response_list_events(self, async_client: AsyncOpenint) assert_matches_type(AsyncOffsetPagination[ListEventsResponse], client, path=["response"]) assert cast(Any, response.is_closed) is True + + @pytest.mark.skip(reason="Prism tests are disabled") + @parametrize + async def test_method_upsert_customer(self, async_client: AsyncOpenint) -> None: + client = await async_client.upsert_customer() + assert_matches_type(UpsertCustomerResponse, client, path=["response"]) + + @pytest.mark.skip(reason="Prism tests are disabled") + @parametrize + async def test_method_upsert_customer_with_all_params(self, async_client: AsyncOpenint) -> None: + client = await async_client.upsert_customer( + id="id", + metadata={"foo": "bar"}, + ) + assert_matches_type(UpsertCustomerResponse, client, path=["response"]) + + @pytest.mark.skip(reason="Prism tests are disabled") + @parametrize + async def test_raw_response_upsert_customer(self, async_client: AsyncOpenint) -> None: + response = await async_client.with_raw_response.upsert_customer() + + assert response.is_closed is True + assert response.http_request.headers.get("X-Stainless-Lang") == "python" + client = await response.parse() + assert_matches_type(UpsertCustomerResponse, client, path=["response"]) + + @pytest.mark.skip(reason="Prism tests are disabled") + @parametrize + async def test_streaming_response_upsert_customer(self, async_client: AsyncOpenint) -> None: + async with async_client.with_streaming_response.upsert_customer() as response: + assert not response.is_closed + assert response.http_request.headers.get("X-Stainless-Lang") == "python" + + client = await response.parse() + assert_matches_type(UpsertCustomerResponse, client, path=["response"]) + + assert cast(Any, response.is_closed) is True From 735f88912419dbdc3a80d0b665bdcef84cc26427 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Wed, 13 Aug 2025 20:30:46 +0000 Subject: [PATCH 30/32] feat(docs): updating documented docs for stainless --- .stats.yml | 6 +- api.md | 6 +- src/openint/_client.py | 222 +- src/openint/types/__init__.py | 10 +- .../client_create_connnector_config_params.py | 20 + .../client_upsert_connnector_config_params.py | 16 + .../types/client_upsert_customer_params.py | 14 - .../create_connnector_config_response.py | 7421 +++++++++++++++++ .../upsert_connnector_config_response.py | 7421 +++++++++++++++++ src/openint/types/upsert_customer_response.py | 21 - tests/api_resources/test_client.py | 183 +- 11 files changed, 15223 insertions(+), 117 deletions(-) create mode 100644 src/openint/types/client_create_connnector_config_params.py create mode 100644 src/openint/types/client_upsert_connnector_config_params.py delete mode 100644 src/openint/types/client_upsert_customer_params.py create mode 100644 src/openint/types/create_connnector_config_response.py create mode 100644 src/openint/types/upsert_connnector_config_response.py delete mode 100644 src/openint/types/upsert_customer_response.py diff --git a/.stats.yml b/.stats.yml index 063d8ef..6906b66 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ -configured_endpoints: 13 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/openint%2Fopenint-0a4eb274ac57a4d4bd8936015f41147c7cd218a13446aea787cd0cf063af66cf.yml -openapi_spec_hash: 2ec6f02a72534100a5bdf0dc709dc6dd +configured_endpoints: 14 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/openint%2Fopenint-a7212b4566ed125aa08bf8c11ec8e06cb155893a70fea4237e6c8524f9dfe2e9.yml +openapi_spec_hash: 962403d111f029b8911c5ec6acd6f215 config_hash: a272aa84b22214ea1c54dd24a80a9ce2 diff --git a/api.md b/api.md index 86644ef..6043f45 100644 --- a/api.md +++ b/api.md @@ -8,6 +8,7 @@ from openint.types import ( Integration, CheckConnectionResponse, CreateConnectionResponse, + CreateConnnectorConfigResponse, CreateTokenResponse, DeleteConnectionResponse, GetConectorConfigResponse, @@ -19,7 +20,7 @@ from openint.types import ( ListConnectorsResponse, ListConnnectorConfigsResponse, ListEventsResponse, - UpsertCustomerResponse, + UpsertConnnectorConfigResponse, ) ``` @@ -27,6 +28,7 @@ Methods: - client.check_connection(id) -> CheckConnectionResponse - client.create_connection(\*\*params) -> CreateConnectionResponse +- client.create_connnector_config(\*\*params) -> CreateConnnectorConfigResponse - client.create_token(customer_id, \*\*params) -> CreateTokenResponse - client.delete_connection(id) -> DeleteConnectionResponse - client.get_conector_config(id, \*\*params) -> GetConectorConfigResponse @@ -38,4 +40,4 @@ Methods: - client.list_connectors(\*\*params) -> SyncOffsetPagination[ListConnectorsResponse] - client.list_connnector_configs(\*\*params) -> SyncOffsetPagination[ListConnnectorConfigsResponse] - client.list_events(\*\*params) -> SyncOffsetPagination[ListEventsResponse] -- client.upsert_customer(\*\*params) -> UpsertCustomerResponse +- client.upsert_connnector_config(id, \*\*params) -> UpsertConnnectorConfigResponse diff --git a/src/openint/_client.py b/src/openint/_client.py index 035e00a..523d27b 100644 --- a/src/openint/_client.py +++ b/src/openint/_client.py @@ -15,13 +15,14 @@ client_create_token_params, client_get_connection_params, client_list_connectors_params, - client_upsert_customer_params, client_list_connections_params, client_create_connection_params, client_get_conector_config_params, client_get_message_template_params, client_list_connection_configs_params, client_list_connnector_configs_params, + client_create_connnector_config_params, + client_upsert_connnector_config_params, ) from ._types import ( NOT_GIVEN, @@ -62,7 +63,6 @@ from .types.create_token_response import CreateTokenResponse from .types.get_connection_response import GetConnectionResponse from .types.list_connectors_response import ListConnectorsResponse -from .types.upsert_customer_response import UpsertCustomerResponse from .types.check_connection_response import CheckConnectionResponse from .types.get_current_user_response import GetCurrentUserResponse from .types.list_connections_response import ListConnectionsResponse @@ -72,6 +72,8 @@ from .types.get_message_template_response import GetMessageTemplateResponse from .types.list_connection_configs_response import ListConnectionConfigsResponse from .types.list_connnector_configs_response import ListConnnectorConfigsResponse +from .types.create_connnector_config_response import CreateConnnectorConfigResponse +from .types.upsert_connnector_config_response import UpsertConnnectorConfigResponse __all__ = ["Timeout", "Transport", "ProxiesTypes", "RequestOptions", "Openint", "AsyncOpenint", "Client", "AsyncClient"] @@ -311,6 +313,54 @@ def create_connection( ), ) + def create_connnector_config( + self, + *, + connector_name: str, + config: Optional[Dict[str, object]] | NotGiven = NOT_GIVEN, + disabled: Optional[bool] | NotGiven = NOT_GIVEN, + display_name: Optional[str] | NotGiven = NOT_GIVEN, + metadata: Optional[Dict[str, object]] | 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, + ) -> CreateConnnectorConfigResponse: + """ + 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 cast( + CreateConnnectorConfigResponse, + self.post( + "/connector-config", + body=maybe_transform( + { + "connector_name": connector_name, + "config": config, + "disabled": disabled, + "display_name": display_name, + "metadata": metadata, + }, + client_create_connnector_config_params.ClientCreateConnnectorConfigParams, + ), + options=make_request_options( + extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout + ), + cast_to=cast( + Any, CreateConnnectorConfigResponse + ), # Union types cannot be passed in as arguments in the type system + ), + ) + def create_token( self, customer_id: str, @@ -1372,22 +1422,24 @@ def list_events( model=cast(Any, ListEventsResponse), # Union types cannot be passed in as arguments in the type system ) - def upsert_customer( + def upsert_connnector_config( self, + id: str, *, - id: str | NotGiven = NOT_GIVEN, - metadata: Dict[str, object] | NotGiven = NOT_GIVEN, + config: Optional[Dict[str, object]] | NotGiven = NOT_GIVEN, + disabled: bool | NotGiven = NOT_GIVEN, + display_name: str | 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, - ) -> UpsertCustomerResponse: + ) -> UpsertConnnectorConfigResponse: """ - Create or update a customer - Args: + id: The id of the connector config, starts with `ccfg_` + extra_headers: Send extra headers extra_query: Add additional query parameters to the request @@ -1396,19 +1448,27 @@ def upsert_customer( timeout: Override the client-level default timeout for this request, in seconds """ - return self.put( - "/customers", - body=maybe_transform( - { - "id": id, - "metadata": metadata, - }, - client_upsert_customer_params.ClientUpsertCustomerParams, - ), - options=make_request_options( - extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout + if not id: + raise ValueError(f"Expected a non-empty value for `id` but received {id!r}") + return cast( + UpsertConnnectorConfigResponse, + self.put( + f"/connector-config/{id}", + body=maybe_transform( + { + "config": config, + "disabled": disabled, + "display_name": display_name, + }, + client_upsert_connnector_config_params.ClientUpsertConnnectorConfigParams, + ), + options=make_request_options( + extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout + ), + cast_to=cast( + Any, UpsertConnnectorConfigResponse + ), # Union types cannot be passed in as arguments in the type system ), - cast_to=UpsertCustomerResponse, ) @override @@ -1680,6 +1740,54 @@ async def create_connection( ), ) + async def create_connnector_config( + self, + *, + connector_name: str, + config: Optional[Dict[str, object]] | NotGiven = NOT_GIVEN, + disabled: Optional[bool] | NotGiven = NOT_GIVEN, + display_name: Optional[str] | NotGiven = NOT_GIVEN, + metadata: Optional[Dict[str, object]] | 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, + ) -> CreateConnnectorConfigResponse: + """ + 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 cast( + CreateConnnectorConfigResponse, + await self.post( + "/connector-config", + body=await async_maybe_transform( + { + "connector_name": connector_name, + "config": config, + "disabled": disabled, + "display_name": display_name, + "metadata": metadata, + }, + client_create_connnector_config_params.ClientCreateConnnectorConfigParams, + ), + options=make_request_options( + extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout + ), + cast_to=cast( + Any, CreateConnnectorConfigResponse + ), # Union types cannot be passed in as arguments in the type system + ), + ) + async def create_token( self, customer_id: str, @@ -2741,22 +2849,24 @@ def list_events( model=cast(Any, ListEventsResponse), # Union types cannot be passed in as arguments in the type system ) - async def upsert_customer( + async def upsert_connnector_config( self, + id: str, *, - id: str | NotGiven = NOT_GIVEN, - metadata: Dict[str, object] | NotGiven = NOT_GIVEN, + config: Optional[Dict[str, object]] | NotGiven = NOT_GIVEN, + disabled: bool | NotGiven = NOT_GIVEN, + display_name: str | 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, - ) -> UpsertCustomerResponse: + ) -> UpsertConnnectorConfigResponse: """ - Create or update a customer - Args: + id: The id of the connector config, starts with `ccfg_` + extra_headers: Send extra headers extra_query: Add additional query parameters to the request @@ -2765,19 +2875,27 @@ async def upsert_customer( timeout: Override the client-level default timeout for this request, in seconds """ - return await self.put( - "/customers", - body=await async_maybe_transform( - { - "id": id, - "metadata": metadata, - }, - client_upsert_customer_params.ClientUpsertCustomerParams, - ), - options=make_request_options( - extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout + if not id: + raise ValueError(f"Expected a non-empty value for `id` but received {id!r}") + return cast( + UpsertConnnectorConfigResponse, + await self.put( + f"/connector-config/{id}", + body=await async_maybe_transform( + { + "config": config, + "disabled": disabled, + "display_name": display_name, + }, + client_upsert_connnector_config_params.ClientUpsertConnnectorConfigParams, + ), + options=make_request_options( + extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout + ), + cast_to=cast( + Any, UpsertConnnectorConfigResponse + ), # Union types cannot be passed in as arguments in the type system ), - cast_to=UpsertCustomerResponse, ) @override @@ -2822,6 +2940,9 @@ def __init__(self, client: Openint) -> None: self.create_connection = to_raw_response_wrapper( client.create_connection, ) + self.create_connnector_config = to_raw_response_wrapper( + client.create_connnector_config, + ) self.create_token = to_raw_response_wrapper( client.create_token, ) @@ -2855,8 +2976,8 @@ def __init__(self, client: Openint) -> None: self.list_events = to_raw_response_wrapper( client.list_events, ) - self.upsert_customer = to_raw_response_wrapper( - client.upsert_customer, + self.upsert_connnector_config = to_raw_response_wrapper( + client.upsert_connnector_config, ) @@ -2868,6 +2989,9 @@ def __init__(self, client: AsyncOpenint) -> None: self.create_connection = async_to_raw_response_wrapper( client.create_connection, ) + self.create_connnector_config = async_to_raw_response_wrapper( + client.create_connnector_config, + ) self.create_token = async_to_raw_response_wrapper( client.create_token, ) @@ -2901,8 +3025,8 @@ def __init__(self, client: AsyncOpenint) -> None: self.list_events = async_to_raw_response_wrapper( client.list_events, ) - self.upsert_customer = async_to_raw_response_wrapper( - client.upsert_customer, + self.upsert_connnector_config = async_to_raw_response_wrapper( + client.upsert_connnector_config, ) @@ -2914,6 +3038,9 @@ def __init__(self, client: Openint) -> None: self.create_connection = to_streamed_response_wrapper( client.create_connection, ) + self.create_connnector_config = to_streamed_response_wrapper( + client.create_connnector_config, + ) self.create_token = to_streamed_response_wrapper( client.create_token, ) @@ -2947,8 +3074,8 @@ def __init__(self, client: Openint) -> None: self.list_events = to_streamed_response_wrapper( client.list_events, ) - self.upsert_customer = to_streamed_response_wrapper( - client.upsert_customer, + self.upsert_connnector_config = to_streamed_response_wrapper( + client.upsert_connnector_config, ) @@ -2960,6 +3087,9 @@ def __init__(self, client: AsyncOpenint) -> None: self.create_connection = async_to_streamed_response_wrapper( client.create_connection, ) + self.create_connnector_config = async_to_streamed_response_wrapper( + client.create_connnector_config, + ) self.create_token = async_to_streamed_response_wrapper( client.create_token, ) @@ -2993,8 +3123,8 @@ def __init__(self, client: AsyncOpenint) -> None: self.list_events = async_to_streamed_response_wrapper( client.list_events, ) - self.upsert_customer = async_to_streamed_response_wrapper( - client.upsert_customer, + self.upsert_connnector_config = async_to_streamed_response_wrapper( + client.upsert_connnector_config, ) diff --git a/src/openint/types/__init__.py b/src/openint/types/__init__.py index 7899058..2258af6 100644 --- a/src/openint/types/__init__.py +++ b/src/openint/types/__init__.py @@ -8,7 +8,6 @@ from .create_token_response import CreateTokenResponse as CreateTokenResponse from .get_connection_response import GetConnectionResponse as GetConnectionResponse from .list_connectors_response import ListConnectorsResponse as ListConnectorsResponse -from .upsert_customer_response import UpsertCustomerResponse as UpsertCustomerResponse from .check_connection_response import CheckConnectionResponse as CheckConnectionResponse from .client_list_events_params import ClientListEventsParams as ClientListEventsParams from .get_current_user_response import GetCurrentUserResponse as GetCurrentUserResponse @@ -19,13 +18,14 @@ from .client_get_connection_params import ClientGetConnectionParams as ClientGetConnectionParams from .get_conector_config_response import GetConectorConfigResponse as GetConectorConfigResponse from .client_list_connectors_params import ClientListConnectorsParams as ClientListConnectorsParams -from .client_upsert_customer_params import ClientUpsertCustomerParams as ClientUpsertCustomerParams from .get_message_template_response import GetMessageTemplateResponse as GetMessageTemplateResponse from .client_list_connections_params import ClientListConnectionsParams as ClientListConnectionsParams from .client_create_connection_params import ClientCreateConnectionParams as ClientCreateConnectionParams from .list_connection_configs_response import ListConnectionConfigsResponse as ListConnectionConfigsResponse from .list_connnector_configs_response import ListConnnectorConfigsResponse as ListConnnectorConfigsResponse from .client_get_conector_config_params import ClientGetConectorConfigParams as ClientGetConectorConfigParams +from .create_connnector_config_response import CreateConnnectorConfigResponse as CreateConnnectorConfigResponse +from .upsert_connnector_config_response import UpsertConnnectorConfigResponse as UpsertConnnectorConfigResponse from .client_get_message_template_params import ClientGetMessageTemplateParams as ClientGetMessageTemplateParams from .client_list_connection_configs_params import ( ClientListConnectionConfigsParams as ClientListConnectionConfigsParams, @@ -33,3 +33,9 @@ from .client_list_connnector_configs_params import ( ClientListConnnectorConfigsParams as ClientListConnnectorConfigsParams, ) +from .client_create_connnector_config_params import ( + ClientCreateConnnectorConfigParams as ClientCreateConnnectorConfigParams, +) +from .client_upsert_connnector_config_params import ( + ClientUpsertConnnectorConfigParams as ClientUpsertConnnectorConfigParams, +) diff --git a/src/openint/types/client_create_connnector_config_params.py b/src/openint/types/client_create_connnector_config_params.py new file mode 100644 index 0000000..5185c7b --- /dev/null +++ b/src/openint/types/client_create_connnector_config_params.py @@ -0,0 +1,20 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from __future__ import annotations + +from typing import Dict, Optional +from typing_extensions import Required, TypedDict + +__all__ = ["ClientCreateConnnectorConfigParams"] + + +class ClientCreateConnnectorConfigParams(TypedDict, total=False): + connector_name: Required[str] + + config: Optional[Dict[str, object]] + + disabled: Optional[bool] + + display_name: Optional[str] + + metadata: Optional[Dict[str, object]] diff --git a/src/openint/types/client_upsert_connnector_config_params.py b/src/openint/types/client_upsert_connnector_config_params.py new file mode 100644 index 0000000..e98d7df --- /dev/null +++ b/src/openint/types/client_upsert_connnector_config_params.py @@ -0,0 +1,16 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from __future__ import annotations + +from typing import Dict, Optional +from typing_extensions import TypedDict + +__all__ = ["ClientUpsertConnnectorConfigParams"] + + +class ClientUpsertConnnectorConfigParams(TypedDict, total=False): + config: Optional[Dict[str, object]] + + disabled: bool + + display_name: str diff --git a/src/openint/types/client_upsert_customer_params.py b/src/openint/types/client_upsert_customer_params.py deleted file mode 100644 index 0b4086b..0000000 --- a/src/openint/types/client_upsert_customer_params.py +++ /dev/null @@ -1,14 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from __future__ import annotations - -from typing import Dict -from typing_extensions import TypedDict - -__all__ = ["ClientUpsertCustomerParams"] - - -class ClientUpsertCustomerParams(TypedDict, total=False): - id: str - - metadata: Dict[str, object] diff --git a/src/openint/types/create_connnector_config_response.py b/src/openint/types/create_connnector_config_response.py new file mode 100644 index 0000000..3d7b228 --- /dev/null +++ b/src/openint/types/create_connnector_config_response.py @@ -0,0 +1,7421 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from typing import Dict, List, Union, Optional +from typing_extensions import Literal, TypeAlias + +from pydantic import Field as FieldInfo + +from .._models import BaseModel + +__all__ = [ + "CreateConnnectorConfigResponse", + "ConnectorAcceloDiscriminatedConnectorConfig", + "ConnectorAcceloDiscriminatedConnectorConfigConfig", + "ConnectorAcceloDiscriminatedConnectorConfigConfigOAuth", + "ConnectorAcmeApikeyDiscriminatedConnectorConfig", + "ConnectorAcmeOauth2DiscriminatedConnectorConfig", + "ConnectorAcmeOauth2DiscriminatedConnectorConfigConfig", + "ConnectorAcmeOauth2DiscriminatedConnectorConfigConfigOAuth", + "ConnectorAdobeDiscriminatedConnectorConfig", + "ConnectorAdobeDiscriminatedConnectorConfigConfig", + "ConnectorAdobeDiscriminatedConnectorConfigConfigOAuth", + "ConnectorAdyenDiscriminatedConnectorConfig", + "ConnectorAdyenDiscriminatedConnectorConfigConfig", + "ConnectorAdyenDiscriminatedConnectorConfigConfigOAuth", + "ConnectorAircallDiscriminatedConnectorConfig", + "ConnectorAircallDiscriminatedConnectorConfigConfig", + "ConnectorAircallDiscriminatedConnectorConfigConfigOAuth", + "ConnectorAmazonDiscriminatedConnectorConfig", + "ConnectorAmazonDiscriminatedConnectorConfigConfig", + "ConnectorAmazonDiscriminatedConnectorConfigConfigOAuth", + "ConnectorApaleoDiscriminatedConnectorConfig", + "ConnectorApaleoDiscriminatedConnectorConfigConfig", + "ConnectorApaleoDiscriminatedConnectorConfigConfigOAuth", + "ConnectorAsanaDiscriminatedConnectorConfig", + "ConnectorAsanaDiscriminatedConnectorConfigConfig", + "ConnectorAsanaDiscriminatedConnectorConfigConfigOAuth", + "ConnectorAttioDiscriminatedConnectorConfig", + "ConnectorAttioDiscriminatedConnectorConfigConfig", + "ConnectorAttioDiscriminatedConnectorConfigConfigOAuth", + "ConnectorAuth0DiscriminatedConnectorConfig", + "ConnectorAuth0DiscriminatedConnectorConfigConfig", + "ConnectorAuth0DiscriminatedConnectorConfigConfigOAuth", + "ConnectorAutodeskDiscriminatedConnectorConfig", + "ConnectorAutodeskDiscriminatedConnectorConfigConfig", + "ConnectorAutodeskDiscriminatedConnectorConfigConfigOAuth", + "ConnectorAwsDiscriminatedConnectorConfig", + "ConnectorAwsDiscriminatedConnectorConfigConfig", + "ConnectorAwsDiscriminatedConnectorConfigConfigOAuth", + "ConnectorBamboohrDiscriminatedConnectorConfig", + "ConnectorBamboohrDiscriminatedConnectorConfigConfig", + "ConnectorBamboohrDiscriminatedConnectorConfigConfigOAuth", + "ConnectorBasecampDiscriminatedConnectorConfig", + "ConnectorBasecampDiscriminatedConnectorConfigConfig", + "ConnectorBasecampDiscriminatedConnectorConfigConfigOAuth", + "ConnectorBattlenetDiscriminatedConnectorConfig", + "ConnectorBattlenetDiscriminatedConnectorConfigConfig", + "ConnectorBattlenetDiscriminatedConnectorConfigConfigOAuth", + "ConnectorBigcommerceDiscriminatedConnectorConfig", + "ConnectorBigcommerceDiscriminatedConnectorConfigConfig", + "ConnectorBigcommerceDiscriminatedConnectorConfigConfigOAuth", + "ConnectorBitbucketDiscriminatedConnectorConfig", + "ConnectorBitbucketDiscriminatedConnectorConfigConfig", + "ConnectorBitbucketDiscriminatedConnectorConfigConfigOAuth", + "ConnectorBitlyDiscriminatedConnectorConfig", + "ConnectorBitlyDiscriminatedConnectorConfigConfig", + "ConnectorBitlyDiscriminatedConnectorConfigConfigOAuth", + "ConnectorBlackbaudDiscriminatedConnectorConfig", + "ConnectorBlackbaudDiscriminatedConnectorConfigConfig", + "ConnectorBlackbaudDiscriminatedConnectorConfigConfigOAuth", + "ConnectorBoldsignDiscriminatedConnectorConfig", + "ConnectorBoldsignDiscriminatedConnectorConfigConfig", + "ConnectorBoldsignDiscriminatedConnectorConfigConfigOAuth", + "ConnectorBoxDiscriminatedConnectorConfig", + "ConnectorBoxDiscriminatedConnectorConfigConfig", + "ConnectorBoxDiscriminatedConnectorConfigConfigOAuth", + "ConnectorBraintreeDiscriminatedConnectorConfig", + "ConnectorBraintreeDiscriminatedConnectorConfigConfig", + "ConnectorBraintreeDiscriminatedConnectorConfigConfigOAuth", + "ConnectorCalendlyDiscriminatedConnectorConfig", + "ConnectorCalendlyDiscriminatedConnectorConfigConfig", + "ConnectorCalendlyDiscriminatedConnectorConfigConfigOAuth", + "ConnectorClickupDiscriminatedConnectorConfig", + "ConnectorClickupDiscriminatedConnectorConfigConfig", + "ConnectorClickupDiscriminatedConnectorConfigConfigOAuth", + "ConnectorCloseDiscriminatedConnectorConfig", + "ConnectorCloseDiscriminatedConnectorConfigConfig", + "ConnectorCloseDiscriminatedConnectorConfigConfigOAuth", + "ConnectorConfluenceDiscriminatedConnectorConfig", + "ConnectorConfluenceDiscriminatedConnectorConfigConfig", + "ConnectorConfluenceDiscriminatedConnectorConfigConfigOAuth", + "ConnectorContentfulDiscriminatedConnectorConfig", + "ConnectorContentfulDiscriminatedConnectorConfigConfig", + "ConnectorContentfulDiscriminatedConnectorConfigConfigOAuth", + "ConnectorContentstackDiscriminatedConnectorConfig", + "ConnectorContentstackDiscriminatedConnectorConfigConfig", + "ConnectorContentstackDiscriminatedConnectorConfigConfigOAuth", + "ConnectorCopperDiscriminatedConnectorConfig", + "ConnectorCopperDiscriminatedConnectorConfigConfig", + "ConnectorCopperDiscriminatedConnectorConfigConfigOAuth", + "ConnectorCorosDiscriminatedConnectorConfig", + "ConnectorCorosDiscriminatedConnectorConfigConfig", + "ConnectorCorosDiscriminatedConnectorConfigConfigOAuth", + "ConnectorDatevDiscriminatedConnectorConfig", + "ConnectorDatevDiscriminatedConnectorConfigConfig", + "ConnectorDatevDiscriminatedConnectorConfigConfigOAuth", + "ConnectorDeelDiscriminatedConnectorConfig", + "ConnectorDeelDiscriminatedConnectorConfigConfig", + "ConnectorDeelDiscriminatedConnectorConfigConfigOAuth", + "ConnectorDialpadDiscriminatedConnectorConfig", + "ConnectorDialpadDiscriminatedConnectorConfigConfig", + "ConnectorDialpadDiscriminatedConnectorConfigConfigOAuth", + "ConnectorDigitaloceanDiscriminatedConnectorConfig", + "ConnectorDigitaloceanDiscriminatedConnectorConfigConfig", + "ConnectorDigitaloceanDiscriminatedConnectorConfigConfigOAuth", + "ConnectorDiscordDiscriminatedConnectorConfig", + "ConnectorDiscordDiscriminatedConnectorConfigConfig", + "ConnectorDiscordDiscriminatedConnectorConfigConfigOAuth", + "ConnectorDocusignDiscriminatedConnectorConfig", + "ConnectorDocusignDiscriminatedConnectorConfigConfig", + "ConnectorDocusignDiscriminatedConnectorConfigConfigOAuth", + "ConnectorDropboxDiscriminatedConnectorConfig", + "ConnectorDropboxDiscriminatedConnectorConfigConfig", + "ConnectorDropboxDiscriminatedConnectorConfigConfigOAuth", + "ConnectorEbayDiscriminatedConnectorConfig", + "ConnectorEbayDiscriminatedConnectorConfigConfig", + "ConnectorEbayDiscriminatedConnectorConfigConfigOAuth", + "ConnectorEgnyteDiscriminatedConnectorConfig", + "ConnectorEgnyteDiscriminatedConnectorConfigConfig", + "ConnectorEgnyteDiscriminatedConnectorConfigConfigOAuth", + "ConnectorEnvoyDiscriminatedConnectorConfig", + "ConnectorEnvoyDiscriminatedConnectorConfigConfig", + "ConnectorEnvoyDiscriminatedConnectorConfigConfigOAuth", + "ConnectorEventbriteDiscriminatedConnectorConfig", + "ConnectorEventbriteDiscriminatedConnectorConfigConfig", + "ConnectorEventbriteDiscriminatedConnectorConfigConfigOAuth", + "ConnectorExistDiscriminatedConnectorConfig", + "ConnectorExistDiscriminatedConnectorConfigConfig", + "ConnectorExistDiscriminatedConnectorConfigConfigOAuth", + "ConnectorFacebookDiscriminatedConnectorConfig", + "ConnectorFacebookDiscriminatedConnectorConfigConfig", + "ConnectorFacebookDiscriminatedConnectorConfigConfigOAuth", + "ConnectorFactorialDiscriminatedConnectorConfig", + "ConnectorFactorialDiscriminatedConnectorConfigConfig", + "ConnectorFactorialDiscriminatedConnectorConfigConfigOAuth", + "ConnectorFigmaDiscriminatedConnectorConfig", + "ConnectorFigmaDiscriminatedConnectorConfigConfig", + "ConnectorFigmaDiscriminatedConnectorConfigConfigOAuth", + "ConnectorFitbitDiscriminatedConnectorConfig", + "ConnectorFitbitDiscriminatedConnectorConfigConfig", + "ConnectorFitbitDiscriminatedConnectorConfigConfigOAuth", + "ConnectorFortnoxDiscriminatedConnectorConfig", + "ConnectorFortnoxDiscriminatedConnectorConfigConfig", + "ConnectorFortnoxDiscriminatedConnectorConfigConfigOAuth", + "ConnectorFreshbooksDiscriminatedConnectorConfig", + "ConnectorFreshbooksDiscriminatedConnectorConfigConfig", + "ConnectorFreshbooksDiscriminatedConnectorConfigConfigOAuth", + "ConnectorFrontDiscriminatedConnectorConfig", + "ConnectorFrontDiscriminatedConnectorConfigConfig", + "ConnectorFrontDiscriminatedConnectorConfigConfigOAuth", + "ConnectorGitHubDiscriminatedConnectorConfig", + "ConnectorGitHubDiscriminatedConnectorConfigConfig", + "ConnectorGitHubDiscriminatedConnectorConfigConfigOAuth", + "ConnectorGitlabDiscriminatedConnectorConfig", + "ConnectorGitlabDiscriminatedConnectorConfigConfig", + "ConnectorGitlabDiscriminatedConnectorConfigConfigOAuth", + "ConnectorGongDiscriminatedConnectorConfig", + "ConnectorGongDiscriminatedConnectorConfigConfig", + "ConnectorGongDiscriminatedConnectorConfigConfigOAuth", + "ConnectorGoogleCalendarDiscriminatedConnectorConfig", + "ConnectorGoogleCalendarDiscriminatedConnectorConfigConfig", + "ConnectorGoogleCalendarDiscriminatedConnectorConfigConfigOAuth", + "ConnectorGoogleDocsDiscriminatedConnectorConfig", + "ConnectorGoogleDocsDiscriminatedConnectorConfigConfig", + "ConnectorGoogleDocsDiscriminatedConnectorConfigConfigOAuth", + "ConnectorGoogleDriveDiscriminatedConnectorConfig", + "ConnectorGoogleDriveDiscriminatedConnectorConfigConfig", + "ConnectorGoogleDriveDiscriminatedConnectorConfigConfigOAuth", + "ConnectorGoogleMailDiscriminatedConnectorConfig", + "ConnectorGoogleMailDiscriminatedConnectorConfigConfig", + "ConnectorGoogleMailDiscriminatedConnectorConfigConfigOAuth", + "ConnectorGoogleSheetDiscriminatedConnectorConfig", + "ConnectorGoogleSheetDiscriminatedConnectorConfigConfig", + "ConnectorGoogleSheetDiscriminatedConnectorConfigConfigOAuth", + "ConnectorGorgiasDiscriminatedConnectorConfig", + "ConnectorGorgiasDiscriminatedConnectorConfigConfig", + "ConnectorGorgiasDiscriminatedConnectorConfigConfigOAuth", + "ConnectorGrainDiscriminatedConnectorConfig", + "ConnectorGrainDiscriminatedConnectorConfigConfig", + "ConnectorGrainDiscriminatedConnectorConfigConfigOAuth", + "ConnectorGumroadDiscriminatedConnectorConfig", + "ConnectorGumroadDiscriminatedConnectorConfigConfig", + "ConnectorGumroadDiscriminatedConnectorConfigConfigOAuth", + "ConnectorGustoDiscriminatedConnectorConfig", + "ConnectorGustoDiscriminatedConnectorConfigConfig", + "ConnectorGustoDiscriminatedConnectorConfigConfigOAuth", + "ConnectorHarvestDiscriminatedConnectorConfig", + "ConnectorHarvestDiscriminatedConnectorConfigConfig", + "ConnectorHarvestDiscriminatedConnectorConfigConfigOAuth", + "ConnectorHighlevelDiscriminatedConnectorConfig", + "ConnectorHighlevelDiscriminatedConnectorConfigConfig", + "ConnectorHighlevelDiscriminatedConnectorConfigConfigOAuth", + "ConnectorHubspotDiscriminatedConnectorConfig", + "ConnectorHubspotDiscriminatedConnectorConfigConfig", + "ConnectorHubspotDiscriminatedConnectorConfigConfigOAuth", + "ConnectorInstagramDiscriminatedConnectorConfig", + "ConnectorInstagramDiscriminatedConnectorConfigConfig", + "ConnectorInstagramDiscriminatedConnectorConfigConfigOAuth", + "ConnectorIntercomDiscriminatedConnectorConfig", + "ConnectorIntercomDiscriminatedConnectorConfigConfig", + "ConnectorIntercomDiscriminatedConnectorConfigConfigOAuth", + "ConnectorJiraDiscriminatedConnectorConfig", + "ConnectorJiraDiscriminatedConnectorConfigConfig", + "ConnectorJiraDiscriminatedConnectorConfigConfigOAuth", + "ConnectorKeapDiscriminatedConnectorConfig", + "ConnectorKeapDiscriminatedConnectorConfigConfig", + "ConnectorKeapDiscriminatedConnectorConfigConfigOAuth", + "ConnectorLeverDiscriminatedConnectorConfig", + "ConnectorLeverDiscriminatedConnectorConfigConfig", + "ConnectorLeverDiscriminatedConnectorConfigConfigOAuth", + "ConnectorLinearDiscriminatedConnectorConfig", + "ConnectorLinearDiscriminatedConnectorConfigConfig", + "ConnectorLinearDiscriminatedConnectorConfigConfigOAuth", + "ConnectorLinkedinDiscriminatedConnectorConfig", + "ConnectorLinkedinDiscriminatedConnectorConfigConfig", + "ConnectorLinkedinDiscriminatedConnectorConfigConfigOAuth", + "ConnectorLinkhutDiscriminatedConnectorConfig", + "ConnectorLinkhutDiscriminatedConnectorConfigConfig", + "ConnectorLinkhutDiscriminatedConnectorConfigConfigOAuth", + "ConnectorMailchimpDiscriminatedConnectorConfig", + "ConnectorMailchimpDiscriminatedConnectorConfigConfig", + "ConnectorMailchimpDiscriminatedConnectorConfigConfigOAuth", + "ConnectorMiroDiscriminatedConnectorConfig", + "ConnectorMiroDiscriminatedConnectorConfigConfig", + "ConnectorMiroDiscriminatedConnectorConfigConfigOAuth", + "ConnectorMondayDiscriminatedConnectorConfig", + "ConnectorMondayDiscriminatedConnectorConfigConfig", + "ConnectorMondayDiscriminatedConnectorConfigConfigOAuth", + "ConnectorMuralDiscriminatedConnectorConfig", + "ConnectorMuralDiscriminatedConnectorConfigConfig", + "ConnectorMuralDiscriminatedConnectorConfigConfigOAuth", + "ConnectorNamelyDiscriminatedConnectorConfig", + "ConnectorNamelyDiscriminatedConnectorConfigConfig", + "ConnectorNamelyDiscriminatedConnectorConfigConfigOAuth", + "ConnectorNationbuilderDiscriminatedConnectorConfig", + "ConnectorNationbuilderDiscriminatedConnectorConfigConfig", + "ConnectorNationbuilderDiscriminatedConnectorConfigConfigOAuth", + "ConnectorNetsuiteDiscriminatedConnectorConfig", + "ConnectorNetsuiteDiscriminatedConnectorConfigConfig", + "ConnectorNetsuiteDiscriminatedConnectorConfigConfigOAuth", + "ConnectorNotionDiscriminatedConnectorConfig", + "ConnectorNotionDiscriminatedConnectorConfigConfig", + "ConnectorNotionDiscriminatedConnectorConfigConfigOAuth", + "ConnectorOdooDiscriminatedConnectorConfig", + "ConnectorOdooDiscriminatedConnectorConfigConfig", + "ConnectorOdooDiscriminatedConnectorConfigConfigOAuth", + "ConnectorOktaDiscriminatedConnectorConfig", + "ConnectorOktaDiscriminatedConnectorConfigConfig", + "ConnectorOktaDiscriminatedConnectorConfigConfigOAuth", + "ConnectorOsuDiscriminatedConnectorConfig", + "ConnectorOsuDiscriminatedConnectorConfigConfig", + "ConnectorOsuDiscriminatedConnectorConfigConfigOAuth", + "ConnectorOuraDiscriminatedConnectorConfig", + "ConnectorOuraDiscriminatedConnectorConfigConfig", + "ConnectorOuraDiscriminatedConnectorConfigConfigOAuth", + "ConnectorOutreachDiscriminatedConnectorConfig", + "ConnectorOutreachDiscriminatedConnectorConfigConfig", + "ConnectorOutreachDiscriminatedConnectorConfigConfigOAuth", + "ConnectorPagerdutyDiscriminatedConnectorConfig", + "ConnectorPagerdutyDiscriminatedConnectorConfigConfig", + "ConnectorPagerdutyDiscriminatedConnectorConfigConfigOAuth", + "ConnectorPandadocDiscriminatedConnectorConfig", + "ConnectorPandadocDiscriminatedConnectorConfigConfig", + "ConnectorPandadocDiscriminatedConnectorConfigConfigOAuth", + "ConnectorPayfitDiscriminatedConnectorConfig", + "ConnectorPayfitDiscriminatedConnectorConfigConfig", + "ConnectorPayfitDiscriminatedConnectorConfigConfigOAuth", + "ConnectorPaypalDiscriminatedConnectorConfig", + "ConnectorPaypalDiscriminatedConnectorConfigConfig", + "ConnectorPaypalDiscriminatedConnectorConfigConfigOAuth", + "ConnectorPennylaneDiscriminatedConnectorConfig", + "ConnectorPennylaneDiscriminatedConnectorConfigConfig", + "ConnectorPennylaneDiscriminatedConnectorConfigConfigOAuth", + "ConnectorPinterestDiscriminatedConnectorConfig", + "ConnectorPinterestDiscriminatedConnectorConfigConfig", + "ConnectorPinterestDiscriminatedConnectorConfigConfigOAuth", + "ConnectorPipedriveDiscriminatedConnectorConfig", + "ConnectorPipedriveDiscriminatedConnectorConfigConfig", + "ConnectorPipedriveDiscriminatedConnectorConfigConfigOAuth", + "ConnectorPodiumDiscriminatedConnectorConfig", + "ConnectorPodiumDiscriminatedConnectorConfigConfig", + "ConnectorPodiumDiscriminatedConnectorConfigConfigOAuth", + "ConnectorProductboardDiscriminatedConnectorConfig", + "ConnectorProductboardDiscriminatedConnectorConfigConfig", + "ConnectorProductboardDiscriminatedConnectorConfigConfigOAuth", + "ConnectorQualtricsDiscriminatedConnectorConfig", + "ConnectorQualtricsDiscriminatedConnectorConfigConfig", + "ConnectorQualtricsDiscriminatedConnectorConfigConfigOAuth", + "ConnectorQuickbooksDiscriminatedConnectorConfig", + "ConnectorQuickbooksDiscriminatedConnectorConfigConfig", + "ConnectorQuickbooksDiscriminatedConnectorConfigConfigOAuth", + "ConnectorRedditDiscriminatedConnectorConfig", + "ConnectorRedditDiscriminatedConnectorConfigConfig", + "ConnectorRedditDiscriminatedConnectorConfigConfigOAuth", + "ConnectorSageDiscriminatedConnectorConfig", + "ConnectorSageDiscriminatedConnectorConfigConfig", + "ConnectorSageDiscriminatedConnectorConfigConfigOAuth", + "ConnectorSalesforceDiscriminatedConnectorConfig", + "ConnectorSalesforceDiscriminatedConnectorConfigConfig", + "ConnectorSalesforceDiscriminatedConnectorConfigConfigOAuth", + "ConnectorSalesloftDiscriminatedConnectorConfig", + "ConnectorSalesloftDiscriminatedConnectorConfigConfig", + "ConnectorSalesloftDiscriminatedConnectorConfigConfigOAuth", + "ConnectorSegmentDiscriminatedConnectorConfig", + "ConnectorSegmentDiscriminatedConnectorConfigConfig", + "ConnectorSegmentDiscriminatedConnectorConfigConfigOAuth", + "ConnectorServicem8DiscriminatedConnectorConfig", + "ConnectorServicem8DiscriminatedConnectorConfigConfig", + "ConnectorServicem8DiscriminatedConnectorConfigConfigOAuth", + "ConnectorServicenowDiscriminatedConnectorConfig", + "ConnectorServicenowDiscriminatedConnectorConfigConfig", + "ConnectorServicenowDiscriminatedConnectorConfigConfigOAuth", + "ConnectorSharepointDiscriminatedConnectorConfig", + "ConnectorSharepointDiscriminatedConnectorConfigConfig", + "ConnectorSharepointDiscriminatedConnectorConfigConfigOAuth", + "ConnectorShopifyDiscriminatedConnectorConfig", + "ConnectorShopifyDiscriminatedConnectorConfigConfig", + "ConnectorShopifyDiscriminatedConnectorConfigConfigOAuth", + "ConnectorSignnowDiscriminatedConnectorConfig", + "ConnectorSignnowDiscriminatedConnectorConfigConfig", + "ConnectorSignnowDiscriminatedConnectorConfigConfigOAuth", + "ConnectorSlackDiscriminatedConnectorConfig", + "ConnectorSlackDiscriminatedConnectorConfigConfig", + "ConnectorSlackDiscriminatedConnectorConfigConfigOAuth", + "ConnectorSmartsheetDiscriminatedConnectorConfig", + "ConnectorSmartsheetDiscriminatedConnectorConfigConfig", + "ConnectorSmartsheetDiscriminatedConnectorConfigConfigOAuth", + "ConnectorSnowflakeDiscriminatedConnectorConfig", + "ConnectorSnowflakeDiscriminatedConnectorConfigConfig", + "ConnectorSnowflakeDiscriminatedConnectorConfigConfigOAuth", + "ConnectorSpotifyDiscriminatedConnectorConfig", + "ConnectorSpotifyDiscriminatedConnectorConfigConfig", + "ConnectorSpotifyDiscriminatedConnectorConfigConfigOAuth", + "ConnectorSquarespaceDiscriminatedConnectorConfig", + "ConnectorSquarespaceDiscriminatedConnectorConfigConfig", + "ConnectorSquarespaceDiscriminatedConnectorConfigConfigOAuth", + "ConnectorSquareupDiscriminatedConnectorConfig", + "ConnectorSquareupDiscriminatedConnectorConfigConfig", + "ConnectorSquareupDiscriminatedConnectorConfigConfigOAuth", + "ConnectorStackexchangeDiscriminatedConnectorConfig", + "ConnectorStackexchangeDiscriminatedConnectorConfigConfig", + "ConnectorStackexchangeDiscriminatedConnectorConfigConfigOAuth", + "ConnectorStravaDiscriminatedConnectorConfig", + "ConnectorStravaDiscriminatedConnectorConfigConfig", + "ConnectorStravaDiscriminatedConnectorConfigConfigOAuth", + "ConnectorTeamworkDiscriminatedConnectorConfig", + "ConnectorTeamworkDiscriminatedConnectorConfigConfig", + "ConnectorTeamworkDiscriminatedConnectorConfigConfigOAuth", + "ConnectorTicktickDiscriminatedConnectorConfig", + "ConnectorTicktickDiscriminatedConnectorConfigConfig", + "ConnectorTicktickDiscriminatedConnectorConfigConfigOAuth", + "ConnectorTimelyDiscriminatedConnectorConfig", + "ConnectorTimelyDiscriminatedConnectorConfigConfig", + "ConnectorTimelyDiscriminatedConnectorConfigConfigOAuth", + "ConnectorTodoistDiscriminatedConnectorConfig", + "ConnectorTodoistDiscriminatedConnectorConfigConfig", + "ConnectorTodoistDiscriminatedConnectorConfigConfigOAuth", + "ConnectorTremendousDiscriminatedConnectorConfig", + "ConnectorTremendousDiscriminatedConnectorConfigConfig", + "ConnectorTremendousDiscriminatedConnectorConfigConfigOAuth", + "ConnectorTsheetsteamDiscriminatedConnectorConfig", + "ConnectorTsheetsteamDiscriminatedConnectorConfigConfig", + "ConnectorTsheetsteamDiscriminatedConnectorConfigConfigOAuth", + "ConnectorTumblrDiscriminatedConnectorConfig", + "ConnectorTumblrDiscriminatedConnectorConfigConfig", + "ConnectorTumblrDiscriminatedConnectorConfigConfigOAuth", + "ConnectorTwinfieldDiscriminatedConnectorConfig", + "ConnectorTwinfieldDiscriminatedConnectorConfigConfig", + "ConnectorTwinfieldDiscriminatedConnectorConfigConfigOAuth", + "ConnectorTwitchDiscriminatedConnectorConfig", + "ConnectorTwitchDiscriminatedConnectorConfigConfig", + "ConnectorTwitchDiscriminatedConnectorConfigConfigOAuth", + "ConnectorTwitterDiscriminatedConnectorConfig", + "ConnectorTwitterDiscriminatedConnectorConfigConfig", + "ConnectorTwitterDiscriminatedConnectorConfigConfigOAuth", + "ConnectorTypeformDiscriminatedConnectorConfig", + "ConnectorTypeformDiscriminatedConnectorConfigConfig", + "ConnectorTypeformDiscriminatedConnectorConfigConfigOAuth", + "ConnectorUberDiscriminatedConnectorConfig", + "ConnectorUberDiscriminatedConnectorConfigConfig", + "ConnectorUberDiscriminatedConnectorConfigConfigOAuth", + "ConnectorVimeoDiscriminatedConnectorConfig", + "ConnectorVimeoDiscriminatedConnectorConfigConfig", + "ConnectorVimeoDiscriminatedConnectorConfigConfigOAuth", + "ConnectorWakatimeDiscriminatedConnectorConfig", + "ConnectorWakatimeDiscriminatedConnectorConfigConfig", + "ConnectorWakatimeDiscriminatedConnectorConfigConfigOAuth", + "ConnectorWealthboxDiscriminatedConnectorConfig", + "ConnectorWealthboxDiscriminatedConnectorConfigConfig", + "ConnectorWealthboxDiscriminatedConnectorConfigConfigOAuth", + "ConnectorWebflowDiscriminatedConnectorConfig", + "ConnectorWebflowDiscriminatedConnectorConfigConfig", + "ConnectorWebflowDiscriminatedConnectorConfigConfigOAuth", + "ConnectorWhoopDiscriminatedConnectorConfig", + "ConnectorWhoopDiscriminatedConnectorConfigConfig", + "ConnectorWhoopDiscriminatedConnectorConfigConfigOAuth", + "ConnectorWordpressDiscriminatedConnectorConfig", + "ConnectorWordpressDiscriminatedConnectorConfigConfig", + "ConnectorWordpressDiscriminatedConnectorConfigConfigOAuth", + "ConnectorWrikeDiscriminatedConnectorConfig", + "ConnectorWrikeDiscriminatedConnectorConfigConfig", + "ConnectorWrikeDiscriminatedConnectorConfigConfigOAuth", + "ConnectorXeroDiscriminatedConnectorConfig", + "ConnectorXeroDiscriminatedConnectorConfigConfig", + "ConnectorXeroDiscriminatedConnectorConfigConfigOAuth", + "ConnectorYahooDiscriminatedConnectorConfig", + "ConnectorYahooDiscriminatedConnectorConfigConfig", + "ConnectorYahooDiscriminatedConnectorConfigConfigOAuth", + "ConnectorYandexDiscriminatedConnectorConfig", + "ConnectorYandexDiscriminatedConnectorConfigConfig", + "ConnectorYandexDiscriminatedConnectorConfigConfigOAuth", + "ConnectorZapierDiscriminatedConnectorConfig", + "ConnectorZapierDiscriminatedConnectorConfigConfig", + "ConnectorZapierDiscriminatedConnectorConfigConfigOAuth", + "ConnectorZendeskDiscriminatedConnectorConfig", + "ConnectorZendeskDiscriminatedConnectorConfigConfig", + "ConnectorZendeskDiscriminatedConnectorConfigConfigOAuth", + "ConnectorZenefitsDiscriminatedConnectorConfig", + "ConnectorZenefitsDiscriminatedConnectorConfigConfig", + "ConnectorZenefitsDiscriminatedConnectorConfigConfigOAuth", + "ConnectorZohoDeskDiscriminatedConnectorConfig", + "ConnectorZohoDeskDiscriminatedConnectorConfigConfig", + "ConnectorZohoDeskDiscriminatedConnectorConfigConfigOAuth", + "ConnectorZohoDiscriminatedConnectorConfig", + "ConnectorZohoDiscriminatedConnectorConfigConfig", + "ConnectorZohoDiscriminatedConnectorConfigConfigOAuth", + "ConnectorZoomDiscriminatedConnectorConfig", + "ConnectorZoomDiscriminatedConnectorConfigConfig", + "ConnectorZoomDiscriminatedConnectorConfigConfigOAuth", + "ConnectorAirtableDiscriminatedConnectorConfig", + "ConnectorApolloDiscriminatedConnectorConfig", + "ConnectorBrexDiscriminatedConnectorConfig", + "ConnectorBrexDiscriminatedConnectorConfigConfig", + "ConnectorBrexDiscriminatedConnectorConfigConfigOAuth", + "ConnectorCodaDiscriminatedConnectorConfig", + "ConnectorFinchDiscriminatedConnectorConfig", + "ConnectorFinchDiscriminatedConnectorConfigConfig", + "ConnectorFirebaseDiscriminatedConnectorConfig", + "ConnectorForeceiptDiscriminatedConnectorConfig", + "ConnectorGreenhouseDiscriminatedConnectorConfig", + "ConnectorHeronDiscriminatedConnectorConfig", + "ConnectorHeronDiscriminatedConnectorConfigConfig", + "ConnectorLunchmoneyDiscriminatedConnectorConfig", + "ConnectorLunchmoneyDiscriminatedConnectorConfigConfig", + "ConnectorMercuryDiscriminatedConnectorConfig", + "ConnectorMercuryDiscriminatedConnectorConfigConfig", + "ConnectorMercuryDiscriminatedConnectorConfigConfigOAuth", + "ConnectorMergeDiscriminatedConnectorConfig", + "ConnectorMergeDiscriminatedConnectorConfigConfig", + "ConnectorMootaDiscriminatedConnectorConfig", + "ConnectorMootaDiscriminatedConnectorConfigConfig", + "ConnectorOnebrickDiscriminatedConnectorConfig", + "ConnectorOnebrickDiscriminatedConnectorConfigConfig", + "ConnectorOpenledgerDiscriminatedConnectorConfig", + "ConnectorOpenledgerDiscriminatedConnectorConfigConfig", + "ConnectorPlaidDiscriminatedConnectorConfig", + "ConnectorPlaidDiscriminatedConnectorConfigConfig", + "ConnectorPlaidDiscriminatedConnectorConfigConfigCredentials", + "ConnectorPostgresDiscriminatedConnectorConfig", + "ConnectorRampDiscriminatedConnectorConfig", + "ConnectorRampDiscriminatedConnectorConfigConfig", + "ConnectorRampDiscriminatedConnectorConfigConfigOAuth", + "ConnectorSaltedgeDiscriminatedConnectorConfig", + "ConnectorSaltedgeDiscriminatedConnectorConfigConfig", + "ConnectorSharepointOnpremDiscriminatedConnectorConfig", + "ConnectorSplitwiseDiscriminatedConnectorConfig", + "ConnectorStripeDiscriminatedConnectorConfig", + "ConnectorStripeDiscriminatedConnectorConfigConfig", + "ConnectorStripeDiscriminatedConnectorConfigConfigOAuth", + "ConnectorTellerDiscriminatedConnectorConfig", + "ConnectorTellerDiscriminatedConnectorConfigConfig", + "ConnectorTogglDiscriminatedConnectorConfig", + "ConnectorTwentyDiscriminatedConnectorConfig", + "ConnectorVenmoDiscriminatedConnectorConfig", + "ConnectorVenmoDiscriminatedConnectorConfigConfig", + "ConnectorVenmoDiscriminatedConnectorConfigConfigProxy", + "ConnectorWiseDiscriminatedConnectorConfig", + "ConnectorYodleeDiscriminatedConnectorConfig", + "ConnectorYodleeDiscriminatedConnectorConfigConfig", + "ConnectorYodleeDiscriminatedConnectorConfigConfigProxy", +] + + +class ConnectorAcceloDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorAcceloDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorAcceloDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorAcceloDiscriminatedConnectorConfig(BaseModel): + config: ConnectorAcceloDiscriminatedConnectorConfigConfig + + connector_name: Literal["accelo"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorAcmeApikeyDiscriminatedConnectorConfig(BaseModel): + config: object + """Base configuration for api key connector""" + + connector_name: Literal["acme-apikey"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorAcmeOauth2DiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorAcmeOauth2DiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorAcmeOauth2DiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorAcmeOauth2DiscriminatedConnectorConfig(BaseModel): + config: ConnectorAcmeOauth2DiscriminatedConnectorConfigConfig + + connector_name: Literal["acme-oauth2"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorAdobeDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorAdobeDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorAdobeDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorAdobeDiscriminatedConnectorConfig(BaseModel): + config: ConnectorAdobeDiscriminatedConnectorConfigConfig + + connector_name: Literal["adobe"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorAdyenDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorAdyenDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorAdyenDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorAdyenDiscriminatedConnectorConfig(BaseModel): + config: ConnectorAdyenDiscriminatedConnectorConfigConfig + + connector_name: Literal["adyen"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorAircallDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorAircallDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorAircallDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorAircallDiscriminatedConnectorConfig(BaseModel): + config: ConnectorAircallDiscriminatedConnectorConfigConfig + + connector_name: Literal["aircall"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorAmazonDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorAmazonDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorAmazonDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorAmazonDiscriminatedConnectorConfig(BaseModel): + config: ConnectorAmazonDiscriminatedConnectorConfigConfig + + connector_name: Literal["amazon"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorApaleoDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorApaleoDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorApaleoDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorApaleoDiscriminatedConnectorConfig(BaseModel): + config: ConnectorApaleoDiscriminatedConnectorConfigConfig + + connector_name: Literal["apaleo"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorAsanaDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorAsanaDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorAsanaDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorAsanaDiscriminatedConnectorConfig(BaseModel): + config: ConnectorAsanaDiscriminatedConnectorConfigConfig + + connector_name: Literal["asana"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorAttioDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorAttioDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorAttioDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorAttioDiscriminatedConnectorConfig(BaseModel): + config: ConnectorAttioDiscriminatedConnectorConfigConfig + + connector_name: Literal["attio"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorAuth0DiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorAuth0DiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorAuth0DiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorAuth0DiscriminatedConnectorConfig(BaseModel): + config: ConnectorAuth0DiscriminatedConnectorConfigConfig + + connector_name: Literal["auth0"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorAutodeskDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorAutodeskDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorAutodeskDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorAutodeskDiscriminatedConnectorConfig(BaseModel): + config: ConnectorAutodeskDiscriminatedConnectorConfigConfig + + connector_name: Literal["autodesk"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorAwsDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorAwsDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorAwsDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorAwsDiscriminatedConnectorConfig(BaseModel): + config: ConnectorAwsDiscriminatedConnectorConfigConfig + + connector_name: Literal["aws"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorBamboohrDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorBamboohrDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorBamboohrDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorBamboohrDiscriminatedConnectorConfig(BaseModel): + config: ConnectorBamboohrDiscriminatedConnectorConfigConfig + + connector_name: Literal["bamboohr"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorBasecampDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorBasecampDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorBasecampDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorBasecampDiscriminatedConnectorConfig(BaseModel): + config: ConnectorBasecampDiscriminatedConnectorConfigConfig + + connector_name: Literal["basecamp"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorBattlenetDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorBattlenetDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorBattlenetDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorBattlenetDiscriminatedConnectorConfig(BaseModel): + config: ConnectorBattlenetDiscriminatedConnectorConfigConfig + + connector_name: Literal["battlenet"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorBigcommerceDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorBigcommerceDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorBigcommerceDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorBigcommerceDiscriminatedConnectorConfig(BaseModel): + config: ConnectorBigcommerceDiscriminatedConnectorConfigConfig + + connector_name: Literal["bigcommerce"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorBitbucketDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorBitbucketDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorBitbucketDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorBitbucketDiscriminatedConnectorConfig(BaseModel): + config: ConnectorBitbucketDiscriminatedConnectorConfigConfig + + connector_name: Literal["bitbucket"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorBitlyDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorBitlyDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorBitlyDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorBitlyDiscriminatedConnectorConfig(BaseModel): + config: ConnectorBitlyDiscriminatedConnectorConfigConfig + + connector_name: Literal["bitly"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorBlackbaudDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorBlackbaudDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorBlackbaudDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorBlackbaudDiscriminatedConnectorConfig(BaseModel): + config: ConnectorBlackbaudDiscriminatedConnectorConfigConfig + + connector_name: Literal["blackbaud"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorBoldsignDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorBoldsignDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorBoldsignDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorBoldsignDiscriminatedConnectorConfig(BaseModel): + config: ConnectorBoldsignDiscriminatedConnectorConfigConfig + + connector_name: Literal["boldsign"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorBoxDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorBoxDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorBoxDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorBoxDiscriminatedConnectorConfig(BaseModel): + config: ConnectorBoxDiscriminatedConnectorConfigConfig + + connector_name: Literal["box"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorBraintreeDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorBraintreeDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorBraintreeDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorBraintreeDiscriminatedConnectorConfig(BaseModel): + config: ConnectorBraintreeDiscriminatedConnectorConfigConfig + + connector_name: Literal["braintree"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorCalendlyDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorCalendlyDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorCalendlyDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorCalendlyDiscriminatedConnectorConfig(BaseModel): + config: ConnectorCalendlyDiscriminatedConnectorConfigConfig + + connector_name: Literal["calendly"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorClickupDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorClickupDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorClickupDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorClickupDiscriminatedConnectorConfig(BaseModel): + config: ConnectorClickupDiscriminatedConnectorConfigConfig + + connector_name: Literal["clickup"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorCloseDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorCloseDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorCloseDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorCloseDiscriminatedConnectorConfig(BaseModel): + config: ConnectorCloseDiscriminatedConnectorConfigConfig + + connector_name: Literal["close"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorConfluenceDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorConfluenceDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorConfluenceDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorConfluenceDiscriminatedConnectorConfig(BaseModel): + config: ConnectorConfluenceDiscriminatedConnectorConfigConfig + + connector_name: Literal["confluence"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorContentfulDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorContentfulDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorContentfulDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorContentfulDiscriminatedConnectorConfig(BaseModel): + config: ConnectorContentfulDiscriminatedConnectorConfigConfig + + connector_name: Literal["contentful"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorContentstackDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorContentstackDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorContentstackDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorContentstackDiscriminatedConnectorConfig(BaseModel): + config: ConnectorContentstackDiscriminatedConnectorConfigConfig + + connector_name: Literal["contentstack"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorCopperDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorCopperDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorCopperDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorCopperDiscriminatedConnectorConfig(BaseModel): + config: ConnectorCopperDiscriminatedConnectorConfigConfig + + connector_name: Literal["copper"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorCorosDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorCorosDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorCorosDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorCorosDiscriminatedConnectorConfig(BaseModel): + config: ConnectorCorosDiscriminatedConnectorConfigConfig + + connector_name: Literal["coros"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorDatevDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorDatevDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorDatevDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorDatevDiscriminatedConnectorConfig(BaseModel): + config: ConnectorDatevDiscriminatedConnectorConfigConfig + + connector_name: Literal["datev"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorDeelDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorDeelDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorDeelDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorDeelDiscriminatedConnectorConfig(BaseModel): + config: ConnectorDeelDiscriminatedConnectorConfigConfig + + connector_name: Literal["deel"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorDialpadDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorDialpadDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorDialpadDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorDialpadDiscriminatedConnectorConfig(BaseModel): + config: ConnectorDialpadDiscriminatedConnectorConfigConfig + + connector_name: Literal["dialpad"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorDigitaloceanDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorDigitaloceanDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorDigitaloceanDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorDigitaloceanDiscriminatedConnectorConfig(BaseModel): + config: ConnectorDigitaloceanDiscriminatedConnectorConfigConfig + + connector_name: Literal["digitalocean"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorDiscordDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorDiscordDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorDiscordDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorDiscordDiscriminatedConnectorConfig(BaseModel): + config: ConnectorDiscordDiscriminatedConnectorConfigConfig + + connector_name: Literal["discord"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorDocusignDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorDocusignDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorDocusignDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorDocusignDiscriminatedConnectorConfig(BaseModel): + config: ConnectorDocusignDiscriminatedConnectorConfigConfig + + connector_name: Literal["docusign"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorDropboxDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorDropboxDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorDropboxDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorDropboxDiscriminatedConnectorConfig(BaseModel): + config: ConnectorDropboxDiscriminatedConnectorConfigConfig + + connector_name: Literal["dropbox"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorEbayDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorEbayDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorEbayDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorEbayDiscriminatedConnectorConfig(BaseModel): + config: ConnectorEbayDiscriminatedConnectorConfigConfig + + connector_name: Literal["ebay"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorEgnyteDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorEgnyteDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorEgnyteDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorEgnyteDiscriminatedConnectorConfig(BaseModel): + config: ConnectorEgnyteDiscriminatedConnectorConfigConfig + + connector_name: Literal["egnyte"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorEnvoyDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorEnvoyDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorEnvoyDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorEnvoyDiscriminatedConnectorConfig(BaseModel): + config: ConnectorEnvoyDiscriminatedConnectorConfigConfig + + connector_name: Literal["envoy"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorEventbriteDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorEventbriteDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorEventbriteDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorEventbriteDiscriminatedConnectorConfig(BaseModel): + config: ConnectorEventbriteDiscriminatedConnectorConfigConfig + + connector_name: Literal["eventbrite"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorExistDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorExistDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorExistDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorExistDiscriminatedConnectorConfig(BaseModel): + config: ConnectorExistDiscriminatedConnectorConfigConfig + + connector_name: Literal["exist"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorFacebookDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorFacebookDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorFacebookDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorFacebookDiscriminatedConnectorConfig(BaseModel): + config: ConnectorFacebookDiscriminatedConnectorConfigConfig + + connector_name: Literal["facebook"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorFactorialDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorFactorialDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorFactorialDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorFactorialDiscriminatedConnectorConfig(BaseModel): + config: ConnectorFactorialDiscriminatedConnectorConfigConfig + + connector_name: Literal["factorial"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorFigmaDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorFigmaDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorFigmaDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorFigmaDiscriminatedConnectorConfig(BaseModel): + config: ConnectorFigmaDiscriminatedConnectorConfigConfig + + connector_name: Literal["figma"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorFitbitDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorFitbitDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorFitbitDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorFitbitDiscriminatedConnectorConfig(BaseModel): + config: ConnectorFitbitDiscriminatedConnectorConfigConfig + + connector_name: Literal["fitbit"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorFortnoxDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorFortnoxDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorFortnoxDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorFortnoxDiscriminatedConnectorConfig(BaseModel): + config: ConnectorFortnoxDiscriminatedConnectorConfigConfig + + connector_name: Literal["fortnox"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorFreshbooksDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorFreshbooksDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorFreshbooksDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorFreshbooksDiscriminatedConnectorConfig(BaseModel): + config: ConnectorFreshbooksDiscriminatedConnectorConfigConfig + + connector_name: Literal["freshbooks"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorFrontDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorFrontDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorFrontDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorFrontDiscriminatedConnectorConfig(BaseModel): + config: ConnectorFrontDiscriminatedConnectorConfigConfig + + connector_name: Literal["front"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorGitHubDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorGitHubDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorGitHubDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorGitHubDiscriminatedConnectorConfig(BaseModel): + config: ConnectorGitHubDiscriminatedConnectorConfigConfig + + connector_name: Literal["github"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorGitlabDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorGitlabDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorGitlabDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorGitlabDiscriminatedConnectorConfig(BaseModel): + config: ConnectorGitlabDiscriminatedConnectorConfigConfig + + connector_name: Literal["gitlab"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorGongDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorGongDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorGongDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorGongDiscriminatedConnectorConfig(BaseModel): + config: ConnectorGongDiscriminatedConnectorConfigConfig + + connector_name: Literal["gong"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorGoogleCalendarDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorGoogleCalendarDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorGoogleCalendarDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorGoogleCalendarDiscriminatedConnectorConfig(BaseModel): + config: ConnectorGoogleCalendarDiscriminatedConnectorConfigConfig + + connector_name: Literal["google-calendar"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorGoogleDocsDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorGoogleDocsDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorGoogleDocsDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorGoogleDocsDiscriminatedConnectorConfig(BaseModel): + config: ConnectorGoogleDocsDiscriminatedConnectorConfigConfig + + connector_name: Literal["google-docs"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorGoogleDriveDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorGoogleDriveDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorGoogleDriveDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorGoogleDriveDiscriminatedConnectorConfig(BaseModel): + config: ConnectorGoogleDriveDiscriminatedConnectorConfigConfig + + connector_name: Literal["google-drive"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorGoogleMailDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorGoogleMailDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorGoogleMailDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorGoogleMailDiscriminatedConnectorConfig(BaseModel): + config: ConnectorGoogleMailDiscriminatedConnectorConfigConfig + + connector_name: Literal["google-mail"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorGoogleSheetDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorGoogleSheetDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorGoogleSheetDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorGoogleSheetDiscriminatedConnectorConfig(BaseModel): + config: ConnectorGoogleSheetDiscriminatedConnectorConfigConfig + + connector_name: Literal["google-sheet"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorGorgiasDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorGorgiasDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorGorgiasDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorGorgiasDiscriminatedConnectorConfig(BaseModel): + config: ConnectorGorgiasDiscriminatedConnectorConfigConfig + + connector_name: Literal["gorgias"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorGrainDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorGrainDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorGrainDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorGrainDiscriminatedConnectorConfig(BaseModel): + config: ConnectorGrainDiscriminatedConnectorConfigConfig + + connector_name: Literal["grain"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorGumroadDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorGumroadDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorGumroadDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorGumroadDiscriminatedConnectorConfig(BaseModel): + config: ConnectorGumroadDiscriminatedConnectorConfigConfig + + connector_name: Literal["gumroad"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorGustoDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorGustoDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorGustoDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorGustoDiscriminatedConnectorConfig(BaseModel): + config: ConnectorGustoDiscriminatedConnectorConfigConfig + + connector_name: Literal["gusto"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorHarvestDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorHarvestDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorHarvestDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorHarvestDiscriminatedConnectorConfig(BaseModel): + config: ConnectorHarvestDiscriminatedConnectorConfigConfig + + connector_name: Literal["harvest"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorHighlevelDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorHighlevelDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorHighlevelDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorHighlevelDiscriminatedConnectorConfig(BaseModel): + config: ConnectorHighlevelDiscriminatedConnectorConfigConfig + + connector_name: Literal["highlevel"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorHubspotDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorHubspotDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorHubspotDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorHubspotDiscriminatedConnectorConfig(BaseModel): + config: ConnectorHubspotDiscriminatedConnectorConfigConfig + + connector_name: Literal["hubspot"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorInstagramDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorInstagramDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorInstagramDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorInstagramDiscriminatedConnectorConfig(BaseModel): + config: ConnectorInstagramDiscriminatedConnectorConfigConfig + + connector_name: Literal["instagram"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorIntercomDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorIntercomDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorIntercomDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorIntercomDiscriminatedConnectorConfig(BaseModel): + config: ConnectorIntercomDiscriminatedConnectorConfigConfig + + connector_name: Literal["intercom"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorJiraDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorJiraDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorJiraDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorJiraDiscriminatedConnectorConfig(BaseModel): + config: ConnectorJiraDiscriminatedConnectorConfigConfig + + connector_name: Literal["jira"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorKeapDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorKeapDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorKeapDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorKeapDiscriminatedConnectorConfig(BaseModel): + config: ConnectorKeapDiscriminatedConnectorConfigConfig + + connector_name: Literal["keap"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorLeverDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorLeverDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorLeverDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorLeverDiscriminatedConnectorConfig(BaseModel): + config: ConnectorLeverDiscriminatedConnectorConfigConfig + + connector_name: Literal["lever"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorLinearDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorLinearDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorLinearDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorLinearDiscriminatedConnectorConfig(BaseModel): + config: ConnectorLinearDiscriminatedConnectorConfigConfig + + connector_name: Literal["linear"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorLinkedinDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorLinkedinDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorLinkedinDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorLinkedinDiscriminatedConnectorConfig(BaseModel): + config: ConnectorLinkedinDiscriminatedConnectorConfigConfig + + connector_name: Literal["linkedin"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorLinkhutDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorLinkhutDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorLinkhutDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorLinkhutDiscriminatedConnectorConfig(BaseModel): + config: ConnectorLinkhutDiscriminatedConnectorConfigConfig + + connector_name: Literal["linkhut"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorMailchimpDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorMailchimpDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorMailchimpDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorMailchimpDiscriminatedConnectorConfig(BaseModel): + config: ConnectorMailchimpDiscriminatedConnectorConfigConfig + + connector_name: Literal["mailchimp"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorMiroDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorMiroDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorMiroDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorMiroDiscriminatedConnectorConfig(BaseModel): + config: ConnectorMiroDiscriminatedConnectorConfigConfig + + connector_name: Literal["miro"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorMondayDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorMondayDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorMondayDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorMondayDiscriminatedConnectorConfig(BaseModel): + config: ConnectorMondayDiscriminatedConnectorConfigConfig + + connector_name: Literal["monday"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorMuralDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorMuralDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorMuralDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorMuralDiscriminatedConnectorConfig(BaseModel): + config: ConnectorMuralDiscriminatedConnectorConfigConfig + + connector_name: Literal["mural"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorNamelyDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorNamelyDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorNamelyDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorNamelyDiscriminatedConnectorConfig(BaseModel): + config: ConnectorNamelyDiscriminatedConnectorConfigConfig + + connector_name: Literal["namely"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorNationbuilderDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorNationbuilderDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorNationbuilderDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorNationbuilderDiscriminatedConnectorConfig(BaseModel): + config: ConnectorNationbuilderDiscriminatedConnectorConfigConfig + + connector_name: Literal["nationbuilder"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorNetsuiteDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorNetsuiteDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorNetsuiteDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorNetsuiteDiscriminatedConnectorConfig(BaseModel): + config: ConnectorNetsuiteDiscriminatedConnectorConfigConfig + + connector_name: Literal["netsuite"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorNotionDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorNotionDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorNotionDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorNotionDiscriminatedConnectorConfig(BaseModel): + config: ConnectorNotionDiscriminatedConnectorConfigConfig + + connector_name: Literal["notion"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorOdooDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorOdooDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorOdooDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorOdooDiscriminatedConnectorConfig(BaseModel): + config: ConnectorOdooDiscriminatedConnectorConfigConfig + + connector_name: Literal["odoo"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorOktaDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorOktaDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorOktaDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorOktaDiscriminatedConnectorConfig(BaseModel): + config: ConnectorOktaDiscriminatedConnectorConfigConfig + + connector_name: Literal["okta"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorOsuDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorOsuDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorOsuDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorOsuDiscriminatedConnectorConfig(BaseModel): + config: ConnectorOsuDiscriminatedConnectorConfigConfig + + connector_name: Literal["osu"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorOuraDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorOuraDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorOuraDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorOuraDiscriminatedConnectorConfig(BaseModel): + config: ConnectorOuraDiscriminatedConnectorConfigConfig + + connector_name: Literal["oura"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorOutreachDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorOutreachDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorOutreachDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorOutreachDiscriminatedConnectorConfig(BaseModel): + config: ConnectorOutreachDiscriminatedConnectorConfigConfig + + connector_name: Literal["outreach"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorPagerdutyDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorPagerdutyDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorPagerdutyDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorPagerdutyDiscriminatedConnectorConfig(BaseModel): + config: ConnectorPagerdutyDiscriminatedConnectorConfigConfig + + connector_name: Literal["pagerduty"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorPandadocDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorPandadocDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorPandadocDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorPandadocDiscriminatedConnectorConfig(BaseModel): + config: ConnectorPandadocDiscriminatedConnectorConfigConfig + + connector_name: Literal["pandadoc"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorPayfitDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorPayfitDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorPayfitDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorPayfitDiscriminatedConnectorConfig(BaseModel): + config: ConnectorPayfitDiscriminatedConnectorConfigConfig + + connector_name: Literal["payfit"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorPaypalDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorPaypalDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorPaypalDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorPaypalDiscriminatedConnectorConfig(BaseModel): + config: ConnectorPaypalDiscriminatedConnectorConfigConfig + + connector_name: Literal["paypal"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorPennylaneDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorPennylaneDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorPennylaneDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorPennylaneDiscriminatedConnectorConfig(BaseModel): + config: ConnectorPennylaneDiscriminatedConnectorConfigConfig + + connector_name: Literal["pennylane"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorPinterestDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorPinterestDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorPinterestDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorPinterestDiscriminatedConnectorConfig(BaseModel): + config: ConnectorPinterestDiscriminatedConnectorConfigConfig + + connector_name: Literal["pinterest"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorPipedriveDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorPipedriveDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorPipedriveDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorPipedriveDiscriminatedConnectorConfig(BaseModel): + config: ConnectorPipedriveDiscriminatedConnectorConfigConfig + + connector_name: Literal["pipedrive"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorPodiumDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorPodiumDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorPodiumDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorPodiumDiscriminatedConnectorConfig(BaseModel): + config: ConnectorPodiumDiscriminatedConnectorConfigConfig + + connector_name: Literal["podium"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorProductboardDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorProductboardDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorProductboardDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorProductboardDiscriminatedConnectorConfig(BaseModel): + config: ConnectorProductboardDiscriminatedConnectorConfigConfig + + connector_name: Literal["productboard"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorQualtricsDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorQualtricsDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorQualtricsDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorQualtricsDiscriminatedConnectorConfig(BaseModel): + config: ConnectorQualtricsDiscriminatedConnectorConfigConfig + + connector_name: Literal["qualtrics"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorQuickbooksDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorQuickbooksDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorQuickbooksDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorQuickbooksDiscriminatedConnectorConfig(BaseModel): + config: ConnectorQuickbooksDiscriminatedConnectorConfigConfig + + connector_name: Literal["quickbooks"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorRedditDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorRedditDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorRedditDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorRedditDiscriminatedConnectorConfig(BaseModel): + config: ConnectorRedditDiscriminatedConnectorConfigConfig + + connector_name: Literal["reddit"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorSageDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorSageDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorSageDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorSageDiscriminatedConnectorConfig(BaseModel): + config: ConnectorSageDiscriminatedConnectorConfigConfig + + connector_name: Literal["sage"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorSalesforceDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorSalesforceDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorSalesforceDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorSalesforceDiscriminatedConnectorConfig(BaseModel): + config: ConnectorSalesforceDiscriminatedConnectorConfigConfig + + connector_name: Literal["salesforce"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorSalesloftDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorSalesloftDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorSalesloftDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorSalesloftDiscriminatedConnectorConfig(BaseModel): + config: ConnectorSalesloftDiscriminatedConnectorConfigConfig + + connector_name: Literal["salesloft"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorSegmentDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorSegmentDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorSegmentDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorSegmentDiscriminatedConnectorConfig(BaseModel): + config: ConnectorSegmentDiscriminatedConnectorConfigConfig + + connector_name: Literal["segment"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorServicem8DiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorServicem8DiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorServicem8DiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorServicem8DiscriminatedConnectorConfig(BaseModel): + config: ConnectorServicem8DiscriminatedConnectorConfigConfig + + connector_name: Literal["servicem8"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorServicenowDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorServicenowDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorServicenowDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorServicenowDiscriminatedConnectorConfig(BaseModel): + config: ConnectorServicenowDiscriminatedConnectorConfigConfig + + connector_name: Literal["servicenow"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorSharepointDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorSharepointDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorSharepointDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorSharepointDiscriminatedConnectorConfig(BaseModel): + config: ConnectorSharepointDiscriminatedConnectorConfigConfig + + connector_name: Literal["sharepoint"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorShopifyDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorShopifyDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorShopifyDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorShopifyDiscriminatedConnectorConfig(BaseModel): + config: ConnectorShopifyDiscriminatedConnectorConfigConfig + + connector_name: Literal["shopify"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorSignnowDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorSignnowDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorSignnowDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorSignnowDiscriminatedConnectorConfig(BaseModel): + config: ConnectorSignnowDiscriminatedConnectorConfigConfig + + connector_name: Literal["signnow"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorSlackDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorSlackDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorSlackDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorSlackDiscriminatedConnectorConfig(BaseModel): + config: ConnectorSlackDiscriminatedConnectorConfigConfig + + connector_name: Literal["slack"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorSmartsheetDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorSmartsheetDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorSmartsheetDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorSmartsheetDiscriminatedConnectorConfig(BaseModel): + config: ConnectorSmartsheetDiscriminatedConnectorConfigConfig + + connector_name: Literal["smartsheet"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorSnowflakeDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorSnowflakeDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorSnowflakeDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorSnowflakeDiscriminatedConnectorConfig(BaseModel): + config: ConnectorSnowflakeDiscriminatedConnectorConfigConfig + + connector_name: Literal["snowflake"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorSpotifyDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorSpotifyDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorSpotifyDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorSpotifyDiscriminatedConnectorConfig(BaseModel): + config: ConnectorSpotifyDiscriminatedConnectorConfigConfig + + connector_name: Literal["spotify"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorSquarespaceDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorSquarespaceDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorSquarespaceDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorSquarespaceDiscriminatedConnectorConfig(BaseModel): + config: ConnectorSquarespaceDiscriminatedConnectorConfigConfig + + connector_name: Literal["squarespace"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorSquareupDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorSquareupDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorSquareupDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorSquareupDiscriminatedConnectorConfig(BaseModel): + config: ConnectorSquareupDiscriminatedConnectorConfigConfig + + connector_name: Literal["squareup"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorStackexchangeDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorStackexchangeDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorStackexchangeDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorStackexchangeDiscriminatedConnectorConfig(BaseModel): + config: ConnectorStackexchangeDiscriminatedConnectorConfigConfig + + connector_name: Literal["stackexchange"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorStravaDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorStravaDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorStravaDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorStravaDiscriminatedConnectorConfig(BaseModel): + config: ConnectorStravaDiscriminatedConnectorConfigConfig + + connector_name: Literal["strava"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorTeamworkDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorTeamworkDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorTeamworkDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorTeamworkDiscriminatedConnectorConfig(BaseModel): + config: ConnectorTeamworkDiscriminatedConnectorConfigConfig + + connector_name: Literal["teamwork"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorTicktickDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorTicktickDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorTicktickDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorTicktickDiscriminatedConnectorConfig(BaseModel): + config: ConnectorTicktickDiscriminatedConnectorConfigConfig + + connector_name: Literal["ticktick"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorTimelyDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorTimelyDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorTimelyDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorTimelyDiscriminatedConnectorConfig(BaseModel): + config: ConnectorTimelyDiscriminatedConnectorConfigConfig + + connector_name: Literal["timely"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorTodoistDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorTodoistDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorTodoistDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorTodoistDiscriminatedConnectorConfig(BaseModel): + config: ConnectorTodoistDiscriminatedConnectorConfigConfig + + connector_name: Literal["todoist"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorTremendousDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorTremendousDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorTremendousDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorTremendousDiscriminatedConnectorConfig(BaseModel): + config: ConnectorTremendousDiscriminatedConnectorConfigConfig + + connector_name: Literal["tremendous"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorTsheetsteamDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorTsheetsteamDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorTsheetsteamDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorTsheetsteamDiscriminatedConnectorConfig(BaseModel): + config: ConnectorTsheetsteamDiscriminatedConnectorConfigConfig + + connector_name: Literal["tsheetsteam"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorTumblrDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorTumblrDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorTumblrDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorTumblrDiscriminatedConnectorConfig(BaseModel): + config: ConnectorTumblrDiscriminatedConnectorConfigConfig + + connector_name: Literal["tumblr"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorTwinfieldDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorTwinfieldDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorTwinfieldDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorTwinfieldDiscriminatedConnectorConfig(BaseModel): + config: ConnectorTwinfieldDiscriminatedConnectorConfigConfig + + connector_name: Literal["twinfield"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorTwitchDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorTwitchDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorTwitchDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorTwitchDiscriminatedConnectorConfig(BaseModel): + config: ConnectorTwitchDiscriminatedConnectorConfigConfig + + connector_name: Literal["twitch"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorTwitterDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorTwitterDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorTwitterDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorTwitterDiscriminatedConnectorConfig(BaseModel): + config: ConnectorTwitterDiscriminatedConnectorConfigConfig + + connector_name: Literal["twitter"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorTypeformDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorTypeformDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorTypeformDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorTypeformDiscriminatedConnectorConfig(BaseModel): + config: ConnectorTypeformDiscriminatedConnectorConfigConfig + + connector_name: Literal["typeform"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorUberDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorUberDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorUberDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorUberDiscriminatedConnectorConfig(BaseModel): + config: ConnectorUberDiscriminatedConnectorConfigConfig + + connector_name: Literal["uber"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorVimeoDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorVimeoDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorVimeoDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorVimeoDiscriminatedConnectorConfig(BaseModel): + config: ConnectorVimeoDiscriminatedConnectorConfigConfig + + connector_name: Literal["vimeo"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorWakatimeDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorWakatimeDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorWakatimeDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorWakatimeDiscriminatedConnectorConfig(BaseModel): + config: ConnectorWakatimeDiscriminatedConnectorConfigConfig + + connector_name: Literal["wakatime"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorWealthboxDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorWealthboxDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorWealthboxDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorWealthboxDiscriminatedConnectorConfig(BaseModel): + config: ConnectorWealthboxDiscriminatedConnectorConfigConfig + + connector_name: Literal["wealthbox"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorWebflowDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorWebflowDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorWebflowDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorWebflowDiscriminatedConnectorConfig(BaseModel): + config: ConnectorWebflowDiscriminatedConnectorConfigConfig + + connector_name: Literal["webflow"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorWhoopDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorWhoopDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorWhoopDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorWhoopDiscriminatedConnectorConfig(BaseModel): + config: ConnectorWhoopDiscriminatedConnectorConfigConfig + + connector_name: Literal["whoop"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorWordpressDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorWordpressDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorWordpressDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorWordpressDiscriminatedConnectorConfig(BaseModel): + config: ConnectorWordpressDiscriminatedConnectorConfigConfig + + connector_name: Literal["wordpress"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorWrikeDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorWrikeDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorWrikeDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorWrikeDiscriminatedConnectorConfig(BaseModel): + config: ConnectorWrikeDiscriminatedConnectorConfigConfig + + connector_name: Literal["wrike"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorXeroDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorXeroDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorXeroDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorXeroDiscriminatedConnectorConfig(BaseModel): + config: ConnectorXeroDiscriminatedConnectorConfigConfig + + connector_name: Literal["xero"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorYahooDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorYahooDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorYahooDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorYahooDiscriminatedConnectorConfig(BaseModel): + config: ConnectorYahooDiscriminatedConnectorConfigConfig + + connector_name: Literal["yahoo"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorYandexDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorYandexDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorYandexDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorYandexDiscriminatedConnectorConfig(BaseModel): + config: ConnectorYandexDiscriminatedConnectorConfigConfig + + connector_name: Literal["yandex"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorZapierDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorZapierDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorZapierDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorZapierDiscriminatedConnectorConfig(BaseModel): + config: ConnectorZapierDiscriminatedConnectorConfigConfig + + connector_name: Literal["zapier"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorZendeskDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorZendeskDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorZendeskDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorZendeskDiscriminatedConnectorConfig(BaseModel): + config: ConnectorZendeskDiscriminatedConnectorConfigConfig + + connector_name: Literal["zendesk"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorZenefitsDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorZenefitsDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorZenefitsDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorZenefitsDiscriminatedConnectorConfig(BaseModel): + config: ConnectorZenefitsDiscriminatedConnectorConfigConfig + + connector_name: Literal["zenefits"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorZohoDeskDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorZohoDeskDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorZohoDeskDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorZohoDeskDiscriminatedConnectorConfig(BaseModel): + config: ConnectorZohoDeskDiscriminatedConnectorConfigConfig + + connector_name: Literal["zoho-desk"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorZohoDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorZohoDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorZohoDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorZohoDiscriminatedConnectorConfig(BaseModel): + config: ConnectorZohoDiscriminatedConnectorConfigConfig + + connector_name: Literal["zoho"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorZoomDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorZoomDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorZoomDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorZoomDiscriminatedConnectorConfig(BaseModel): + config: ConnectorZoomDiscriminatedConnectorConfigConfig + + connector_name: Literal["zoom"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorAirtableDiscriminatedConnectorConfig(BaseModel): + config: object + + connector_name: Literal["airtable"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorApolloDiscriminatedConnectorConfig(BaseModel): + config: object + + connector_name: Literal["apollo"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorBrexDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: str = FieldInfo(alias="clientId") + + client_secret: str = FieldInfo(alias="clientSecret") + + +class ConnectorBrexDiscriminatedConnectorConfigConfig(BaseModel): + apikey_auth: Optional[bool] = FieldInfo(alias="apikeyAuth", default=None) + """API key auth support""" + + oauth: Optional[ConnectorBrexDiscriminatedConnectorConfigConfigOAuth] = None + """Configure oauth""" + + +class ConnectorBrexDiscriminatedConnectorConfig(BaseModel): + config: ConnectorBrexDiscriminatedConnectorConfigConfig + + connector_name: Literal["brex"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorCodaDiscriminatedConnectorConfig(BaseModel): + config: object + + connector_name: Literal["coda"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorFinchDiscriminatedConnectorConfigConfig(BaseModel): + client_id: str + + client_secret: str + + products: List[ + Literal["company", "directory", "individual", "ssn", "employment", "payment", "pay_statement", "benefits"] + ] + """ + Finch products to access, @see + https://developer.tryfinch.com/api-reference/development-guides/Permissions + """ + + api_version: Optional[str] = None + """Finch API version""" + + +class ConnectorFinchDiscriminatedConnectorConfig(BaseModel): + config: ConnectorFinchDiscriminatedConnectorConfigConfig + + connector_name: Literal["finch"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorFirebaseDiscriminatedConnectorConfig(BaseModel): + config: object + + connector_name: Literal["firebase"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorForeceiptDiscriminatedConnectorConfig(BaseModel): + config: object + + connector_name: Literal["foreceipt"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorGreenhouseDiscriminatedConnectorConfig(BaseModel): + config: object + + connector_name: Literal["greenhouse"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorHeronDiscriminatedConnectorConfigConfig(BaseModel): + api_key: str = FieldInfo(alias="apiKey") + + +class ConnectorHeronDiscriminatedConnectorConfig(BaseModel): + config: ConnectorHeronDiscriminatedConnectorConfigConfig + + connector_name: Literal["heron"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorLunchmoneyDiscriminatedConnectorConfigConfig(BaseModel): + access_token: str = FieldInfo(alias="accessToken") + + +class ConnectorLunchmoneyDiscriminatedConnectorConfig(BaseModel): + config: ConnectorLunchmoneyDiscriminatedConnectorConfigConfig + + connector_name: Literal["lunchmoney"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorMercuryDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: str = FieldInfo(alias="clientId") + + client_secret: str = FieldInfo(alias="clientSecret") + + +class ConnectorMercuryDiscriminatedConnectorConfigConfig(BaseModel): + apikey_auth: Optional[bool] = FieldInfo(alias="apikeyAuth", default=None) + """API key auth support""" + + oauth: Optional[ConnectorMercuryDiscriminatedConnectorConfigConfigOAuth] = None + """Configure oauth""" + + +class ConnectorMercuryDiscriminatedConnectorConfig(BaseModel): + config: ConnectorMercuryDiscriminatedConnectorConfigConfig + + connector_name: Literal["mercury"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorMergeDiscriminatedConnectorConfigConfig(BaseModel): + api_key: str = FieldInfo(alias="apiKey") + + +class ConnectorMergeDiscriminatedConnectorConfig(BaseModel): + config: ConnectorMergeDiscriminatedConnectorConfigConfig + + connector_name: Literal["merge"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorMootaDiscriminatedConnectorConfigConfig(BaseModel): + token: str + + +class ConnectorMootaDiscriminatedConnectorConfig(BaseModel): + config: ConnectorMootaDiscriminatedConnectorConfigConfig + + connector_name: Literal["moota"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorOnebrickDiscriminatedConnectorConfigConfig(BaseModel): + client_id: str = FieldInfo(alias="clientId") + + client_secret: str = FieldInfo(alias="clientSecret") + + env_name: Literal["sandbox", "production"] = FieldInfo(alias="envName") + + public_token: str = FieldInfo(alias="publicToken") + + access_token: Optional[str] = FieldInfo(alias="accessToken", default=None) + + redirect_url: Optional[str] = FieldInfo(alias="redirectUrl", default=None) + + +class ConnectorOnebrickDiscriminatedConnectorConfig(BaseModel): + config: ConnectorOnebrickDiscriminatedConnectorConfigConfig + + connector_name: Literal["onebrick"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorOpenledgerDiscriminatedConnectorConfigConfig(BaseModel): + api_url: str + """API endpoint""" + + developer_id: str + """Your developer ID for authentication""" + + developer_secret: str + """Your developer secret""" + + environment: Literal["development", "production"] + """Switch to "production" for live data""" + + +class ConnectorOpenledgerDiscriminatedConnectorConfig(BaseModel): + config: ConnectorOpenledgerDiscriminatedConnectorConfigConfig + + connector_name: Literal["openledger"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorPlaidDiscriminatedConnectorConfigConfigCredentials(BaseModel): + client_id: str = FieldInfo(alias="clientId") + + client_secret: str = FieldInfo(alias="clientSecret") + + +class ConnectorPlaidDiscriminatedConnectorConfigConfig(BaseModel): + client_name: str = FieldInfo(alias="clientName") + """ + The name of your application, as it should be displayed in Link. Maximum length + of 30 characters. If a value longer than 30 characters is provided, Link will + display "This Application" instead. + """ + + country_codes: List[ + Literal["US", "GB", "ES", "NL", "FR", "IE", "CA", "DE", "IT", "PL", "DK", "NO", "SE", "EE", "LT", "LV"] + ] = FieldInfo(alias="countryCodes") + + env_name: Literal["sandbox", "development", "production"] = FieldInfo(alias="envName") + + language: Literal["en", "fr", "es", "nl", "de"] + + products: List[ + Literal[ + "assets", + "auth", + "balance", + "identity", + "investments", + "liabilities", + "payment_initiation", + "identity_verification", + "transactions", + "credit_details", + "income", + "income_verification", + "deposit_switch", + "standing_orders", + "transfer", + "employment", + "recurring_transactions", + ] + ] + + credentials: Optional[ConnectorPlaidDiscriminatedConnectorConfigConfigCredentials] = None + + +class ConnectorPlaidDiscriminatedConnectorConfig(BaseModel): + config: ConnectorPlaidDiscriminatedConnectorConfigConfig + + connector_name: Literal["plaid"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorPostgresDiscriminatedConnectorConfig(BaseModel): + config: object + + connector_name: Literal["postgres"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorRampDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: str = FieldInfo(alias="clientId") + + client_secret: str = FieldInfo(alias="clientSecret") + + +class ConnectorRampDiscriminatedConnectorConfigConfig(BaseModel): + oauth: ConnectorRampDiscriminatedConnectorConfigConfigOAuth + + +class ConnectorRampDiscriminatedConnectorConfig(BaseModel): + config: ConnectorRampDiscriminatedConnectorConfigConfig + + connector_name: Literal["ramp"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorSaltedgeDiscriminatedConnectorConfigConfig(BaseModel): + app_id: str = FieldInfo(alias="appId") + + secret: str + + url: Optional[str] = None + + +class ConnectorSaltedgeDiscriminatedConnectorConfig(BaseModel): + config: ConnectorSaltedgeDiscriminatedConnectorConfigConfig + + connector_name: Literal["saltedge"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorSharepointOnpremDiscriminatedConnectorConfig(BaseModel): + config: object + + connector_name: Literal["sharepoint-onprem"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorSplitwiseDiscriminatedConnectorConfig(BaseModel): + config: object + + connector_name: Literal["splitwise"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorStripeDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: str = FieldInfo(alias="clientId") + + client_secret: str = FieldInfo(alias="clientSecret") + + +class ConnectorStripeDiscriminatedConnectorConfigConfig(BaseModel): + apikey_auth: Optional[bool] = FieldInfo(alias="apikeyAuth", default=None) + """API key auth support""" + + oauth: Optional[ConnectorStripeDiscriminatedConnectorConfigConfigOAuth] = None + """Configure oauth""" + + +class ConnectorStripeDiscriminatedConnectorConfig(BaseModel): + config: ConnectorStripeDiscriminatedConnectorConfigConfig + + connector_name: Literal["stripe"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorTellerDiscriminatedConnectorConfigConfig(BaseModel): + application_id: str = FieldInfo(alias="applicationId") + + token: Optional[str] = None + + +class ConnectorTellerDiscriminatedConnectorConfig(BaseModel): + config: ConnectorTellerDiscriminatedConnectorConfigConfig + + connector_name: Literal["teller"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorTogglDiscriminatedConnectorConfig(BaseModel): + config: object + + connector_name: Literal["toggl"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorTwentyDiscriminatedConnectorConfig(BaseModel): + config: object + + connector_name: Literal["twenty"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorVenmoDiscriminatedConnectorConfigConfigProxy(BaseModel): + cert: str + + url: str + + +class ConnectorVenmoDiscriminatedConnectorConfigConfig(BaseModel): + proxy: Optional[ConnectorVenmoDiscriminatedConnectorConfigConfigProxy] = None + + v1_base_url: Optional[str] = FieldInfo(alias="v1BaseURL", default=None) + + v5_base_url: Optional[str] = FieldInfo(alias="v5BaseURL", default=None) + + +class ConnectorVenmoDiscriminatedConnectorConfig(BaseModel): + config: ConnectorVenmoDiscriminatedConnectorConfigConfig + + connector_name: Literal["venmo"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorWiseDiscriminatedConnectorConfig(BaseModel): + config: object + + connector_name: Literal["wise"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorYodleeDiscriminatedConnectorConfigConfigProxy(BaseModel): + cert: str + + url: str + + +class ConnectorYodleeDiscriminatedConnectorConfigConfig(BaseModel): + admin_login_name: str = FieldInfo(alias="adminLoginName") + + client_id: str = FieldInfo(alias="clientId") + + client_secret: str = FieldInfo(alias="clientSecret") + + env_name: Literal["sandbox", "development", "production"] = FieldInfo(alias="envName") + + proxy: Optional[ConnectorYodleeDiscriminatedConnectorConfigConfigProxy] = None + + sandbox_login_name: Optional[str] = FieldInfo(alias="sandboxLoginName", default=None) + + +class ConnectorYodleeDiscriminatedConnectorConfig(BaseModel): + config: ConnectorYodleeDiscriminatedConnectorConfigConfig + + connector_name: Literal["yodlee"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +CreateConnnectorConfigResponse: TypeAlias = Union[ + ConnectorAcceloDiscriminatedConnectorConfig, + ConnectorAcmeApikeyDiscriminatedConnectorConfig, + ConnectorAcmeOauth2DiscriminatedConnectorConfig, + ConnectorAdobeDiscriminatedConnectorConfig, + ConnectorAdyenDiscriminatedConnectorConfig, + ConnectorAircallDiscriminatedConnectorConfig, + ConnectorAmazonDiscriminatedConnectorConfig, + ConnectorApaleoDiscriminatedConnectorConfig, + ConnectorAsanaDiscriminatedConnectorConfig, + ConnectorAttioDiscriminatedConnectorConfig, + ConnectorAuth0DiscriminatedConnectorConfig, + ConnectorAutodeskDiscriminatedConnectorConfig, + ConnectorAwsDiscriminatedConnectorConfig, + ConnectorBamboohrDiscriminatedConnectorConfig, + ConnectorBasecampDiscriminatedConnectorConfig, + ConnectorBattlenetDiscriminatedConnectorConfig, + ConnectorBigcommerceDiscriminatedConnectorConfig, + ConnectorBitbucketDiscriminatedConnectorConfig, + ConnectorBitlyDiscriminatedConnectorConfig, + ConnectorBlackbaudDiscriminatedConnectorConfig, + ConnectorBoldsignDiscriminatedConnectorConfig, + ConnectorBoxDiscriminatedConnectorConfig, + ConnectorBraintreeDiscriminatedConnectorConfig, + ConnectorCalendlyDiscriminatedConnectorConfig, + ConnectorClickupDiscriminatedConnectorConfig, + ConnectorCloseDiscriminatedConnectorConfig, + ConnectorConfluenceDiscriminatedConnectorConfig, + ConnectorContentfulDiscriminatedConnectorConfig, + ConnectorContentstackDiscriminatedConnectorConfig, + ConnectorCopperDiscriminatedConnectorConfig, + ConnectorCorosDiscriminatedConnectorConfig, + ConnectorDatevDiscriminatedConnectorConfig, + ConnectorDeelDiscriminatedConnectorConfig, + ConnectorDialpadDiscriminatedConnectorConfig, + ConnectorDigitaloceanDiscriminatedConnectorConfig, + ConnectorDiscordDiscriminatedConnectorConfig, + ConnectorDocusignDiscriminatedConnectorConfig, + ConnectorDropboxDiscriminatedConnectorConfig, + ConnectorEbayDiscriminatedConnectorConfig, + ConnectorEgnyteDiscriminatedConnectorConfig, + ConnectorEnvoyDiscriminatedConnectorConfig, + ConnectorEventbriteDiscriminatedConnectorConfig, + ConnectorExistDiscriminatedConnectorConfig, + ConnectorFacebookDiscriminatedConnectorConfig, + ConnectorFactorialDiscriminatedConnectorConfig, + ConnectorFigmaDiscriminatedConnectorConfig, + ConnectorFitbitDiscriminatedConnectorConfig, + ConnectorFortnoxDiscriminatedConnectorConfig, + ConnectorFreshbooksDiscriminatedConnectorConfig, + ConnectorFrontDiscriminatedConnectorConfig, + ConnectorGitHubDiscriminatedConnectorConfig, + ConnectorGitlabDiscriminatedConnectorConfig, + ConnectorGongDiscriminatedConnectorConfig, + ConnectorGoogleCalendarDiscriminatedConnectorConfig, + ConnectorGoogleDocsDiscriminatedConnectorConfig, + ConnectorGoogleDriveDiscriminatedConnectorConfig, + ConnectorGoogleMailDiscriminatedConnectorConfig, + ConnectorGoogleSheetDiscriminatedConnectorConfig, + ConnectorGorgiasDiscriminatedConnectorConfig, + ConnectorGrainDiscriminatedConnectorConfig, + ConnectorGumroadDiscriminatedConnectorConfig, + ConnectorGustoDiscriminatedConnectorConfig, + ConnectorHarvestDiscriminatedConnectorConfig, + ConnectorHighlevelDiscriminatedConnectorConfig, + ConnectorHubspotDiscriminatedConnectorConfig, + ConnectorInstagramDiscriminatedConnectorConfig, + ConnectorIntercomDiscriminatedConnectorConfig, + ConnectorJiraDiscriminatedConnectorConfig, + ConnectorKeapDiscriminatedConnectorConfig, + ConnectorLeverDiscriminatedConnectorConfig, + ConnectorLinearDiscriminatedConnectorConfig, + ConnectorLinkedinDiscriminatedConnectorConfig, + ConnectorLinkhutDiscriminatedConnectorConfig, + ConnectorMailchimpDiscriminatedConnectorConfig, + ConnectorMiroDiscriminatedConnectorConfig, + ConnectorMondayDiscriminatedConnectorConfig, + ConnectorMuralDiscriminatedConnectorConfig, + ConnectorNamelyDiscriminatedConnectorConfig, + ConnectorNationbuilderDiscriminatedConnectorConfig, + ConnectorNetsuiteDiscriminatedConnectorConfig, + ConnectorNotionDiscriminatedConnectorConfig, + ConnectorOdooDiscriminatedConnectorConfig, + ConnectorOktaDiscriminatedConnectorConfig, + ConnectorOsuDiscriminatedConnectorConfig, + ConnectorOuraDiscriminatedConnectorConfig, + ConnectorOutreachDiscriminatedConnectorConfig, + ConnectorPagerdutyDiscriminatedConnectorConfig, + ConnectorPandadocDiscriminatedConnectorConfig, + ConnectorPayfitDiscriminatedConnectorConfig, + ConnectorPaypalDiscriminatedConnectorConfig, + ConnectorPennylaneDiscriminatedConnectorConfig, + ConnectorPinterestDiscriminatedConnectorConfig, + ConnectorPipedriveDiscriminatedConnectorConfig, + ConnectorPodiumDiscriminatedConnectorConfig, + ConnectorProductboardDiscriminatedConnectorConfig, + ConnectorQualtricsDiscriminatedConnectorConfig, + ConnectorQuickbooksDiscriminatedConnectorConfig, + ConnectorRedditDiscriminatedConnectorConfig, + ConnectorSageDiscriminatedConnectorConfig, + ConnectorSalesforceDiscriminatedConnectorConfig, + ConnectorSalesloftDiscriminatedConnectorConfig, + ConnectorSegmentDiscriminatedConnectorConfig, + ConnectorServicem8DiscriminatedConnectorConfig, + ConnectorServicenowDiscriminatedConnectorConfig, + ConnectorSharepointDiscriminatedConnectorConfig, + ConnectorShopifyDiscriminatedConnectorConfig, + ConnectorSignnowDiscriminatedConnectorConfig, + ConnectorSlackDiscriminatedConnectorConfig, + ConnectorSmartsheetDiscriminatedConnectorConfig, + ConnectorSnowflakeDiscriminatedConnectorConfig, + ConnectorSpotifyDiscriminatedConnectorConfig, + ConnectorSquarespaceDiscriminatedConnectorConfig, + ConnectorSquareupDiscriminatedConnectorConfig, + ConnectorStackexchangeDiscriminatedConnectorConfig, + ConnectorStravaDiscriminatedConnectorConfig, + ConnectorTeamworkDiscriminatedConnectorConfig, + ConnectorTicktickDiscriminatedConnectorConfig, + ConnectorTimelyDiscriminatedConnectorConfig, + ConnectorTodoistDiscriminatedConnectorConfig, + ConnectorTremendousDiscriminatedConnectorConfig, + ConnectorTsheetsteamDiscriminatedConnectorConfig, + ConnectorTumblrDiscriminatedConnectorConfig, + ConnectorTwinfieldDiscriminatedConnectorConfig, + ConnectorTwitchDiscriminatedConnectorConfig, + ConnectorTwitterDiscriminatedConnectorConfig, + ConnectorTypeformDiscriminatedConnectorConfig, + ConnectorUberDiscriminatedConnectorConfig, + ConnectorVimeoDiscriminatedConnectorConfig, + ConnectorWakatimeDiscriminatedConnectorConfig, + ConnectorWealthboxDiscriminatedConnectorConfig, + ConnectorWebflowDiscriminatedConnectorConfig, + ConnectorWhoopDiscriminatedConnectorConfig, + ConnectorWordpressDiscriminatedConnectorConfig, + ConnectorWrikeDiscriminatedConnectorConfig, + ConnectorXeroDiscriminatedConnectorConfig, + ConnectorYahooDiscriminatedConnectorConfig, + ConnectorYandexDiscriminatedConnectorConfig, + ConnectorZapierDiscriminatedConnectorConfig, + ConnectorZendeskDiscriminatedConnectorConfig, + ConnectorZenefitsDiscriminatedConnectorConfig, + ConnectorZohoDeskDiscriminatedConnectorConfig, + ConnectorZohoDiscriminatedConnectorConfig, + ConnectorZoomDiscriminatedConnectorConfig, + ConnectorAirtableDiscriminatedConnectorConfig, + ConnectorApolloDiscriminatedConnectorConfig, + ConnectorBrexDiscriminatedConnectorConfig, + ConnectorCodaDiscriminatedConnectorConfig, + ConnectorFinchDiscriminatedConnectorConfig, + ConnectorFirebaseDiscriminatedConnectorConfig, + ConnectorForeceiptDiscriminatedConnectorConfig, + ConnectorGreenhouseDiscriminatedConnectorConfig, + ConnectorHeronDiscriminatedConnectorConfig, + ConnectorLunchmoneyDiscriminatedConnectorConfig, + ConnectorMercuryDiscriminatedConnectorConfig, + ConnectorMergeDiscriminatedConnectorConfig, + ConnectorMootaDiscriminatedConnectorConfig, + ConnectorOnebrickDiscriminatedConnectorConfig, + ConnectorOpenledgerDiscriminatedConnectorConfig, + ConnectorPlaidDiscriminatedConnectorConfig, + ConnectorPostgresDiscriminatedConnectorConfig, + ConnectorRampDiscriminatedConnectorConfig, + ConnectorSaltedgeDiscriminatedConnectorConfig, + ConnectorSharepointOnpremDiscriminatedConnectorConfig, + ConnectorSplitwiseDiscriminatedConnectorConfig, + ConnectorStripeDiscriminatedConnectorConfig, + ConnectorTellerDiscriminatedConnectorConfig, + ConnectorTogglDiscriminatedConnectorConfig, + ConnectorTwentyDiscriminatedConnectorConfig, + ConnectorVenmoDiscriminatedConnectorConfig, + ConnectorWiseDiscriminatedConnectorConfig, + ConnectorYodleeDiscriminatedConnectorConfig, +] diff --git a/src/openint/types/upsert_connnector_config_response.py b/src/openint/types/upsert_connnector_config_response.py new file mode 100644 index 0000000..49985c0 --- /dev/null +++ b/src/openint/types/upsert_connnector_config_response.py @@ -0,0 +1,7421 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from typing import Dict, List, Union, Optional +from typing_extensions import Literal, TypeAlias + +from pydantic import Field as FieldInfo + +from .._models import BaseModel + +__all__ = [ + "UpsertConnnectorConfigResponse", + "ConnectorAcceloDiscriminatedConnectorConfig", + "ConnectorAcceloDiscriminatedConnectorConfigConfig", + "ConnectorAcceloDiscriminatedConnectorConfigConfigOAuth", + "ConnectorAcmeApikeyDiscriminatedConnectorConfig", + "ConnectorAcmeOauth2DiscriminatedConnectorConfig", + "ConnectorAcmeOauth2DiscriminatedConnectorConfigConfig", + "ConnectorAcmeOauth2DiscriminatedConnectorConfigConfigOAuth", + "ConnectorAdobeDiscriminatedConnectorConfig", + "ConnectorAdobeDiscriminatedConnectorConfigConfig", + "ConnectorAdobeDiscriminatedConnectorConfigConfigOAuth", + "ConnectorAdyenDiscriminatedConnectorConfig", + "ConnectorAdyenDiscriminatedConnectorConfigConfig", + "ConnectorAdyenDiscriminatedConnectorConfigConfigOAuth", + "ConnectorAircallDiscriminatedConnectorConfig", + "ConnectorAircallDiscriminatedConnectorConfigConfig", + "ConnectorAircallDiscriminatedConnectorConfigConfigOAuth", + "ConnectorAmazonDiscriminatedConnectorConfig", + "ConnectorAmazonDiscriminatedConnectorConfigConfig", + "ConnectorAmazonDiscriminatedConnectorConfigConfigOAuth", + "ConnectorApaleoDiscriminatedConnectorConfig", + "ConnectorApaleoDiscriminatedConnectorConfigConfig", + "ConnectorApaleoDiscriminatedConnectorConfigConfigOAuth", + "ConnectorAsanaDiscriminatedConnectorConfig", + "ConnectorAsanaDiscriminatedConnectorConfigConfig", + "ConnectorAsanaDiscriminatedConnectorConfigConfigOAuth", + "ConnectorAttioDiscriminatedConnectorConfig", + "ConnectorAttioDiscriminatedConnectorConfigConfig", + "ConnectorAttioDiscriminatedConnectorConfigConfigOAuth", + "ConnectorAuth0DiscriminatedConnectorConfig", + "ConnectorAuth0DiscriminatedConnectorConfigConfig", + "ConnectorAuth0DiscriminatedConnectorConfigConfigOAuth", + "ConnectorAutodeskDiscriminatedConnectorConfig", + "ConnectorAutodeskDiscriminatedConnectorConfigConfig", + "ConnectorAutodeskDiscriminatedConnectorConfigConfigOAuth", + "ConnectorAwsDiscriminatedConnectorConfig", + "ConnectorAwsDiscriminatedConnectorConfigConfig", + "ConnectorAwsDiscriminatedConnectorConfigConfigOAuth", + "ConnectorBamboohrDiscriminatedConnectorConfig", + "ConnectorBamboohrDiscriminatedConnectorConfigConfig", + "ConnectorBamboohrDiscriminatedConnectorConfigConfigOAuth", + "ConnectorBasecampDiscriminatedConnectorConfig", + "ConnectorBasecampDiscriminatedConnectorConfigConfig", + "ConnectorBasecampDiscriminatedConnectorConfigConfigOAuth", + "ConnectorBattlenetDiscriminatedConnectorConfig", + "ConnectorBattlenetDiscriminatedConnectorConfigConfig", + "ConnectorBattlenetDiscriminatedConnectorConfigConfigOAuth", + "ConnectorBigcommerceDiscriminatedConnectorConfig", + "ConnectorBigcommerceDiscriminatedConnectorConfigConfig", + "ConnectorBigcommerceDiscriminatedConnectorConfigConfigOAuth", + "ConnectorBitbucketDiscriminatedConnectorConfig", + "ConnectorBitbucketDiscriminatedConnectorConfigConfig", + "ConnectorBitbucketDiscriminatedConnectorConfigConfigOAuth", + "ConnectorBitlyDiscriminatedConnectorConfig", + "ConnectorBitlyDiscriminatedConnectorConfigConfig", + "ConnectorBitlyDiscriminatedConnectorConfigConfigOAuth", + "ConnectorBlackbaudDiscriminatedConnectorConfig", + "ConnectorBlackbaudDiscriminatedConnectorConfigConfig", + "ConnectorBlackbaudDiscriminatedConnectorConfigConfigOAuth", + "ConnectorBoldsignDiscriminatedConnectorConfig", + "ConnectorBoldsignDiscriminatedConnectorConfigConfig", + "ConnectorBoldsignDiscriminatedConnectorConfigConfigOAuth", + "ConnectorBoxDiscriminatedConnectorConfig", + "ConnectorBoxDiscriminatedConnectorConfigConfig", + "ConnectorBoxDiscriminatedConnectorConfigConfigOAuth", + "ConnectorBraintreeDiscriminatedConnectorConfig", + "ConnectorBraintreeDiscriminatedConnectorConfigConfig", + "ConnectorBraintreeDiscriminatedConnectorConfigConfigOAuth", + "ConnectorCalendlyDiscriminatedConnectorConfig", + "ConnectorCalendlyDiscriminatedConnectorConfigConfig", + "ConnectorCalendlyDiscriminatedConnectorConfigConfigOAuth", + "ConnectorClickupDiscriminatedConnectorConfig", + "ConnectorClickupDiscriminatedConnectorConfigConfig", + "ConnectorClickupDiscriminatedConnectorConfigConfigOAuth", + "ConnectorCloseDiscriminatedConnectorConfig", + "ConnectorCloseDiscriminatedConnectorConfigConfig", + "ConnectorCloseDiscriminatedConnectorConfigConfigOAuth", + "ConnectorConfluenceDiscriminatedConnectorConfig", + "ConnectorConfluenceDiscriminatedConnectorConfigConfig", + "ConnectorConfluenceDiscriminatedConnectorConfigConfigOAuth", + "ConnectorContentfulDiscriminatedConnectorConfig", + "ConnectorContentfulDiscriminatedConnectorConfigConfig", + "ConnectorContentfulDiscriminatedConnectorConfigConfigOAuth", + "ConnectorContentstackDiscriminatedConnectorConfig", + "ConnectorContentstackDiscriminatedConnectorConfigConfig", + "ConnectorContentstackDiscriminatedConnectorConfigConfigOAuth", + "ConnectorCopperDiscriminatedConnectorConfig", + "ConnectorCopperDiscriminatedConnectorConfigConfig", + "ConnectorCopperDiscriminatedConnectorConfigConfigOAuth", + "ConnectorCorosDiscriminatedConnectorConfig", + "ConnectorCorosDiscriminatedConnectorConfigConfig", + "ConnectorCorosDiscriminatedConnectorConfigConfigOAuth", + "ConnectorDatevDiscriminatedConnectorConfig", + "ConnectorDatevDiscriminatedConnectorConfigConfig", + "ConnectorDatevDiscriminatedConnectorConfigConfigOAuth", + "ConnectorDeelDiscriminatedConnectorConfig", + "ConnectorDeelDiscriminatedConnectorConfigConfig", + "ConnectorDeelDiscriminatedConnectorConfigConfigOAuth", + "ConnectorDialpadDiscriminatedConnectorConfig", + "ConnectorDialpadDiscriminatedConnectorConfigConfig", + "ConnectorDialpadDiscriminatedConnectorConfigConfigOAuth", + "ConnectorDigitaloceanDiscriminatedConnectorConfig", + "ConnectorDigitaloceanDiscriminatedConnectorConfigConfig", + "ConnectorDigitaloceanDiscriminatedConnectorConfigConfigOAuth", + "ConnectorDiscordDiscriminatedConnectorConfig", + "ConnectorDiscordDiscriminatedConnectorConfigConfig", + "ConnectorDiscordDiscriminatedConnectorConfigConfigOAuth", + "ConnectorDocusignDiscriminatedConnectorConfig", + "ConnectorDocusignDiscriminatedConnectorConfigConfig", + "ConnectorDocusignDiscriminatedConnectorConfigConfigOAuth", + "ConnectorDropboxDiscriminatedConnectorConfig", + "ConnectorDropboxDiscriminatedConnectorConfigConfig", + "ConnectorDropboxDiscriminatedConnectorConfigConfigOAuth", + "ConnectorEbayDiscriminatedConnectorConfig", + "ConnectorEbayDiscriminatedConnectorConfigConfig", + "ConnectorEbayDiscriminatedConnectorConfigConfigOAuth", + "ConnectorEgnyteDiscriminatedConnectorConfig", + "ConnectorEgnyteDiscriminatedConnectorConfigConfig", + "ConnectorEgnyteDiscriminatedConnectorConfigConfigOAuth", + "ConnectorEnvoyDiscriminatedConnectorConfig", + "ConnectorEnvoyDiscriminatedConnectorConfigConfig", + "ConnectorEnvoyDiscriminatedConnectorConfigConfigOAuth", + "ConnectorEventbriteDiscriminatedConnectorConfig", + "ConnectorEventbriteDiscriminatedConnectorConfigConfig", + "ConnectorEventbriteDiscriminatedConnectorConfigConfigOAuth", + "ConnectorExistDiscriminatedConnectorConfig", + "ConnectorExistDiscriminatedConnectorConfigConfig", + "ConnectorExistDiscriminatedConnectorConfigConfigOAuth", + "ConnectorFacebookDiscriminatedConnectorConfig", + "ConnectorFacebookDiscriminatedConnectorConfigConfig", + "ConnectorFacebookDiscriminatedConnectorConfigConfigOAuth", + "ConnectorFactorialDiscriminatedConnectorConfig", + "ConnectorFactorialDiscriminatedConnectorConfigConfig", + "ConnectorFactorialDiscriminatedConnectorConfigConfigOAuth", + "ConnectorFigmaDiscriminatedConnectorConfig", + "ConnectorFigmaDiscriminatedConnectorConfigConfig", + "ConnectorFigmaDiscriminatedConnectorConfigConfigOAuth", + "ConnectorFitbitDiscriminatedConnectorConfig", + "ConnectorFitbitDiscriminatedConnectorConfigConfig", + "ConnectorFitbitDiscriminatedConnectorConfigConfigOAuth", + "ConnectorFortnoxDiscriminatedConnectorConfig", + "ConnectorFortnoxDiscriminatedConnectorConfigConfig", + "ConnectorFortnoxDiscriminatedConnectorConfigConfigOAuth", + "ConnectorFreshbooksDiscriminatedConnectorConfig", + "ConnectorFreshbooksDiscriminatedConnectorConfigConfig", + "ConnectorFreshbooksDiscriminatedConnectorConfigConfigOAuth", + "ConnectorFrontDiscriminatedConnectorConfig", + "ConnectorFrontDiscriminatedConnectorConfigConfig", + "ConnectorFrontDiscriminatedConnectorConfigConfigOAuth", + "ConnectorGitHubDiscriminatedConnectorConfig", + "ConnectorGitHubDiscriminatedConnectorConfigConfig", + "ConnectorGitHubDiscriminatedConnectorConfigConfigOAuth", + "ConnectorGitlabDiscriminatedConnectorConfig", + "ConnectorGitlabDiscriminatedConnectorConfigConfig", + "ConnectorGitlabDiscriminatedConnectorConfigConfigOAuth", + "ConnectorGongDiscriminatedConnectorConfig", + "ConnectorGongDiscriminatedConnectorConfigConfig", + "ConnectorGongDiscriminatedConnectorConfigConfigOAuth", + "ConnectorGoogleCalendarDiscriminatedConnectorConfig", + "ConnectorGoogleCalendarDiscriminatedConnectorConfigConfig", + "ConnectorGoogleCalendarDiscriminatedConnectorConfigConfigOAuth", + "ConnectorGoogleDocsDiscriminatedConnectorConfig", + "ConnectorGoogleDocsDiscriminatedConnectorConfigConfig", + "ConnectorGoogleDocsDiscriminatedConnectorConfigConfigOAuth", + "ConnectorGoogleDriveDiscriminatedConnectorConfig", + "ConnectorGoogleDriveDiscriminatedConnectorConfigConfig", + "ConnectorGoogleDriveDiscriminatedConnectorConfigConfigOAuth", + "ConnectorGoogleMailDiscriminatedConnectorConfig", + "ConnectorGoogleMailDiscriminatedConnectorConfigConfig", + "ConnectorGoogleMailDiscriminatedConnectorConfigConfigOAuth", + "ConnectorGoogleSheetDiscriminatedConnectorConfig", + "ConnectorGoogleSheetDiscriminatedConnectorConfigConfig", + "ConnectorGoogleSheetDiscriminatedConnectorConfigConfigOAuth", + "ConnectorGorgiasDiscriminatedConnectorConfig", + "ConnectorGorgiasDiscriminatedConnectorConfigConfig", + "ConnectorGorgiasDiscriminatedConnectorConfigConfigOAuth", + "ConnectorGrainDiscriminatedConnectorConfig", + "ConnectorGrainDiscriminatedConnectorConfigConfig", + "ConnectorGrainDiscriminatedConnectorConfigConfigOAuth", + "ConnectorGumroadDiscriminatedConnectorConfig", + "ConnectorGumroadDiscriminatedConnectorConfigConfig", + "ConnectorGumroadDiscriminatedConnectorConfigConfigOAuth", + "ConnectorGustoDiscriminatedConnectorConfig", + "ConnectorGustoDiscriminatedConnectorConfigConfig", + "ConnectorGustoDiscriminatedConnectorConfigConfigOAuth", + "ConnectorHarvestDiscriminatedConnectorConfig", + "ConnectorHarvestDiscriminatedConnectorConfigConfig", + "ConnectorHarvestDiscriminatedConnectorConfigConfigOAuth", + "ConnectorHighlevelDiscriminatedConnectorConfig", + "ConnectorHighlevelDiscriminatedConnectorConfigConfig", + "ConnectorHighlevelDiscriminatedConnectorConfigConfigOAuth", + "ConnectorHubspotDiscriminatedConnectorConfig", + "ConnectorHubspotDiscriminatedConnectorConfigConfig", + "ConnectorHubspotDiscriminatedConnectorConfigConfigOAuth", + "ConnectorInstagramDiscriminatedConnectorConfig", + "ConnectorInstagramDiscriminatedConnectorConfigConfig", + "ConnectorInstagramDiscriminatedConnectorConfigConfigOAuth", + "ConnectorIntercomDiscriminatedConnectorConfig", + "ConnectorIntercomDiscriminatedConnectorConfigConfig", + "ConnectorIntercomDiscriminatedConnectorConfigConfigOAuth", + "ConnectorJiraDiscriminatedConnectorConfig", + "ConnectorJiraDiscriminatedConnectorConfigConfig", + "ConnectorJiraDiscriminatedConnectorConfigConfigOAuth", + "ConnectorKeapDiscriminatedConnectorConfig", + "ConnectorKeapDiscriminatedConnectorConfigConfig", + "ConnectorKeapDiscriminatedConnectorConfigConfigOAuth", + "ConnectorLeverDiscriminatedConnectorConfig", + "ConnectorLeverDiscriminatedConnectorConfigConfig", + "ConnectorLeverDiscriminatedConnectorConfigConfigOAuth", + "ConnectorLinearDiscriminatedConnectorConfig", + "ConnectorLinearDiscriminatedConnectorConfigConfig", + "ConnectorLinearDiscriminatedConnectorConfigConfigOAuth", + "ConnectorLinkedinDiscriminatedConnectorConfig", + "ConnectorLinkedinDiscriminatedConnectorConfigConfig", + "ConnectorLinkedinDiscriminatedConnectorConfigConfigOAuth", + "ConnectorLinkhutDiscriminatedConnectorConfig", + "ConnectorLinkhutDiscriminatedConnectorConfigConfig", + "ConnectorLinkhutDiscriminatedConnectorConfigConfigOAuth", + "ConnectorMailchimpDiscriminatedConnectorConfig", + "ConnectorMailchimpDiscriminatedConnectorConfigConfig", + "ConnectorMailchimpDiscriminatedConnectorConfigConfigOAuth", + "ConnectorMiroDiscriminatedConnectorConfig", + "ConnectorMiroDiscriminatedConnectorConfigConfig", + "ConnectorMiroDiscriminatedConnectorConfigConfigOAuth", + "ConnectorMondayDiscriminatedConnectorConfig", + "ConnectorMondayDiscriminatedConnectorConfigConfig", + "ConnectorMondayDiscriminatedConnectorConfigConfigOAuth", + "ConnectorMuralDiscriminatedConnectorConfig", + "ConnectorMuralDiscriminatedConnectorConfigConfig", + "ConnectorMuralDiscriminatedConnectorConfigConfigOAuth", + "ConnectorNamelyDiscriminatedConnectorConfig", + "ConnectorNamelyDiscriminatedConnectorConfigConfig", + "ConnectorNamelyDiscriminatedConnectorConfigConfigOAuth", + "ConnectorNationbuilderDiscriminatedConnectorConfig", + "ConnectorNationbuilderDiscriminatedConnectorConfigConfig", + "ConnectorNationbuilderDiscriminatedConnectorConfigConfigOAuth", + "ConnectorNetsuiteDiscriminatedConnectorConfig", + "ConnectorNetsuiteDiscriminatedConnectorConfigConfig", + "ConnectorNetsuiteDiscriminatedConnectorConfigConfigOAuth", + "ConnectorNotionDiscriminatedConnectorConfig", + "ConnectorNotionDiscriminatedConnectorConfigConfig", + "ConnectorNotionDiscriminatedConnectorConfigConfigOAuth", + "ConnectorOdooDiscriminatedConnectorConfig", + "ConnectorOdooDiscriminatedConnectorConfigConfig", + "ConnectorOdooDiscriminatedConnectorConfigConfigOAuth", + "ConnectorOktaDiscriminatedConnectorConfig", + "ConnectorOktaDiscriminatedConnectorConfigConfig", + "ConnectorOktaDiscriminatedConnectorConfigConfigOAuth", + "ConnectorOsuDiscriminatedConnectorConfig", + "ConnectorOsuDiscriminatedConnectorConfigConfig", + "ConnectorOsuDiscriminatedConnectorConfigConfigOAuth", + "ConnectorOuraDiscriminatedConnectorConfig", + "ConnectorOuraDiscriminatedConnectorConfigConfig", + "ConnectorOuraDiscriminatedConnectorConfigConfigOAuth", + "ConnectorOutreachDiscriminatedConnectorConfig", + "ConnectorOutreachDiscriminatedConnectorConfigConfig", + "ConnectorOutreachDiscriminatedConnectorConfigConfigOAuth", + "ConnectorPagerdutyDiscriminatedConnectorConfig", + "ConnectorPagerdutyDiscriminatedConnectorConfigConfig", + "ConnectorPagerdutyDiscriminatedConnectorConfigConfigOAuth", + "ConnectorPandadocDiscriminatedConnectorConfig", + "ConnectorPandadocDiscriminatedConnectorConfigConfig", + "ConnectorPandadocDiscriminatedConnectorConfigConfigOAuth", + "ConnectorPayfitDiscriminatedConnectorConfig", + "ConnectorPayfitDiscriminatedConnectorConfigConfig", + "ConnectorPayfitDiscriminatedConnectorConfigConfigOAuth", + "ConnectorPaypalDiscriminatedConnectorConfig", + "ConnectorPaypalDiscriminatedConnectorConfigConfig", + "ConnectorPaypalDiscriminatedConnectorConfigConfigOAuth", + "ConnectorPennylaneDiscriminatedConnectorConfig", + "ConnectorPennylaneDiscriminatedConnectorConfigConfig", + "ConnectorPennylaneDiscriminatedConnectorConfigConfigOAuth", + "ConnectorPinterestDiscriminatedConnectorConfig", + "ConnectorPinterestDiscriminatedConnectorConfigConfig", + "ConnectorPinterestDiscriminatedConnectorConfigConfigOAuth", + "ConnectorPipedriveDiscriminatedConnectorConfig", + "ConnectorPipedriveDiscriminatedConnectorConfigConfig", + "ConnectorPipedriveDiscriminatedConnectorConfigConfigOAuth", + "ConnectorPodiumDiscriminatedConnectorConfig", + "ConnectorPodiumDiscriminatedConnectorConfigConfig", + "ConnectorPodiumDiscriminatedConnectorConfigConfigOAuth", + "ConnectorProductboardDiscriminatedConnectorConfig", + "ConnectorProductboardDiscriminatedConnectorConfigConfig", + "ConnectorProductboardDiscriminatedConnectorConfigConfigOAuth", + "ConnectorQualtricsDiscriminatedConnectorConfig", + "ConnectorQualtricsDiscriminatedConnectorConfigConfig", + "ConnectorQualtricsDiscriminatedConnectorConfigConfigOAuth", + "ConnectorQuickbooksDiscriminatedConnectorConfig", + "ConnectorQuickbooksDiscriminatedConnectorConfigConfig", + "ConnectorQuickbooksDiscriminatedConnectorConfigConfigOAuth", + "ConnectorRedditDiscriminatedConnectorConfig", + "ConnectorRedditDiscriminatedConnectorConfigConfig", + "ConnectorRedditDiscriminatedConnectorConfigConfigOAuth", + "ConnectorSageDiscriminatedConnectorConfig", + "ConnectorSageDiscriminatedConnectorConfigConfig", + "ConnectorSageDiscriminatedConnectorConfigConfigOAuth", + "ConnectorSalesforceDiscriminatedConnectorConfig", + "ConnectorSalesforceDiscriminatedConnectorConfigConfig", + "ConnectorSalesforceDiscriminatedConnectorConfigConfigOAuth", + "ConnectorSalesloftDiscriminatedConnectorConfig", + "ConnectorSalesloftDiscriminatedConnectorConfigConfig", + "ConnectorSalesloftDiscriminatedConnectorConfigConfigOAuth", + "ConnectorSegmentDiscriminatedConnectorConfig", + "ConnectorSegmentDiscriminatedConnectorConfigConfig", + "ConnectorSegmentDiscriminatedConnectorConfigConfigOAuth", + "ConnectorServicem8DiscriminatedConnectorConfig", + "ConnectorServicem8DiscriminatedConnectorConfigConfig", + "ConnectorServicem8DiscriminatedConnectorConfigConfigOAuth", + "ConnectorServicenowDiscriminatedConnectorConfig", + "ConnectorServicenowDiscriminatedConnectorConfigConfig", + "ConnectorServicenowDiscriminatedConnectorConfigConfigOAuth", + "ConnectorSharepointDiscriminatedConnectorConfig", + "ConnectorSharepointDiscriminatedConnectorConfigConfig", + "ConnectorSharepointDiscriminatedConnectorConfigConfigOAuth", + "ConnectorShopifyDiscriminatedConnectorConfig", + "ConnectorShopifyDiscriminatedConnectorConfigConfig", + "ConnectorShopifyDiscriminatedConnectorConfigConfigOAuth", + "ConnectorSignnowDiscriminatedConnectorConfig", + "ConnectorSignnowDiscriminatedConnectorConfigConfig", + "ConnectorSignnowDiscriminatedConnectorConfigConfigOAuth", + "ConnectorSlackDiscriminatedConnectorConfig", + "ConnectorSlackDiscriminatedConnectorConfigConfig", + "ConnectorSlackDiscriminatedConnectorConfigConfigOAuth", + "ConnectorSmartsheetDiscriminatedConnectorConfig", + "ConnectorSmartsheetDiscriminatedConnectorConfigConfig", + "ConnectorSmartsheetDiscriminatedConnectorConfigConfigOAuth", + "ConnectorSnowflakeDiscriminatedConnectorConfig", + "ConnectorSnowflakeDiscriminatedConnectorConfigConfig", + "ConnectorSnowflakeDiscriminatedConnectorConfigConfigOAuth", + "ConnectorSpotifyDiscriminatedConnectorConfig", + "ConnectorSpotifyDiscriminatedConnectorConfigConfig", + "ConnectorSpotifyDiscriminatedConnectorConfigConfigOAuth", + "ConnectorSquarespaceDiscriminatedConnectorConfig", + "ConnectorSquarespaceDiscriminatedConnectorConfigConfig", + "ConnectorSquarespaceDiscriminatedConnectorConfigConfigOAuth", + "ConnectorSquareupDiscriminatedConnectorConfig", + "ConnectorSquareupDiscriminatedConnectorConfigConfig", + "ConnectorSquareupDiscriminatedConnectorConfigConfigOAuth", + "ConnectorStackexchangeDiscriminatedConnectorConfig", + "ConnectorStackexchangeDiscriminatedConnectorConfigConfig", + "ConnectorStackexchangeDiscriminatedConnectorConfigConfigOAuth", + "ConnectorStravaDiscriminatedConnectorConfig", + "ConnectorStravaDiscriminatedConnectorConfigConfig", + "ConnectorStravaDiscriminatedConnectorConfigConfigOAuth", + "ConnectorTeamworkDiscriminatedConnectorConfig", + "ConnectorTeamworkDiscriminatedConnectorConfigConfig", + "ConnectorTeamworkDiscriminatedConnectorConfigConfigOAuth", + "ConnectorTicktickDiscriminatedConnectorConfig", + "ConnectorTicktickDiscriminatedConnectorConfigConfig", + "ConnectorTicktickDiscriminatedConnectorConfigConfigOAuth", + "ConnectorTimelyDiscriminatedConnectorConfig", + "ConnectorTimelyDiscriminatedConnectorConfigConfig", + "ConnectorTimelyDiscriminatedConnectorConfigConfigOAuth", + "ConnectorTodoistDiscriminatedConnectorConfig", + "ConnectorTodoistDiscriminatedConnectorConfigConfig", + "ConnectorTodoistDiscriminatedConnectorConfigConfigOAuth", + "ConnectorTremendousDiscriminatedConnectorConfig", + "ConnectorTremendousDiscriminatedConnectorConfigConfig", + "ConnectorTremendousDiscriminatedConnectorConfigConfigOAuth", + "ConnectorTsheetsteamDiscriminatedConnectorConfig", + "ConnectorTsheetsteamDiscriminatedConnectorConfigConfig", + "ConnectorTsheetsteamDiscriminatedConnectorConfigConfigOAuth", + "ConnectorTumblrDiscriminatedConnectorConfig", + "ConnectorTumblrDiscriminatedConnectorConfigConfig", + "ConnectorTumblrDiscriminatedConnectorConfigConfigOAuth", + "ConnectorTwinfieldDiscriminatedConnectorConfig", + "ConnectorTwinfieldDiscriminatedConnectorConfigConfig", + "ConnectorTwinfieldDiscriminatedConnectorConfigConfigOAuth", + "ConnectorTwitchDiscriminatedConnectorConfig", + "ConnectorTwitchDiscriminatedConnectorConfigConfig", + "ConnectorTwitchDiscriminatedConnectorConfigConfigOAuth", + "ConnectorTwitterDiscriminatedConnectorConfig", + "ConnectorTwitterDiscriminatedConnectorConfigConfig", + "ConnectorTwitterDiscriminatedConnectorConfigConfigOAuth", + "ConnectorTypeformDiscriminatedConnectorConfig", + "ConnectorTypeformDiscriminatedConnectorConfigConfig", + "ConnectorTypeformDiscriminatedConnectorConfigConfigOAuth", + "ConnectorUberDiscriminatedConnectorConfig", + "ConnectorUberDiscriminatedConnectorConfigConfig", + "ConnectorUberDiscriminatedConnectorConfigConfigOAuth", + "ConnectorVimeoDiscriminatedConnectorConfig", + "ConnectorVimeoDiscriminatedConnectorConfigConfig", + "ConnectorVimeoDiscriminatedConnectorConfigConfigOAuth", + "ConnectorWakatimeDiscriminatedConnectorConfig", + "ConnectorWakatimeDiscriminatedConnectorConfigConfig", + "ConnectorWakatimeDiscriminatedConnectorConfigConfigOAuth", + "ConnectorWealthboxDiscriminatedConnectorConfig", + "ConnectorWealthboxDiscriminatedConnectorConfigConfig", + "ConnectorWealthboxDiscriminatedConnectorConfigConfigOAuth", + "ConnectorWebflowDiscriminatedConnectorConfig", + "ConnectorWebflowDiscriminatedConnectorConfigConfig", + "ConnectorWebflowDiscriminatedConnectorConfigConfigOAuth", + "ConnectorWhoopDiscriminatedConnectorConfig", + "ConnectorWhoopDiscriminatedConnectorConfigConfig", + "ConnectorWhoopDiscriminatedConnectorConfigConfigOAuth", + "ConnectorWordpressDiscriminatedConnectorConfig", + "ConnectorWordpressDiscriminatedConnectorConfigConfig", + "ConnectorWordpressDiscriminatedConnectorConfigConfigOAuth", + "ConnectorWrikeDiscriminatedConnectorConfig", + "ConnectorWrikeDiscriminatedConnectorConfigConfig", + "ConnectorWrikeDiscriminatedConnectorConfigConfigOAuth", + "ConnectorXeroDiscriminatedConnectorConfig", + "ConnectorXeroDiscriminatedConnectorConfigConfig", + "ConnectorXeroDiscriminatedConnectorConfigConfigOAuth", + "ConnectorYahooDiscriminatedConnectorConfig", + "ConnectorYahooDiscriminatedConnectorConfigConfig", + "ConnectorYahooDiscriminatedConnectorConfigConfigOAuth", + "ConnectorYandexDiscriminatedConnectorConfig", + "ConnectorYandexDiscriminatedConnectorConfigConfig", + "ConnectorYandexDiscriminatedConnectorConfigConfigOAuth", + "ConnectorZapierDiscriminatedConnectorConfig", + "ConnectorZapierDiscriminatedConnectorConfigConfig", + "ConnectorZapierDiscriminatedConnectorConfigConfigOAuth", + "ConnectorZendeskDiscriminatedConnectorConfig", + "ConnectorZendeskDiscriminatedConnectorConfigConfig", + "ConnectorZendeskDiscriminatedConnectorConfigConfigOAuth", + "ConnectorZenefitsDiscriminatedConnectorConfig", + "ConnectorZenefitsDiscriminatedConnectorConfigConfig", + "ConnectorZenefitsDiscriminatedConnectorConfigConfigOAuth", + "ConnectorZohoDeskDiscriminatedConnectorConfig", + "ConnectorZohoDeskDiscriminatedConnectorConfigConfig", + "ConnectorZohoDeskDiscriminatedConnectorConfigConfigOAuth", + "ConnectorZohoDiscriminatedConnectorConfig", + "ConnectorZohoDiscriminatedConnectorConfigConfig", + "ConnectorZohoDiscriminatedConnectorConfigConfigOAuth", + "ConnectorZoomDiscriminatedConnectorConfig", + "ConnectorZoomDiscriminatedConnectorConfigConfig", + "ConnectorZoomDiscriminatedConnectorConfigConfigOAuth", + "ConnectorAirtableDiscriminatedConnectorConfig", + "ConnectorApolloDiscriminatedConnectorConfig", + "ConnectorBrexDiscriminatedConnectorConfig", + "ConnectorBrexDiscriminatedConnectorConfigConfig", + "ConnectorBrexDiscriminatedConnectorConfigConfigOAuth", + "ConnectorCodaDiscriminatedConnectorConfig", + "ConnectorFinchDiscriminatedConnectorConfig", + "ConnectorFinchDiscriminatedConnectorConfigConfig", + "ConnectorFirebaseDiscriminatedConnectorConfig", + "ConnectorForeceiptDiscriminatedConnectorConfig", + "ConnectorGreenhouseDiscriminatedConnectorConfig", + "ConnectorHeronDiscriminatedConnectorConfig", + "ConnectorHeronDiscriminatedConnectorConfigConfig", + "ConnectorLunchmoneyDiscriminatedConnectorConfig", + "ConnectorLunchmoneyDiscriminatedConnectorConfigConfig", + "ConnectorMercuryDiscriminatedConnectorConfig", + "ConnectorMercuryDiscriminatedConnectorConfigConfig", + "ConnectorMercuryDiscriminatedConnectorConfigConfigOAuth", + "ConnectorMergeDiscriminatedConnectorConfig", + "ConnectorMergeDiscriminatedConnectorConfigConfig", + "ConnectorMootaDiscriminatedConnectorConfig", + "ConnectorMootaDiscriminatedConnectorConfigConfig", + "ConnectorOnebrickDiscriminatedConnectorConfig", + "ConnectorOnebrickDiscriminatedConnectorConfigConfig", + "ConnectorOpenledgerDiscriminatedConnectorConfig", + "ConnectorOpenledgerDiscriminatedConnectorConfigConfig", + "ConnectorPlaidDiscriminatedConnectorConfig", + "ConnectorPlaidDiscriminatedConnectorConfigConfig", + "ConnectorPlaidDiscriminatedConnectorConfigConfigCredentials", + "ConnectorPostgresDiscriminatedConnectorConfig", + "ConnectorRampDiscriminatedConnectorConfig", + "ConnectorRampDiscriminatedConnectorConfigConfig", + "ConnectorRampDiscriminatedConnectorConfigConfigOAuth", + "ConnectorSaltedgeDiscriminatedConnectorConfig", + "ConnectorSaltedgeDiscriminatedConnectorConfigConfig", + "ConnectorSharepointOnpremDiscriminatedConnectorConfig", + "ConnectorSplitwiseDiscriminatedConnectorConfig", + "ConnectorStripeDiscriminatedConnectorConfig", + "ConnectorStripeDiscriminatedConnectorConfigConfig", + "ConnectorStripeDiscriminatedConnectorConfigConfigOAuth", + "ConnectorTellerDiscriminatedConnectorConfig", + "ConnectorTellerDiscriminatedConnectorConfigConfig", + "ConnectorTogglDiscriminatedConnectorConfig", + "ConnectorTwentyDiscriminatedConnectorConfig", + "ConnectorVenmoDiscriminatedConnectorConfig", + "ConnectorVenmoDiscriminatedConnectorConfigConfig", + "ConnectorVenmoDiscriminatedConnectorConfigConfigProxy", + "ConnectorWiseDiscriminatedConnectorConfig", + "ConnectorYodleeDiscriminatedConnectorConfig", + "ConnectorYodleeDiscriminatedConnectorConfigConfig", + "ConnectorYodleeDiscriminatedConnectorConfigConfigProxy", +] + + +class ConnectorAcceloDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorAcceloDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorAcceloDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorAcceloDiscriminatedConnectorConfig(BaseModel): + config: ConnectorAcceloDiscriminatedConnectorConfigConfig + + connector_name: Literal["accelo"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorAcmeApikeyDiscriminatedConnectorConfig(BaseModel): + config: object + """Base configuration for api key connector""" + + connector_name: Literal["acme-apikey"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorAcmeOauth2DiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorAcmeOauth2DiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorAcmeOauth2DiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorAcmeOauth2DiscriminatedConnectorConfig(BaseModel): + config: ConnectorAcmeOauth2DiscriminatedConnectorConfigConfig + + connector_name: Literal["acme-oauth2"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorAdobeDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorAdobeDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorAdobeDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorAdobeDiscriminatedConnectorConfig(BaseModel): + config: ConnectorAdobeDiscriminatedConnectorConfigConfig + + connector_name: Literal["adobe"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorAdyenDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorAdyenDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorAdyenDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorAdyenDiscriminatedConnectorConfig(BaseModel): + config: ConnectorAdyenDiscriminatedConnectorConfigConfig + + connector_name: Literal["adyen"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorAircallDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorAircallDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorAircallDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorAircallDiscriminatedConnectorConfig(BaseModel): + config: ConnectorAircallDiscriminatedConnectorConfigConfig + + connector_name: Literal["aircall"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorAmazonDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorAmazonDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorAmazonDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorAmazonDiscriminatedConnectorConfig(BaseModel): + config: ConnectorAmazonDiscriminatedConnectorConfigConfig + + connector_name: Literal["amazon"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorApaleoDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorApaleoDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorApaleoDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorApaleoDiscriminatedConnectorConfig(BaseModel): + config: ConnectorApaleoDiscriminatedConnectorConfigConfig + + connector_name: Literal["apaleo"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorAsanaDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorAsanaDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorAsanaDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorAsanaDiscriminatedConnectorConfig(BaseModel): + config: ConnectorAsanaDiscriminatedConnectorConfigConfig + + connector_name: Literal["asana"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorAttioDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorAttioDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorAttioDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorAttioDiscriminatedConnectorConfig(BaseModel): + config: ConnectorAttioDiscriminatedConnectorConfigConfig + + connector_name: Literal["attio"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorAuth0DiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorAuth0DiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorAuth0DiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorAuth0DiscriminatedConnectorConfig(BaseModel): + config: ConnectorAuth0DiscriminatedConnectorConfigConfig + + connector_name: Literal["auth0"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorAutodeskDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorAutodeskDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorAutodeskDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorAutodeskDiscriminatedConnectorConfig(BaseModel): + config: ConnectorAutodeskDiscriminatedConnectorConfigConfig + + connector_name: Literal["autodesk"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorAwsDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorAwsDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorAwsDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorAwsDiscriminatedConnectorConfig(BaseModel): + config: ConnectorAwsDiscriminatedConnectorConfigConfig + + connector_name: Literal["aws"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorBamboohrDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorBamboohrDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorBamboohrDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorBamboohrDiscriminatedConnectorConfig(BaseModel): + config: ConnectorBamboohrDiscriminatedConnectorConfigConfig + + connector_name: Literal["bamboohr"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorBasecampDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorBasecampDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorBasecampDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorBasecampDiscriminatedConnectorConfig(BaseModel): + config: ConnectorBasecampDiscriminatedConnectorConfigConfig + + connector_name: Literal["basecamp"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorBattlenetDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorBattlenetDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorBattlenetDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorBattlenetDiscriminatedConnectorConfig(BaseModel): + config: ConnectorBattlenetDiscriminatedConnectorConfigConfig + + connector_name: Literal["battlenet"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorBigcommerceDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorBigcommerceDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorBigcommerceDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorBigcommerceDiscriminatedConnectorConfig(BaseModel): + config: ConnectorBigcommerceDiscriminatedConnectorConfigConfig + + connector_name: Literal["bigcommerce"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorBitbucketDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorBitbucketDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorBitbucketDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorBitbucketDiscriminatedConnectorConfig(BaseModel): + config: ConnectorBitbucketDiscriminatedConnectorConfigConfig + + connector_name: Literal["bitbucket"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorBitlyDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorBitlyDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorBitlyDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorBitlyDiscriminatedConnectorConfig(BaseModel): + config: ConnectorBitlyDiscriminatedConnectorConfigConfig + + connector_name: Literal["bitly"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorBlackbaudDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorBlackbaudDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorBlackbaudDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorBlackbaudDiscriminatedConnectorConfig(BaseModel): + config: ConnectorBlackbaudDiscriminatedConnectorConfigConfig + + connector_name: Literal["blackbaud"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorBoldsignDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorBoldsignDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorBoldsignDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorBoldsignDiscriminatedConnectorConfig(BaseModel): + config: ConnectorBoldsignDiscriminatedConnectorConfigConfig + + connector_name: Literal["boldsign"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorBoxDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorBoxDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorBoxDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorBoxDiscriminatedConnectorConfig(BaseModel): + config: ConnectorBoxDiscriminatedConnectorConfigConfig + + connector_name: Literal["box"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorBraintreeDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorBraintreeDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorBraintreeDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorBraintreeDiscriminatedConnectorConfig(BaseModel): + config: ConnectorBraintreeDiscriminatedConnectorConfigConfig + + connector_name: Literal["braintree"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorCalendlyDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorCalendlyDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorCalendlyDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorCalendlyDiscriminatedConnectorConfig(BaseModel): + config: ConnectorCalendlyDiscriminatedConnectorConfigConfig + + connector_name: Literal["calendly"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorClickupDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorClickupDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorClickupDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorClickupDiscriminatedConnectorConfig(BaseModel): + config: ConnectorClickupDiscriminatedConnectorConfigConfig + + connector_name: Literal["clickup"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorCloseDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorCloseDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorCloseDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorCloseDiscriminatedConnectorConfig(BaseModel): + config: ConnectorCloseDiscriminatedConnectorConfigConfig + + connector_name: Literal["close"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorConfluenceDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorConfluenceDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorConfluenceDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorConfluenceDiscriminatedConnectorConfig(BaseModel): + config: ConnectorConfluenceDiscriminatedConnectorConfigConfig + + connector_name: Literal["confluence"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorContentfulDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorContentfulDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorContentfulDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorContentfulDiscriminatedConnectorConfig(BaseModel): + config: ConnectorContentfulDiscriminatedConnectorConfigConfig + + connector_name: Literal["contentful"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorContentstackDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorContentstackDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorContentstackDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorContentstackDiscriminatedConnectorConfig(BaseModel): + config: ConnectorContentstackDiscriminatedConnectorConfigConfig + + connector_name: Literal["contentstack"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorCopperDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorCopperDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorCopperDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorCopperDiscriminatedConnectorConfig(BaseModel): + config: ConnectorCopperDiscriminatedConnectorConfigConfig + + connector_name: Literal["copper"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorCorosDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorCorosDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorCorosDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorCorosDiscriminatedConnectorConfig(BaseModel): + config: ConnectorCorosDiscriminatedConnectorConfigConfig + + connector_name: Literal["coros"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorDatevDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorDatevDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorDatevDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorDatevDiscriminatedConnectorConfig(BaseModel): + config: ConnectorDatevDiscriminatedConnectorConfigConfig + + connector_name: Literal["datev"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorDeelDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorDeelDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorDeelDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorDeelDiscriminatedConnectorConfig(BaseModel): + config: ConnectorDeelDiscriminatedConnectorConfigConfig + + connector_name: Literal["deel"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorDialpadDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorDialpadDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorDialpadDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorDialpadDiscriminatedConnectorConfig(BaseModel): + config: ConnectorDialpadDiscriminatedConnectorConfigConfig + + connector_name: Literal["dialpad"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorDigitaloceanDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorDigitaloceanDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorDigitaloceanDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorDigitaloceanDiscriminatedConnectorConfig(BaseModel): + config: ConnectorDigitaloceanDiscriminatedConnectorConfigConfig + + connector_name: Literal["digitalocean"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorDiscordDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorDiscordDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorDiscordDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorDiscordDiscriminatedConnectorConfig(BaseModel): + config: ConnectorDiscordDiscriminatedConnectorConfigConfig + + connector_name: Literal["discord"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorDocusignDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorDocusignDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorDocusignDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorDocusignDiscriminatedConnectorConfig(BaseModel): + config: ConnectorDocusignDiscriminatedConnectorConfigConfig + + connector_name: Literal["docusign"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorDropboxDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorDropboxDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorDropboxDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorDropboxDiscriminatedConnectorConfig(BaseModel): + config: ConnectorDropboxDiscriminatedConnectorConfigConfig + + connector_name: Literal["dropbox"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorEbayDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorEbayDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorEbayDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorEbayDiscriminatedConnectorConfig(BaseModel): + config: ConnectorEbayDiscriminatedConnectorConfigConfig + + connector_name: Literal["ebay"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorEgnyteDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorEgnyteDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorEgnyteDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorEgnyteDiscriminatedConnectorConfig(BaseModel): + config: ConnectorEgnyteDiscriminatedConnectorConfigConfig + + connector_name: Literal["egnyte"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorEnvoyDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorEnvoyDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorEnvoyDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorEnvoyDiscriminatedConnectorConfig(BaseModel): + config: ConnectorEnvoyDiscriminatedConnectorConfigConfig + + connector_name: Literal["envoy"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorEventbriteDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorEventbriteDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorEventbriteDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorEventbriteDiscriminatedConnectorConfig(BaseModel): + config: ConnectorEventbriteDiscriminatedConnectorConfigConfig + + connector_name: Literal["eventbrite"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorExistDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorExistDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorExistDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorExistDiscriminatedConnectorConfig(BaseModel): + config: ConnectorExistDiscriminatedConnectorConfigConfig + + connector_name: Literal["exist"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorFacebookDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorFacebookDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorFacebookDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorFacebookDiscriminatedConnectorConfig(BaseModel): + config: ConnectorFacebookDiscriminatedConnectorConfigConfig + + connector_name: Literal["facebook"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorFactorialDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorFactorialDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorFactorialDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorFactorialDiscriminatedConnectorConfig(BaseModel): + config: ConnectorFactorialDiscriminatedConnectorConfigConfig + + connector_name: Literal["factorial"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorFigmaDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorFigmaDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorFigmaDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorFigmaDiscriminatedConnectorConfig(BaseModel): + config: ConnectorFigmaDiscriminatedConnectorConfigConfig + + connector_name: Literal["figma"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorFitbitDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorFitbitDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorFitbitDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorFitbitDiscriminatedConnectorConfig(BaseModel): + config: ConnectorFitbitDiscriminatedConnectorConfigConfig + + connector_name: Literal["fitbit"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorFortnoxDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorFortnoxDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorFortnoxDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorFortnoxDiscriminatedConnectorConfig(BaseModel): + config: ConnectorFortnoxDiscriminatedConnectorConfigConfig + + connector_name: Literal["fortnox"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorFreshbooksDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorFreshbooksDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorFreshbooksDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorFreshbooksDiscriminatedConnectorConfig(BaseModel): + config: ConnectorFreshbooksDiscriminatedConnectorConfigConfig + + connector_name: Literal["freshbooks"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorFrontDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorFrontDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorFrontDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorFrontDiscriminatedConnectorConfig(BaseModel): + config: ConnectorFrontDiscriminatedConnectorConfigConfig + + connector_name: Literal["front"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorGitHubDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorGitHubDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorGitHubDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorGitHubDiscriminatedConnectorConfig(BaseModel): + config: ConnectorGitHubDiscriminatedConnectorConfigConfig + + connector_name: Literal["github"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorGitlabDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorGitlabDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorGitlabDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorGitlabDiscriminatedConnectorConfig(BaseModel): + config: ConnectorGitlabDiscriminatedConnectorConfigConfig + + connector_name: Literal["gitlab"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorGongDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorGongDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorGongDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorGongDiscriminatedConnectorConfig(BaseModel): + config: ConnectorGongDiscriminatedConnectorConfigConfig + + connector_name: Literal["gong"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorGoogleCalendarDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorGoogleCalendarDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorGoogleCalendarDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorGoogleCalendarDiscriminatedConnectorConfig(BaseModel): + config: ConnectorGoogleCalendarDiscriminatedConnectorConfigConfig + + connector_name: Literal["google-calendar"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorGoogleDocsDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorGoogleDocsDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorGoogleDocsDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorGoogleDocsDiscriminatedConnectorConfig(BaseModel): + config: ConnectorGoogleDocsDiscriminatedConnectorConfigConfig + + connector_name: Literal["google-docs"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorGoogleDriveDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorGoogleDriveDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorGoogleDriveDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorGoogleDriveDiscriminatedConnectorConfig(BaseModel): + config: ConnectorGoogleDriveDiscriminatedConnectorConfigConfig + + connector_name: Literal["google-drive"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorGoogleMailDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorGoogleMailDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorGoogleMailDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorGoogleMailDiscriminatedConnectorConfig(BaseModel): + config: ConnectorGoogleMailDiscriminatedConnectorConfigConfig + + connector_name: Literal["google-mail"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorGoogleSheetDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorGoogleSheetDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorGoogleSheetDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorGoogleSheetDiscriminatedConnectorConfig(BaseModel): + config: ConnectorGoogleSheetDiscriminatedConnectorConfigConfig + + connector_name: Literal["google-sheet"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorGorgiasDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorGorgiasDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorGorgiasDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorGorgiasDiscriminatedConnectorConfig(BaseModel): + config: ConnectorGorgiasDiscriminatedConnectorConfigConfig + + connector_name: Literal["gorgias"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorGrainDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorGrainDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorGrainDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorGrainDiscriminatedConnectorConfig(BaseModel): + config: ConnectorGrainDiscriminatedConnectorConfigConfig + + connector_name: Literal["grain"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorGumroadDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorGumroadDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorGumroadDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorGumroadDiscriminatedConnectorConfig(BaseModel): + config: ConnectorGumroadDiscriminatedConnectorConfigConfig + + connector_name: Literal["gumroad"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorGustoDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorGustoDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorGustoDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorGustoDiscriminatedConnectorConfig(BaseModel): + config: ConnectorGustoDiscriminatedConnectorConfigConfig + + connector_name: Literal["gusto"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorHarvestDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorHarvestDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorHarvestDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorHarvestDiscriminatedConnectorConfig(BaseModel): + config: ConnectorHarvestDiscriminatedConnectorConfigConfig + + connector_name: Literal["harvest"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorHighlevelDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorHighlevelDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorHighlevelDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorHighlevelDiscriminatedConnectorConfig(BaseModel): + config: ConnectorHighlevelDiscriminatedConnectorConfigConfig + + connector_name: Literal["highlevel"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorHubspotDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorHubspotDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorHubspotDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorHubspotDiscriminatedConnectorConfig(BaseModel): + config: ConnectorHubspotDiscriminatedConnectorConfigConfig + + connector_name: Literal["hubspot"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorInstagramDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorInstagramDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorInstagramDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorInstagramDiscriminatedConnectorConfig(BaseModel): + config: ConnectorInstagramDiscriminatedConnectorConfigConfig + + connector_name: Literal["instagram"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorIntercomDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorIntercomDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorIntercomDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorIntercomDiscriminatedConnectorConfig(BaseModel): + config: ConnectorIntercomDiscriminatedConnectorConfigConfig + + connector_name: Literal["intercom"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorJiraDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorJiraDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorJiraDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorJiraDiscriminatedConnectorConfig(BaseModel): + config: ConnectorJiraDiscriminatedConnectorConfigConfig + + connector_name: Literal["jira"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorKeapDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorKeapDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorKeapDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorKeapDiscriminatedConnectorConfig(BaseModel): + config: ConnectorKeapDiscriminatedConnectorConfigConfig + + connector_name: Literal["keap"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorLeverDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorLeverDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorLeverDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorLeverDiscriminatedConnectorConfig(BaseModel): + config: ConnectorLeverDiscriminatedConnectorConfigConfig + + connector_name: Literal["lever"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorLinearDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorLinearDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorLinearDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorLinearDiscriminatedConnectorConfig(BaseModel): + config: ConnectorLinearDiscriminatedConnectorConfigConfig + + connector_name: Literal["linear"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorLinkedinDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorLinkedinDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorLinkedinDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorLinkedinDiscriminatedConnectorConfig(BaseModel): + config: ConnectorLinkedinDiscriminatedConnectorConfigConfig + + connector_name: Literal["linkedin"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorLinkhutDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorLinkhutDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorLinkhutDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorLinkhutDiscriminatedConnectorConfig(BaseModel): + config: ConnectorLinkhutDiscriminatedConnectorConfigConfig + + connector_name: Literal["linkhut"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorMailchimpDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorMailchimpDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorMailchimpDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorMailchimpDiscriminatedConnectorConfig(BaseModel): + config: ConnectorMailchimpDiscriminatedConnectorConfigConfig + + connector_name: Literal["mailchimp"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorMiroDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorMiroDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorMiroDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorMiroDiscriminatedConnectorConfig(BaseModel): + config: ConnectorMiroDiscriminatedConnectorConfigConfig + + connector_name: Literal["miro"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorMondayDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorMondayDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorMondayDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorMondayDiscriminatedConnectorConfig(BaseModel): + config: ConnectorMondayDiscriminatedConnectorConfigConfig + + connector_name: Literal["monday"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorMuralDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorMuralDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorMuralDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorMuralDiscriminatedConnectorConfig(BaseModel): + config: ConnectorMuralDiscriminatedConnectorConfigConfig + + connector_name: Literal["mural"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorNamelyDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorNamelyDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorNamelyDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorNamelyDiscriminatedConnectorConfig(BaseModel): + config: ConnectorNamelyDiscriminatedConnectorConfigConfig + + connector_name: Literal["namely"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorNationbuilderDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorNationbuilderDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorNationbuilderDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorNationbuilderDiscriminatedConnectorConfig(BaseModel): + config: ConnectorNationbuilderDiscriminatedConnectorConfigConfig + + connector_name: Literal["nationbuilder"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorNetsuiteDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorNetsuiteDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorNetsuiteDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorNetsuiteDiscriminatedConnectorConfig(BaseModel): + config: ConnectorNetsuiteDiscriminatedConnectorConfigConfig + + connector_name: Literal["netsuite"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorNotionDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorNotionDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorNotionDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorNotionDiscriminatedConnectorConfig(BaseModel): + config: ConnectorNotionDiscriminatedConnectorConfigConfig + + connector_name: Literal["notion"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorOdooDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorOdooDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorOdooDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorOdooDiscriminatedConnectorConfig(BaseModel): + config: ConnectorOdooDiscriminatedConnectorConfigConfig + + connector_name: Literal["odoo"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorOktaDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorOktaDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorOktaDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorOktaDiscriminatedConnectorConfig(BaseModel): + config: ConnectorOktaDiscriminatedConnectorConfigConfig + + connector_name: Literal["okta"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorOsuDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorOsuDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorOsuDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorOsuDiscriminatedConnectorConfig(BaseModel): + config: ConnectorOsuDiscriminatedConnectorConfigConfig + + connector_name: Literal["osu"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorOuraDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorOuraDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorOuraDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorOuraDiscriminatedConnectorConfig(BaseModel): + config: ConnectorOuraDiscriminatedConnectorConfigConfig + + connector_name: Literal["oura"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorOutreachDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorOutreachDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorOutreachDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorOutreachDiscriminatedConnectorConfig(BaseModel): + config: ConnectorOutreachDiscriminatedConnectorConfigConfig + + connector_name: Literal["outreach"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorPagerdutyDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorPagerdutyDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorPagerdutyDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorPagerdutyDiscriminatedConnectorConfig(BaseModel): + config: ConnectorPagerdutyDiscriminatedConnectorConfigConfig + + connector_name: Literal["pagerduty"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorPandadocDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorPandadocDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorPandadocDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorPandadocDiscriminatedConnectorConfig(BaseModel): + config: ConnectorPandadocDiscriminatedConnectorConfigConfig + + connector_name: Literal["pandadoc"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorPayfitDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorPayfitDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorPayfitDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorPayfitDiscriminatedConnectorConfig(BaseModel): + config: ConnectorPayfitDiscriminatedConnectorConfigConfig + + connector_name: Literal["payfit"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorPaypalDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorPaypalDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorPaypalDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorPaypalDiscriminatedConnectorConfig(BaseModel): + config: ConnectorPaypalDiscriminatedConnectorConfigConfig + + connector_name: Literal["paypal"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorPennylaneDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorPennylaneDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorPennylaneDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorPennylaneDiscriminatedConnectorConfig(BaseModel): + config: ConnectorPennylaneDiscriminatedConnectorConfigConfig + + connector_name: Literal["pennylane"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorPinterestDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorPinterestDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorPinterestDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorPinterestDiscriminatedConnectorConfig(BaseModel): + config: ConnectorPinterestDiscriminatedConnectorConfigConfig + + connector_name: Literal["pinterest"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorPipedriveDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorPipedriveDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorPipedriveDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorPipedriveDiscriminatedConnectorConfig(BaseModel): + config: ConnectorPipedriveDiscriminatedConnectorConfigConfig + + connector_name: Literal["pipedrive"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorPodiumDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorPodiumDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorPodiumDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorPodiumDiscriminatedConnectorConfig(BaseModel): + config: ConnectorPodiumDiscriminatedConnectorConfigConfig + + connector_name: Literal["podium"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorProductboardDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorProductboardDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorProductboardDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorProductboardDiscriminatedConnectorConfig(BaseModel): + config: ConnectorProductboardDiscriminatedConnectorConfigConfig + + connector_name: Literal["productboard"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorQualtricsDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorQualtricsDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorQualtricsDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorQualtricsDiscriminatedConnectorConfig(BaseModel): + config: ConnectorQualtricsDiscriminatedConnectorConfigConfig + + connector_name: Literal["qualtrics"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorQuickbooksDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorQuickbooksDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorQuickbooksDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorQuickbooksDiscriminatedConnectorConfig(BaseModel): + config: ConnectorQuickbooksDiscriminatedConnectorConfigConfig + + connector_name: Literal["quickbooks"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorRedditDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorRedditDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorRedditDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorRedditDiscriminatedConnectorConfig(BaseModel): + config: ConnectorRedditDiscriminatedConnectorConfigConfig + + connector_name: Literal["reddit"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorSageDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorSageDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorSageDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorSageDiscriminatedConnectorConfig(BaseModel): + config: ConnectorSageDiscriminatedConnectorConfigConfig + + connector_name: Literal["sage"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorSalesforceDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorSalesforceDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorSalesforceDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorSalesforceDiscriminatedConnectorConfig(BaseModel): + config: ConnectorSalesforceDiscriminatedConnectorConfigConfig + + connector_name: Literal["salesforce"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorSalesloftDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorSalesloftDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorSalesloftDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorSalesloftDiscriminatedConnectorConfig(BaseModel): + config: ConnectorSalesloftDiscriminatedConnectorConfigConfig + + connector_name: Literal["salesloft"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorSegmentDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorSegmentDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorSegmentDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorSegmentDiscriminatedConnectorConfig(BaseModel): + config: ConnectorSegmentDiscriminatedConnectorConfigConfig + + connector_name: Literal["segment"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorServicem8DiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorServicem8DiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorServicem8DiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorServicem8DiscriminatedConnectorConfig(BaseModel): + config: ConnectorServicem8DiscriminatedConnectorConfigConfig + + connector_name: Literal["servicem8"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorServicenowDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorServicenowDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorServicenowDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorServicenowDiscriminatedConnectorConfig(BaseModel): + config: ConnectorServicenowDiscriminatedConnectorConfigConfig + + connector_name: Literal["servicenow"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorSharepointDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorSharepointDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorSharepointDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorSharepointDiscriminatedConnectorConfig(BaseModel): + config: ConnectorSharepointDiscriminatedConnectorConfigConfig + + connector_name: Literal["sharepoint"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorShopifyDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorShopifyDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorShopifyDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorShopifyDiscriminatedConnectorConfig(BaseModel): + config: ConnectorShopifyDiscriminatedConnectorConfigConfig + + connector_name: Literal["shopify"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorSignnowDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorSignnowDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorSignnowDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorSignnowDiscriminatedConnectorConfig(BaseModel): + config: ConnectorSignnowDiscriminatedConnectorConfigConfig + + connector_name: Literal["signnow"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorSlackDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorSlackDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorSlackDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorSlackDiscriminatedConnectorConfig(BaseModel): + config: ConnectorSlackDiscriminatedConnectorConfigConfig + + connector_name: Literal["slack"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorSmartsheetDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorSmartsheetDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorSmartsheetDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorSmartsheetDiscriminatedConnectorConfig(BaseModel): + config: ConnectorSmartsheetDiscriminatedConnectorConfigConfig + + connector_name: Literal["smartsheet"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorSnowflakeDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorSnowflakeDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorSnowflakeDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorSnowflakeDiscriminatedConnectorConfig(BaseModel): + config: ConnectorSnowflakeDiscriminatedConnectorConfigConfig + + connector_name: Literal["snowflake"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorSpotifyDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorSpotifyDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorSpotifyDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorSpotifyDiscriminatedConnectorConfig(BaseModel): + config: ConnectorSpotifyDiscriminatedConnectorConfigConfig + + connector_name: Literal["spotify"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorSquarespaceDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorSquarespaceDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorSquarespaceDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorSquarespaceDiscriminatedConnectorConfig(BaseModel): + config: ConnectorSquarespaceDiscriminatedConnectorConfigConfig + + connector_name: Literal["squarespace"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorSquareupDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorSquareupDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorSquareupDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorSquareupDiscriminatedConnectorConfig(BaseModel): + config: ConnectorSquareupDiscriminatedConnectorConfigConfig + + connector_name: Literal["squareup"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorStackexchangeDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorStackexchangeDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorStackexchangeDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorStackexchangeDiscriminatedConnectorConfig(BaseModel): + config: ConnectorStackexchangeDiscriminatedConnectorConfigConfig + + connector_name: Literal["stackexchange"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorStravaDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorStravaDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorStravaDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorStravaDiscriminatedConnectorConfig(BaseModel): + config: ConnectorStravaDiscriminatedConnectorConfigConfig + + connector_name: Literal["strava"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorTeamworkDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorTeamworkDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorTeamworkDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorTeamworkDiscriminatedConnectorConfig(BaseModel): + config: ConnectorTeamworkDiscriminatedConnectorConfigConfig + + connector_name: Literal["teamwork"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorTicktickDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorTicktickDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorTicktickDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorTicktickDiscriminatedConnectorConfig(BaseModel): + config: ConnectorTicktickDiscriminatedConnectorConfigConfig + + connector_name: Literal["ticktick"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorTimelyDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorTimelyDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorTimelyDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorTimelyDiscriminatedConnectorConfig(BaseModel): + config: ConnectorTimelyDiscriminatedConnectorConfigConfig + + connector_name: Literal["timely"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorTodoistDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorTodoistDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorTodoistDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorTodoistDiscriminatedConnectorConfig(BaseModel): + config: ConnectorTodoistDiscriminatedConnectorConfigConfig + + connector_name: Literal["todoist"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorTremendousDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorTremendousDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorTremendousDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorTremendousDiscriminatedConnectorConfig(BaseModel): + config: ConnectorTremendousDiscriminatedConnectorConfigConfig + + connector_name: Literal["tremendous"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorTsheetsteamDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorTsheetsteamDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorTsheetsteamDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorTsheetsteamDiscriminatedConnectorConfig(BaseModel): + config: ConnectorTsheetsteamDiscriminatedConnectorConfigConfig + + connector_name: Literal["tsheetsteam"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorTumblrDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorTumblrDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorTumblrDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorTumblrDiscriminatedConnectorConfig(BaseModel): + config: ConnectorTumblrDiscriminatedConnectorConfigConfig + + connector_name: Literal["tumblr"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorTwinfieldDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorTwinfieldDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorTwinfieldDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorTwinfieldDiscriminatedConnectorConfig(BaseModel): + config: ConnectorTwinfieldDiscriminatedConnectorConfigConfig + + connector_name: Literal["twinfield"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorTwitchDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorTwitchDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorTwitchDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorTwitchDiscriminatedConnectorConfig(BaseModel): + config: ConnectorTwitchDiscriminatedConnectorConfigConfig + + connector_name: Literal["twitch"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorTwitterDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorTwitterDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorTwitterDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorTwitterDiscriminatedConnectorConfig(BaseModel): + config: ConnectorTwitterDiscriminatedConnectorConfigConfig + + connector_name: Literal["twitter"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorTypeformDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorTypeformDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorTypeformDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorTypeformDiscriminatedConnectorConfig(BaseModel): + config: ConnectorTypeformDiscriminatedConnectorConfigConfig + + connector_name: Literal["typeform"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorUberDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorUberDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorUberDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorUberDiscriminatedConnectorConfig(BaseModel): + config: ConnectorUberDiscriminatedConnectorConfigConfig + + connector_name: Literal["uber"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorVimeoDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorVimeoDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorVimeoDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorVimeoDiscriminatedConnectorConfig(BaseModel): + config: ConnectorVimeoDiscriminatedConnectorConfigConfig + + connector_name: Literal["vimeo"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorWakatimeDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorWakatimeDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorWakatimeDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorWakatimeDiscriminatedConnectorConfig(BaseModel): + config: ConnectorWakatimeDiscriminatedConnectorConfigConfig + + connector_name: Literal["wakatime"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorWealthboxDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorWealthboxDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorWealthboxDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorWealthboxDiscriminatedConnectorConfig(BaseModel): + config: ConnectorWealthboxDiscriminatedConnectorConfigConfig + + connector_name: Literal["wealthbox"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorWebflowDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorWebflowDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorWebflowDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorWebflowDiscriminatedConnectorConfig(BaseModel): + config: ConnectorWebflowDiscriminatedConnectorConfigConfig + + connector_name: Literal["webflow"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorWhoopDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorWhoopDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorWhoopDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorWhoopDiscriminatedConnectorConfig(BaseModel): + config: ConnectorWhoopDiscriminatedConnectorConfigConfig + + connector_name: Literal["whoop"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorWordpressDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorWordpressDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorWordpressDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorWordpressDiscriminatedConnectorConfig(BaseModel): + config: ConnectorWordpressDiscriminatedConnectorConfigConfig + + connector_name: Literal["wordpress"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorWrikeDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorWrikeDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorWrikeDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorWrikeDiscriminatedConnectorConfig(BaseModel): + config: ConnectorWrikeDiscriminatedConnectorConfigConfig + + connector_name: Literal["wrike"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorXeroDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorXeroDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorXeroDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorXeroDiscriminatedConnectorConfig(BaseModel): + config: ConnectorXeroDiscriminatedConnectorConfigConfig + + connector_name: Literal["xero"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorYahooDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorYahooDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorYahooDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorYahooDiscriminatedConnectorConfig(BaseModel): + config: ConnectorYahooDiscriminatedConnectorConfigConfig + + connector_name: Literal["yahoo"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorYandexDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorYandexDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorYandexDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorYandexDiscriminatedConnectorConfig(BaseModel): + config: ConnectorYandexDiscriminatedConnectorConfigConfig + + connector_name: Literal["yandex"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorZapierDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorZapierDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorZapierDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorZapierDiscriminatedConnectorConfig(BaseModel): + config: ConnectorZapierDiscriminatedConnectorConfigConfig + + connector_name: Literal["zapier"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorZendeskDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorZendeskDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorZendeskDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorZendeskDiscriminatedConnectorConfig(BaseModel): + config: ConnectorZendeskDiscriminatedConnectorConfigConfig + + connector_name: Literal["zendesk"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorZenefitsDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorZenefitsDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorZenefitsDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorZenefitsDiscriminatedConnectorConfig(BaseModel): + config: ConnectorZenefitsDiscriminatedConnectorConfigConfig + + connector_name: Literal["zenefits"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorZohoDeskDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorZohoDeskDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorZohoDeskDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorZohoDeskDiscriminatedConnectorConfig(BaseModel): + config: ConnectorZohoDeskDiscriminatedConnectorConfigConfig + + connector_name: Literal["zoho-desk"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorZohoDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorZohoDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorZohoDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorZohoDiscriminatedConnectorConfig(BaseModel): + config: ConnectorZohoDiscriminatedConnectorConfigConfig + + connector_name: Literal["zoho"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorZoomDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: Optional[str] = None + + client_secret: Optional[str] = None + + redirect_uri: Optional[str] = None + """Custom redirect URI""" + + scopes: Optional[List[str]] = None + + +class ConnectorZoomDiscriminatedConnectorConfigConfig(BaseModel): + oauth: Optional[ConnectorZoomDiscriminatedConnectorConfigConfigOAuth] = None + """Base oauth configuration for the connector""" + + +class ConnectorZoomDiscriminatedConnectorConfig(BaseModel): + config: ConnectorZoomDiscriminatedConnectorConfigConfig + + connector_name: Literal["zoom"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorAirtableDiscriminatedConnectorConfig(BaseModel): + config: object + + connector_name: Literal["airtable"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorApolloDiscriminatedConnectorConfig(BaseModel): + config: object + + connector_name: Literal["apollo"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorBrexDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: str = FieldInfo(alias="clientId") + + client_secret: str = FieldInfo(alias="clientSecret") + + +class ConnectorBrexDiscriminatedConnectorConfigConfig(BaseModel): + apikey_auth: Optional[bool] = FieldInfo(alias="apikeyAuth", default=None) + """API key auth support""" + + oauth: Optional[ConnectorBrexDiscriminatedConnectorConfigConfigOAuth] = None + """Configure oauth""" + + +class ConnectorBrexDiscriminatedConnectorConfig(BaseModel): + config: ConnectorBrexDiscriminatedConnectorConfigConfig + + connector_name: Literal["brex"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorCodaDiscriminatedConnectorConfig(BaseModel): + config: object + + connector_name: Literal["coda"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorFinchDiscriminatedConnectorConfigConfig(BaseModel): + client_id: str + + client_secret: str + + products: List[ + Literal["company", "directory", "individual", "ssn", "employment", "payment", "pay_statement", "benefits"] + ] + """ + Finch products to access, @see + https://developer.tryfinch.com/api-reference/development-guides/Permissions + """ + + api_version: Optional[str] = None + """Finch API version""" + + +class ConnectorFinchDiscriminatedConnectorConfig(BaseModel): + config: ConnectorFinchDiscriminatedConnectorConfigConfig + + connector_name: Literal["finch"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorFirebaseDiscriminatedConnectorConfig(BaseModel): + config: object + + connector_name: Literal["firebase"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorForeceiptDiscriminatedConnectorConfig(BaseModel): + config: object + + connector_name: Literal["foreceipt"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorGreenhouseDiscriminatedConnectorConfig(BaseModel): + config: object + + connector_name: Literal["greenhouse"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorHeronDiscriminatedConnectorConfigConfig(BaseModel): + api_key: str = FieldInfo(alias="apiKey") + + +class ConnectorHeronDiscriminatedConnectorConfig(BaseModel): + config: ConnectorHeronDiscriminatedConnectorConfigConfig + + connector_name: Literal["heron"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorLunchmoneyDiscriminatedConnectorConfigConfig(BaseModel): + access_token: str = FieldInfo(alias="accessToken") + + +class ConnectorLunchmoneyDiscriminatedConnectorConfig(BaseModel): + config: ConnectorLunchmoneyDiscriminatedConnectorConfigConfig + + connector_name: Literal["lunchmoney"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorMercuryDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: str = FieldInfo(alias="clientId") + + client_secret: str = FieldInfo(alias="clientSecret") + + +class ConnectorMercuryDiscriminatedConnectorConfigConfig(BaseModel): + apikey_auth: Optional[bool] = FieldInfo(alias="apikeyAuth", default=None) + """API key auth support""" + + oauth: Optional[ConnectorMercuryDiscriminatedConnectorConfigConfigOAuth] = None + """Configure oauth""" + + +class ConnectorMercuryDiscriminatedConnectorConfig(BaseModel): + config: ConnectorMercuryDiscriminatedConnectorConfigConfig + + connector_name: Literal["mercury"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorMergeDiscriminatedConnectorConfigConfig(BaseModel): + api_key: str = FieldInfo(alias="apiKey") + + +class ConnectorMergeDiscriminatedConnectorConfig(BaseModel): + config: ConnectorMergeDiscriminatedConnectorConfigConfig + + connector_name: Literal["merge"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorMootaDiscriminatedConnectorConfigConfig(BaseModel): + token: str + + +class ConnectorMootaDiscriminatedConnectorConfig(BaseModel): + config: ConnectorMootaDiscriminatedConnectorConfigConfig + + connector_name: Literal["moota"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorOnebrickDiscriminatedConnectorConfigConfig(BaseModel): + client_id: str = FieldInfo(alias="clientId") + + client_secret: str = FieldInfo(alias="clientSecret") + + env_name: Literal["sandbox", "production"] = FieldInfo(alias="envName") + + public_token: str = FieldInfo(alias="publicToken") + + access_token: Optional[str] = FieldInfo(alias="accessToken", default=None) + + redirect_url: Optional[str] = FieldInfo(alias="redirectUrl", default=None) + + +class ConnectorOnebrickDiscriminatedConnectorConfig(BaseModel): + config: ConnectorOnebrickDiscriminatedConnectorConfigConfig + + connector_name: Literal["onebrick"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorOpenledgerDiscriminatedConnectorConfigConfig(BaseModel): + api_url: str + """API endpoint""" + + developer_id: str + """Your developer ID for authentication""" + + developer_secret: str + """Your developer secret""" + + environment: Literal["development", "production"] + """Switch to "production" for live data""" + + +class ConnectorOpenledgerDiscriminatedConnectorConfig(BaseModel): + config: ConnectorOpenledgerDiscriminatedConnectorConfigConfig + + connector_name: Literal["openledger"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorPlaidDiscriminatedConnectorConfigConfigCredentials(BaseModel): + client_id: str = FieldInfo(alias="clientId") + + client_secret: str = FieldInfo(alias="clientSecret") + + +class ConnectorPlaidDiscriminatedConnectorConfigConfig(BaseModel): + client_name: str = FieldInfo(alias="clientName") + """ + The name of your application, as it should be displayed in Link. Maximum length + of 30 characters. If a value longer than 30 characters is provided, Link will + display "This Application" instead. + """ + + country_codes: List[ + Literal["US", "GB", "ES", "NL", "FR", "IE", "CA", "DE", "IT", "PL", "DK", "NO", "SE", "EE", "LT", "LV"] + ] = FieldInfo(alias="countryCodes") + + env_name: Literal["sandbox", "development", "production"] = FieldInfo(alias="envName") + + language: Literal["en", "fr", "es", "nl", "de"] + + products: List[ + Literal[ + "assets", + "auth", + "balance", + "identity", + "investments", + "liabilities", + "payment_initiation", + "identity_verification", + "transactions", + "credit_details", + "income", + "income_verification", + "deposit_switch", + "standing_orders", + "transfer", + "employment", + "recurring_transactions", + ] + ] + + credentials: Optional[ConnectorPlaidDiscriminatedConnectorConfigConfigCredentials] = None + + +class ConnectorPlaidDiscriminatedConnectorConfig(BaseModel): + config: ConnectorPlaidDiscriminatedConnectorConfigConfig + + connector_name: Literal["plaid"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorPostgresDiscriminatedConnectorConfig(BaseModel): + config: object + + connector_name: Literal["postgres"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorRampDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: str = FieldInfo(alias="clientId") + + client_secret: str = FieldInfo(alias="clientSecret") + + +class ConnectorRampDiscriminatedConnectorConfigConfig(BaseModel): + oauth: ConnectorRampDiscriminatedConnectorConfigConfigOAuth + + +class ConnectorRampDiscriminatedConnectorConfig(BaseModel): + config: ConnectorRampDiscriminatedConnectorConfigConfig + + connector_name: Literal["ramp"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorSaltedgeDiscriminatedConnectorConfigConfig(BaseModel): + app_id: str = FieldInfo(alias="appId") + + secret: str + + url: Optional[str] = None + + +class ConnectorSaltedgeDiscriminatedConnectorConfig(BaseModel): + config: ConnectorSaltedgeDiscriminatedConnectorConfigConfig + + connector_name: Literal["saltedge"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorSharepointOnpremDiscriminatedConnectorConfig(BaseModel): + config: object + + connector_name: Literal["sharepoint-onprem"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorSplitwiseDiscriminatedConnectorConfig(BaseModel): + config: object + + connector_name: Literal["splitwise"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorStripeDiscriminatedConnectorConfigConfigOAuth(BaseModel): + client_id: str = FieldInfo(alias="clientId") + + client_secret: str = FieldInfo(alias="clientSecret") + + +class ConnectorStripeDiscriminatedConnectorConfigConfig(BaseModel): + apikey_auth: Optional[bool] = FieldInfo(alias="apikeyAuth", default=None) + """API key auth support""" + + oauth: Optional[ConnectorStripeDiscriminatedConnectorConfigConfigOAuth] = None + """Configure oauth""" + + +class ConnectorStripeDiscriminatedConnectorConfig(BaseModel): + config: ConnectorStripeDiscriminatedConnectorConfigConfig + + connector_name: Literal["stripe"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorTellerDiscriminatedConnectorConfigConfig(BaseModel): + application_id: str = FieldInfo(alias="applicationId") + + token: Optional[str] = None + + +class ConnectorTellerDiscriminatedConnectorConfig(BaseModel): + config: ConnectorTellerDiscriminatedConnectorConfigConfig + + connector_name: Literal["teller"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorTogglDiscriminatedConnectorConfig(BaseModel): + config: object + + connector_name: Literal["toggl"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorTwentyDiscriminatedConnectorConfig(BaseModel): + config: object + + connector_name: Literal["twenty"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorVenmoDiscriminatedConnectorConfigConfigProxy(BaseModel): + cert: str + + url: str + + +class ConnectorVenmoDiscriminatedConnectorConfigConfig(BaseModel): + proxy: Optional[ConnectorVenmoDiscriminatedConnectorConfigConfigProxy] = None + + v1_base_url: Optional[str] = FieldInfo(alias="v1BaseURL", default=None) + + v5_base_url: Optional[str] = FieldInfo(alias="v5BaseURL", default=None) + + +class ConnectorVenmoDiscriminatedConnectorConfig(BaseModel): + config: ConnectorVenmoDiscriminatedConnectorConfigConfig + + connector_name: Literal["venmo"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorWiseDiscriminatedConnectorConfig(BaseModel): + config: object + + connector_name: Literal["wise"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +class ConnectorYodleeDiscriminatedConnectorConfigConfigProxy(BaseModel): + cert: str + + url: str + + +class ConnectorYodleeDiscriminatedConnectorConfigConfig(BaseModel): + admin_login_name: str = FieldInfo(alias="adminLoginName") + + client_id: str = FieldInfo(alias="clientId") + + client_secret: str = FieldInfo(alias="clientSecret") + + env_name: Literal["sandbox", "development", "production"] = FieldInfo(alias="envName") + + proxy: Optional[ConnectorYodleeDiscriminatedConnectorConfigConfigProxy] = None + + sandbox_login_name: Optional[str] = FieldInfo(alias="sandboxLoginName", default=None) + + +class ConnectorYodleeDiscriminatedConnectorConfig(BaseModel): + config: ConnectorYodleeDiscriminatedConnectorConfigConfig + + connector_name: Literal["yodlee"] + + id: Optional[str] = None + + created_at: Optional[str] = None + + disabled: Optional[bool] = None + + display_name: Optional[str] = None + + metadata: Optional[Dict[str, object]] = None + """ + JSON object can can be used to associate arbitrary metadata to avoid needing a + separate 1-1 table just for simple key values in your application. During + updates this object will be shallowly merged + """ + + org_id: Optional[str] = None + + updated_at: Optional[str] = None + + +UpsertConnnectorConfigResponse: TypeAlias = Union[ + ConnectorAcceloDiscriminatedConnectorConfig, + ConnectorAcmeApikeyDiscriminatedConnectorConfig, + ConnectorAcmeOauth2DiscriminatedConnectorConfig, + ConnectorAdobeDiscriminatedConnectorConfig, + ConnectorAdyenDiscriminatedConnectorConfig, + ConnectorAircallDiscriminatedConnectorConfig, + ConnectorAmazonDiscriminatedConnectorConfig, + ConnectorApaleoDiscriminatedConnectorConfig, + ConnectorAsanaDiscriminatedConnectorConfig, + ConnectorAttioDiscriminatedConnectorConfig, + ConnectorAuth0DiscriminatedConnectorConfig, + ConnectorAutodeskDiscriminatedConnectorConfig, + ConnectorAwsDiscriminatedConnectorConfig, + ConnectorBamboohrDiscriminatedConnectorConfig, + ConnectorBasecampDiscriminatedConnectorConfig, + ConnectorBattlenetDiscriminatedConnectorConfig, + ConnectorBigcommerceDiscriminatedConnectorConfig, + ConnectorBitbucketDiscriminatedConnectorConfig, + ConnectorBitlyDiscriminatedConnectorConfig, + ConnectorBlackbaudDiscriminatedConnectorConfig, + ConnectorBoldsignDiscriminatedConnectorConfig, + ConnectorBoxDiscriminatedConnectorConfig, + ConnectorBraintreeDiscriminatedConnectorConfig, + ConnectorCalendlyDiscriminatedConnectorConfig, + ConnectorClickupDiscriminatedConnectorConfig, + ConnectorCloseDiscriminatedConnectorConfig, + ConnectorConfluenceDiscriminatedConnectorConfig, + ConnectorContentfulDiscriminatedConnectorConfig, + ConnectorContentstackDiscriminatedConnectorConfig, + ConnectorCopperDiscriminatedConnectorConfig, + ConnectorCorosDiscriminatedConnectorConfig, + ConnectorDatevDiscriminatedConnectorConfig, + ConnectorDeelDiscriminatedConnectorConfig, + ConnectorDialpadDiscriminatedConnectorConfig, + ConnectorDigitaloceanDiscriminatedConnectorConfig, + ConnectorDiscordDiscriminatedConnectorConfig, + ConnectorDocusignDiscriminatedConnectorConfig, + ConnectorDropboxDiscriminatedConnectorConfig, + ConnectorEbayDiscriminatedConnectorConfig, + ConnectorEgnyteDiscriminatedConnectorConfig, + ConnectorEnvoyDiscriminatedConnectorConfig, + ConnectorEventbriteDiscriminatedConnectorConfig, + ConnectorExistDiscriminatedConnectorConfig, + ConnectorFacebookDiscriminatedConnectorConfig, + ConnectorFactorialDiscriminatedConnectorConfig, + ConnectorFigmaDiscriminatedConnectorConfig, + ConnectorFitbitDiscriminatedConnectorConfig, + ConnectorFortnoxDiscriminatedConnectorConfig, + ConnectorFreshbooksDiscriminatedConnectorConfig, + ConnectorFrontDiscriminatedConnectorConfig, + ConnectorGitHubDiscriminatedConnectorConfig, + ConnectorGitlabDiscriminatedConnectorConfig, + ConnectorGongDiscriminatedConnectorConfig, + ConnectorGoogleCalendarDiscriminatedConnectorConfig, + ConnectorGoogleDocsDiscriminatedConnectorConfig, + ConnectorGoogleDriveDiscriminatedConnectorConfig, + ConnectorGoogleMailDiscriminatedConnectorConfig, + ConnectorGoogleSheetDiscriminatedConnectorConfig, + ConnectorGorgiasDiscriminatedConnectorConfig, + ConnectorGrainDiscriminatedConnectorConfig, + ConnectorGumroadDiscriminatedConnectorConfig, + ConnectorGustoDiscriminatedConnectorConfig, + ConnectorHarvestDiscriminatedConnectorConfig, + ConnectorHighlevelDiscriminatedConnectorConfig, + ConnectorHubspotDiscriminatedConnectorConfig, + ConnectorInstagramDiscriminatedConnectorConfig, + ConnectorIntercomDiscriminatedConnectorConfig, + ConnectorJiraDiscriminatedConnectorConfig, + ConnectorKeapDiscriminatedConnectorConfig, + ConnectorLeverDiscriminatedConnectorConfig, + ConnectorLinearDiscriminatedConnectorConfig, + ConnectorLinkedinDiscriminatedConnectorConfig, + ConnectorLinkhutDiscriminatedConnectorConfig, + ConnectorMailchimpDiscriminatedConnectorConfig, + ConnectorMiroDiscriminatedConnectorConfig, + ConnectorMondayDiscriminatedConnectorConfig, + ConnectorMuralDiscriminatedConnectorConfig, + ConnectorNamelyDiscriminatedConnectorConfig, + ConnectorNationbuilderDiscriminatedConnectorConfig, + ConnectorNetsuiteDiscriminatedConnectorConfig, + ConnectorNotionDiscriminatedConnectorConfig, + ConnectorOdooDiscriminatedConnectorConfig, + ConnectorOktaDiscriminatedConnectorConfig, + ConnectorOsuDiscriminatedConnectorConfig, + ConnectorOuraDiscriminatedConnectorConfig, + ConnectorOutreachDiscriminatedConnectorConfig, + ConnectorPagerdutyDiscriminatedConnectorConfig, + ConnectorPandadocDiscriminatedConnectorConfig, + ConnectorPayfitDiscriminatedConnectorConfig, + ConnectorPaypalDiscriminatedConnectorConfig, + ConnectorPennylaneDiscriminatedConnectorConfig, + ConnectorPinterestDiscriminatedConnectorConfig, + ConnectorPipedriveDiscriminatedConnectorConfig, + ConnectorPodiumDiscriminatedConnectorConfig, + ConnectorProductboardDiscriminatedConnectorConfig, + ConnectorQualtricsDiscriminatedConnectorConfig, + ConnectorQuickbooksDiscriminatedConnectorConfig, + ConnectorRedditDiscriminatedConnectorConfig, + ConnectorSageDiscriminatedConnectorConfig, + ConnectorSalesforceDiscriminatedConnectorConfig, + ConnectorSalesloftDiscriminatedConnectorConfig, + ConnectorSegmentDiscriminatedConnectorConfig, + ConnectorServicem8DiscriminatedConnectorConfig, + ConnectorServicenowDiscriminatedConnectorConfig, + ConnectorSharepointDiscriminatedConnectorConfig, + ConnectorShopifyDiscriminatedConnectorConfig, + ConnectorSignnowDiscriminatedConnectorConfig, + ConnectorSlackDiscriminatedConnectorConfig, + ConnectorSmartsheetDiscriminatedConnectorConfig, + ConnectorSnowflakeDiscriminatedConnectorConfig, + ConnectorSpotifyDiscriminatedConnectorConfig, + ConnectorSquarespaceDiscriminatedConnectorConfig, + ConnectorSquareupDiscriminatedConnectorConfig, + ConnectorStackexchangeDiscriminatedConnectorConfig, + ConnectorStravaDiscriminatedConnectorConfig, + ConnectorTeamworkDiscriminatedConnectorConfig, + ConnectorTicktickDiscriminatedConnectorConfig, + ConnectorTimelyDiscriminatedConnectorConfig, + ConnectorTodoistDiscriminatedConnectorConfig, + ConnectorTremendousDiscriminatedConnectorConfig, + ConnectorTsheetsteamDiscriminatedConnectorConfig, + ConnectorTumblrDiscriminatedConnectorConfig, + ConnectorTwinfieldDiscriminatedConnectorConfig, + ConnectorTwitchDiscriminatedConnectorConfig, + ConnectorTwitterDiscriminatedConnectorConfig, + ConnectorTypeformDiscriminatedConnectorConfig, + ConnectorUberDiscriminatedConnectorConfig, + ConnectorVimeoDiscriminatedConnectorConfig, + ConnectorWakatimeDiscriminatedConnectorConfig, + ConnectorWealthboxDiscriminatedConnectorConfig, + ConnectorWebflowDiscriminatedConnectorConfig, + ConnectorWhoopDiscriminatedConnectorConfig, + ConnectorWordpressDiscriminatedConnectorConfig, + ConnectorWrikeDiscriminatedConnectorConfig, + ConnectorXeroDiscriminatedConnectorConfig, + ConnectorYahooDiscriminatedConnectorConfig, + ConnectorYandexDiscriminatedConnectorConfig, + ConnectorZapierDiscriminatedConnectorConfig, + ConnectorZendeskDiscriminatedConnectorConfig, + ConnectorZenefitsDiscriminatedConnectorConfig, + ConnectorZohoDeskDiscriminatedConnectorConfig, + ConnectorZohoDiscriminatedConnectorConfig, + ConnectorZoomDiscriminatedConnectorConfig, + ConnectorAirtableDiscriminatedConnectorConfig, + ConnectorApolloDiscriminatedConnectorConfig, + ConnectorBrexDiscriminatedConnectorConfig, + ConnectorCodaDiscriminatedConnectorConfig, + ConnectorFinchDiscriminatedConnectorConfig, + ConnectorFirebaseDiscriminatedConnectorConfig, + ConnectorForeceiptDiscriminatedConnectorConfig, + ConnectorGreenhouseDiscriminatedConnectorConfig, + ConnectorHeronDiscriminatedConnectorConfig, + ConnectorLunchmoneyDiscriminatedConnectorConfig, + ConnectorMercuryDiscriminatedConnectorConfig, + ConnectorMergeDiscriminatedConnectorConfig, + ConnectorMootaDiscriminatedConnectorConfig, + ConnectorOnebrickDiscriminatedConnectorConfig, + ConnectorOpenledgerDiscriminatedConnectorConfig, + ConnectorPlaidDiscriminatedConnectorConfig, + ConnectorPostgresDiscriminatedConnectorConfig, + ConnectorRampDiscriminatedConnectorConfig, + ConnectorSaltedgeDiscriminatedConnectorConfig, + ConnectorSharepointOnpremDiscriminatedConnectorConfig, + ConnectorSplitwiseDiscriminatedConnectorConfig, + ConnectorStripeDiscriminatedConnectorConfig, + ConnectorTellerDiscriminatedConnectorConfig, + ConnectorTogglDiscriminatedConnectorConfig, + ConnectorTwentyDiscriminatedConnectorConfig, + ConnectorVenmoDiscriminatedConnectorConfig, + ConnectorWiseDiscriminatedConnectorConfig, + ConnectorYodleeDiscriminatedConnectorConfig, +] diff --git a/src/openint/types/upsert_customer_response.py b/src/openint/types/upsert_customer_response.py deleted file mode 100644 index 3ddc176..0000000 --- a/src/openint/types/upsert_customer_response.py +++ /dev/null @@ -1,21 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from typing import Dict, List, Union, Optional - -from .._models import BaseModel - -__all__ = ["UpsertCustomerResponse"] - - -class UpsertCustomerResponse(BaseModel): - id: str - - api_key: Optional[str] = None - - created_at: str - - metadata: Union[str, float, bool, Dict[str, object], List[object], None] = None - - org_id: str - - updated_at: str diff --git a/tests/api_resources/test_client.py b/tests/api_resources/test_client.py index 5472ca2..5e95aa9 100644 --- a/tests/api_resources/test_client.py +++ b/tests/api_resources/test_client.py @@ -15,7 +15,6 @@ GetConnectionResponse, GetCurrentUserResponse, ListConnectorsResponse, - UpsertCustomerResponse, CheckConnectionResponse, ListConnectionsResponse, CreateConnectionResponse, @@ -24,6 +23,8 @@ GetMessageTemplateResponse, ListConnectionConfigsResponse, ListConnnectorConfigsResponse, + CreateConnnectorConfigResponse, + UpsertConnnectorConfigResponse, ) from openint.pagination import SyncOffsetPagination, AsyncOffsetPagination @@ -149,6 +150,52 @@ def test_streaming_response_create_connection(self, client: Openint) -> None: assert cast(Any, response.is_closed) is True + @pytest.mark.skip(reason="Prism tests are disabled") + @parametrize + def test_method_create_connnector_config(self, client: Openint) -> None: + client_ = client.create_connnector_config( + connector_name="connector_name", + ) + assert_matches_type(CreateConnnectorConfigResponse, client_, path=["response"]) + + @pytest.mark.skip(reason="Prism tests are disabled") + @parametrize + def test_method_create_connnector_config_with_all_params(self, client: Openint) -> None: + client_ = client.create_connnector_config( + connector_name="connector_name", + config={"foo": "bar"}, + disabled=True, + display_name="display_name", + metadata={"foo": "bar"}, + ) + assert_matches_type(CreateConnnectorConfigResponse, client_, path=["response"]) + + @pytest.mark.skip(reason="Prism tests are disabled") + @parametrize + def test_raw_response_create_connnector_config(self, client: Openint) -> None: + response = client.with_raw_response.create_connnector_config( + connector_name="connector_name", + ) + + assert response.is_closed is True + assert response.http_request.headers.get("X-Stainless-Lang") == "python" + client_ = response.parse() + assert_matches_type(CreateConnnectorConfigResponse, client_, path=["response"]) + + @pytest.mark.skip(reason="Prism tests are disabled") + @parametrize + def test_streaming_response_create_connnector_config(self, client: Openint) -> None: + with client.with_streaming_response.create_connnector_config( + connector_name="connector_name", + ) as response: + assert not response.is_closed + assert response.http_request.headers.get("X-Stainless-Lang") == "python" + + client_ = response.parse() + assert_matches_type(CreateConnnectorConfigResponse, client_, path=["response"]) + + assert cast(Any, response.is_closed) is True + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize def test_method_create_token(self, client: Openint) -> None: @@ -629,41 +676,57 @@ def test_streaming_response_list_events(self, client: Openint) -> None: @pytest.mark.skip(reason="Prism tests are disabled") @parametrize - def test_method_upsert_customer(self, client: Openint) -> None: - client_ = client.upsert_customer() - assert_matches_type(UpsertCustomerResponse, client_, path=["response"]) + def test_method_upsert_connnector_config(self, client: Openint) -> None: + client_ = client.upsert_connnector_config( + id="ccfg_", + ) + assert_matches_type(UpsertConnnectorConfigResponse, client_, path=["response"]) @pytest.mark.skip(reason="Prism tests are disabled") @parametrize - def test_method_upsert_customer_with_all_params(self, client: Openint) -> None: - client_ = client.upsert_customer( - id="id", - metadata={"foo": "bar"}, + def test_method_upsert_connnector_config_with_all_params(self, client: Openint) -> None: + client_ = client.upsert_connnector_config( + id="ccfg_", + config={"foo": "bar"}, + disabled=True, + display_name="display_name", ) - assert_matches_type(UpsertCustomerResponse, client_, path=["response"]) + assert_matches_type(UpsertConnnectorConfigResponse, client_, path=["response"]) @pytest.mark.skip(reason="Prism tests are disabled") @parametrize - def test_raw_response_upsert_customer(self, client: Openint) -> None: - response = client.with_raw_response.upsert_customer() + def test_raw_response_upsert_connnector_config(self, client: Openint) -> None: + response = client.with_raw_response.upsert_connnector_config( + id="ccfg_", + ) assert response.is_closed is True assert response.http_request.headers.get("X-Stainless-Lang") == "python" client_ = response.parse() - assert_matches_type(UpsertCustomerResponse, client_, path=["response"]) + assert_matches_type(UpsertConnnectorConfigResponse, client_, path=["response"]) @pytest.mark.skip(reason="Prism tests are disabled") @parametrize - def test_streaming_response_upsert_customer(self, client: Openint) -> None: - with client.with_streaming_response.upsert_customer() as response: + def test_streaming_response_upsert_connnector_config(self, client: Openint) -> None: + with client.with_streaming_response.upsert_connnector_config( + id="ccfg_", + ) as response: assert not response.is_closed assert response.http_request.headers.get("X-Stainless-Lang") == "python" client_ = response.parse() - assert_matches_type(UpsertCustomerResponse, client_, path=["response"]) + assert_matches_type(UpsertConnnectorConfigResponse, client_, path=["response"]) assert cast(Any, response.is_closed) is True + @pytest.mark.skip(reason="Prism tests are disabled") + @parametrize + def test_path_params_upsert_connnector_config(self, client: Openint) -> None: + with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"): + client.with_raw_response.upsert_connnector_config( + id="", + ) + class TestAsyncClient: parametrize = pytest.mark.parametrize( @@ -786,6 +849,52 @@ async def test_streaming_response_create_connection(self, async_client: AsyncOpe assert cast(Any, response.is_closed) is True + @pytest.mark.skip(reason="Prism tests are disabled") + @parametrize + async def test_method_create_connnector_config(self, async_client: AsyncOpenint) -> None: + client = await async_client.create_connnector_config( + connector_name="connector_name", + ) + assert_matches_type(CreateConnnectorConfigResponse, client, path=["response"]) + + @pytest.mark.skip(reason="Prism tests are disabled") + @parametrize + async def test_method_create_connnector_config_with_all_params(self, async_client: AsyncOpenint) -> None: + client = await async_client.create_connnector_config( + connector_name="connector_name", + config={"foo": "bar"}, + disabled=True, + display_name="display_name", + metadata={"foo": "bar"}, + ) + assert_matches_type(CreateConnnectorConfigResponse, client, path=["response"]) + + @pytest.mark.skip(reason="Prism tests are disabled") + @parametrize + async def test_raw_response_create_connnector_config(self, async_client: AsyncOpenint) -> None: + response = await async_client.with_raw_response.create_connnector_config( + connector_name="connector_name", + ) + + assert response.is_closed is True + assert response.http_request.headers.get("X-Stainless-Lang") == "python" + client = await response.parse() + assert_matches_type(CreateConnnectorConfigResponse, client, path=["response"]) + + @pytest.mark.skip(reason="Prism tests are disabled") + @parametrize + async def test_streaming_response_create_connnector_config(self, async_client: AsyncOpenint) -> None: + async with async_client.with_streaming_response.create_connnector_config( + connector_name="connector_name", + ) as response: + assert not response.is_closed + assert response.http_request.headers.get("X-Stainless-Lang") == "python" + + client = await response.parse() + assert_matches_type(CreateConnnectorConfigResponse, client, path=["response"]) + + assert cast(Any, response.is_closed) is True + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize async def test_method_create_token(self, async_client: AsyncOpenint) -> None: @@ -1266,37 +1375,53 @@ async def test_streaming_response_list_events(self, async_client: AsyncOpenint) @pytest.mark.skip(reason="Prism tests are disabled") @parametrize - async def test_method_upsert_customer(self, async_client: AsyncOpenint) -> None: - client = await async_client.upsert_customer() - assert_matches_type(UpsertCustomerResponse, client, path=["response"]) + async def test_method_upsert_connnector_config(self, async_client: AsyncOpenint) -> None: + client = await async_client.upsert_connnector_config( + id="ccfg_", + ) + assert_matches_type(UpsertConnnectorConfigResponse, client, path=["response"]) @pytest.mark.skip(reason="Prism tests are disabled") @parametrize - async def test_method_upsert_customer_with_all_params(self, async_client: AsyncOpenint) -> None: - client = await async_client.upsert_customer( - id="id", - metadata={"foo": "bar"}, + async def test_method_upsert_connnector_config_with_all_params(self, async_client: AsyncOpenint) -> None: + client = await async_client.upsert_connnector_config( + id="ccfg_", + config={"foo": "bar"}, + disabled=True, + display_name="display_name", ) - assert_matches_type(UpsertCustomerResponse, client, path=["response"]) + assert_matches_type(UpsertConnnectorConfigResponse, client, path=["response"]) @pytest.mark.skip(reason="Prism tests are disabled") @parametrize - async def test_raw_response_upsert_customer(self, async_client: AsyncOpenint) -> None: - response = await async_client.with_raw_response.upsert_customer() + async def test_raw_response_upsert_connnector_config(self, async_client: AsyncOpenint) -> None: + response = await async_client.with_raw_response.upsert_connnector_config( + id="ccfg_", + ) assert response.is_closed is True assert response.http_request.headers.get("X-Stainless-Lang") == "python" client = await response.parse() - assert_matches_type(UpsertCustomerResponse, client, path=["response"]) + assert_matches_type(UpsertConnnectorConfigResponse, client, path=["response"]) @pytest.mark.skip(reason="Prism tests are disabled") @parametrize - async def test_streaming_response_upsert_customer(self, async_client: AsyncOpenint) -> None: - async with async_client.with_streaming_response.upsert_customer() as response: + async def test_streaming_response_upsert_connnector_config(self, async_client: AsyncOpenint) -> None: + async with async_client.with_streaming_response.upsert_connnector_config( + id="ccfg_", + ) as response: assert not response.is_closed assert response.http_request.headers.get("X-Stainless-Lang") == "python" client = await response.parse() - assert_matches_type(UpsertCustomerResponse, client, path=["response"]) + assert_matches_type(UpsertConnnectorConfigResponse, client, path=["response"]) assert cast(Any, response.is_closed) is True + + @pytest.mark.skip(reason="Prism tests are disabled") + @parametrize + async def test_path_params_upsert_connnector_config(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.upsert_connnector_config( + id="", + ) From 73c7b5d69f08d5dbbeb0e77a27c330e4dadc7307 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Wed, 13 Aug 2025 22:26:23 +0000 Subject: [PATCH 31/32] feat(api): new endpoints --- .stats.yml | 4 +- api.md | 4 + src/openint/_client.py | 204 ++++++++++++++++++ src/openint/types/__init__.py | 4 + .../types/client_list_customers_params.py | 18 ++ .../types/client_upsert_customer_params.py | 14 ++ src/openint/types/list_customers_response.py | 20 ++ src/openint/types/upsert_customer_response.py | 21 ++ tests/api_resources/test_client.py | 152 +++++++++++++ 9 files changed, 439 insertions(+), 2 deletions(-) create mode 100644 src/openint/types/client_list_customers_params.py create mode 100644 src/openint/types/client_upsert_customer_params.py create mode 100644 src/openint/types/list_customers_response.py create mode 100644 src/openint/types/upsert_customer_response.py diff --git a/.stats.yml b/.stats.yml index 6906b66..eb02f9c 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ -configured_endpoints: 14 +configured_endpoints: 16 openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/openint%2Fopenint-a7212b4566ed125aa08bf8c11ec8e06cb155893a70fea4237e6c8524f9dfe2e9.yml openapi_spec_hash: 962403d111f029b8911c5ec6acd6f215 -config_hash: a272aa84b22214ea1c54dd24a80a9ce2 +config_hash: 4f1d196a8f57efed93da0f033aec310e diff --git a/api.md b/api.md index 6043f45..aea6fe0 100644 --- a/api.md +++ b/api.md @@ -19,8 +19,10 @@ from openint.types import ( ListConnectionsResponse, ListConnectorsResponse, ListConnnectorConfigsResponse, + ListCustomersResponse, ListEventsResponse, UpsertConnnectorConfigResponse, + UpsertCustomerResponse, ) ``` @@ -39,5 +41,7 @@ Methods: - client.list_connections(\*\*params) -> SyncOffsetPagination[ListConnectionsResponse] - client.list_connectors(\*\*params) -> SyncOffsetPagination[ListConnectorsResponse] - client.list_connnector_configs(\*\*params) -> SyncOffsetPagination[ListConnnectorConfigsResponse] +- client.list_customers(\*\*params) -> SyncOffsetPagination[ListCustomersResponse] - client.list_events(\*\*params) -> SyncOffsetPagination[ListEventsResponse] - client.upsert_connnector_config(id, \*\*params) -> UpsertConnnectorConfigResponse +- client.upsert_customer(\*\*params) -> UpsertCustomerResponse diff --git a/src/openint/_client.py b/src/openint/_client.py index 523d27b..af9d3c2 100644 --- a/src/openint/_client.py +++ b/src/openint/_client.py @@ -14,7 +14,9 @@ client_list_events_params, client_create_token_params, client_get_connection_params, + client_list_customers_params, client_list_connectors_params, + client_upsert_customer_params, client_list_connections_params, client_create_connection_params, client_get_conector_config_params, @@ -62,7 +64,9 @@ from .types.list_events_response import ListEventsResponse from .types.create_token_response import CreateTokenResponse from .types.get_connection_response import GetConnectionResponse +from .types.list_customers_response import ListCustomersResponse from .types.list_connectors_response import ListConnectorsResponse +from .types.upsert_customer_response import UpsertCustomerResponse from .types.check_connection_response import CheckConnectionResponse from .types.get_current_user_response import GetCurrentUserResponse from .types.list_connections_response import ListConnectionsResponse @@ -1369,6 +1373,55 @@ def list_connnector_configs( ), # Union types cannot be passed in as arguments in the type system ) + def list_customers( + self, + *, + limit: int | NotGiven = NOT_GIVEN, + offset: int | NotGiven = NOT_GIVEN, + search_query: Optional[str] | 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[ListCustomersResponse]: + """ + List all customers + + Args: + limit: Limit the number of items returned + + offset: Offset the items returned + + 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( + "/customer", + page=SyncOffsetPagination[ListCustomersResponse], + options=make_request_options( + extra_headers=extra_headers, + extra_query=extra_query, + extra_body=extra_body, + timeout=timeout, + query=maybe_transform( + { + "limit": limit, + "offset": offset, + "search_query": search_query, + }, + client_list_customers_params.ClientListCustomersParams, + ), + ), + model=ListCustomersResponse, + ) + def list_events( self, *, @@ -1471,6 +1524,45 @@ def upsert_connnector_config( ), ) + def upsert_customer( + self, + *, + id: str | NotGiven = NOT_GIVEN, + metadata: Dict[str, object] | 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, + ) -> UpsertCustomerResponse: + """ + Create or update a customer + + 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.put( + "/customer", + body=maybe_transform( + { + "id": id, + "metadata": metadata, + }, + client_upsert_customer_params.ClientUpsertCustomerParams, + ), + options=make_request_options( + extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout + ), + cast_to=UpsertCustomerResponse, + ) + @override def _make_status_error( self, @@ -2796,6 +2888,55 @@ def list_connnector_configs( ), # Union types cannot be passed in as arguments in the type system ) + def list_customers( + self, + *, + limit: int | NotGiven = NOT_GIVEN, + offset: int | NotGiven = NOT_GIVEN, + search_query: Optional[str] | 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[ListCustomersResponse, AsyncOffsetPagination[ListCustomersResponse]]: + """ + List all customers + + Args: + limit: Limit the number of items returned + + offset: Offset the items returned + + 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( + "/customer", + page=AsyncOffsetPagination[ListCustomersResponse], + options=make_request_options( + extra_headers=extra_headers, + extra_query=extra_query, + extra_body=extra_body, + timeout=timeout, + query=maybe_transform( + { + "limit": limit, + "offset": offset, + "search_query": search_query, + }, + client_list_customers_params.ClientListCustomersParams, + ), + ), + model=ListCustomersResponse, + ) + def list_events( self, *, @@ -2898,6 +3039,45 @@ async def upsert_connnector_config( ), ) + async def upsert_customer( + self, + *, + id: str | NotGiven = NOT_GIVEN, + metadata: Dict[str, object] | 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, + ) -> UpsertCustomerResponse: + """ + Create or update a customer + + 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 await self.put( + "/customer", + body=await async_maybe_transform( + { + "id": id, + "metadata": metadata, + }, + client_upsert_customer_params.ClientUpsertCustomerParams, + ), + options=make_request_options( + extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout + ), + cast_to=UpsertCustomerResponse, + ) + @override def _make_status_error( self, @@ -2973,12 +3153,18 @@ def __init__(self, client: Openint) -> None: self.list_connnector_configs = to_raw_response_wrapper( client.list_connnector_configs, ) + self.list_customers = to_raw_response_wrapper( + client.list_customers, + ) self.list_events = to_raw_response_wrapper( client.list_events, ) self.upsert_connnector_config = to_raw_response_wrapper( client.upsert_connnector_config, ) + self.upsert_customer = to_raw_response_wrapper( + client.upsert_customer, + ) class AsyncOpenintWithRawResponse: @@ -3022,12 +3208,18 @@ def __init__(self, client: AsyncOpenint) -> None: self.list_connnector_configs = async_to_raw_response_wrapper( client.list_connnector_configs, ) + self.list_customers = async_to_raw_response_wrapper( + client.list_customers, + ) self.list_events = async_to_raw_response_wrapper( client.list_events, ) self.upsert_connnector_config = async_to_raw_response_wrapper( client.upsert_connnector_config, ) + self.upsert_customer = async_to_raw_response_wrapper( + client.upsert_customer, + ) class OpenintWithStreamedResponse: @@ -3071,12 +3263,18 @@ def __init__(self, client: Openint) -> None: self.list_connnector_configs = to_streamed_response_wrapper( client.list_connnector_configs, ) + self.list_customers = to_streamed_response_wrapper( + client.list_customers, + ) self.list_events = to_streamed_response_wrapper( client.list_events, ) self.upsert_connnector_config = to_streamed_response_wrapper( client.upsert_connnector_config, ) + self.upsert_customer = to_streamed_response_wrapper( + client.upsert_customer, + ) class AsyncOpenintWithStreamedResponse: @@ -3120,12 +3318,18 @@ def __init__(self, client: AsyncOpenint) -> None: self.list_connnector_configs = async_to_streamed_response_wrapper( client.list_connnector_configs, ) + self.list_customers = async_to_streamed_response_wrapper( + client.list_customers, + ) self.list_events = async_to_streamed_response_wrapper( client.list_events, ) self.upsert_connnector_config = async_to_streamed_response_wrapper( client.upsert_connnector_config, ) + self.upsert_customer = async_to_streamed_response_wrapper( + client.upsert_customer, + ) Client = Openint diff --git a/src/openint/types/__init__.py b/src/openint/types/__init__.py index 2258af6..f9710ac 100644 --- a/src/openint/types/__init__.py +++ b/src/openint/types/__init__.py @@ -7,7 +7,9 @@ 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 .list_customers_response import ListCustomersResponse as ListCustomersResponse from .list_connectors_response import ListConnectorsResponse as ListConnectorsResponse +from .upsert_customer_response import UpsertCustomerResponse as UpsertCustomerResponse from .check_connection_response import CheckConnectionResponse as CheckConnectionResponse from .client_list_events_params import ClientListEventsParams as ClientListEventsParams from .get_current_user_response import GetCurrentUserResponse as GetCurrentUserResponse @@ -16,8 +18,10 @@ from .create_connection_response import CreateConnectionResponse as CreateConnectionResponse from .delete_connection_response import DeleteConnectionResponse as DeleteConnectionResponse from .client_get_connection_params import ClientGetConnectionParams as ClientGetConnectionParams +from .client_list_customers_params import ClientListCustomersParams as ClientListCustomersParams from .get_conector_config_response import GetConectorConfigResponse as GetConectorConfigResponse from .client_list_connectors_params import ClientListConnectorsParams as ClientListConnectorsParams +from .client_upsert_customer_params import ClientUpsertCustomerParams as ClientUpsertCustomerParams from .get_message_template_response import GetMessageTemplateResponse as GetMessageTemplateResponse from .client_list_connections_params import ClientListConnectionsParams as ClientListConnectionsParams from .client_create_connection_params import ClientCreateConnectionParams as ClientCreateConnectionParams diff --git a/src/openint/types/client_list_customers_params.py b/src/openint/types/client_list_customers_params.py new file mode 100644 index 0000000..bab518f --- /dev/null +++ b/src/openint/types/client_list_customers_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 import Optional +from typing_extensions import TypedDict + +__all__ = ["ClientListCustomersParams"] + + +class ClientListCustomersParams(TypedDict, total=False): + limit: int + """Limit the number of items returned""" + + offset: int + """Offset the items returned""" + + search_query: Optional[str] diff --git a/src/openint/types/client_upsert_customer_params.py b/src/openint/types/client_upsert_customer_params.py new file mode 100644 index 0000000..0b4086b --- /dev/null +++ b/src/openint/types/client_upsert_customer_params.py @@ -0,0 +1,14 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from __future__ import annotations + +from typing import Dict +from typing_extensions import TypedDict + +__all__ = ["ClientUpsertCustomerParams"] + + +class ClientUpsertCustomerParams(TypedDict, total=False): + id: str + + metadata: Dict[str, object] diff --git a/src/openint/types/list_customers_response.py b/src/openint/types/list_customers_response.py new file mode 100644 index 0000000..d47e6c8 --- /dev/null +++ b/src/openint/types/list_customers_response.py @@ -0,0 +1,20 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from typing import Optional + +from .._models import BaseModel + +__all__ = ["ListCustomersResponse"] + + +class ListCustomersResponse(BaseModel): + id: Optional[str] = None + """Customer Id""" + + connection_count: float + + created_at: str + """postgres timestamp format, not yet ISO""" + + updated_at: str + """postgres timestamp format, not yet ISO""" diff --git a/src/openint/types/upsert_customer_response.py b/src/openint/types/upsert_customer_response.py new file mode 100644 index 0000000..3ddc176 --- /dev/null +++ b/src/openint/types/upsert_customer_response.py @@ -0,0 +1,21 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from typing import Dict, List, Union, Optional + +from .._models import BaseModel + +__all__ = ["UpsertCustomerResponse"] + + +class UpsertCustomerResponse(BaseModel): + id: str + + api_key: Optional[str] = None + + created_at: str + + metadata: Union[str, float, bool, Dict[str, object], List[object], None] = None + + org_id: str + + updated_at: str diff --git a/tests/api_resources/test_client.py b/tests/api_resources/test_client.py index 5e95aa9..bf11443 100644 --- a/tests/api_resources/test_client.py +++ b/tests/api_resources/test_client.py @@ -13,8 +13,10 @@ ListEventsResponse, CreateTokenResponse, GetConnectionResponse, + ListCustomersResponse, GetCurrentUserResponse, ListConnectorsResponse, + UpsertCustomerResponse, CheckConnectionResponse, ListConnectionsResponse, CreateConnectionResponse, @@ -634,6 +636,44 @@ def test_streaming_response_list_connnector_configs(self, client: Openint) -> No assert cast(Any, response.is_closed) is True + @pytest.mark.skip(reason="Prism tests are disabled") + @parametrize + def test_method_list_customers(self, client: Openint) -> None: + client_ = client.list_customers() + assert_matches_type(SyncOffsetPagination[ListCustomersResponse], client_, path=["response"]) + + @pytest.mark.skip(reason="Prism tests are disabled") + @parametrize + def test_method_list_customers_with_all_params(self, client: Openint) -> None: + client_ = client.list_customers( + limit=0, + offset=0, + search_query="search_query", + ) + assert_matches_type(SyncOffsetPagination[ListCustomersResponse], client_, path=["response"]) + + @pytest.mark.skip(reason="Prism tests are disabled") + @parametrize + def test_raw_response_list_customers(self, client: Openint) -> None: + response = client.with_raw_response.list_customers() + + assert response.is_closed is True + assert response.http_request.headers.get("X-Stainless-Lang") == "python" + client_ = response.parse() + assert_matches_type(SyncOffsetPagination[ListCustomersResponse], client_, path=["response"]) + + @pytest.mark.skip(reason="Prism tests are disabled") + @parametrize + def test_streaming_response_list_customers(self, client: Openint) -> None: + with client.with_streaming_response.list_customers() as response: + assert not response.is_closed + assert response.http_request.headers.get("X-Stainless-Lang") == "python" + + client_ = response.parse() + assert_matches_type(SyncOffsetPagination[ListCustomersResponse], client_, path=["response"]) + + assert cast(Any, response.is_closed) is True + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize def test_method_list_events(self, client: Openint) -> None: @@ -727,6 +767,43 @@ def test_path_params_upsert_connnector_config(self, client: Openint) -> None: id="", ) + @pytest.mark.skip(reason="Prism tests are disabled") + @parametrize + def test_method_upsert_customer(self, client: Openint) -> None: + client_ = client.upsert_customer() + assert_matches_type(UpsertCustomerResponse, client_, path=["response"]) + + @pytest.mark.skip(reason="Prism tests are disabled") + @parametrize + def test_method_upsert_customer_with_all_params(self, client: Openint) -> None: + client_ = client.upsert_customer( + id="id", + metadata={"foo": "bar"}, + ) + assert_matches_type(UpsertCustomerResponse, client_, path=["response"]) + + @pytest.mark.skip(reason="Prism tests are disabled") + @parametrize + def test_raw_response_upsert_customer(self, client: Openint) -> None: + response = client.with_raw_response.upsert_customer() + + assert response.is_closed is True + assert response.http_request.headers.get("X-Stainless-Lang") == "python" + client_ = response.parse() + assert_matches_type(UpsertCustomerResponse, client_, path=["response"]) + + @pytest.mark.skip(reason="Prism tests are disabled") + @parametrize + def test_streaming_response_upsert_customer(self, client: Openint) -> None: + with client.with_streaming_response.upsert_customer() as response: + assert not response.is_closed + assert response.http_request.headers.get("X-Stainless-Lang") == "python" + + client_ = response.parse() + assert_matches_type(UpsertCustomerResponse, client_, path=["response"]) + + assert cast(Any, response.is_closed) is True + class TestAsyncClient: parametrize = pytest.mark.parametrize( @@ -1333,6 +1410,44 @@ async def test_streaming_response_list_connnector_configs(self, async_client: As assert cast(Any, response.is_closed) is True + @pytest.mark.skip(reason="Prism tests are disabled") + @parametrize + async def test_method_list_customers(self, async_client: AsyncOpenint) -> None: + client = await async_client.list_customers() + assert_matches_type(AsyncOffsetPagination[ListCustomersResponse], client, path=["response"]) + + @pytest.mark.skip(reason="Prism tests are disabled") + @parametrize + async def test_method_list_customers_with_all_params(self, async_client: AsyncOpenint) -> None: + client = await async_client.list_customers( + limit=0, + offset=0, + search_query="search_query", + ) + assert_matches_type(AsyncOffsetPagination[ListCustomersResponse], client, path=["response"]) + + @pytest.mark.skip(reason="Prism tests are disabled") + @parametrize + async def test_raw_response_list_customers(self, async_client: AsyncOpenint) -> None: + response = await async_client.with_raw_response.list_customers() + + assert response.is_closed is True + assert response.http_request.headers.get("X-Stainless-Lang") == "python" + client = await response.parse() + assert_matches_type(AsyncOffsetPagination[ListCustomersResponse], client, path=["response"]) + + @pytest.mark.skip(reason="Prism tests are disabled") + @parametrize + async def test_streaming_response_list_customers(self, async_client: AsyncOpenint) -> None: + async with async_client.with_streaming_response.list_customers() as response: + assert not response.is_closed + assert response.http_request.headers.get("X-Stainless-Lang") == "python" + + client = await response.parse() + assert_matches_type(AsyncOffsetPagination[ListCustomersResponse], client, path=["response"]) + + assert cast(Any, response.is_closed) is True + @pytest.mark.skip(reason="Prism tests are disabled") @parametrize async def test_method_list_events(self, async_client: AsyncOpenint) -> None: @@ -1425,3 +1540,40 @@ async def test_path_params_upsert_connnector_config(self, async_client: AsyncOpe await async_client.with_raw_response.upsert_connnector_config( id="", ) + + @pytest.mark.skip(reason="Prism tests are disabled") + @parametrize + async def test_method_upsert_customer(self, async_client: AsyncOpenint) -> None: + client = await async_client.upsert_customer() + assert_matches_type(UpsertCustomerResponse, client, path=["response"]) + + @pytest.mark.skip(reason="Prism tests are disabled") + @parametrize + async def test_method_upsert_customer_with_all_params(self, async_client: AsyncOpenint) -> None: + client = await async_client.upsert_customer( + id="id", + metadata={"foo": "bar"}, + ) + assert_matches_type(UpsertCustomerResponse, client, path=["response"]) + + @pytest.mark.skip(reason="Prism tests are disabled") + @parametrize + async def test_raw_response_upsert_customer(self, async_client: AsyncOpenint) -> None: + response = await async_client.with_raw_response.upsert_customer() + + assert response.is_closed is True + assert response.http_request.headers.get("X-Stainless-Lang") == "python" + client = await response.parse() + assert_matches_type(UpsertCustomerResponse, client, path=["response"]) + + @pytest.mark.skip(reason="Prism tests are disabled") + @parametrize + async def test_streaming_response_upsert_customer(self, async_client: AsyncOpenint) -> None: + async with async_client.with_streaming_response.upsert_customer() as response: + assert not response.is_closed + assert response.http_request.headers.get("X-Stainless-Lang") == "python" + + client = await response.parse() + assert_matches_type(UpsertCustomerResponse, client, path=["response"]) + + assert cast(Any, response.is_closed) is True From 975d1f8432175f8b09ff23ee22ad6ba2ca75d39b Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Wed, 13 Aug 2025 22:26:48 +0000 Subject: [PATCH 32/32] release: 2.8.0 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 50 +++++++++++++++++++++++++++++++++++ pyproject.toml | 2 +- src/openint/_version.py | 2 +- 4 files changed, 53 insertions(+), 3 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index d1328ca..64f9ff4 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "2.7.0" + ".": "2.8.0" } \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 597dd7a..63a18db 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,55 @@ # Changelog +## 2.8.0 (2025-08-13) + +Full Changelog: [v2.7.0...v2.8.0](https://github.com/openintegrations/python-sdk/compare/v2.7.0...v2.8.0) + +### Features + +* **api:** exposing more APIs ([1dc7eb4](https://github.com/openintegrations/python-sdk/commit/1dc7eb455b99c94c4bb00c95c9e63d99ee1d11ea)) +* **api:** new endpoints ([73c7b5d](https://github.com/openintegrations/python-sdk/commit/73c7b5d69f08d5dbbeb0e77a27c330e4dadc7307)) +* clean up environment call outs ([0de7cb3](https://github.com/openintegrations/python-sdk/commit/0de7cb3fe67f104d2786e9353cecd9e46e574ea1)) +* **client:** add follow_redirects request option ([b9b9a31](https://github.com/openintegrations/python-sdk/commit/b9b9a31b91ad89eaaae440a5c0e979b18cd80d9e)) +* **client:** add support for aiohttp ([1f74a9a](https://github.com/openintegrations/python-sdk/commit/1f74a9a2c8ff4e8d92991f5d6d2a1b41eb0bef0e)) +* **docs:** updating documented docs for stainless ([735f889](https://github.com/openintegrations/python-sdk/commit/735f88912419dbdc3a80d0b665bdcef84cc26427)) +* **docs:** updating documented docs for stainless ([365ba48](https://github.com/openintegrations/python-sdk/commit/365ba486e77ce93e68a80a48649626119927b7b4)) +* **docs:** updating documented docs for stainless ([4d50fa2](https://github.com/openintegrations/python-sdk/commit/4d50fa222eaac99eb9b71b01c192c002720852cf)) + + +### Bug Fixes + +* **ci:** correct conditional ([3c5fa29](https://github.com/openintegrations/python-sdk/commit/3c5fa29b84f0bfdf76f05b7adca4cf8374afe425)) +* **ci:** release-doctor — report correct token name ([afdd5f4](https://github.com/openintegrations/python-sdk/commit/afdd5f492ce333fb11913b2c247b9af8292f1f24)) +* **client:** correctly parse binary response | stream ([caa6b27](https://github.com/openintegrations/python-sdk/commit/caa6b273178dbed4a68f007498fdc1aa0bd806b1)) +* **client:** don't send Content-Type header on GET requests ([c93f487](https://github.com/openintegrations/python-sdk/commit/c93f48787feef9bfadb7d4a4d740138cf9c5819b)) +* **parsing:** correctly handle nested discriminated unions ([21690ae](https://github.com/openintegrations/python-sdk/commit/21690ae92ff4e64eee4ea06050630f221018a4fe)) +* **parsing:** ignore empty metadata ([e261c8d](https://github.com/openintegrations/python-sdk/commit/e261c8d982826578cd2722dafa820c2c59928a33)) +* **parsing:** parse extra field types ([ad534e6](https://github.com/openintegrations/python-sdk/commit/ad534e6e930a4d5151a3cfdb9418e90e3670a7ab)) + + +### Chores + +* **ci:** change upload type ([3617fa8](https://github.com/openintegrations/python-sdk/commit/3617fa8cb1ce2407e0368a4bde03a29380dc6163)) +* **ci:** enable for pull requests ([931d7a6](https://github.com/openintegrations/python-sdk/commit/931d7a69639ed5e97247b25d7948830bd0f6722e)) +* **ci:** only run for pushes and fork pull requests ([7dc816a](https://github.com/openintegrations/python-sdk/commit/7dc816a1047a7b076b85745aa9cea3074e8657ea)) +* **docs:** remove reference to rye shell ([9a8cb2f](https://github.com/openintegrations/python-sdk/commit/9a8cb2f511a40dfdfbd2ab037505b15e95b2b5a4)) +* **docs:** remove unnecessary param examples ([eeb75d3](https://github.com/openintegrations/python-sdk/commit/eeb75d3ba0620c94e84975c3963f751545c3e525)) +* **internal:** bump pinned h11 dep ([30b9c6f](https://github.com/openintegrations/python-sdk/commit/30b9c6fd75dd3138d8018e27e8efedbc09757e3e)) +* **internal:** codegen related update ([9bcaeb5](https://github.com/openintegrations/python-sdk/commit/9bcaeb5741a5deb86b7033e8038ba5b0a5239682)) +* **internal:** update conftest.py ([c7fb0bb](https://github.com/openintegrations/python-sdk/commit/c7fb0bbc6dae0c4f04f6d71b9b247fdbd7c455fd)) +* **package:** mark python 3.13 as supported ([7816ba8](https://github.com/openintegrations/python-sdk/commit/7816ba8cf4cc1b395b488a5b899eeee3a5c6e9ef)) +* **project:** add settings file for vscode ([bd8d6a2](https://github.com/openintegrations/python-sdk/commit/bd8d6a28c1cf97bc10405bacb84703a01a562c64)) +* **readme:** fix version rendering on pypi ([ff23de4](https://github.com/openintegrations/python-sdk/commit/ff23de4d954014004757e17fb5c016ca6a97a023)) +* **readme:** update badges ([80e3c80](https://github.com/openintegrations/python-sdk/commit/80e3c8052559c503805acce6b9371fd8fa61e2f4)) +* **tests:** add tests for httpx client instantiation & proxies ([fb80b72](https://github.com/openintegrations/python-sdk/commit/fb80b72788f99715598043f3f8fd807f207a6041)) +* **tests:** run tests in parallel ([2944351](https://github.com/openintegrations/python-sdk/commit/2944351d65ce2c8a2499377f508b0ed3d32211ec)) +* **tests:** skip some failing tests on the latest python versions ([a49ae20](https://github.com/openintegrations/python-sdk/commit/a49ae20e614483d37f8353da78c0c2c731287342)) + + +### Documentation + +* **client:** fix httpx.Timeout documentation reference ([defb222](https://github.com/openintegrations/python-sdk/commit/defb22221843470910685c6aef3ca0c5e0805db2)) + ## 2.7.0 (2025-05-30) Full Changelog: [v2.6.0...v2.7.0](https://github.com/openintegrations/python-sdk/compare/v2.6.0...v2.7.0) diff --git a/pyproject.toml b/pyproject.toml index 96e5335..def258e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "openint" -version = "2.7.0" +version = "2.8.0" description = "The official Python library for the Openint API" dynamic = ["readme"] license = "Apache-2.0" diff --git a/src/openint/_version.py b/src/openint/_version.py index fb50800..c3b9407 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__ = "2.7.0" # x-release-please-version +__version__ = "2.8.0" # x-release-please-version