fathom-python 0.0.26__py3-none-any.whl → 0.0.28__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
fathom/__init__.py CHANGED
@@ -11,7 +11,6 @@ from .types import (
11
11
  CrmMatches,
12
12
  FathomUser,
13
13
  Invitee,
14
- ListMeetingsRequestMeetingType,
15
14
  Meeting,
16
15
  MeetingListResponse,
17
16
  MeetingMeetingType,
@@ -41,7 +40,6 @@ __all__ = [
41
40
  "CrmMatches",
42
41
  "FathomUser",
43
42
  "Invitee",
44
- "ListMeetingsRequestMeetingType",
45
43
  "Meeting",
46
44
  "MeetingListResponse",
47
45
  "MeetingMeetingType",
fathom/base_client.py CHANGED
@@ -4,14 +4,11 @@ import typing
4
4
 
5
5
  import httpx
6
6
  from .core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
7
- from .core.pagination import AsyncPager, SyncPager
8
- from .core.request_options import RequestOptions
9
7
  from .environment import FathomApiEnvironment
10
- from .raw_base_client import AsyncRawBaseClient, RawBaseClient
11
- from .types.list_meetings_request_meeting_type import ListMeetingsRequestMeetingType
12
- from .types.meeting import Meeting
13
- from .types.team import Team
14
- from .types.team_member import TeamMember
8
+ from .meetings.client import AsyncMeetingsClient, MeetingsClient
9
+ from .team_members.client import AsyncTeamMembersClient, TeamMembersClient
10
+ from .teams.client import AsyncTeamsClient, TeamsClient
11
+ from .webhooks.client import AsyncWebhooksClient, WebhooksClient
15
12
 
16
13
 
17
14
  class BaseClient:
@@ -69,167 +66,10 @@ class BaseClient:
69
66
  else httpx.Client(timeout=_defaulted_timeout),
70
67
  timeout=_defaulted_timeout,
71
68
  )
72
- self._raw_client = RawBaseClient(client_wrapper=self._client_wrapper)
73
-
74
- @property
75
- def with_raw_response(self) -> RawBaseClient:
76
- """
77
- Retrieves a raw implementation of this client that returns raw responses.
78
-
79
- Returns
80
- -------
81
- RawBaseClient
82
- """
83
- return self._raw_client
84
-
85
- def list_meetings(
86
- self,
87
- *,
88
- recorded_by: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
89
- teams: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
90
- calendar_invitees: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
91
- created_after: typing.Optional[str] = None,
92
- meeting_type: typing.Optional[ListMeetingsRequestMeetingType] = None,
93
- include_transcript: typing.Optional[bool] = None,
94
- cursor: typing.Optional[str] = None,
95
- request_options: typing.Optional[RequestOptions] = None,
96
- ) -> SyncPager[Meeting]:
97
- """
98
- Parameters
99
- ----------
100
- recorded_by : typing.Optional[typing.Union[str, typing.Sequence[str]]]
101
- Email addresses of meeting owners.
102
-
103
- Pass the parameter once per value, e.g.
104
- `recorded_by[]=ceo@acme.com&recorded_by[]=pm@acme.com`.
105
-
106
- Returns meetings hosted by any of the specified users.
107
-
108
- teams : typing.Optional[typing.Union[str, typing.Sequence[str]]]
109
- Team names to filter by.
110
-
111
- Pass the parameter once per value, e.g.
112
- `teams[]=Sales&teams[]=Engineering`.
113
-
114
- Returns meetings that belong to any of the specified teams.
115
-
116
- calendar_invitees : typing.Optional[typing.Union[str, typing.Sequence[str]]]
117
- Email addresses of calendar_invitees.
118
-
119
- Pass the parameter once per value, e.g.
120
- `calendar_invitees[]=cfo@acme.com&calendar_invitees[]=legal@acme.com`.
121
-
122
- Returns meetings where any of the given email addresses appear
123
- in the calendar_invitees list.
124
-
125
- created_after : typing.Optional[str]
126
- Filter to meetings with created_at after this timestamp, e.g. `created_after=2025-01-01T00:00:00Z`.
127
-
128
- meeting_type : typing.Optional[ListMeetingsRequestMeetingType]
129
- Filter by meeting type.
130
-
131
- include_transcript : typing.Optional[bool]
132
- Include the transcript for each meeting.
133
-
134
- cursor : typing.Optional[str]
135
- Cursor for pagination.
136
-
137
- request_options : typing.Optional[RequestOptions]
138
- Request-specific configuration.
139
-
140
- Returns
141
- -------
142
- SyncPager[Meeting]
143
- Paginated list of meetings.
144
-
145
- Examples
146
- --------
147
- from fathom import FathomApi
148
- client = FathomApi(api_key="YOUR_API_KEY", )
149
- response = client.list_meetings()
150
- for item in response:
151
- yield item
152
- # alternatively, you can paginate page-by-page
153
- for page in response.iter_pages():
154
- yield page
155
- """
156
- return self._raw_client.list_meetings(
157
- recorded_by=recorded_by,
158
- teams=teams,
159
- calendar_invitees=calendar_invitees,
160
- created_after=created_after,
161
- meeting_type=meeting_type,
162
- include_transcript=include_transcript,
163
- cursor=cursor,
164
- request_options=request_options,
165
- )
166
-
167
- def list_teams(
168
- self, *, cursor: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None
169
- ) -> SyncPager[Team]:
170
- """
171
- Parameters
172
- ----------
173
- cursor : typing.Optional[str]
174
- Cursor for pagination.
175
-
176
- request_options : typing.Optional[RequestOptions]
177
- Request-specific configuration.
178
-
179
- Returns
180
- -------
181
- SyncPager[Team]
182
- Paginated list of teams.
183
-
184
- Examples
185
- --------
186
- from fathom import FathomApi
187
- client = FathomApi(api_key="YOUR_API_KEY", )
188
- response = client.list_teams()
189
- for item in response:
190
- yield item
191
- # alternatively, you can paginate page-by-page
192
- for page in response.iter_pages():
193
- yield page
194
- """
195
- return self._raw_client.list_teams(cursor=cursor, request_options=request_options)
196
-
197
- def list_team_members(
198
- self,
199
- *,
200
- team: typing.Optional[str] = None,
201
- cursor: typing.Optional[str] = None,
202
- request_options: typing.Optional[RequestOptions] = None,
203
- ) -> SyncPager[TeamMember]:
204
- """
205
- Parameters
206
- ----------
207
- team : typing.Optional[str]
208
- Team name to filter by.
209
-
210
- cursor : typing.Optional[str]
211
- Cursor for pagination.
212
-
213
- request_options : typing.Optional[RequestOptions]
214
- Request-specific configuration.
215
-
216
- Returns
217
- -------
218
- SyncPager[TeamMember]
219
- Paginated list of team members.
220
-
221
- Examples
222
- --------
223
- from fathom import FathomApi
224
- client = FathomApi(api_key="YOUR_API_KEY", )
225
- response = client.list_team_members()
226
- for item in response:
227
- yield item
228
- # alternatively, you can paginate page-by-page
229
- for page in response.iter_pages():
230
- yield page
231
- """
232
- return self._raw_client.list_team_members(team=team, cursor=cursor, request_options=request_options)
69
+ self.meetings = MeetingsClient(client_wrapper=self._client_wrapper)
70
+ self.teams = TeamsClient(client_wrapper=self._client_wrapper)
71
+ self.team_members = TeamMembersClient(client_wrapper=self._client_wrapper)
72
+ self.webhooks = WebhooksClient(client_wrapper=self._client_wrapper)
233
73
 
234
74
 
235
75
  class AsyncBaseClient:
@@ -287,179 +127,10 @@ class AsyncBaseClient:
287
127
  else httpx.AsyncClient(timeout=_defaulted_timeout),
288
128
  timeout=_defaulted_timeout,
289
129
  )
290
- self._raw_client = AsyncRawBaseClient(client_wrapper=self._client_wrapper)
291
-
292
- @property
293
- def with_raw_response(self) -> AsyncRawBaseClient:
294
- """
295
- Retrieves a raw implementation of this client that returns raw responses.
296
-
297
- Returns
298
- -------
299
- AsyncRawBaseClient
300
- """
301
- return self._raw_client
302
-
303
- async def list_meetings(
304
- self,
305
- *,
306
- recorded_by: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
307
- teams: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
308
- calendar_invitees: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
309
- created_after: typing.Optional[str] = None,
310
- meeting_type: typing.Optional[ListMeetingsRequestMeetingType] = None,
311
- include_transcript: typing.Optional[bool] = None,
312
- cursor: typing.Optional[str] = None,
313
- request_options: typing.Optional[RequestOptions] = None,
314
- ) -> AsyncPager[Meeting]:
315
- """
316
- Parameters
317
- ----------
318
- recorded_by : typing.Optional[typing.Union[str, typing.Sequence[str]]]
319
- Email addresses of meeting owners.
320
-
321
- Pass the parameter once per value, e.g.
322
- `recorded_by[]=ceo@acme.com&recorded_by[]=pm@acme.com`.
323
-
324
- Returns meetings hosted by any of the specified users.
325
-
326
- teams : typing.Optional[typing.Union[str, typing.Sequence[str]]]
327
- Team names to filter by.
328
-
329
- Pass the parameter once per value, e.g.
330
- `teams[]=Sales&teams[]=Engineering`.
331
-
332
- Returns meetings that belong to any of the specified teams.
333
-
334
- calendar_invitees : typing.Optional[typing.Union[str, typing.Sequence[str]]]
335
- Email addresses of calendar_invitees.
336
-
337
- Pass the parameter once per value, e.g.
338
- `calendar_invitees[]=cfo@acme.com&calendar_invitees[]=legal@acme.com`.
339
-
340
- Returns meetings where any of the given email addresses appear
341
- in the calendar_invitees list.
342
-
343
- created_after : typing.Optional[str]
344
- Filter to meetings with created_at after this timestamp, e.g. `created_after=2025-01-01T00:00:00Z`.
345
-
346
- meeting_type : typing.Optional[ListMeetingsRequestMeetingType]
347
- Filter by meeting type.
348
-
349
- include_transcript : typing.Optional[bool]
350
- Include the transcript for each meeting.
351
-
352
- cursor : typing.Optional[str]
353
- Cursor for pagination.
354
-
355
- request_options : typing.Optional[RequestOptions]
356
- Request-specific configuration.
357
-
358
- Returns
359
- -------
360
- AsyncPager[Meeting]
361
- Paginated list of meetings.
362
-
363
- Examples
364
- --------
365
- from fathom import AsyncFathomApi
366
- import asyncio
367
- client = AsyncFathomApi(api_key="YOUR_API_KEY", )
368
- async def main() -> None:
369
- response = await client.list_meetings()
370
- async for item in response:
371
- yield item
372
-
373
- # alternatively, you can paginate page-by-page
374
- async for page in response.iter_pages():
375
- yield page
376
- asyncio.run(main())
377
- """
378
- return await self._raw_client.list_meetings(
379
- recorded_by=recorded_by,
380
- teams=teams,
381
- calendar_invitees=calendar_invitees,
382
- created_after=created_after,
383
- meeting_type=meeting_type,
384
- include_transcript=include_transcript,
385
- cursor=cursor,
386
- request_options=request_options,
387
- )
388
-
389
- async def list_teams(
390
- self, *, cursor: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None
391
- ) -> AsyncPager[Team]:
392
- """
393
- Parameters
394
- ----------
395
- cursor : typing.Optional[str]
396
- Cursor for pagination.
397
-
398
- request_options : typing.Optional[RequestOptions]
399
- Request-specific configuration.
400
-
401
- Returns
402
- -------
403
- AsyncPager[Team]
404
- Paginated list of teams.
405
-
406
- Examples
407
- --------
408
- from fathom import AsyncFathomApi
409
- import asyncio
410
- client = AsyncFathomApi(api_key="YOUR_API_KEY", )
411
- async def main() -> None:
412
- response = await client.list_teams()
413
- async for item in response:
414
- yield item
415
-
416
- # alternatively, you can paginate page-by-page
417
- async for page in response.iter_pages():
418
- yield page
419
- asyncio.run(main())
420
- """
421
- return await self._raw_client.list_teams(cursor=cursor, request_options=request_options)
422
-
423
- async def list_team_members(
424
- self,
425
- *,
426
- team: typing.Optional[str] = None,
427
- cursor: typing.Optional[str] = None,
428
- request_options: typing.Optional[RequestOptions] = None,
429
- ) -> AsyncPager[TeamMember]:
430
- """
431
- Parameters
432
- ----------
433
- team : typing.Optional[str]
434
- Team name to filter by.
435
-
436
- cursor : typing.Optional[str]
437
- Cursor for pagination.
438
-
439
- request_options : typing.Optional[RequestOptions]
440
- Request-specific configuration.
441
-
442
- Returns
443
- -------
444
- AsyncPager[TeamMember]
445
- Paginated list of team members.
446
-
447
- Examples
448
- --------
449
- from fathom import AsyncFathomApi
450
- import asyncio
451
- client = AsyncFathomApi(api_key="YOUR_API_KEY", )
452
- async def main() -> None:
453
- response = await client.list_team_members()
454
- async for item in response:
455
- yield item
456
-
457
- # alternatively, you can paginate page-by-page
458
- async for page in response.iter_pages():
459
- yield page
460
- asyncio.run(main())
461
- """
462
- return await self._raw_client.list_team_members(team=team, cursor=cursor, request_options=request_options)
130
+ self.meetings = AsyncMeetingsClient(client_wrapper=self._client_wrapper)
131
+ self.teams = AsyncTeamsClient(client_wrapper=self._client_wrapper)
132
+ self.team_members = AsyncTeamMembersClient(client_wrapper=self._client_wrapper)
133
+ self.webhooks = AsyncWebhooksClient(client_wrapper=self._client_wrapper)
463
134
 
464
135
 
465
136
  def _get_base_url(*, base_url: typing.Optional[str] = None, environment: FathomApiEnvironment) -> str:
@@ -14,10 +14,10 @@ class BaseClientWrapper:
14
14
 
15
15
  def get_headers(self) -> typing.Dict[str, str]:
16
16
  headers: typing.Dict[str, str] = {
17
- "User-Agent": "fathom-python/0.0.26",
17
+ "User-Agent": "fathom-python/0.0.28",
18
18
  "X-Fern-Language": "Python",
19
19
  "X-Fern-SDK-Name": "fathom-python",
20
- "X-Fern-SDK-Version": "0.0.26",
20
+ "X-Fern-SDK-Version": "0.0.28",
21
21
  }
22
22
  headers["X-Api-Key"] = self.api_key
23
23
  return headers
fathom/errors/__init__.py CHANGED
@@ -3,6 +3,8 @@
3
3
  # isort: skip_file
4
4
 
5
5
  from .bad_request_error import BadRequestError
6
+ from .not_found_error import NotFoundError
7
+ from .too_many_requests_error import TooManyRequestsError
6
8
  from .unauthorized_error import UnauthorizedError
7
9
 
8
- __all__ = ["BadRequestError", "UnauthorizedError"]
10
+ __all__ = ["BadRequestError", "NotFoundError", "TooManyRequestsError", "UnauthorizedError"]
@@ -0,0 +1,10 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ from ..core.api_error import ApiError
6
+
7
+
8
+ class NotFoundError(ApiError):
9
+ def __init__(self, body: typing.Optional[typing.Any], headers: typing.Optional[typing.Dict[str, str]] = None):
10
+ super().__init__(status_code=404, headers=headers, body=body)
@@ -0,0 +1,10 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ from ..core.api_error import ApiError
6
+
7
+
8
+ class TooManyRequestsError(ApiError):
9
+ def __init__(self, body: typing.Optional[typing.Any], headers: typing.Optional[typing.Dict[str, str]] = None):
10
+ super().__init__(status_code=429, headers=headers, body=body)
@@ -0,0 +1,7 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ # isort: skip_file
4
+
5
+ from .types import ListMeetingsRequestMeetingType
6
+
7
+ __all__ = ["ListMeetingsRequestMeetingType"]
@@ -0,0 +1,250 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
6
+ from ..core.pagination import AsyncPager, SyncPager
7
+ from ..core.request_options import RequestOptions
8
+ from ..types.meeting import Meeting
9
+ from .raw_client import AsyncRawMeetingsClient, RawMeetingsClient
10
+ from .types.list_meetings_request_meeting_type import ListMeetingsRequestMeetingType
11
+
12
+
13
+ class MeetingsClient:
14
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
15
+ self._raw_client = RawMeetingsClient(client_wrapper=client_wrapper)
16
+
17
+ @property
18
+ def with_raw_response(self) -> RawMeetingsClient:
19
+ """
20
+ Retrieves a raw implementation of this client that returns raw responses.
21
+
22
+ Returns
23
+ -------
24
+ RawMeetingsClient
25
+ """
26
+ return self._raw_client
27
+
28
+ def list_meetings(
29
+ self,
30
+ *,
31
+ calendar_invitees: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
32
+ calendar_invitees_domains: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
33
+ created_after: typing.Optional[str] = None,
34
+ created_before: typing.Optional[str] = None,
35
+ cursor: typing.Optional[str] = None,
36
+ include_crm_matches: typing.Optional[bool] = None,
37
+ include_transcript: typing.Optional[bool] = None,
38
+ meeting_type: typing.Optional[ListMeetingsRequestMeetingType] = None,
39
+ recorded_by: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
40
+ teams: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
41
+ request_options: typing.Optional[RequestOptions] = None,
42
+ ) -> SyncPager[Meeting]:
43
+ """
44
+ Parameters
45
+ ----------
46
+ calendar_invitees : typing.Optional[typing.Union[str, typing.Sequence[str]]]
47
+ Email address of calendar_invitees to filter by.
48
+
49
+ Pass the parameter once per value, e.g.
50
+ `calendar_invitees[]=cfo@acme.com&calendar_invitees[]=legal@acme.com`.
51
+
52
+ Returns meetings where any of the given email addresses appear
53
+ in the calendar_invitees list.
54
+
55
+ calendar_invitees_domains : typing.Optional[typing.Union[str, typing.Sequence[str]]]
56
+ Domains of the companies to filter by. Exact match.
57
+
58
+ Pass the parameter once per value, e.g.
59
+ `calendar_invitees_domains[]=acme.com&calendar_invitees_domains[]=client.com`.
60
+
61
+ Returns meetings where any of the given company domains appear in the meeting.
62
+
63
+ created_after : typing.Optional[str]
64
+ Filter to meetings with created_at after this timestamp, e.g. `created_after=2025-01-01T00:00:00Z`.
65
+
66
+ created_before : typing.Optional[str]
67
+ Filter to meetings with created_at before this timestamp, e.g. `created_before=2025-01-01T00:00:00Z`.
68
+
69
+ cursor : typing.Optional[str]
70
+ Cursor for pagination.
71
+
72
+ include_crm_matches : typing.Optional[bool]
73
+ Include CRM matches for each meeting. Only returns data from your or your team's linked CRM.
74
+
75
+ include_transcript : typing.Optional[bool]
76
+ Include the transcript for each meeting.
77
+
78
+ meeting_type : typing.Optional[ListMeetingsRequestMeetingType]
79
+ Filter by meeting type.
80
+
81
+ recorded_by : typing.Optional[typing.Union[str, typing.Sequence[str]]]
82
+ Email addresses of meeting owners.
83
+
84
+ Pass the parameter once per value, e.g.
85
+ `recorded_by[]=ceo@acme.com&recorded_by[]=pm@acme.com`.
86
+
87
+ Returns meetings hosted by any of the specified users.
88
+
89
+ teams : typing.Optional[typing.Union[str, typing.Sequence[str]]]
90
+ Team names to filter by.
91
+
92
+ Pass the parameter once per value, e.g.
93
+ `teams[]=Sales&teams[]=Engineering`.
94
+
95
+ Returns meetings that belong to any of the specified teams.
96
+
97
+ request_options : typing.Optional[RequestOptions]
98
+ Request-specific configuration.
99
+
100
+ Returns
101
+ -------
102
+ SyncPager[Meeting]
103
+ Paginated list of meetings.
104
+
105
+ Examples
106
+ --------
107
+ from fathom import FathomApi
108
+ client = FathomApi(api_key="YOUR_API_KEY", )
109
+ response = client.meetings.list_meetings()
110
+ for item in response:
111
+ yield item
112
+ # alternatively, you can paginate page-by-page
113
+ for page in response.iter_pages():
114
+ yield page
115
+ """
116
+ return self._raw_client.list_meetings(
117
+ calendar_invitees=calendar_invitees,
118
+ calendar_invitees_domains=calendar_invitees_domains,
119
+ created_after=created_after,
120
+ created_before=created_before,
121
+ cursor=cursor,
122
+ include_crm_matches=include_crm_matches,
123
+ include_transcript=include_transcript,
124
+ meeting_type=meeting_type,
125
+ recorded_by=recorded_by,
126
+ teams=teams,
127
+ request_options=request_options,
128
+ )
129
+
130
+
131
+ class AsyncMeetingsClient:
132
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
133
+ self._raw_client = AsyncRawMeetingsClient(client_wrapper=client_wrapper)
134
+
135
+ @property
136
+ def with_raw_response(self) -> AsyncRawMeetingsClient:
137
+ """
138
+ Retrieves a raw implementation of this client that returns raw responses.
139
+
140
+ Returns
141
+ -------
142
+ AsyncRawMeetingsClient
143
+ """
144
+ return self._raw_client
145
+
146
+ async def list_meetings(
147
+ self,
148
+ *,
149
+ calendar_invitees: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
150
+ calendar_invitees_domains: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
151
+ created_after: typing.Optional[str] = None,
152
+ created_before: typing.Optional[str] = None,
153
+ cursor: typing.Optional[str] = None,
154
+ include_crm_matches: typing.Optional[bool] = None,
155
+ include_transcript: typing.Optional[bool] = None,
156
+ meeting_type: typing.Optional[ListMeetingsRequestMeetingType] = None,
157
+ recorded_by: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
158
+ teams: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
159
+ request_options: typing.Optional[RequestOptions] = None,
160
+ ) -> AsyncPager[Meeting]:
161
+ """
162
+ Parameters
163
+ ----------
164
+ calendar_invitees : typing.Optional[typing.Union[str, typing.Sequence[str]]]
165
+ Email address of calendar_invitees to filter by.
166
+
167
+ Pass the parameter once per value, e.g.
168
+ `calendar_invitees[]=cfo@acme.com&calendar_invitees[]=legal@acme.com`.
169
+
170
+ Returns meetings where any of the given email addresses appear
171
+ in the calendar_invitees list.
172
+
173
+ calendar_invitees_domains : typing.Optional[typing.Union[str, typing.Sequence[str]]]
174
+ Domains of the companies to filter by. Exact match.
175
+
176
+ Pass the parameter once per value, e.g.
177
+ `calendar_invitees_domains[]=acme.com&calendar_invitees_domains[]=client.com`.
178
+
179
+ Returns meetings where any of the given company domains appear in the meeting.
180
+
181
+ created_after : typing.Optional[str]
182
+ Filter to meetings with created_at after this timestamp, e.g. `created_after=2025-01-01T00:00:00Z`.
183
+
184
+ created_before : typing.Optional[str]
185
+ Filter to meetings with created_at before this timestamp, e.g. `created_before=2025-01-01T00:00:00Z`.
186
+
187
+ cursor : typing.Optional[str]
188
+ Cursor for pagination.
189
+
190
+ include_crm_matches : typing.Optional[bool]
191
+ Include CRM matches for each meeting. Only returns data from your or your team's linked CRM.
192
+
193
+ include_transcript : typing.Optional[bool]
194
+ Include the transcript for each meeting.
195
+
196
+ meeting_type : typing.Optional[ListMeetingsRequestMeetingType]
197
+ Filter by meeting type.
198
+
199
+ recorded_by : typing.Optional[typing.Union[str, typing.Sequence[str]]]
200
+ Email addresses of meeting owners.
201
+
202
+ Pass the parameter once per value, e.g.
203
+ `recorded_by[]=ceo@acme.com&recorded_by[]=pm@acme.com`.
204
+
205
+ Returns meetings hosted by any of the specified users.
206
+
207
+ teams : typing.Optional[typing.Union[str, typing.Sequence[str]]]
208
+ Team names to filter by.
209
+
210
+ Pass the parameter once per value, e.g.
211
+ `teams[]=Sales&teams[]=Engineering`.
212
+
213
+ Returns meetings that belong to any of the specified teams.
214
+
215
+ request_options : typing.Optional[RequestOptions]
216
+ Request-specific configuration.
217
+
218
+ Returns
219
+ -------
220
+ AsyncPager[Meeting]
221
+ Paginated list of meetings.
222
+
223
+ Examples
224
+ --------
225
+ from fathom import AsyncFathomApi
226
+ import asyncio
227
+ client = AsyncFathomApi(api_key="YOUR_API_KEY", )
228
+ async def main() -> None:
229
+ response = await client.meetings.list_meetings()
230
+ async for item in response:
231
+ yield item
232
+
233
+ # alternatively, you can paginate page-by-page
234
+ async for page in response.iter_pages():
235
+ yield page
236
+ asyncio.run(main())
237
+ """
238
+ return await self._raw_client.list_meetings(
239
+ calendar_invitees=calendar_invitees,
240
+ calendar_invitees_domains=calendar_invitees_domains,
241
+ created_after=created_after,
242
+ created_before=created_before,
243
+ cursor=cursor,
244
+ include_crm_matches=include_crm_matches,
245
+ include_transcript=include_transcript,
246
+ meeting_type=meeting_type,
247
+ recorded_by=recorded_by,
248
+ teams=teams,
249
+ request_options=request_options,
250
+ )