Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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 @@
{
".": "4.9.0"
".": "4.10.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: 116
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/orb%2Forb-1aabbd8715a871e993abf67f0bf9c1d6793b4f197c4b2f11fc7a76453590cd6c.yml
openapi_spec_hash: 3e5878f87e74881d882a69e1ccdc25a3
config_hash: 1f535c1fa222aacf28b636eed21bec72
configured_endpoints: 118
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/orb%2Forb-4f31d46f5ba187fc4d702c9f9f1573dacb891edbd086f935707578d7c4f5fed8.yml
openapi_spec_hash: 25b1019f20a47b8af665aae5f8fd0025
config_hash: 5135e9237207028f293049a77428c775
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# Changelog

## 4.10.0 (2025-07-26)

Full Changelog: [v4.9.0...v4.10.0](https://github.com/orbcorp/orb-python/compare/v4.9.0...v4.10.0)

### Features

* **api:** api update ([faa6a6c](https://github.com/orbcorp/orb-python/commit/faa6a6c947e5f3f926f6f7c22579a71ef938a43b))

## 4.9.0 (2025-07-24)

Full Changelog: [v4.8.1...v4.9.0](https://github.com/orbcorp/orb-python/compare/v4.8.1...v4.9.0)
Expand Down
2 changes: 2 additions & 0 deletions api.md
Original file line number Diff line number Diff line change
Expand Up @@ -600,13 +600,15 @@ Methods:

- <code title="post /dimensional_price_groups">client.dimensional_price_groups.<a href="./src/orb/resources/dimensional_price_groups/dimensional_price_groups.py">create</a>(\*\*<a href="src/orb/types/dimensional_price_group_create_params.py">params</a>) -> <a href="./src/orb/types/dimensional_price_group.py">DimensionalPriceGroup</a></code>
- <code title="get /dimensional_price_groups/{dimensional_price_group_id}">client.dimensional_price_groups.<a href="./src/orb/resources/dimensional_price_groups/dimensional_price_groups.py">retrieve</a>(dimensional_price_group_id) -> <a href="./src/orb/types/dimensional_price_group.py">DimensionalPriceGroup</a></code>
- <code title="put /dimensional_price_groups/{dimensional_price_group_id}">client.dimensional_price_groups.<a href="./src/orb/resources/dimensional_price_groups/dimensional_price_groups.py">update</a>(dimensional_price_group_id, \*\*<a href="src/orb/types/dimensional_price_group_update_params.py">params</a>) -> <a href="./src/orb/types/dimensional_price_group.py">DimensionalPriceGroup</a></code>
- <code title="get /dimensional_price_groups">client.dimensional_price_groups.<a href="./src/orb/resources/dimensional_price_groups/dimensional_price_groups.py">list</a>(\*\*<a href="src/orb/types/dimensional_price_group_list_params.py">params</a>) -> <a href="./src/orb/types/dimensional_price_group.py">SyncPage[DimensionalPriceGroup]</a></code>

## ExternalDimensionalPriceGroupID

Methods:

- <code title="get /dimensional_price_groups/external_dimensional_price_group_id/{external_dimensional_price_group_id}">client.dimensional_price_groups.external_dimensional_price_group_id.<a href="./src/orb/resources/dimensional_price_groups/external_dimensional_price_group_id.py">retrieve</a>(external_dimensional_price_group_id) -> <a href="./src/orb/types/dimensional_price_group.py">DimensionalPriceGroup</a></code>
- <code title="put /dimensional_price_groups/external_dimensional_price_group_id/{external_dimensional_price_group_id}">client.dimensional_price_groups.external_dimensional_price_group_id.<a href="./src/orb/resources/dimensional_price_groups/external_dimensional_price_group_id.py">update</a>(path_external_dimensional_price_group_id, \*\*<a href="src/orb/types/dimensional_price_groups/external_dimensional_price_group_id_update_params.py">params</a>) -> <a href="./src/orb/types/dimensional_price_group.py">DimensionalPriceGroup</a></code>

# SubscriptionChanges

Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "orb-billing"
version = "4.9.0"
version = "4.10.0"
description = "The official Python library for the orb API"
dynamic = ["readme"]
license = "Apache-2.0"
Expand Down
2 changes: 1 addition & 1 deletion src/orb/_version.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

__title__ = "orb"
__version__ = "4.9.0" # x-release-please-version
__version__ = "4.10.0" # x-release-please-version
1,434 changes: 834 additions & 600 deletions src/orb/resources/customers/customers.py

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,11 @@
import httpx

from ... import _legacy_response
from ...types import dimensional_price_group_list_params, dimensional_price_group_create_params
from ...types import (
dimensional_price_group_list_params,
dimensional_price_group_create_params,
dimensional_price_group_update_params,
)
from ..._types import NOT_GIVEN, Body, Query, Headers, NotGiven
from ..._utils import maybe_transform, async_maybe_transform
from ..._compat import cached_property
Expand Down Expand Up @@ -152,6 +156,68 @@ def retrieve(
cast_to=DimensionalPriceGroup,
)

def update(
self,
dimensional_price_group_id: str,
*,
external_dimensional_price_group_id: Optional[str] | NotGiven = NOT_GIVEN,
metadata: Optional[Dict[str, 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,
idempotency_key: str | None = None,
) -> DimensionalPriceGroup:
"""
This endpoint can be used to update the `external_dimensional_price_group_id`
and `metadata` of an existing dimensional price group. Other fields on a
dimensional price group are currently immutable.

Args:
external_dimensional_price_group_id: An optional user-defined ID for this dimensional price group resource, used
throughout the system as an alias for this dimensional price group. Use this
field to identify a dimensional price group by an existing identifier in your
system.

metadata: User-specified key/value pairs for the resource. Individual keys can be removed
by setting the value to `null`, and the entire metadata mapping can be cleared
by setting `metadata` to `null`.

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

idempotency_key: Specify a custom idempotency key for this request
"""
if not dimensional_price_group_id:
raise ValueError(
f"Expected a non-empty value for `dimensional_price_group_id` but received {dimensional_price_group_id!r}"
)
return self._put(
f"/dimensional_price_groups/{dimensional_price_group_id}",
body=maybe_transform(
{
"external_dimensional_price_group_id": external_dimensional_price_group_id,
"metadata": metadata,
},
dimensional_price_group_update_params.DimensionalPriceGroupUpdateParams,
),
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
idempotency_key=idempotency_key,
),
cast_to=DimensionalPriceGroup,
)

def list(
self,
*,
Expand Down Expand Up @@ -326,6 +392,68 @@ async def retrieve(
cast_to=DimensionalPriceGroup,
)

async def update(
self,
dimensional_price_group_id: str,
*,
external_dimensional_price_group_id: Optional[str] | NotGiven = NOT_GIVEN,
metadata: Optional[Dict[str, 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,
idempotency_key: str | None = None,
) -> DimensionalPriceGroup:
"""
This endpoint can be used to update the `external_dimensional_price_group_id`
and `metadata` of an existing dimensional price group. Other fields on a
dimensional price group are currently immutable.

Args:
external_dimensional_price_group_id: An optional user-defined ID for this dimensional price group resource, used
throughout the system as an alias for this dimensional price group. Use this
field to identify a dimensional price group by an existing identifier in your
system.

metadata: User-specified key/value pairs for the resource. Individual keys can be removed
by setting the value to `null`, and the entire metadata mapping can be cleared
by setting `metadata` to `null`.

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

idempotency_key: Specify a custom idempotency key for this request
"""
if not dimensional_price_group_id:
raise ValueError(
f"Expected a non-empty value for `dimensional_price_group_id` but received {dimensional_price_group_id!r}"
)
return await self._put(
f"/dimensional_price_groups/{dimensional_price_group_id}",
body=await async_maybe_transform(
{
"external_dimensional_price_group_id": external_dimensional_price_group_id,
"metadata": metadata,
},
dimensional_price_group_update_params.DimensionalPriceGroupUpdateParams,
),
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
extra_body=extra_body,
timeout=timeout,
idempotency_key=idempotency_key,
),
cast_to=DimensionalPriceGroup,
)

def list(
self,
*,
Expand Down Expand Up @@ -386,6 +514,9 @@ def __init__(self, dimensional_price_groups: DimensionalPriceGroups) -> None:
self.retrieve = _legacy_response.to_raw_response_wrapper(
dimensional_price_groups.retrieve,
)
self.update = _legacy_response.to_raw_response_wrapper(
dimensional_price_groups.update,
)
self.list = _legacy_response.to_raw_response_wrapper(
dimensional_price_groups.list,
)
Expand All @@ -407,6 +538,9 @@ def __init__(self, dimensional_price_groups: AsyncDimensionalPriceGroups) -> Non
self.retrieve = _legacy_response.async_to_raw_response_wrapper(
dimensional_price_groups.retrieve,
)
self.update = _legacy_response.async_to_raw_response_wrapper(
dimensional_price_groups.update,
)
self.list = _legacy_response.async_to_raw_response_wrapper(
dimensional_price_groups.list,
)
Expand All @@ -428,6 +562,9 @@ def __init__(self, dimensional_price_groups: DimensionalPriceGroups) -> None:
self.retrieve = to_streamed_response_wrapper(
dimensional_price_groups.retrieve,
)
self.update = to_streamed_response_wrapper(
dimensional_price_groups.update,
)
self.list = to_streamed_response_wrapper(
dimensional_price_groups.list,
)
Expand All @@ -449,6 +586,9 @@ def __init__(self, dimensional_price_groups: AsyncDimensionalPriceGroups) -> Non
self.retrieve = async_to_streamed_response_wrapper(
dimensional_price_groups.retrieve,
)
self.update = async_to_streamed_response_wrapper(
dimensional_price_groups.update,
)
self.list = async_to_streamed_response_wrapper(
dimensional_price_groups.list,
)
Expand Down
Loading