paid-python 1.0.0a0__py3-none-any.whl → 1.0.0a1__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.
- paid/__init__.py +61 -122
- paid/client.py +16 -22
- paid/contacts/client.py +415 -133
- paid/contacts/raw_client.py +1046 -118
- paid/core/client_wrapper.py +8 -10
- paid/customers/__init__.py +0 -3
- paid/customers/client.py +392 -1112
- paid/customers/raw_client.py +656 -1054
- paid/environment.py +1 -1
- paid/errors/bad_request_error.py +2 -2
- paid/errors/forbidden_error.py +2 -2
- paid/errors/internal_server_error.py +2 -2
- paid/errors/not_found_error.py +2 -2
- paid/invoices/client.py +369 -0
- paid/{plans → invoices}/raw_client.py +310 -201
- paid/orders/__init__.py +0 -3
- paid/orders/client.py +279 -471
- paid/orders/raw_client.py +551 -538
- paid/products/__init__.py +0 -3
- paid/products/client.py +129 -265
- paid/products/raw_client.py +563 -233
- paid/signals/client.py +130 -0
- paid/signals/raw_client.py +190 -0
- paid/tracing/autoinstrumentation.py +12 -6
- paid/tracing/context_manager.py +2 -6
- paid/tracing/distributed_tracing.py +3 -3
- paid/tracing/signal.py +3 -3
- paid/tracing/wrappers/openai_agents/openaiAgentsHook.py +1 -1
- paid/types/__init__.py +58 -110
- paid/types/attribution.py +8 -0
- paid/types/{agent_attribute.py → bulk_signals_response.py} +4 -5
- paid/types/contact.py +12 -20
- paid/types/{address.py → contact_billing_address.py} +6 -7
- paid/types/{traces_response.py → contact_list_response.py} +5 -9
- paid/types/customer.py +15 -22
- paid/types/customer_attribution.py +8 -0
- paid/types/customer_billing_address.py +26 -0
- paid/types/{usage_summary_order.py → customer_by_external_id.py} +3 -5
- paid/types/{usage_summary_order_line.py → customer_by_id.py} +3 -5
- paid/types/customer_creation_state.py +5 -0
- paid/types/customer_list_response.py +22 -0
- paid/types/empty_response.py +17 -0
- paid/types/{error.py → error_response.py} +4 -7
- paid/types/invoice.py +33 -51
- paid/types/invoice_line.py +42 -0
- paid/types/invoice_line_payment_status.py +7 -0
- paid/types/invoice_lines_response.py +22 -0
- paid/types/invoice_list_response.py +22 -0
- paid/types/invoice_payment_status.py +5 -0
- paid/types/invoice_source.py +5 -0
- paid/types/invoice_status.py +3 -1
- paid/types/invoice_tax_status.py +7 -0
- paid/types/order.py +30 -29
- paid/types/order_creation_state.py +5 -0
- paid/types/order_line.py +6 -24
- paid/types/order_lines_response.py +22 -0
- paid/types/order_list_response.py +22 -0
- paid/types/pagination.py +24 -0
- paid/types/product.py +4 -29
- paid/types/{tier.py → product_by_external_id.py} +5 -4
- paid/types/{cost_amount.py → product_by_id.py} +5 -12
- paid/types/product_list_response.py +22 -0
- paid/types/signal.py +8 -34
- paid/types/{agent_update.py → update_contact_request.py} +10 -9
- paid/types/update_customer_request.py +38 -0
- paid/types/{product_update.py → update_product_request.py} +2 -12
- {paid_python-1.0.0a0.dist-info → paid_python-1.0.0a1.dist-info}/METADATA +22 -8
- paid_python-1.0.0a1.dist-info/RECORD +110 -0
- paid/agents/client.py +0 -880
- paid/agents/raw_client.py +0 -785
- paid/customers/types/__init__.py +0 -8
- paid/customers/types/customers_check_entitlement_request_view.py +0 -5
- paid/customers/types/customers_check_entitlement_response.py +0 -22
- paid/orders/lines/client.py +0 -144
- paid/orders/lines/raw_client.py +0 -129
- paid/plans/__init__.py +0 -4
- paid/plans/client.py +0 -403
- paid/products/types/__init__.py +0 -7
- paid/products/types/product_create_type.py +0 -5
- paid/traces/__init__.py +0 -4
- paid/traces/client.py +0 -218
- paid/traces/raw_client.py +0 -226
- paid/types/agent.py +0 -31
- paid/types/agent_price_point.py +0 -27
- paid/types/agent_price_point_tiers.py +0 -23
- paid/types/api_error.py +0 -29
- paid/types/billing_frequency.py +0 -5
- paid/types/cancel_renewal_response.py +0 -49
- paid/types/charge_type.py +0 -5
- paid/types/contact_create_for_customer.py +0 -37
- paid/types/cost_trace.py +0 -55
- paid/types/cost_traces_response.py +0 -26
- paid/types/creation_source.py +0 -5
- paid/types/creation_state.py +0 -5
- paid/types/customer_update.py +0 -40
- paid/types/entitlement_usage.py +0 -48
- paid/types/order_line_attribute.py +0 -27
- paid/types/order_line_attribute_create_one.py +0 -5
- paid/types/order_line_attribute_pricing.py +0 -33
- paid/types/order_line_create.py +0 -72
- paid/types/pagination_meta.py +0 -84
- paid/types/payment_method.py +0 -58
- paid/types/payment_method_card.py +0 -49
- paid/types/payment_method_type.py +0 -5
- paid/types/payment_method_us_bank_account.py +0 -36
- paid/types/payment_method_us_bank_account_account_type.py +0 -5
- paid/types/plan.py +0 -81
- paid/types/plan_group.py +0 -60
- paid/types/plan_plan_products_item.py +0 -41
- paid/types/plan_plan_products_item_plan_product_attribute_item.py +0 -34
- paid/types/plan_with_features.py +0 -69
- paid/types/plan_with_features_features_item.py +0 -34
- paid/types/price_point.py +0 -25
- paid/types/pricing.py +0 -31
- paid/types/pricing_model_type.py +0 -7
- paid/types/product_type.py +0 -5
- paid/types/product_update_type.py +0 -5
- paid/types/proration_attribute_update.py +0 -44
- paid/types/proration_detail.py +0 -49
- paid/types/proration_upgrade_response.py +0 -73
- paid/types/salutation.py +0 -5
- paid/types/signal_v_2.py +0 -56
- paid/types/tax_exempt_status.py +0 -5
- paid/types/trace.py +0 -69
- paid/types/usage_pagination_meta.py +0 -43
- paid/types/usage_summaries_response.py +0 -26
- paid/types/usage_summary.py +0 -121
- paid/usage/__init__.py +0 -7
- paid/usage/client.py +0 -321
- paid/usage/raw_client.py +0 -387
- paid/usage/types/__init__.py +0 -7
- paid/usage/types/usage_check_usage_response.py +0 -53
- paid_python-1.0.0a0.dist-info/RECORD +0 -152
- /paid/{agents → invoices}/__init__.py +0 -0
- /paid/{orders/lines → signals}/__init__.py +0 -0
- {paid_python-1.0.0a0.dist-info → paid_python-1.0.0a1.dist-info}/LICENSE +0 -0
- {paid_python-1.0.0a0.dist-info → paid_python-1.0.0a1.dist-info}/WHEEL +0 -0
|
@@ -4,13 +4,12 @@ import typing
|
|
|
4
4
|
|
|
5
5
|
import pydantic
|
|
6
6
|
from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
7
|
-
from .pricing import Pricing
|
|
8
7
|
|
|
9
8
|
|
|
10
|
-
class
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
9
|
+
class BulkSignalsResponse(UniversalBaseModel):
|
|
10
|
+
ingested: int
|
|
11
|
+
duplicates: int
|
|
12
|
+
failed: int
|
|
14
13
|
|
|
15
14
|
if IS_PYDANTIC_V2:
|
|
16
15
|
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
paid/types/contact.py
CHANGED
|
@@ -1,36 +1,28 @@
|
|
|
1
1
|
# This file was auto-generated by Fern from our API Definition.
|
|
2
2
|
|
|
3
|
+
import datetime as dt
|
|
3
4
|
import typing
|
|
4
5
|
|
|
5
6
|
import pydantic
|
|
6
7
|
import typing_extensions
|
|
7
8
|
from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
8
9
|
from ..core.serialization import FieldMetadata
|
|
9
|
-
from .
|
|
10
|
+
from .contact_billing_address import ContactBillingAddress
|
|
10
11
|
|
|
11
12
|
|
|
12
13
|
class Contact(UniversalBaseModel):
|
|
13
|
-
id:
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
typing.Optional[str], FieldMetadata(alias="customerExternalId")
|
|
19
|
-
] = None
|
|
20
|
-
salutation: typing.Optional[Salutation] = None
|
|
21
|
-
first_name: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="firstName")] = None
|
|
22
|
-
last_name: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="lastName")] = None
|
|
23
|
-
email: typing.Optional[str] = None
|
|
14
|
+
id: str
|
|
15
|
+
customer_id: typing_extensions.Annotated[str, FieldMetadata(alias="customerId")]
|
|
16
|
+
first_name: typing_extensions.Annotated[str, FieldMetadata(alias="firstName")]
|
|
17
|
+
last_name: typing_extensions.Annotated[str, FieldMetadata(alias="lastName")]
|
|
18
|
+
email: str
|
|
24
19
|
phone: typing.Optional[str] = None
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
billing_state_province: typing_extensions.Annotated[
|
|
28
|
-
typing.Optional[str], FieldMetadata(alias="billingStateProvince")
|
|
20
|
+
billing_address: typing_extensions.Annotated[
|
|
21
|
+
typing.Optional[ContactBillingAddress], FieldMetadata(alias="billingAddress")
|
|
29
22
|
] = None
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
)
|
|
23
|
+
external_id: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="externalId")] = None
|
|
24
|
+
created_at: typing_extensions.Annotated[dt.datetime, FieldMetadata(alias="createdAt")]
|
|
25
|
+
updated_at: typing_extensions.Annotated[dt.datetime, FieldMetadata(alias="updatedAt")]
|
|
34
26
|
|
|
35
27
|
if IS_PYDANTIC_V2:
|
|
36
28
|
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
@@ -8,13 +8,12 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
|
8
8
|
from ..core.serialization import FieldMetadata
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
class
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
zip_code: typing_extensions.Annotated[str, FieldMetadata(alias="zipCode")]
|
|
17
|
-
country: str
|
|
11
|
+
class ContactBillingAddress(UniversalBaseModel):
|
|
12
|
+
street: typing.Optional[str] = None
|
|
13
|
+
city: typing.Optional[str] = None
|
|
14
|
+
state: typing.Optional[str] = None
|
|
15
|
+
country: typing.Optional[str] = None
|
|
16
|
+
zip_code: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="zipCode")] = None
|
|
18
17
|
|
|
19
18
|
if IS_PYDANTIC_V2:
|
|
20
19
|
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
@@ -4,17 +4,13 @@ import typing
|
|
|
4
4
|
|
|
5
5
|
import pydantic
|
|
6
6
|
from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
7
|
-
from .
|
|
8
|
-
from .
|
|
7
|
+
from .contact import Contact
|
|
8
|
+
from .pagination import Pagination
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
class
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
"""
|
|
15
|
-
|
|
16
|
-
traces: typing.List[Trace]
|
|
17
|
-
meta: PaginationMeta
|
|
11
|
+
class ContactListResponse(UniversalBaseModel):
|
|
12
|
+
data: typing.List[Contact]
|
|
13
|
+
pagination: Pagination
|
|
18
14
|
|
|
19
15
|
if IS_PYDANTIC_V2:
|
|
20
16
|
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
paid/types/customer.py
CHANGED
|
@@ -1,40 +1,33 @@
|
|
|
1
1
|
# This file was auto-generated by Fern from our API Definition.
|
|
2
2
|
|
|
3
|
+
import datetime as dt
|
|
3
4
|
import typing
|
|
4
5
|
|
|
5
6
|
import pydantic
|
|
6
7
|
import typing_extensions
|
|
7
8
|
from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
8
9
|
from ..core.serialization import FieldMetadata
|
|
9
|
-
from .
|
|
10
|
-
from .
|
|
11
|
-
from .creation_state import CreationState
|
|
12
|
-
from .tax_exempt_status import TaxExemptStatus
|
|
10
|
+
from .customer_billing_address import CustomerBillingAddress
|
|
11
|
+
from .customer_creation_state import CustomerCreationState
|
|
13
12
|
|
|
14
13
|
|
|
15
14
|
class Customer(UniversalBaseModel):
|
|
16
15
|
id: str
|
|
17
|
-
organization_id: typing_extensions.Annotated[str, FieldMetadata(alias="organizationId")]
|
|
18
16
|
name: str
|
|
17
|
+
legal_name: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="legalName")] = None
|
|
18
|
+
email: str
|
|
19
|
+
phone: str
|
|
20
|
+
website: str
|
|
19
21
|
external_id: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="externalId")] = None
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
annual_revenue: typing_extensions.Annotated[typing.Optional[float], FieldMetadata(alias="annualRevenue")] = None
|
|
23
|
-
tax_exempt_status: typing_extensions.Annotated[
|
|
24
|
-
typing.Optional[TaxExemptStatus], FieldMetadata(alias="taxExemptStatus")
|
|
22
|
+
billing_address: typing_extensions.Annotated[
|
|
23
|
+
typing.Optional[CustomerBillingAddress], FieldMetadata(alias="billingAddress")
|
|
25
24
|
] = None
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
] = None
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
website: typing.Optional[str] = None
|
|
33
|
-
billing_address: typing_extensions.Annotated[typing.Optional[Address], FieldMetadata(alias="billingAddress")] = None
|
|
34
|
-
metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
|
|
35
|
-
"""
|
|
36
|
-
Flexible JSON field for storing custom metadata about the customer
|
|
37
|
-
"""
|
|
25
|
+
creation_state: typing_extensions.Annotated[CustomerCreationState, FieldMetadata(alias="creationState")]
|
|
26
|
+
churn_date: typing_extensions.Annotated[typing.Optional[dt.datetime], FieldMetadata(alias="churnDate")] = None
|
|
27
|
+
vat_number: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="vatNumber")] = None
|
|
28
|
+
metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
|
29
|
+
created_at: typing_extensions.Annotated[dt.datetime, FieldMetadata(alias="createdAt")]
|
|
30
|
+
updated_at: typing_extensions.Annotated[dt.datetime, FieldMetadata(alias="updatedAt")]
|
|
38
31
|
|
|
39
32
|
if IS_PYDANTIC_V2:
|
|
40
33
|
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
import pydantic
|
|
6
|
+
import typing_extensions
|
|
7
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
8
|
+
from ..core.serialization import FieldMetadata
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class CustomerBillingAddress(UniversalBaseModel):
|
|
12
|
+
line1: typing.Optional[str] = None
|
|
13
|
+
line2: typing.Optional[str] = None
|
|
14
|
+
city: typing.Optional[str] = None
|
|
15
|
+
state: typing.Optional[str] = None
|
|
16
|
+
zip_code: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="zipCode")] = None
|
|
17
|
+
country: typing.Optional[str] = None
|
|
18
|
+
|
|
19
|
+
if IS_PYDANTIC_V2:
|
|
20
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
21
|
+
else:
|
|
22
|
+
|
|
23
|
+
class Config:
|
|
24
|
+
frozen = True
|
|
25
|
+
smart_union = True
|
|
26
|
+
extra = pydantic.Extra.allow
|
|
@@ -8,14 +8,12 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
|
8
8
|
from ..core.serialization import FieldMetadata
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
class
|
|
11
|
+
class CustomerByExternalId(UniversalBaseModel):
|
|
12
|
+
external_customer_id: typing_extensions.Annotated[str, FieldMetadata(alias="externalCustomerId")] = pydantic.Field()
|
|
12
13
|
"""
|
|
13
|
-
|
|
14
|
+
Your external customer ID
|
|
14
15
|
"""
|
|
15
16
|
|
|
16
|
-
id: typing.Optional[str] = None
|
|
17
|
-
display_id: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="displayId")] = None
|
|
18
|
-
|
|
19
17
|
if IS_PYDANTIC_V2:
|
|
20
18
|
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
21
19
|
else:
|
|
@@ -8,14 +8,12 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
|
8
8
|
from ..core.serialization import FieldMetadata
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
class
|
|
11
|
+
class CustomerById(UniversalBaseModel):
|
|
12
|
+
customer_id: typing_extensions.Annotated[str, FieldMetadata(alias="customerId")] = pydantic.Field()
|
|
12
13
|
"""
|
|
13
|
-
|
|
14
|
+
The Paid customer ID
|
|
14
15
|
"""
|
|
15
16
|
|
|
16
|
-
id: typing.Optional[str] = None
|
|
17
|
-
display_id: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="displayId")] = None
|
|
18
|
-
|
|
19
17
|
if IS_PYDANTIC_V2:
|
|
20
18
|
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
21
19
|
else:
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
import pydantic
|
|
6
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
7
|
+
from .customer import Customer
|
|
8
|
+
from .pagination import Pagination
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class CustomerListResponse(UniversalBaseModel):
|
|
12
|
+
data: typing.List[Customer]
|
|
13
|
+
pagination: Pagination
|
|
14
|
+
|
|
15
|
+
if IS_PYDANTIC_V2:
|
|
16
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
17
|
+
else:
|
|
18
|
+
|
|
19
|
+
class Config:
|
|
20
|
+
frozen = True
|
|
21
|
+
smart_union = True
|
|
22
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
import pydantic
|
|
6
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class EmptyResponse(UniversalBaseModel):
|
|
10
|
+
if IS_PYDANTIC_V2:
|
|
11
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
12
|
+
else:
|
|
13
|
+
|
|
14
|
+
class Config:
|
|
15
|
+
frozen = True
|
|
16
|
+
smart_union = True
|
|
17
|
+
extra = pydantic.Extra.allow
|
|
@@ -4,15 +4,12 @@ import typing
|
|
|
4
4
|
|
|
5
5
|
import pydantic
|
|
6
6
|
from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
7
|
-
from .api_error import ApiError
|
|
8
7
|
|
|
9
8
|
|
|
10
|
-
class
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
error: ApiError
|
|
9
|
+
class ErrorResponse(UniversalBaseModel):
|
|
10
|
+
error: str
|
|
11
|
+
code: typing.Optional[str] = None
|
|
12
|
+
details: typing.Optional[str] = None
|
|
16
13
|
|
|
17
14
|
if IS_PYDANTIC_V2:
|
|
18
15
|
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
paid/types/invoice.py
CHANGED
|
@@ -7,63 +7,45 @@ import pydantic
|
|
|
7
7
|
import typing_extensions
|
|
8
8
|
from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
9
9
|
from ..core.serialization import FieldMetadata
|
|
10
|
-
from .
|
|
10
|
+
from .invoice_payment_status import InvoicePaymentStatus
|
|
11
|
+
from .invoice_source import InvoiceSource
|
|
11
12
|
from .invoice_status import InvoiceStatus
|
|
13
|
+
from .invoice_tax_status import InvoiceTaxStatus
|
|
12
14
|
|
|
13
15
|
|
|
14
16
|
class Invoice(UniversalBaseModel):
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
"""
|
|
18
|
-
|
|
19
|
-
id: typing.Optional[str] = None
|
|
20
|
-
display_id: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="displayId")] = pydantic.Field(
|
|
21
|
-
default=None
|
|
22
|
-
)
|
|
23
|
-
"""
|
|
24
|
-
Human-readable invoice number
|
|
25
|
-
"""
|
|
26
|
-
|
|
27
|
-
organization_id: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="organizationId")] = None
|
|
28
|
-
customer_id: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="customerId")] = None
|
|
17
|
+
id: str
|
|
18
|
+
display_number: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="displayNumber")] = None
|
|
29
19
|
order_id: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="orderId")] = None
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
""
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
"""
|
|
39
|
-
Tax amount (in smallest currency unit)
|
|
40
|
-
"""
|
|
41
|
-
|
|
42
|
-
total: typing.Optional[float] = pydantic.Field(default=None)
|
|
43
|
-
"""
|
|
44
|
-
Total amount including tax (in smallest currency unit)
|
|
45
|
-
"""
|
|
46
|
-
|
|
47
|
-
amount_paid: typing_extensions.Annotated[typing.Optional[float], FieldMetadata(alias="amountPaid")] = (
|
|
48
|
-
pydantic.Field(default=None)
|
|
49
|
-
)
|
|
50
|
-
"""
|
|
51
|
-
Amount already paid (in smallest currency unit)
|
|
52
|
-
"""
|
|
53
|
-
|
|
54
|
-
amount_due: typing_extensions.Annotated[typing.Optional[float], FieldMetadata(alias="amountDue")] = pydantic.Field(
|
|
55
|
-
default=None
|
|
56
|
-
)
|
|
57
|
-
"""
|
|
58
|
-
Amount still due (in smallest currency unit)
|
|
59
|
-
"""
|
|
60
|
-
|
|
20
|
+
customer_id: typing_extensions.Annotated[str, FieldMetadata(alias="customerId")]
|
|
21
|
+
status: InvoiceStatus
|
|
22
|
+
payment_status: typing_extensions.Annotated[InvoicePaymentStatus, FieldMetadata(alias="paymentStatus")]
|
|
23
|
+
source: InvoiceSource
|
|
24
|
+
start_date: typing_extensions.Annotated[dt.datetime, FieldMetadata(alias="startDate")]
|
|
25
|
+
end_date: typing_extensions.Annotated[typing.Optional[dt.datetime], FieldMetadata(alias="endDate")] = None
|
|
26
|
+
issue_date: typing_extensions.Annotated[dt.datetime, FieldMetadata(alias="issueDate")]
|
|
27
|
+
posted_date: typing_extensions.Annotated[typing.Optional[dt.datetime], FieldMetadata(alias="postedDate")] = None
|
|
61
28
|
due_date: typing_extensions.Annotated[typing.Optional[dt.datetime], FieldMetadata(alias="dueDate")] = None
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
29
|
+
currency: str
|
|
30
|
+
tax_amount: typing_extensions.Annotated[float, FieldMetadata(alias="taxAmount")]
|
|
31
|
+
tax_rate: typing_extensions.Annotated[float, FieldMetadata(alias="taxRate")]
|
|
32
|
+
tax_status: typing_extensions.Annotated[InvoiceTaxStatus, FieldMetadata(alias="taxStatus")]
|
|
33
|
+
invoice_total_excluding_tax: typing_extensions.Annotated[float, FieldMetadata(alias="invoiceTotalExcludingTax")]
|
|
34
|
+
invoice_total: typing_extensions.Annotated[float, FieldMetadata(alias="invoiceTotal")]
|
|
35
|
+
amount_due: typing_extensions.Annotated[float, FieldMetadata(alias="amountDue")]
|
|
36
|
+
amount_paid: typing_extensions.Annotated[float, FieldMetadata(alias="amountPaid")]
|
|
37
|
+
amount_remaining: typing_extensions.Annotated[float, FieldMetadata(alias="amountRemaining")]
|
|
38
|
+
credit_notes_total: typing_extensions.Annotated[float, FieldMetadata(alias="creditNotesTotal")]
|
|
39
|
+
metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
|
40
|
+
created_at: typing_extensions.Annotated[dt.datetime, FieldMetadata(alias="createdAt")]
|
|
41
|
+
updated_at: typing_extensions.Annotated[dt.datetime, FieldMetadata(alias="updatedAt")]
|
|
42
|
+
payment_link: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="paymentLink")] = None
|
|
43
|
+
dispute_link: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="disputeLink")] = None
|
|
44
|
+
public_url_token: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="publicUrlToken")] = None
|
|
45
|
+
tax_exempt: typing_extensions.Annotated[bool, FieldMetadata(alias="taxExempt")]
|
|
46
|
+
billing_contact_id: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="billingContactId")] = (
|
|
47
|
+
None
|
|
48
|
+
)
|
|
67
49
|
|
|
68
50
|
if IS_PYDANTIC_V2:
|
|
69
51
|
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import datetime as dt
|
|
4
|
+
import typing
|
|
5
|
+
|
|
6
|
+
import pydantic
|
|
7
|
+
import typing_extensions
|
|
8
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
9
|
+
from ..core.serialization import FieldMetadata
|
|
10
|
+
from .invoice_line_payment_status import InvoiceLinePaymentStatus
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class InvoiceLine(UniversalBaseModel):
|
|
14
|
+
id: str
|
|
15
|
+
order_id: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="orderId")] = None
|
|
16
|
+
order_line_id: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="orderLineId")] = None
|
|
17
|
+
order_line_attribute_id: typing_extensions.Annotated[
|
|
18
|
+
typing.Optional[str], FieldMetadata(alias="orderLineAttributeId")
|
|
19
|
+
] = None
|
|
20
|
+
start_date: typing_extensions.Annotated[dt.datetime, FieldMetadata(alias="startDate")]
|
|
21
|
+
end_date: typing_extensions.Annotated[dt.datetime, FieldMetadata(alias="endDate")]
|
|
22
|
+
payment_status: typing_extensions.Annotated[InvoiceLinePaymentStatus, FieldMetadata(alias="paymentStatus")]
|
|
23
|
+
quantity: int
|
|
24
|
+
total_price_before_tax: typing_extensions.Annotated[float, FieldMetadata(alias="totalPriceBeforeTax")]
|
|
25
|
+
tax: float
|
|
26
|
+
tax_rate: typing_extensions.Annotated[float, FieldMetadata(alias="taxRate")]
|
|
27
|
+
total_price_after_tax: typing_extensions.Annotated[float, FieldMetadata(alias="totalPriceAfterTax")]
|
|
28
|
+
currency: str
|
|
29
|
+
description: str
|
|
30
|
+
balance_amount: typing_extensions.Annotated[float, FieldMetadata(alias="balanceAmount")]
|
|
31
|
+
credited_amount: typing_extensions.Annotated[float, FieldMetadata(alias="creditedAmount")]
|
|
32
|
+
created_at: typing_extensions.Annotated[dt.datetime, FieldMetadata(alias="createdAt")]
|
|
33
|
+
updated_at: typing_extensions.Annotated[dt.datetime, FieldMetadata(alias="updatedAt")]
|
|
34
|
+
|
|
35
|
+
if IS_PYDANTIC_V2:
|
|
36
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
37
|
+
else:
|
|
38
|
+
|
|
39
|
+
class Config:
|
|
40
|
+
frozen = True
|
|
41
|
+
smart_union = True
|
|
42
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
import pydantic
|
|
6
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
7
|
+
from .invoice_line import InvoiceLine
|
|
8
|
+
from .pagination import Pagination
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class InvoiceLinesResponse(UniversalBaseModel):
|
|
12
|
+
data: typing.List[InvoiceLine]
|
|
13
|
+
pagination: Pagination
|
|
14
|
+
|
|
15
|
+
if IS_PYDANTIC_V2:
|
|
16
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
17
|
+
else:
|
|
18
|
+
|
|
19
|
+
class Config:
|
|
20
|
+
frozen = True
|
|
21
|
+
smart_union = True
|
|
22
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
import pydantic
|
|
6
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
7
|
+
from .invoice import Invoice
|
|
8
|
+
from .pagination import Pagination
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class InvoiceListResponse(UniversalBaseModel):
|
|
12
|
+
data: typing.List[Invoice]
|
|
13
|
+
pagination: Pagination
|
|
14
|
+
|
|
15
|
+
if IS_PYDANTIC_V2:
|
|
16
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
17
|
+
else:
|
|
18
|
+
|
|
19
|
+
class Config:
|
|
20
|
+
frozen = True
|
|
21
|
+
smart_union = True
|
|
22
|
+
extra = pydantic.Extra.allow
|
paid/types/invoice_status.py
CHANGED
paid/types/order.py
CHANGED
|
@@ -1,43 +1,44 @@
|
|
|
1
1
|
# This file was auto-generated by Fern from our API Definition.
|
|
2
2
|
|
|
3
|
+
import datetime as dt
|
|
3
4
|
import typing
|
|
4
5
|
|
|
5
6
|
import pydantic
|
|
6
7
|
import typing_extensions
|
|
7
8
|
from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
8
9
|
from ..core.serialization import FieldMetadata
|
|
9
|
-
from .
|
|
10
|
-
from .customer import Customer
|
|
11
|
-
from .order_line import OrderLine
|
|
10
|
+
from .order_creation_state import OrderCreationState
|
|
12
11
|
|
|
13
12
|
|
|
14
13
|
class Order(UniversalBaseModel):
|
|
15
|
-
id:
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
] =
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
] = None
|
|
40
|
-
|
|
14
|
+
id: str
|
|
15
|
+
customer_id: typing_extensions.Annotated[str, FieldMetadata(alias="customerId")]
|
|
16
|
+
billing_customer_id: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="billingCustomerId")] = (
|
|
17
|
+
None
|
|
18
|
+
)
|
|
19
|
+
billing_contact_ids: typing_extensions.Annotated[typing.List[str], FieldMetadata(alias="billingContactIds")]
|
|
20
|
+
created_at: typing_extensions.Annotated[dt.datetime, FieldMetadata(alias="createdAt")]
|
|
21
|
+
updated_at: typing_extensions.Annotated[dt.datetime, FieldMetadata(alias="updatedAt")]
|
|
22
|
+
end_date: typing_extensions.Annotated[typing.Optional[dt.datetime], FieldMetadata(alias="endDate")] = None
|
|
23
|
+
name: str
|
|
24
|
+
start_date: typing_extensions.Annotated[dt.datetime, FieldMetadata(alias="startDate")]
|
|
25
|
+
subscription_terms: typing_extensions.Annotated[typing.Optional[int], FieldMetadata(alias="subscriptionTerms")] = (
|
|
26
|
+
None
|
|
27
|
+
)
|
|
28
|
+
billed_amount_no_tax: typing_extensions.Annotated[float, FieldMetadata(alias="billedAmountNoTax")]
|
|
29
|
+
billed_tax: typing_extensions.Annotated[float, FieldMetadata(alias="billedTax")]
|
|
30
|
+
estimated_tax: typing_extensions.Annotated[float, FieldMetadata(alias="estimatedTax")]
|
|
31
|
+
order_amount: typing_extensions.Annotated[float, FieldMetadata(alias="orderAmount")]
|
|
32
|
+
pending_billing_amount: typing_extensions.Annotated[float, FieldMetadata(alias="pendingBillingAmount")]
|
|
33
|
+
total_amount: typing_extensions.Annotated[float, FieldMetadata(alias="totalAmount")]
|
|
34
|
+
total_billed_amount: typing_extensions.Annotated[float, FieldMetadata(alias="totalBilledAmount")]
|
|
35
|
+
creation_state: typing_extensions.Annotated[OrderCreationState, FieldMetadata(alias="creationState")]
|
|
36
|
+
payment_terms: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="paymentTerms")] = None
|
|
37
|
+
number: float
|
|
38
|
+
metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
|
39
|
+
show_payment_link: typing_extensions.Annotated[typing.Optional[bool], FieldMetadata(alias="showPaymentLink")] = None
|
|
40
|
+
show_bank_details: typing_extensions.Annotated[typing.Optional[bool], FieldMetadata(alias="showBankDetails")] = None
|
|
41
|
+
version: int
|
|
41
42
|
|
|
42
43
|
if IS_PYDANTIC_V2:
|
|
43
44
|
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|