Skip to content

Commit 69393bd

Browse files
committed
Release 1.6.1
1 parent 99c9dcd commit 69393bd

File tree

14 files changed

+749
-3
lines changed

14 files changed

+749
-3
lines changed

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ name = "klavis"
33

44
[tool.poetry]
55
name = "klavis"
6-
version = "1.5.1"
6+
version = "1.6.1"
77
description = ""
88
readme = "README.md"
99
authors = []

reference.md

Lines changed: 173 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1226,6 +1226,78 @@ client.user.get_server_instances_by_user(
12261226
</dl>
12271227

12281228

1229+
</dd>
1230+
</dl>
1231+
</details>
1232+
1233+
<details><summary><code>client.user.<a href="src/klavis/user/client.py">delete_user_by_user_id</a>(...)</code></summary>
1234+
<dl>
1235+
<dd>
1236+
1237+
#### 📝 Description
1238+
1239+
<dl>
1240+
<dd>
1241+
1242+
<dl>
1243+
<dd>
1244+
1245+
Delete a user and all associated data by user_id.
1246+
Users cannot delete their own accounts.
1247+
This operation will permanently remove all user data.
1248+
</dd>
1249+
</dl>
1250+
</dd>
1251+
</dl>
1252+
1253+
#### 🔌 Usage
1254+
1255+
<dl>
1256+
<dd>
1257+
1258+
<dl>
1259+
<dd>
1260+
1261+
```python
1262+
from klavis import Klavis
1263+
1264+
client = Klavis(
1265+
api_key="YOUR_API_KEY",
1266+
)
1267+
client.user.delete_user_by_user_id(
1268+
user_id="user_id",
1269+
)
1270+
1271+
```
1272+
</dd>
1273+
</dl>
1274+
</dd>
1275+
</dl>
1276+
1277+
#### ⚙️ Parameters
1278+
1279+
<dl>
1280+
<dd>
1281+
1282+
<dl>
1283+
<dd>
1284+
1285+
**user_id:** `str` — The identifier for the user to delete.
1286+
1287+
</dd>
1288+
</dl>
1289+
1290+
<dl>
1291+
<dd>
1292+
1293+
**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
1294+
1295+
</dd>
1296+
</dl>
1297+
</dd>
1298+
</dl>
1299+
1300+
12291301
</dd>
12301302
</dl>
12311303
</details>
@@ -3645,3 +3717,104 @@ client.dropbox_oauth.authorize_dropbox(
36453717
</dl>
36463718
</details>
36473719

3720+
## QuickbooksOauth
3721+
<details><summary><code>client.quickbooks_oauth.<a href="src/klavis/quickbooks_oauth/client.py">authorize_quick_books</a>(...)</code></summary>
3722+
<dl>
3723+
<dd>
3724+
3725+
#### 📝 Description
3726+
3727+
<dl>
3728+
<dd>
3729+
3730+
<dl>
3731+
<dd>
3732+
3733+
Start QuickBooks OAuth flow
3734+
3735+
Parameters:
3736+
- instance_id: Identifier for the instance requesting authorization
3737+
- client_id: Optional client ID for white labeling
3738+
- scope: Optional scopes to request (space-separated). Default is 'com.intuit.quickbooks.accounting'
3739+
- redirect_url: Optional URL to redirect to after authorization completes
3740+
</dd>
3741+
</dl>
3742+
</dd>
3743+
</dl>
3744+
3745+
#### 🔌 Usage
3746+
3747+
<dl>
3748+
<dd>
3749+
3750+
<dl>
3751+
<dd>
3752+
3753+
```python
3754+
from klavis import Klavis
3755+
3756+
client = Klavis(
3757+
api_key="YOUR_API_KEY",
3758+
)
3759+
client.quickbooks_oauth.authorize_quick_books(
3760+
instance_id="instance_id",
3761+
)
3762+
3763+
```
3764+
</dd>
3765+
</dl>
3766+
</dd>
3767+
</dl>
3768+
3769+
#### ⚙️ Parameters
3770+
3771+
<dl>
3772+
<dd>
3773+
3774+
<dl>
3775+
<dd>
3776+
3777+
**instance_id:** `str` — Unique identifier for the client instance requesting authorization
3778+
3779+
</dd>
3780+
</dl>
3781+
3782+
<dl>
3783+
<dd>
3784+
3785+
**client_id:** `typing.Optional[str]` — Client ID for white labeling, if not provided will use default credentials
3786+
3787+
</dd>
3788+
</dl>
3789+
3790+
<dl>
3791+
<dd>
3792+
3793+
**scope:** `typing.Optional[str]` — Optional OAuth scopes to request (space-separated string)
3794+
3795+
</dd>
3796+
</dl>
3797+
3798+
<dl>
3799+
<dd>
3800+
3801+
**redirect_url:** `typing.Optional[str]` — Optional URL to redirect to after authorization completes
3802+
3803+
</dd>
3804+
</dl>
3805+
3806+
<dl>
3807+
<dd>
3808+
3809+
**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
3810+
3811+
</dd>
3812+
</dl>
3813+
</dd>
3814+
</dl>
3815+
3816+
3817+
</dd>
3818+
</dl>
3819+
</details>
3820+

src/klavis/__init__.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
CallToolResult,
88
ConnectionType,
99
CreateServerResponse,
10+
DeleteUserResponse,
1011
ExtendedMcpServer,
1112
GetAuthMetadataResponse,
1213
GetInstanceResponse,
@@ -48,6 +49,7 @@
4849
linkedin_oauth,
4950
mcp_server,
5051
notion_oauth,
52+
quickbooks_oauth,
5153
salesforce_oauth,
5254
slack_oauth,
5355
supabase_oauth,
@@ -66,6 +68,7 @@
6668
"CallToolResult",
6769
"ConnectionType",
6870
"CreateServerResponse",
71+
"DeleteUserResponse",
6972
"ExtendedMcpServer",
7073
"GetAuthMetadataResponse",
7174
"GetInstanceResponse",
@@ -108,6 +111,7 @@
108111
"linkedin_oauth",
109112
"mcp_server",
110113
"notion_oauth",
114+
"quickbooks_oauth",
111115
"salesforce_oauth",
112116
"slack_oauth",
113117
"supabase_oauth",

src/klavis/client.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
from .linkedin_oauth.client import AsyncLinkedinOauthClient, LinkedinOauthClient
2626
from .mcp_server.client import AsyncMcpServerClient, McpServerClient
2727
from .notion_oauth.client import AsyncNotionOauthClient, NotionOauthClient
28+
from .quickbooks_oauth.client import AsyncQuickbooksOauthClient, QuickbooksOauthClient
2829
from .salesforce_oauth.client import AsyncSalesforceOauthClient, SalesforceOauthClient
2930
from .slack_oauth.client import AsyncSlackOauthClient, SlackOauthClient
3031
from .supabase_oauth.client import AsyncSupabaseOauthClient, SupabaseOauthClient
@@ -121,6 +122,7 @@ def __init__(
121122
self.canva_oauth = CanvaOauthClient(client_wrapper=self._client_wrapper)
122123
self.xero_oauth = XeroOauthClient(client_wrapper=self._client_wrapper)
123124
self.dropbox_oauth = DropboxOauthClient(client_wrapper=self._client_wrapper)
125+
self.quickbooks_oauth = QuickbooksOauthClient(client_wrapper=self._client_wrapper)
124126

125127

126128
class AsyncKlavis:
@@ -210,6 +212,7 @@ def __init__(
210212
self.canva_oauth = AsyncCanvaOauthClient(client_wrapper=self._client_wrapper)
211213
self.xero_oauth = AsyncXeroOauthClient(client_wrapper=self._client_wrapper)
212214
self.dropbox_oauth = AsyncDropboxOauthClient(client_wrapper=self._client_wrapper)
215+
self.quickbooks_oauth = AsyncQuickbooksOauthClient(client_wrapper=self._client_wrapper)
213216

214217

215218
def _get_base_url(*, base_url: typing.Optional[str] = None, environment: KlavisEnvironment) -> str:

src/klavis/core/client_wrapper.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@ def __init__(
2020

2121
def get_headers(self) -> typing.Dict[str, str]:
2222
headers: typing.Dict[str, str] = {
23-
"User-Agent": "klavis/1.5.1",
23+
"User-Agent": "klavis/1.6.1",
2424
"X-Fern-Language": "Python",
2525
"X-Fern-SDK-Name": "klavis",
26-
"X-Fern-SDK-Version": "1.5.1",
26+
"X-Fern-SDK-Version": "1.6.1",
2727
}
2828
api_key = self._get_api_key()
2929
if api_key is not None:
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# This file was auto-generated by Fern from our API Definition.
2+
3+
# isort: skip_file
4+

0 commit comments

Comments
 (0)