Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
863b0ab
codegen metadata
stainless-app[bot] Apr 21, 2026
c1d9b0b
codegen metadata
stainless-app[bot] Apr 21, 2026
0449c0b
feat(api): api update
stainless-app[bot] Apr 21, 2026
6f74baa
codegen metadata
stainless-app[bot] Apr 21, 2026
eea02e9
feat(api): api update
stainless-app[bot] Apr 22, 2026
1ea4c8d
codegen metadata
stainless-app[bot] Apr 22, 2026
6b442f0
chore(internal): more robust bootstrap script
stainless-app[bot] Apr 22, 2026
f1d06ff
feat(api): api update
stainless-app[bot] Apr 22, 2026
1e5a3f2
feat(api): api update
stainless-app[bot] Apr 23, 2026
f30e380
fix: use correct field name format for multipart file arrays
stainless-app[bot] Apr 27, 2026
b5be3d5
feat(api): api update
stainless-app[bot] Apr 27, 2026
1a21386
codegen metadata
stainless-app[bot] Apr 27, 2026
c943353
feat: support setting headers via env
stainless-app[bot] Apr 27, 2026
b3f3ebf
feat(api): api update
stainless-app[bot] Apr 28, 2026
4d4d2d7
codegen metadata
stainless-app[bot] Apr 28, 2026
f82efbe
codegen metadata
stainless-app[bot] Apr 28, 2026
3189146
feat(api): api update
stainless-app[bot] Apr 29, 2026
d75fa93
codegen metadata
stainless-app[bot] Apr 29, 2026
44f542f
feat(api): api update
stainless-app[bot] Apr 30, 2026
db5b20b
codegen metadata
stainless-app[bot] Apr 30, 2026
b671eaa
feat(api): api update
stainless-app[bot] Apr 30, 2026
0e9d737
codegen metadata
stainless-app[bot] Apr 30, 2026
eb865b0
chore(internal): reformat pyproject.toml
stainless-app[bot] Apr 30, 2026
1c01154
codegen metadata
stainless-app[bot] Apr 30, 2026
d4cc559
codegen metadata
stainless-app[bot] May 1, 2026
da275a3
feat(api): api update
stainless-app[bot] May 1, 2026
6763916
codegen metadata
stainless-app[bot] May 2, 2026
b61b0ee
feat(api): api update
stainless-app[bot] May 2, 2026
e2a497c
codegen metadata
stainless-app[bot] May 3, 2026
69d6c5c
feat(api): manual updates
stainless-app[bot] May 4, 2026
0f7ed96
feat(api): api update
stainless-app[bot] May 4, 2026
1c8637a
release: 0.1.0
stainless-app[bot] May 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "0.0.38"
".": "0.1.0"
}
8 changes: 4 additions & 4 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 195
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/frostedinc%2Fwhopsdk-c40acc9d58677fb284fa990c261b2494d9a7f1f1e4e9cf613546972e23255cb8.yml
openapi_spec_hash: adcf3faf651ee3eb5af6e1c0fe9d2b65
config_hash: 6ad5a913fda410def47bf2ed841e2064
configured_endpoints: 218
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/frostedinc/whopsdk-a3f7272c868273bdba6b569c05961b3dcfeaf602c44b2e82c04097b9abb13af5.yml
openapi_spec_hash: e5b4b97d17ab288a38c218fc909a07c5
config_hash: 82b4c2cb9b7d1707feb0f11c7c2426e9
32 changes: 32 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,37 @@
# Changelog

## 0.1.0 (2026-05-04)

Full Changelog: [v0.0.38...v0.1.0](https://github.com/whopio/whopsdk-python/compare/v0.0.38...v0.1.0)

### Features

* **api:** api update ([0f7ed96](https://github.com/whopio/whopsdk-python/commit/0f7ed96e61417a26bf2075b687e9c0f60cf0f1ba))
* **api:** api update ([b61b0ee](https://github.com/whopio/whopsdk-python/commit/b61b0ee58364761c8c904d82e8d195b2d5f73efb))
* **api:** api update ([da275a3](https://github.com/whopio/whopsdk-python/commit/da275a3907434c24f3a3433d38e4c883bfa1207d))
* **api:** api update ([b671eaa](https://github.com/whopio/whopsdk-python/commit/b671eaa7a5fd7c67ee29af64eaad905b690d9f0f))
* **api:** api update ([44f542f](https://github.com/whopio/whopsdk-python/commit/44f542f1c1083fda63e974e60177a4bbc992b29e))
* **api:** api update ([3189146](https://github.com/whopio/whopsdk-python/commit/3189146ef827f1e6db20cbcb38e08ff0632fc031))
* **api:** api update ([b3f3ebf](https://github.com/whopio/whopsdk-python/commit/b3f3ebf63f5400817e222df485260eb1e6d972ff))
* **api:** api update ([b5be3d5](https://github.com/whopio/whopsdk-python/commit/b5be3d54f1884ecdaacaa2ec0de13d961e5e3ab6))
* **api:** api update ([1e5a3f2](https://github.com/whopio/whopsdk-python/commit/1e5a3f2d0314c3905ce099b004f4855794e05082))
* **api:** api update ([f1d06ff](https://github.com/whopio/whopsdk-python/commit/f1d06ff881c5d7667edde20d8bd2ee7246807173))
* **api:** api update ([eea02e9](https://github.com/whopio/whopsdk-python/commit/eea02e91bfcb142e308c88d7cdc5232b3a2c419e))
* **api:** api update ([0449c0b](https://github.com/whopio/whopsdk-python/commit/0449c0b3e63ac52b829408c1e92d1c9495c235c4))
* **api:** manual updates ([69d6c5c](https://github.com/whopio/whopsdk-python/commit/69d6c5cadc4d7a1bb7f2bb44b06e8f424d8e7bd0))
* support setting headers via env ([c943353](https://github.com/whopio/whopsdk-python/commit/c943353561b164a19d00b96933fe17ecee3a1601))


### Bug Fixes

* use correct field name format for multipart file arrays ([f30e380](https://github.com/whopio/whopsdk-python/commit/f30e380baa7acbf33ccdf33e5d14d477018e3428))


### Chores

* **internal:** more robust bootstrap script ([6b442f0](https://github.com/whopio/whopsdk-python/commit/6b442f0c46d096523edfe775f8bb0c602b8f9bd3))
* **internal:** reformat pyproject.toml ([eb865b0](https://github.com/whopio/whopsdk-python/commit/eb865b00e455c264ee6d9a3ccc99b68372e868da))

## 0.0.38 (2026-04-21)

Full Changelog: [v0.0.37...v0.0.38](https://github.com/whopio/whopsdk-python/compare/v0.0.37...v0.0.38)
Expand Down
109 changes: 108 additions & 1 deletion api.md
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ Methods:
Types:

```python
from whop_sdk.types import SocialLinkWebsites, CompanyListResponse
from whop_sdk.types import SocialLinkWebsites, CompanyListResponse, CompanyCreateAPIKeyResponse
```

Methods:
Expand All @@ -140,6 +140,7 @@ Methods:
- <code title="get /companies/{id}">client.companies.<a href="./src/whop_sdk/resources/companies.py">retrieve</a>(id) -> <a href="./src/whop_sdk/types/shared/company.py">Company</a></code>
- <code title="patch /companies/{id}">client.companies.<a href="./src/whop_sdk/resources/companies.py">update</a>(id, \*\*<a href="src/whop_sdk/types/company_update_params.py">params</a>) -> <a href="./src/whop_sdk/types/shared/company.py">Company</a></code>
- <code title="get /companies">client.companies.<a href="./src/whop_sdk/resources/companies.py">list</a>(\*\*<a href="src/whop_sdk/types/company_list_params.py">params</a>) -> <a href="./src/whop_sdk/types/company_list_response.py">SyncCursorPage[CompanyListResponse]</a></code>
- <code title="post /companies/{parent_company_id}/api_keys">client.companies.<a href="./src/whop_sdk/resources/companies.py">create_api_key</a>(parent_company_id, \*\*<a href="src/whop_sdk/types/company_create_api_key_params.py">params</a>) -> <a href="./src/whop_sdk/types/company_create_api_key_response.py">CompanyCreateAPIKeyResponse</a></code>

# Webhooks

Expand Down Expand Up @@ -984,3 +985,109 @@ Methods:
- <code title="patch /affiliates/{id}/overrides/{override_id}">client.affiliates.overrides.<a href="./src/whop_sdk/resources/affiliates/overrides.py">update</a>(override_id, \*, id, \*\*<a href="src/whop_sdk/types/affiliates/override_update_params.py">params</a>) -> <a href="./src/whop_sdk/types/affiliates/override_update_response.py">OverrideUpdateResponse</a></code>
- <code title="get /affiliates/{id}/overrides">client.affiliates.overrides.<a href="./src/whop_sdk/resources/affiliates/overrides.py">list</a>(id, \*\*<a href="src/whop_sdk/types/affiliates/override_list_params.py">params</a>) -> <a href="./src/whop_sdk/types/affiliates/override_list_response.py">SyncCursorPage[OverrideListResponse]</a></code>
- <code title="delete /affiliates/{id}/overrides/{override_id}">client.affiliates.overrides.<a href="./src/whop_sdk/resources/affiliates/overrides.py">delete</a>(override_id, \*, id) -> <a href="./src/whop_sdk/types/affiliates/override_delete_response.py">OverrideDeleteResponse</a></code>

# Bounties

Types:

```python
from whop_sdk.types import BountyCreateResponse, BountyRetrieveResponse, BountyListResponse
```

Methods:

- <code title="post /bounties">client.bounties.<a href="./src/whop_sdk/resources/bounties.py">create</a>(\*\*<a href="src/whop_sdk/types/bounty_create_params.py">params</a>) -> <a href="./src/whop_sdk/types/bounty_create_response.py">BountyCreateResponse</a></code>
- <code title="get /bounties/{id}">client.bounties.<a href="./src/whop_sdk/resources/bounties.py">retrieve</a>(id) -> <a href="./src/whop_sdk/types/bounty_retrieve_response.py">BountyRetrieveResponse</a></code>
- <code title="get /bounties">client.bounties.<a href="./src/whop_sdk/resources/bounties.py">list</a>(\*\*<a href="src/whop_sdk/types/bounty_list_params.py">params</a>) -> <a href="./src/whop_sdk/types/bounty_list_response.py">SyncCursorPage[BountyListResponse]</a></code>

# Stats

Types:

```python
from whop_sdk.types import (
StatDescribeResponse,
StatQueryMetricResponse,
StatQueryRawResponse,
StatRunSqlResponse,
)
```

Methods:

- <code title="get /stats/describe">client.stats.<a href="./src/whop_sdk/resources/stats.py">describe</a>(\*\*<a href="src/whop_sdk/types/stat_describe_params.py">params</a>) -> <a href="./src/whop_sdk/types/stat_describe_response.py">StatDescribeResponse</a></code>
- <code title="get /stats/metric">client.stats.<a href="./src/whop_sdk/resources/stats.py">query_metric</a>(\*\*<a href="src/whop_sdk/types/stat_query_metric_params.py">params</a>) -> <a href="./src/whop_sdk/types/stat_query_metric_response.py">StatQueryMetricResponse</a></code>
- <code title="get /stats/raw">client.stats.<a href="./src/whop_sdk/resources/stats.py">query_raw</a>(\*\*<a href="src/whop_sdk/types/stat_query_raw_params.py">params</a>) -> <a href="./src/whop_sdk/types/stat_query_raw_response.py">StatQueryRawResponse</a></code>
- <code title="get /stats/sql">client.stats.<a href="./src/whop_sdk/resources/stats.py">run_sql</a>(\*\*<a href="src/whop_sdk/types/stat_run_sql_params.py">params</a>) -> <a href="./src/whop_sdk/types/stat_run_sql_response.py">StatRunSqlResponse</a></code>

# AdCampaigns

Types:

```python
from whop_sdk.types import (
AdCampaignCreateResponse,
AdCampaignRetrieveResponse,
AdCampaignUpdateResponse,
AdCampaignListResponse,
AdCampaignPauseResponse,
AdCampaignUnpauseResponse,
)
```

Methods:

- <code title="post /ad_campaigns">client.ad_campaigns.<a href="./src/whop_sdk/resources/ad_campaigns.py">create</a>(\*\*<a href="src/whop_sdk/types/ad_campaign_create_params.py">params</a>) -> <a href="./src/whop_sdk/types/ad_campaign_create_response.py">AdCampaignCreateResponse</a></code>
- <code title="get /ad_campaigns/{id}">client.ad_campaigns.<a href="./src/whop_sdk/resources/ad_campaigns.py">retrieve</a>(id) -> <a href="./src/whop_sdk/types/ad_campaign_retrieve_response.py">AdCampaignRetrieveResponse</a></code>
- <code title="patch /ad_campaigns/{id}">client.ad_campaigns.<a href="./src/whop_sdk/resources/ad_campaigns.py">update</a>(id, \*\*<a href="src/whop_sdk/types/ad_campaign_update_params.py">params</a>) -> <a href="./src/whop_sdk/types/ad_campaign_update_response.py">AdCampaignUpdateResponse</a></code>
- <code title="get /ad_campaigns">client.ad_campaigns.<a href="./src/whop_sdk/resources/ad_campaigns.py">list</a>(\*\*<a href="src/whop_sdk/types/ad_campaign_list_params.py">params</a>) -> <a href="./src/whop_sdk/types/ad_campaign_list_response.py">SyncCursorPage[AdCampaignListResponse]</a></code>
- <code title="post /ad_campaigns/{id}/pause">client.ad_campaigns.<a href="./src/whop_sdk/resources/ad_campaigns.py">pause</a>(id) -> <a href="./src/whop_sdk/types/ad_campaign_pause_response.py">AdCampaignPauseResponse</a></code>
- <code title="post /ad_campaigns/{id}/unpause">client.ad_campaigns.<a href="./src/whop_sdk/resources/ad_campaigns.py">unpause</a>(id) -> <a href="./src/whop_sdk/types/ad_campaign_unpause_response.py">AdCampaignUnpauseResponse</a></code>

# AdGroups

Types:

```python
from whop_sdk.types import (
AdGroupCreateResponse,
AdGroupRetrieveResponse,
AdGroupUpdateResponse,
AdGroupListResponse,
AdGroupDeleteResponse,
)
```

Methods:

- <code title="post /ad_groups">client.ad_groups.<a href="./src/whop_sdk/resources/ad_groups.py">create</a>(\*\*<a href="src/whop_sdk/types/ad_group_create_params.py">params</a>) -> <a href="./src/whop_sdk/types/ad_group_create_response.py">AdGroupCreateResponse</a></code>
- <code title="get /ad_groups/{id}">client.ad_groups.<a href="./src/whop_sdk/resources/ad_groups.py">retrieve</a>(id) -> <a href="./src/whop_sdk/types/ad_group_retrieve_response.py">AdGroupRetrieveResponse</a></code>
- <code title="patch /ad_groups/{id}">client.ad_groups.<a href="./src/whop_sdk/resources/ad_groups.py">update</a>(id, \*\*<a href="src/whop_sdk/types/ad_group_update_params.py">params</a>) -> <a href="./src/whop_sdk/types/ad_group_update_response.py">AdGroupUpdateResponse</a></code>
- <code title="get /ad_groups">client.ad_groups.<a href="./src/whop_sdk/resources/ad_groups.py">list</a>(\*\*<a href="src/whop_sdk/types/ad_group_list_params.py">params</a>) -> <a href="./src/whop_sdk/types/ad_group_list_response.py">SyncCursorPage[AdGroupListResponse]</a></code>
- <code title="delete /ad_groups/{id}">client.ad_groups.<a href="./src/whop_sdk/resources/ad_groups.py">delete</a>(id) -> <a href="./src/whop_sdk/types/ad_group_delete_response.py">AdGroupDeleteResponse</a></code>

# Ads

Types:

```python
from whop_sdk.types import AdCreateResponse, AdRetrieveResponse, AdListResponse
```

Methods:

- <code title="post /ads">client.ads.<a href="./src/whop_sdk/resources/ads.py">create</a>(\*\*<a href="src/whop_sdk/types/ad_create_params.py">params</a>) -> <a href="./src/whop_sdk/types/ad_create_response.py">AdCreateResponse</a></code>
- <code title="get /ads/{id}">client.ads.<a href="./src/whop_sdk/resources/ads.py">retrieve</a>(id) -> <a href="./src/whop_sdk/types/ad_retrieve_response.py">AdRetrieveResponse</a></code>
- <code title="get /ads">client.ads.<a href="./src/whop_sdk/resources/ads.py">list</a>(\*\*<a href="src/whop_sdk/types/ad_list_params.py">params</a>) -> <a href="./src/whop_sdk/types/ad_list_response.py">SyncCursorPage[AdListResponse]</a></code>

# Conversions

Types:

```python
from whop_sdk.types import ConversionCreateResponse
```

Methods:

- <code title="post /conversions">client.conversions.<a href="./src/whop_sdk/resources/conversions.py">create</a>(\*\*<a href="src/whop_sdk/types/conversion_create_params.py">params</a>) -> <a href="./src/whop_sdk/types/conversion_create_response.py">ConversionCreateResponse</a></code>
4 changes: 2 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "whop-sdk"
version = "0.0.38"
version = "0.1.0"
description = "The official Python library for the Whop API"
dynamic = ["readme"]
license = "Apache-2.0"
Expand Down Expand Up @@ -170,7 +170,7 @@ show_error_codes = true
#
# We also exclude our `tests` as mypy doesn't always infer
# types correctly and Pyright will still catch any type errors.
exclude = ['src/whop_sdk/_files.py', '_dev/.*.py', 'tests/.*']
exclude = ["src/whop_sdk/_files.py", "_dev/.*.py", "tests/.*"]

strict_equality = true
implicit_reexport = true
Expand Down
2 changes: 1 addition & 1 deletion scripts/bootstrap
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ set -e

cd "$(dirname "$0")/.."

if [ -f "Brewfile" ] && [ "$(uname -s)" = "Darwin" ] && [ "$SKIP_BREW" != "1" ] && [ -t 0 ]; then
if [ -f "Brewfile" ] && [ "$(uname -s)" = "Darwin" ] && [ "${SKIP_BREW:-}" != "1" ] && [ -t 0 ]; then
brew bundle check >/dev/null 2>&1 || {
echo -n "==> Install Homebrew dependencies? (y/N): "
read -r response
Expand Down
Loading
Loading