diff --git a/reference.md b/reference.md
index 521c496..71ce2fa 100644
--- a/reference.md
+++ b/reference.md
@@ -2268,6 +2268,54 @@ await client.billing.upsertPaymentMethod({
+client.billing.searchBillingPrices({ ...params }) -> Schematic.SearchBillingPricesResponse
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.billing.searchBillingPrices();
+```
+
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Schematic.SearchBillingPricesRequest`
+
+
+
+
+
+-
+
+**requestOptions:** `Billing.RequestOptions`
+
+
+
+
+
+
+
+
+
+
client.billing.upsertBillingPrice({ ...params }) -> Schematic.UpsertBillingPriceResponse
-
@@ -4799,3 +4847,2495 @@ await client.entitlements.countFeatureUsers({
client.entitlements.listPlanEntitlements({ ...params }) -> Schematic.ListPlanEntitlementsResponse
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.entitlements.listPlanEntitlements();
+```
+
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Schematic.ListPlanEntitlementsRequest`
+
+
+
+
+
+-
+
+**requestOptions:** `Entitlements.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+client.entitlements.createPlanEntitlement({ ...params }) -> Schematic.CreatePlanEntitlementResponse
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.entitlements.createPlanEntitlement({
+ featureId: "feature_id",
+ planId: "plan_id",
+ valueType: "boolean",
+});
+```
+
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Schematic.CreatePlanEntitlementRequestBody`
+
+
+
+
+
+-
+
+**requestOptions:** `Entitlements.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+client.entitlements.getPlanEntitlement(planEntitlementId) -> Schematic.GetPlanEntitlementResponse
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.entitlements.getPlanEntitlement("plan_entitlement_id");
+```
+
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**planEntitlementId:** `string` — plan_entitlement_id
+
+
+
+
+
+-
+
+**requestOptions:** `Entitlements.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+client.entitlements.updatePlanEntitlement(planEntitlementId, { ...params }) -> Schematic.UpdatePlanEntitlementResponse
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.entitlements.updatePlanEntitlement("plan_entitlement_id", {
+ valueType: "boolean",
+});
+```
+
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**planEntitlementId:** `string` — plan_entitlement_id
+
+
+
+
+
+-
+
+**request:** `Schematic.UpdatePlanEntitlementRequestBody`
+
+
+
+
+
+-
+
+**requestOptions:** `Entitlements.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+client.entitlements.deletePlanEntitlement(planEntitlementId) -> Schematic.DeletePlanEntitlementResponse
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.entitlements.deletePlanEntitlement("plan_entitlement_id");
+```
+
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**planEntitlementId:** `string` — plan_entitlement_id
+
+
+
+
+
+-
+
+**requestOptions:** `Entitlements.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+client.entitlements.countPlanEntitlements({ ...params }) -> Schematic.CountPlanEntitlementsResponse
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.entitlements.countPlanEntitlements();
+```
+
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Schematic.CountPlanEntitlementsRequest`
+
+
+
+
+
+-
+
+**requestOptions:** `Entitlements.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+client.entitlements.getFeatureUsageByCompany({ ...params }) -> Schematic.GetFeatureUsageByCompanyResponse
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.entitlements.getFeatureUsageByCompany({
+ keys: {
+ string: {
+ key: "value",
+ },
+ },
+});
+```
+
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Schematic.GetFeatureUsageByCompanyRequest`
+
+
+
+
+
+-
+
+**requestOptions:** `Entitlements.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+## components
+
+client.components.listComponents({ ...params }) -> Schematic.ListComponentsResponse
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.components.listComponents();
+```
+
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Schematic.ListComponentsRequest`
+
+
+
+
+
+-
+
+**requestOptions:** `Components.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+client.components.createComponent({ ...params }) -> Schematic.CreateComponentResponse
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.components.createComponent({
+ entityType: "entitlement",
+ name: "name",
+});
+```
+
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Schematic.CreateComponentRequestBody`
+
+
+
+
+
+-
+
+**requestOptions:** `Components.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+client.components.getComponent(componentId) -> Schematic.GetComponentResponse
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.components.getComponent("component_id");
+```
+
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**componentId:** `string` — component_id
+
+
+
+
+
+-
+
+**requestOptions:** `Components.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+client.components.updateComponent(componentId, { ...params }) -> Schematic.UpdateComponentResponse
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.components.updateComponent("component_id");
+```
+
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**componentId:** `string` — component_id
+
+
+
+
+
+-
+
+**request:** `Schematic.UpdateComponentRequestBody`
+
+
+
+
+
+-
+
+**requestOptions:** `Components.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+client.components.deleteComponent(componentId) -> Schematic.DeleteComponentResponse
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.components.deleteComponent("component_id");
+```
+
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**componentId:** `string` — component_id
+
+
+
+
+
+-
+
+**requestOptions:** `Components.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+client.components.countComponents({ ...params }) -> Schematic.CountComponentsResponse
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.components.countComponents();
+```
+
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Schematic.CountComponentsRequest`
+
+
+
+
+
+-
+
+**requestOptions:** `Components.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+client.components.previewComponentData({ ...params }) -> Schematic.PreviewComponentDataResponse
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.components.previewComponentData();
+```
+
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Schematic.PreviewComponentDataRequest`
+
+
+
+
+
+-
+
+**requestOptions:** `Components.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+## crm
+
+client.crm.upsertDealLineItemAssociation({ ...params }) -> Schematic.UpsertDealLineItemAssociationResponse
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.crm.upsertDealLineItemAssociation({
+ dealExternalId: "deal_external_id",
+ lineItemExternalId: "line_item_external_id",
+});
+```
+
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Schematic.CreateCrmDealLineItemAssociationRequestBody`
+
+
+
+
+
+-
+
+**requestOptions:** `Crm.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+client.crm.upsertLineItem({ ...params }) -> Schematic.UpsertLineItemResponse
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.crm.upsertLineItem({
+ amount: "amount",
+ interval: "interval",
+ lineItemExternalId: "line_item_external_id",
+ productExternalId: "product_external_id",
+ quantity: 1,
+});
+```
+
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Schematic.CreateCrmLineItemRequestBody`
+
+
+
+
+
+-
+
+**requestOptions:** `Crm.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+client.crm.upsertCrmDeal({ ...params }) -> Schematic.UpsertCrmDealResponse
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.crm.upsertCrmDeal({
+ crmCompanyKey: "crm_company_key",
+ crmType: "crm_type",
+ dealExternalId: "deal_external_id",
+});
+```
+
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Schematic.CreateCrmDealRequestBody`
+
+
+
+
+
+-
+
+**requestOptions:** `Crm.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+client.crm.listCrmProducts({ ...params }) -> Schematic.ListCrmProductsResponse
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.crm.listCrmProducts();
+```
+
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Schematic.ListCrmProductsRequest`
+
+
+
+
+
+-
+
+**requestOptions:** `Crm.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+client.crm.upsertCrmProduct({ ...params }) -> Schematic.UpsertCrmProductResponse
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.crm.upsertCrmProduct({
+ currency: "currency",
+ description: "description",
+ externalId: "external_id",
+ interval: "interval",
+ name: "name",
+ price: "price",
+ quantity: 1,
+ sku: "sku",
+});
+```
+
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Schematic.CreateCrmProductRequestBody`
+
+
+
+
+
+-
+
+**requestOptions:** `Crm.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+## events
+
+client.events.createEventBatch({ ...params }) -> Schematic.CreateEventBatchResponse
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.events.createEventBatch({
+ events: [
+ {
+ eventType: "identify",
+ },
+ ],
+});
+```
+
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Schematic.CreateEventBatchRequestBody`
+
+
+
+
+
+-
+
+**requestOptions:** `Events.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+client.events.getEventSummaries({ ...params }) -> Schematic.GetEventSummariesResponse
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.events.getEventSummaries();
+```
+
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Schematic.GetEventSummariesRequest`
+
+
+
+
+
+-
+
+**requestOptions:** `Events.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+client.events.getEventSummaryBySubtype(key) -> Schematic.GetEventSummaryBySubtypeResponse
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.events.getEventSummaryBySubtype("key");
+```
+
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**key:** `string` — key
+
+
+
+
+
+-
+
+**requestOptions:** `Events.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+client.events.listEvents({ ...params }) -> Schematic.ListEventsResponse
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.events.listEvents();
+```
+
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Schematic.ListEventsRequest`
+
+
+
+
+
+-
+
+**requestOptions:** `Events.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+client.events.createEvent({ ...params }) -> Schematic.CreateEventResponse
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.events.createEvent({
+ eventType: "identify",
+});
+```
+
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Schematic.CreateEventRequestBody`
+
+
+
+
+
+-
+
+**requestOptions:** `Events.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+client.events.getEvent(eventId) -> Schematic.GetEventResponse
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.events.getEvent("event_id");
+```
+
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**eventId:** `string` — event_id
+
+
+
+
+
+-
+
+**requestOptions:** `Events.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+client.events.getSegmentIntegrationStatus() -> Schematic.GetSegmentIntegrationStatusResponse
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.events.getSegmentIntegrationStatus();
+```
+
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**requestOptions:** `Events.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+## plans
+
+client.plans.getAudience(planAudienceId) -> Schematic.GetAudienceResponse
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.plans.getAudience("plan_audience_id");
+```
+
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**planAudienceId:** `string` — plan_audience_id
+
+
+
+
+
+-
+
+**requestOptions:** `Plans.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+client.plans.updateAudience(planAudienceId, { ...params }) -> Schematic.UpdateAudienceResponse
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.plans.updateAudience("plan_audience_id", {
+ conditionGroups: [
+ {
+ conditions: [
+ {
+ conditionType: "company",
+ operator: "eq",
+ resourceIds: ["resource_ids"],
+ },
+ ],
+ },
+ ],
+ conditions: [
+ {
+ conditionType: "company",
+ operator: "eq",
+ resourceIds: ["resource_ids"],
+ },
+ ],
+});
+```
+
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**planAudienceId:** `string` — plan_audience_id
+
+
+
+
+
+-
+
+**request:** `Schematic.UpdateAudienceRequestBody`
+
+
+
+
+
+-
+
+**requestOptions:** `Plans.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+client.plans.deleteAudience(planAudienceId) -> Schematic.DeleteAudienceResponse
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.plans.deleteAudience("plan_audience_id");
+```
+
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**planAudienceId:** `string` — plan_audience_id
+
+
+
+
+
+-
+
+**requestOptions:** `Plans.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+client.plans.listPlans({ ...params }) -> Schematic.ListPlansResponse
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.plans.listPlans();
+```
+
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Schematic.ListPlansRequest`
+
+
+
+
+
+-
+
+**requestOptions:** `Plans.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+client.plans.createPlan({ ...params }) -> Schematic.CreatePlanResponse
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.plans.createPlan({
+ description: "description",
+ name: "name",
+ planType: "plan",
+});
+```
+
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Schematic.CreatePlanRequestBody`
+
+
+
+
+
+-
+
+**requestOptions:** `Plans.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+client.plans.getPlan(planId) -> Schematic.GetPlanResponse
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.plans.getPlan("plan_id");
+```
+
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**planId:** `string` — plan_id
+
+
+
+
+
+-
+
+**requestOptions:** `Plans.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+client.plans.updatePlan(planId, { ...params }) -> Schematic.UpdatePlanResponse
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.plans.updatePlan("plan_id", {
+ name: "name",
+});
+```
+
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**planId:** `string` — plan_id
+
+
+
+
+
+-
+
+**request:** `Schematic.UpdatePlanRequestBody`
+
+
+
+
+
+-
+
+**requestOptions:** `Plans.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+client.plans.deletePlan(planId) -> Schematic.DeletePlanResponse
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.plans.deletePlan("plan_id");
+```
+
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**planId:** `string` — plan_id
+
+
+
+
+
+-
+
+**requestOptions:** `Plans.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+client.plans.upsertBillingProductPlan(planId, { ...params }) -> Schematic.UpsertBillingProductPlanResponse
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.plans.upsertBillingProductPlan("plan_id", {
+ isFreePlan: true,
+ isTrialable: true,
+});
+```
+
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**planId:** `string` — plan_id
+
+
+
+
+
+-
+
+**request:** `Schematic.UpsertBillingProductRequestBody`
+
+
+
+
+
+-
+
+**requestOptions:** `Plans.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+client.plans.countPlans({ ...params }) -> Schematic.CountPlansResponse
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.plans.countPlans();
+```
+
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Schematic.CountPlansRequest`
+
+
+
+
+
+-
+
+**requestOptions:** `Plans.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+## plangroups
+
+client.plangroups.getPlanGroup() -> Schematic.GetPlanGroupResponse
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.plangroups.getPlanGroup();
+```
+
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**requestOptions:** `Plangroups.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+client.plangroups.createPlanGroup({ ...params }) -> Schematic.CreatePlanGroupResponse
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.plangroups.createPlanGroup({
+ addOnIds: ["add_on_ids"],
+ planIds: ["plan_ids"],
+});
+```
+
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Schematic.CreatePlanGroupRequestBody`
+
+
+
+
+
+-
+
+**requestOptions:** `Plangroups.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+client.plangroups.updatePlanGroup(planGroupId, { ...params }) -> Schematic.UpdatePlanGroupResponse
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.plangroups.updatePlanGroup("plan_group_id", {
+ addOnIds: ["add_on_ids"],
+ planIds: ["plan_ids"],
+});
+```
+
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**planGroupId:** `string` — plan_group_id
+
+
+
+
+
+-
+
+**request:** `Schematic.UpdatePlanGroupRequestBody`
+
+
+
+
+
+-
+
+**requestOptions:** `Plangroups.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+## accesstokens
+
+client.accesstokens.issueTemporaryAccessToken({ ...params }) -> Schematic.IssueTemporaryAccessTokenResponse
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.accesstokens.issueTemporaryAccessToken({
+ lookup: {
+ key: "value",
+ },
+ resourceType: "resource_type",
+});
+```
+
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Schematic.IssueTemporaryAccessTokenRequestBody`
+
+
+
+
+
+-
+
+**requestOptions:** `Accesstokens.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+## webhooks
+
+client.webhooks.listWebhookEvents({ ...params }) -> Schematic.ListWebhookEventsResponse
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.webhooks.listWebhookEvents();
+```
+
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Schematic.ListWebhookEventsRequest`
+
+
+
+
+
+-
+
+**requestOptions:** `Webhooks.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+client.webhooks.getWebhookEvent(webhookEventId) -> Schematic.GetWebhookEventResponse
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.webhooks.getWebhookEvent("webhook_event_id");
+```
+
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**webhookEventId:** `string` — webhook_event_id
+
+
+
+
+
+-
+
+**requestOptions:** `Webhooks.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+client.webhooks.countWebhookEvents({ ...params }) -> Schematic.CountWebhookEventsResponse
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.webhooks.countWebhookEvents();
+```
+
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Schematic.CountWebhookEventsRequest`
+
+
+
+
+
+-
+
+**requestOptions:** `Webhooks.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+client.webhooks.listWebhooks({ ...params }) -> Schematic.ListWebhooksResponse
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.webhooks.listWebhooks();
+```
+
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Schematic.ListWebhooksRequest`
+
+
+
+
+
+-
+
+**requestOptions:** `Webhooks.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+client.webhooks.createWebhook({ ...params }) -> Schematic.CreateWebhookResponse
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.webhooks.createWebhook({
+ name: "name",
+ requestTypes: ["company.updated"],
+ url: "url",
+});
+```
+
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Schematic.CreateWebhookRequestBody`
+
+
+
+
+
+-
+
+**requestOptions:** `Webhooks.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+client.webhooks.getWebhook(webhookId) -> Schematic.GetWebhookResponse
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.webhooks.getWebhook("webhook_id");
+```
+
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**webhookId:** `string` — webhook_id
+
+
+
+
+
+-
+
+**requestOptions:** `Webhooks.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+client.webhooks.updateWebhook(webhookId, { ...params }) -> Schematic.UpdateWebhookResponse
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.webhooks.updateWebhook("webhook_id");
+```
+
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**webhookId:** `string` — webhook_id
+
+
+
+
+
+-
+
+**request:** `Schematic.UpdateWebhookRequestBody`
+
+
+
+
+
+-
+
+**requestOptions:** `Webhooks.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+client.webhooks.deleteWebhook(webhookId) -> Schematic.DeleteWebhookResponse
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.webhooks.deleteWebhook("webhook_id");
+```
+
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**webhookId:** `string` — webhook_id
+
+
+
+
+
+-
+
+**requestOptions:** `Webhooks.RequestOptions`
+
+
+
+
+
+
+
+
+
+
+client.webhooks.countWebhooks({ ...params }) -> Schematic.CountWebhooksResponse
+
+-
+
+#### 🔌 Usage
+
+
+-
+
+
+-
+
+```typescript
+await client.webhooks.countWebhooks();
+```
+
+
+
+
+
+
+#### ⚙️ Parameters
+
+
+-
+
+
+-
+
+**request:** `Schematic.CountWebhooksRequest`
+
+
+
+
+
+-
+
+**requestOptions:** `Webhooks.RequestOptions`
+
+
+
+
+
+
+
+
+
diff --git a/src/api/resources/billing/client/Client.ts b/src/api/resources/billing/client/Client.ts
index e096181..4377d4d 100644
--- a/src/api/resources/billing/client/Client.ts
+++ b/src/api/resources/billing/client/Client.ts
@@ -1173,6 +1173,145 @@ export class Billing {
}
}
+ /**
+ * @param {Schematic.SearchBillingPricesRequest} request
+ * @param {Billing.RequestOptions} requestOptions - Request-specific configuration.
+ *
+ * @throws {@link Schematic.BadRequestError}
+ * @throws {@link Schematic.UnauthorizedError}
+ * @throws {@link Schematic.ForbiddenError}
+ * @throws {@link Schematic.InternalServerError}
+ *
+ * @example
+ * await client.billing.searchBillingPrices()
+ */
+ public async searchBillingPrices(
+ request: Schematic.SearchBillingPricesRequest = {},
+ requestOptions?: Billing.RequestOptions
+ ): Promise {
+ const { ids, usageType, price, limit, offset } = request;
+ const _queryParams: Record = {};
+ if (ids != null) {
+ if (Array.isArray(ids)) {
+ _queryParams["ids"] = ids.map((item) => item);
+ } else {
+ _queryParams["ids"] = ids;
+ }
+ }
+
+ if (usageType != null) {
+ _queryParams["usage_type"] = usageType;
+ }
+
+ if (price != null) {
+ _queryParams["price"] = price.toString();
+ }
+
+ if (limit != null) {
+ _queryParams["limit"] = limit.toString();
+ }
+
+ if (offset != null) {
+ _queryParams["offset"] = offset.toString();
+ }
+
+ const _response = await (this._options.fetcher ?? core.fetcher)({
+ url: urlJoin(
+ (await core.Supplier.get(this._options.environment)) ?? environments.SchematicEnvironment.Default,
+ "billing/price"
+ ),
+ method: "GET",
+ headers: {
+ "X-Fern-Language": "JavaScript",
+ "X-Fern-SDK-Name": "@schematichq/schematic-typescript-node",
+ "X-Fern-SDK-Version": "1.1.6",
+ "User-Agent": "@schematichq/schematic-typescript-node/1.1.6",
+ "X-Fern-Runtime": core.RUNTIME.type,
+ "X-Fern-Runtime-Version": core.RUNTIME.version,
+ ...(await this._getCustomAuthorizationHeaders()),
+ },
+ contentType: "application/json",
+ queryParameters: _queryParams,
+ requestType: "json",
+ timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000,
+ maxRetries: requestOptions?.maxRetries,
+ abortSignal: requestOptions?.abortSignal,
+ });
+ if (_response.ok) {
+ return serializers.SearchBillingPricesResponse.parseOrThrow(_response.body, {
+ unrecognizedObjectKeys: "passthrough",
+ allowUnrecognizedUnionMembers: true,
+ allowUnrecognizedEnumValues: true,
+ skipValidation: true,
+ breadcrumbsPrefix: ["response"],
+ });
+ }
+
+ if (_response.error.reason === "status-code") {
+ switch (_response.error.statusCode) {
+ case 400:
+ throw new Schematic.BadRequestError(
+ serializers.ApiError.parseOrThrow(_response.error.body, {
+ unrecognizedObjectKeys: "passthrough",
+ allowUnrecognizedUnionMembers: true,
+ allowUnrecognizedEnumValues: true,
+ skipValidation: true,
+ breadcrumbsPrefix: ["response"],
+ })
+ );
+ case 401:
+ throw new Schematic.UnauthorizedError(
+ serializers.ApiError.parseOrThrow(_response.error.body, {
+ unrecognizedObjectKeys: "passthrough",
+ allowUnrecognizedUnionMembers: true,
+ allowUnrecognizedEnumValues: true,
+ skipValidation: true,
+ breadcrumbsPrefix: ["response"],
+ })
+ );
+ case 403:
+ throw new Schematic.ForbiddenError(
+ serializers.ApiError.parseOrThrow(_response.error.body, {
+ unrecognizedObjectKeys: "passthrough",
+ allowUnrecognizedUnionMembers: true,
+ allowUnrecognizedEnumValues: true,
+ skipValidation: true,
+ breadcrumbsPrefix: ["response"],
+ })
+ );
+ case 500:
+ throw new Schematic.InternalServerError(
+ serializers.ApiError.parseOrThrow(_response.error.body, {
+ unrecognizedObjectKeys: "passthrough",
+ allowUnrecognizedUnionMembers: true,
+ allowUnrecognizedEnumValues: true,
+ skipValidation: true,
+ breadcrumbsPrefix: ["response"],
+ })
+ );
+ default:
+ throw new errors.SchematicError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.body,
+ });
+ }
+ }
+
+ switch (_response.error.reason) {
+ case "non-json":
+ throw new errors.SchematicError({
+ statusCode: _response.error.statusCode,
+ body: _response.error.rawBody,
+ });
+ case "timeout":
+ throw new errors.SchematicTimeoutError();
+ case "unknown":
+ throw new errors.SchematicError({
+ message: _response.error.errorMessage,
+ });
+ }
+ }
+
/**
* @param {Schematic.CreateBillingPriceRequestBody} request
* @param {Billing.RequestOptions} requestOptions - Request-specific configuration.
@@ -1309,7 +1448,8 @@ export class Billing {
request: Schematic.ListProductPricesRequest = {},
requestOptions?: Billing.RequestOptions
): Promise {
- const { ids, name, q, withoutLinkedToPlan, limit, offset } = request;
+ const { ids, name, q, priceUsageType, withoutLinkedToPlan, withZeroPrice, withPricesOnly, limit, offset } =
+ request;
const _queryParams: Record = {};
if (ids != null) {
if (Array.isArray(ids)) {
@@ -1327,10 +1467,22 @@ export class Billing {
_queryParams["q"] = q;
}
+ if (priceUsageType != null) {
+ _queryParams["price_usage_type"] = priceUsageType;
+ }
+
if (withoutLinkedToPlan != null) {
_queryParams["without_linked_to_plan"] = withoutLinkedToPlan.toString();
}
+ if (withZeroPrice != null) {
+ _queryParams["with_zero_price"] = withZeroPrice.toString();
+ }
+
+ if (withPricesOnly != null) {
+ _queryParams["with_prices_only"] = withPricesOnly.toString();
+ }
+
if (limit != null) {
_queryParams["limit"] = limit.toString();
}
@@ -1683,7 +1835,8 @@ export class Billing {
request: Schematic.ListBillingProductsRequest = {},
requestOptions?: Billing.RequestOptions
): Promise {
- const { ids, name, q, withoutLinkedToPlan, limit, offset } = request;
+ const { ids, name, q, priceUsageType, withoutLinkedToPlan, withZeroPrice, withPricesOnly, limit, offset } =
+ request;
const _queryParams: Record = {};
if (ids != null) {
if (Array.isArray(ids)) {
@@ -1701,10 +1854,22 @@ export class Billing {
_queryParams["q"] = q;
}
+ if (priceUsageType != null) {
+ _queryParams["price_usage_type"] = priceUsageType;
+ }
+
if (withoutLinkedToPlan != null) {
_queryParams["without_linked_to_plan"] = withoutLinkedToPlan.toString();
}
+ if (withZeroPrice != null) {
+ _queryParams["with_zero_price"] = withZeroPrice.toString();
+ }
+
+ if (withPricesOnly != null) {
+ _queryParams["with_prices_only"] = withPricesOnly.toString();
+ }
+
if (limit != null) {
_queryParams["limit"] = limit.toString();
}
@@ -1826,7 +1991,8 @@ export class Billing {
request: Schematic.CountBillingProductsRequest = {},
requestOptions?: Billing.RequestOptions
): Promise {
- const { ids, name, q, withoutLinkedToPlan, limit, offset } = request;
+ const { ids, name, q, priceUsageType, withoutLinkedToPlan, withZeroPrice, withPricesOnly, limit, offset } =
+ request;
const _queryParams: Record = {};
if (ids != null) {
if (Array.isArray(ids)) {
@@ -1844,10 +2010,22 @@ export class Billing {
_queryParams["q"] = q;
}
+ if (priceUsageType != null) {
+ _queryParams["price_usage_type"] = priceUsageType;
+ }
+
if (withoutLinkedToPlan != null) {
_queryParams["without_linked_to_plan"] = withoutLinkedToPlan.toString();
}
+ if (withZeroPrice != null) {
+ _queryParams["with_zero_price"] = withZeroPrice.toString();
+ }
+
+ if (withPricesOnly != null) {
+ _queryParams["with_prices_only"] = withPricesOnly.toString();
+ }
+
if (limit != null) {
_queryParams["limit"] = limit.toString();
}
diff --git a/src/api/resources/billing/client/requests/CountBillingProductsRequest.ts b/src/api/resources/billing/client/requests/CountBillingProductsRequest.ts
index ff509db..a73959a 100644
--- a/src/api/resources/billing/client/requests/CountBillingProductsRequest.ts
+++ b/src/api/resources/billing/client/requests/CountBillingProductsRequest.ts
@@ -10,10 +10,19 @@ export interface CountBillingProductsRequest {
ids?: string | string[];
name?: string;
q?: string;
+ priceUsageType?: string;
/**
* Filter products that are not linked to any plan
*/
withoutLinkedToPlan?: boolean;
+ /**
+ * Filter products that have zero price for free subscription type
+ */
+ withZeroPrice?: boolean;
+ /**
+ * Filter products that have prices
+ */
+ withPricesOnly?: boolean;
/**
* Page limit (default 100)
*/
diff --git a/src/api/resources/billing/client/requests/CreateBillingSubscriptionsRequestBody.ts b/src/api/resources/billing/client/requests/CreateBillingSubscriptionsRequestBody.ts
index 1c37eef..3eb52cd 100644
--- a/src/api/resources/billing/client/requests/CreateBillingSubscriptionsRequestBody.ts
+++ b/src/api/resources/billing/client/requests/CreateBillingSubscriptionsRequestBody.ts
@@ -35,4 +35,5 @@ export interface CreateBillingSubscriptionsRequestBody {
status?: string;
subscriptionExternalId: string;
totalPrice: number;
+ trialEnd?: number;
}
diff --git a/src/api/resources/billing/client/requests/ListBillingProductsRequest.ts b/src/api/resources/billing/client/requests/ListBillingProductsRequest.ts
index 0a0b0a0..e9ee997 100644
--- a/src/api/resources/billing/client/requests/ListBillingProductsRequest.ts
+++ b/src/api/resources/billing/client/requests/ListBillingProductsRequest.ts
@@ -10,10 +10,19 @@ export interface ListBillingProductsRequest {
ids?: string | string[];
name?: string;
q?: string;
+ priceUsageType?: string;
/**
* Filter products that are not linked to any plan
*/
withoutLinkedToPlan?: boolean;
+ /**
+ * Filter products that have zero price for free subscription type
+ */
+ withZeroPrice?: boolean;
+ /**
+ * Filter products that have prices
+ */
+ withPricesOnly?: boolean;
/**
* Page limit (default 100)
*/
diff --git a/src/api/resources/billing/client/requests/ListProductPricesRequest.ts b/src/api/resources/billing/client/requests/ListProductPricesRequest.ts
index f97450b..0442e3c 100644
--- a/src/api/resources/billing/client/requests/ListProductPricesRequest.ts
+++ b/src/api/resources/billing/client/requests/ListProductPricesRequest.ts
@@ -10,10 +10,19 @@ export interface ListProductPricesRequest {
ids?: string | string[];
name?: string;
q?: string;
+ priceUsageType?: string;
/**
* Filter products that are not linked to any plan
*/
withoutLinkedToPlan?: boolean;
+ /**
+ * Filter products that have zero price for free subscription type
+ */
+ withZeroPrice?: boolean;
+ /**
+ * Filter products that have prices
+ */
+ withPricesOnly?: boolean;
/**
* Page limit (default 100)
*/
diff --git a/src/api/resources/billing/client/requests/SearchBillingPricesRequest.ts b/src/api/resources/billing/client/requests/SearchBillingPricesRequest.ts
new file mode 100644
index 0000000..3c5bf72
--- /dev/null
+++ b/src/api/resources/billing/client/requests/SearchBillingPricesRequest.ts
@@ -0,0 +1,21 @@
+/**
+ * This file was auto-generated by Fern from our API Definition.
+ */
+
+/**
+ * @example
+ * {}
+ */
+export interface SearchBillingPricesRequest {
+ ids?: string | string[];
+ usageType?: string;
+ price?: number;
+ /**
+ * Page limit (default 100)
+ */
+ limit?: number;
+ /**
+ * Page offset (default 0)
+ */
+ offset?: number;
+}
diff --git a/src/api/resources/billing/client/requests/index.ts b/src/api/resources/billing/client/requests/index.ts
index 6af7b30..c91b555 100644
--- a/src/api/resources/billing/client/requests/index.ts
+++ b/src/api/resources/billing/client/requests/index.ts
@@ -7,6 +7,7 @@ export { type ListMetersRequest } from "./ListMetersRequest";
export { type CreateMeterRequestBody } from "./CreateMeterRequestBody";
export { type ListPaymentMethodsRequest } from "./ListPaymentMethodsRequest";
export { type CreatePaymentMethodRequestBody } from "./CreatePaymentMethodRequestBody";
+export { type SearchBillingPricesRequest } from "./SearchBillingPricesRequest";
export { type CreateBillingPriceRequestBody } from "./CreateBillingPriceRequestBody";
export { type ListProductPricesRequest } from "./ListProductPricesRequest";
export { type CreateBillingProductRequestBody } from "./CreateBillingProductRequestBody";
diff --git a/src/api/resources/billing/types/CountBillingProductsParams.ts b/src/api/resources/billing/types/CountBillingProductsParams.ts
index 3f8cf31..8106e83 100644
--- a/src/api/resources/billing/types/CountBillingProductsParams.ts
+++ b/src/api/resources/billing/types/CountBillingProductsParams.ts
@@ -12,7 +12,12 @@ export interface CountBillingProductsParams {
name?: string;
/** Page offset (default 0) */
offset?: number;
+ priceUsageType?: string;
q?: string;
+ /** Filter products that have prices */
+ withPricesOnly?: boolean;
+ /** Filter products that have zero price for free subscription type */
+ withZeroPrice?: boolean;
/** Filter products that are not linked to any plan */
withoutLinkedToPlan?: boolean;
}
diff --git a/src/api/resources/billing/types/ListBillingProductsParams.ts b/src/api/resources/billing/types/ListBillingProductsParams.ts
index 57e346d..c3c4a0b 100644
--- a/src/api/resources/billing/types/ListBillingProductsParams.ts
+++ b/src/api/resources/billing/types/ListBillingProductsParams.ts
@@ -12,7 +12,12 @@ export interface ListBillingProductsParams {
name?: string;
/** Page offset (default 0) */
offset?: number;
+ priceUsageType?: string;
q?: string;
+ /** Filter products that have prices */
+ withPricesOnly?: boolean;
+ /** Filter products that have zero price for free subscription type */
+ withZeroPrice?: boolean;
/** Filter products that are not linked to any plan */
withoutLinkedToPlan?: boolean;
}
diff --git a/src/api/resources/billing/types/ListProductPricesParams.ts b/src/api/resources/billing/types/ListProductPricesParams.ts
index f632dab..7b3216c 100644
--- a/src/api/resources/billing/types/ListProductPricesParams.ts
+++ b/src/api/resources/billing/types/ListProductPricesParams.ts
@@ -12,7 +12,12 @@ export interface ListProductPricesParams {
name?: string;
/** Page offset (default 0) */
offset?: number;
+ priceUsageType?: string;
q?: string;
+ /** Filter products that have prices */
+ withPricesOnly?: boolean;
+ /** Filter products that have zero price for free subscription type */
+ withZeroPrice?: boolean;
/** Filter products that are not linked to any plan */
withoutLinkedToPlan?: boolean;
}
diff --git a/src/api/resources/billing/types/SearchBillingPricesParams.ts b/src/api/resources/billing/types/SearchBillingPricesParams.ts
new file mode 100644
index 0000000..66afebe
--- /dev/null
+++ b/src/api/resources/billing/types/SearchBillingPricesParams.ts
@@ -0,0 +1,16 @@
+/**
+ * This file was auto-generated by Fern from our API Definition.
+ */
+
+/**
+ * Input parameters
+ */
+export interface SearchBillingPricesParams {
+ ids?: string[];
+ /** Page limit (default 100) */
+ limit?: number;
+ /** Page offset (default 0) */
+ offset?: number;
+ price?: number;
+ usageType?: string;
+}
diff --git a/src/api/resources/billing/types/SearchBillingPricesResponse.ts b/src/api/resources/billing/types/SearchBillingPricesResponse.ts
new file mode 100644
index 0000000..f3e3197
--- /dev/null
+++ b/src/api/resources/billing/types/SearchBillingPricesResponse.ts
@@ -0,0 +1,12 @@
+/**
+ * This file was auto-generated by Fern from our API Definition.
+ */
+
+import * as Schematic from "../../../index";
+
+export interface SearchBillingPricesResponse {
+ /** The returned resources */
+ data: Schematic.BillingPriceView[];
+ /** Input parameters */
+ params: Schematic.SearchBillingPricesParams;
+}
diff --git a/src/api/resources/billing/types/index.ts b/src/api/resources/billing/types/index.ts
index c36a7f3..7366b84 100644
--- a/src/api/resources/billing/types/index.ts
+++ b/src/api/resources/billing/types/index.ts
@@ -12,6 +12,8 @@ export * from "./UpsertBillingMeterResponse";
export * from "./ListPaymentMethodsParams";
export * from "./ListPaymentMethodsResponse";
export * from "./UpsertPaymentMethodResponse";
+export * from "./SearchBillingPricesParams";
+export * from "./SearchBillingPricesResponse";
export * from "./UpsertBillingPriceResponse";
export * from "./ListProductPricesParams";
export * from "./ListProductPricesResponse";
diff --git a/src/api/resources/entitlements/client/Client.ts b/src/api/resources/entitlements/client/Client.ts
index 891f8dc..81ca82c 100644
--- a/src/api/resources/entitlements/client/Client.ts
+++ b/src/api/resources/entitlements/client/Client.ts
@@ -1650,7 +1650,7 @@ export class Entitlements {
request: Schematic.ListPlanEntitlementsRequest = {},
requestOptions?: Entitlements.RequestOptions
): Promise {
- const { featureId, featureIds, ids, planId, planIds, q, limit, offset } = request;
+ const { featureId, featureIds, ids, planId, planIds, q, withMeteredProducts, limit, offset } = request;
const _queryParams: Record = {};
if (featureId != null) {
_queryParams["feature_id"] = featureId;
@@ -1688,6 +1688,10 @@ export class Entitlements {
_queryParams["q"] = q;
}
+ if (withMeteredProducts != null) {
+ _queryParams["with_metered_products"] = withMeteredProducts.toString();
+ }
+
if (limit != null) {
_queryParams["limit"] = limit.toString();
}
@@ -2282,7 +2286,7 @@ export class Entitlements {
request: Schematic.CountPlanEntitlementsRequest = {},
requestOptions?: Entitlements.RequestOptions
): Promise {
- const { featureId, featureIds, ids, planId, planIds, q, limit, offset } = request;
+ const { featureId, featureIds, ids, planId, planIds, q, withMeteredProducts, limit, offset } = request;
const _queryParams: Record = {};
if (featureId != null) {
_queryParams["feature_id"] = featureId;
@@ -2320,6 +2324,10 @@ export class Entitlements {
_queryParams["q"] = q;
}
+ if (withMeteredProducts != null) {
+ _queryParams["with_metered_products"] = withMeteredProducts.toString();
+ }
+
if (limit != null) {
_queryParams["limit"] = limit.toString();
}
diff --git a/src/api/resources/entitlements/client/requests/CountPlanEntitlementsRequest.ts b/src/api/resources/entitlements/client/requests/CountPlanEntitlementsRequest.ts
index 731532d..191496f 100644
--- a/src/api/resources/entitlements/client/requests/CountPlanEntitlementsRequest.ts
+++ b/src/api/resources/entitlements/client/requests/CountPlanEntitlementsRequest.ts
@@ -31,6 +31,10 @@ export interface CountPlanEntitlementsRequest {
* Search for plan entitlements by feature or company name
*/
q?: string;
+ /**
+ * Filter plan entitlements only with metered products
+ */
+ withMeteredProducts?: boolean;
/**
* Page limit (default 100)
*/
diff --git a/src/api/resources/entitlements/client/requests/CreateCompanyOverrideRequestBody.ts b/src/api/resources/entitlements/client/requests/CreateCompanyOverrideRequestBody.ts
index c8b88aa..e08bee7 100644
--- a/src/api/resources/entitlements/client/requests/CreateCompanyOverrideRequestBody.ts
+++ b/src/api/resources/entitlements/client/requests/CreateCompanyOverrideRequestBody.ts
@@ -16,6 +16,7 @@ export interface CreateCompanyOverrideRequestBody {
companyId: string;
expirationDate?: Date;
featureId: string;
+ meteredPriceId?: string;
metricPeriod?: Schematic.CreateCompanyOverrideRequestBodyMetricPeriod;
metricPeriodMonthReset?: Schematic.CreateCompanyOverrideRequestBodyMetricPeriodMonthReset;
valueBool?: boolean;
diff --git a/src/api/resources/entitlements/client/requests/CreatePlanEntitlementRequestBody.ts b/src/api/resources/entitlements/client/requests/CreatePlanEntitlementRequestBody.ts
index dc2f610..996f2b3 100644
--- a/src/api/resources/entitlements/client/requests/CreatePlanEntitlementRequestBody.ts
+++ b/src/api/resources/entitlements/client/requests/CreatePlanEntitlementRequestBody.ts
@@ -14,9 +14,12 @@ import * as Schematic from "../../../../index";
*/
export interface CreatePlanEntitlementRequestBody {
featureId: string;
+ meteredPriceId?: string;
+ meteredProductPriceId?: string;
metricPeriod?: Schematic.CreatePlanEntitlementRequestBodyMetricPeriod;
metricPeriodMonthReset?: Schematic.CreatePlanEntitlementRequestBodyMetricPeriodMonthReset;
planId: string;
+ priceBehavior?: string;
valueBool?: boolean;
valueNumeric?: number;
valueTraitId?: string;
diff --git a/src/api/resources/entitlements/client/requests/ListPlanEntitlementsRequest.ts b/src/api/resources/entitlements/client/requests/ListPlanEntitlementsRequest.ts
index beb2b51..8cb8274 100644
--- a/src/api/resources/entitlements/client/requests/ListPlanEntitlementsRequest.ts
+++ b/src/api/resources/entitlements/client/requests/ListPlanEntitlementsRequest.ts
@@ -31,6 +31,10 @@ export interface ListPlanEntitlementsRequest {
* Search for plan entitlements by feature or company name
*/
q?: string;
+ /**
+ * Filter plan entitlements only with metered products
+ */
+ withMeteredProducts?: boolean;
/**
* Page limit (default 100)
*/
diff --git a/src/api/resources/entitlements/client/requests/UpdateCompanyOverrideRequestBody.ts b/src/api/resources/entitlements/client/requests/UpdateCompanyOverrideRequestBody.ts
index 987fcaf..7bac647 100644
--- a/src/api/resources/entitlements/client/requests/UpdateCompanyOverrideRequestBody.ts
+++ b/src/api/resources/entitlements/client/requests/UpdateCompanyOverrideRequestBody.ts
@@ -12,6 +12,7 @@ import * as Schematic from "../../../../index";
*/
export interface UpdateCompanyOverrideRequestBody {
expirationDate?: Date;
+ meteredPriceId?: string;
metricPeriod?: Schematic.UpdateCompanyOverrideRequestBodyMetricPeriod;
metricPeriodMonthReset?: Schematic.UpdateCompanyOverrideRequestBodyMetricPeriodMonthReset;
valueBool?: boolean;
diff --git a/src/api/resources/entitlements/client/requests/UpdatePlanEntitlementRequestBody.ts b/src/api/resources/entitlements/client/requests/UpdatePlanEntitlementRequestBody.ts
index 77d5067..ac2d828 100644
--- a/src/api/resources/entitlements/client/requests/UpdatePlanEntitlementRequestBody.ts
+++ b/src/api/resources/entitlements/client/requests/UpdatePlanEntitlementRequestBody.ts
@@ -11,6 +11,7 @@ import * as Schematic from "../../../../index";
* }
*/
export interface UpdatePlanEntitlementRequestBody {
+ meteredPriceId?: string;
metricPeriod?: Schematic.UpdatePlanEntitlementRequestBodyMetricPeriod;
metricPeriodMonthReset?: Schematic.UpdatePlanEntitlementRequestBodyMetricPeriodMonthReset;
valueBool?: boolean;
diff --git a/src/api/resources/entitlements/types/CountPlanEntitlementsParams.ts b/src/api/resources/entitlements/types/CountPlanEntitlementsParams.ts
index 8898a2a..043fb27 100644
--- a/src/api/resources/entitlements/types/CountPlanEntitlementsParams.ts
+++ b/src/api/resources/entitlements/types/CountPlanEntitlementsParams.ts
@@ -22,4 +22,6 @@ export interface CountPlanEntitlementsParams {
planIds?: string[];
/** Search for plan entitlements by feature or company name */
q?: string;
+ /** Filter plan entitlements only with metered products */
+ withMeteredProducts?: boolean;
}
diff --git a/src/api/resources/entitlements/types/ListPlanEntitlementsParams.ts b/src/api/resources/entitlements/types/ListPlanEntitlementsParams.ts
index 21c625e..01d1fa8 100644
--- a/src/api/resources/entitlements/types/ListPlanEntitlementsParams.ts
+++ b/src/api/resources/entitlements/types/ListPlanEntitlementsParams.ts
@@ -22,4 +22,6 @@ export interface ListPlanEntitlementsParams {
planIds?: string[];
/** Search for plan entitlements by feature or company name */
q?: string;
+ /** Filter plan entitlements only with metered products */
+ withMeteredProducts?: boolean;
}
diff --git a/src/api/resources/plans/client/Client.ts b/src/api/resources/plans/client/Client.ts
index 3e27a5e..673af87 100644
--- a/src/api/resources/plans/client/Client.ts
+++ b/src/api/resources/plans/client/Client.ts
@@ -1027,6 +1027,7 @@ export class Plans {
*
* @example
* await client.plans.upsertBillingProductPlan("plan_id", {
+ * isFreePlan: true,
* isTrialable: true
* })
*/
diff --git a/src/api/resources/plans/client/requests/UpsertBillingProductRequestBody.ts b/src/api/resources/plans/client/requests/UpsertBillingProductRequestBody.ts
index 9b81903..73a5c05 100644
--- a/src/api/resources/plans/client/requests/UpsertBillingProductRequestBody.ts
+++ b/src/api/resources/plans/client/requests/UpsertBillingProductRequestBody.ts
@@ -5,11 +5,13 @@
/**
* @example
* {
+ * isFreePlan: true,
* isTrialable: true
* }
*/
export interface UpsertBillingProductRequestBody {
billingProductId?: string;
+ isFreePlan: boolean;
isTrialable: boolean;
monthlyPriceId?: string;
trialDays?: number;
diff --git a/src/api/types/BillingPriceView.ts b/src/api/types/BillingPriceView.ts
new file mode 100644
index 0000000..5511b22
--- /dev/null
+++ b/src/api/types/BillingPriceView.ts
@@ -0,0 +1,19 @@
+/**
+ * This file was auto-generated by Fern from our API Definition.
+ */
+
+export interface BillingPriceView {
+ createdAt: Date;
+ currency: string;
+ id: string;
+ interval: string;
+ meterId?: string;
+ price: number;
+ priceExternalId: string;
+ priceId: string;
+ productExternalId: string;
+ productId: string;
+ productName: string;
+ updatedAt: Date;
+ usageType: string;
+}
diff --git a/src/api/types/BillingProductPriceResponseData.ts b/src/api/types/BillingProductPriceResponseData.ts
new file mode 100644
index 0000000..4256672
--- /dev/null
+++ b/src/api/types/BillingProductPriceResponseData.ts
@@ -0,0 +1,16 @@
+/**
+ * This file was auto-generated by Fern from our API Definition.
+ */
+
+export interface BillingProductPriceResponseData {
+ createdAt: Date;
+ currency: string;
+ id: string;
+ interval: string;
+ meterId?: string;
+ price: number;
+ priceExternalId: string;
+ productExternalId: string;
+ updatedAt: Date;
+ usageType: string;
+}
diff --git a/src/api/types/BillingSubscriptionResponseData.ts b/src/api/types/BillingSubscriptionResponseData.ts
index 1796ba1..7679b40 100644
--- a/src/api/types/BillingSubscriptionResponseData.ts
+++ b/src/api/types/BillingSubscriptionResponseData.ts
@@ -16,4 +16,5 @@ export interface BillingSubscriptionResponseData {
status: string;
subscriptionExternalId: string;
totalPrice: number;
+ trialEnd?: number;
}
diff --git a/src/api/types/BillingSubscriptionView.ts b/src/api/types/BillingSubscriptionView.ts
index abdb2f6..7aaf112 100644
--- a/src/api/types/BillingSubscriptionView.ts
+++ b/src/api/types/BillingSubscriptionView.ts
@@ -21,4 +21,5 @@ export interface BillingSubscriptionView {
status: string;
subscriptionExternalId: string;
totalPrice: number;
+ trialEnd?: number;
}
diff --git a/src/api/types/CompanyPlanDetailResponseData.ts b/src/api/types/CompanyPlanDetailResponseData.ts
index e51d186..32c17db 100644
--- a/src/api/types/CompanyPlanDetailResponseData.ts
+++ b/src/api/types/CompanyPlanDetailResponseData.ts
@@ -16,6 +16,7 @@ export interface CompanyPlanDetailResponseData {
icon: string;
id: string;
isDefault: boolean;
+ isFree: boolean;
isTrialable: boolean;
monthlyPrice?: Schematic.BillingPriceResponseData;
name: string;
diff --git a/src/api/types/CreateEntitlementReqCommon.ts b/src/api/types/CreateEntitlementReqCommon.ts
index f36e6a0..711c05d 100644
--- a/src/api/types/CreateEntitlementReqCommon.ts
+++ b/src/api/types/CreateEntitlementReqCommon.ts
@@ -6,6 +6,7 @@ import * as Schematic from "../index";
export interface CreateEntitlementReqCommon {
featureId: string;
+ meteredPriceId?: string;
metricPeriod?: Schematic.CreateEntitlementReqCommonMetricPeriod;
metricPeriodMonthReset?: Schematic.CreateEntitlementReqCommonMetricPeriodMonthReset;
valueBool?: boolean;
diff --git a/src/api/types/PlanDetailResponseData.ts b/src/api/types/PlanDetailResponseData.ts
index 58e444d..d856578 100644
--- a/src/api/types/PlanDetailResponseData.ts
+++ b/src/api/types/PlanDetailResponseData.ts
@@ -14,6 +14,7 @@ export interface PlanDetailResponseData {
icon: string;
id: string;
isDefault: boolean;
+ isFree: boolean;
isTrialable: boolean;
monthlyPrice?: Schematic.BillingPriceResponseData;
name: string;
diff --git a/src/api/types/PlanEntitlementResponseData.ts b/src/api/types/PlanEntitlementResponseData.ts
index 4a288d9..6a5c937 100644
--- a/src/api/types/PlanEntitlementResponseData.ts
+++ b/src/api/types/PlanEntitlementResponseData.ts
@@ -10,10 +10,12 @@ export interface PlanEntitlementResponseData {
feature?: Schematic.FeatureResponseData;
featureId: string;
id: string;
+ meteredPrice?: Schematic.BillingPriceView;
metricPeriod?: string;
metricPeriodMonthReset?: string;
plan?: Schematic.PlanResponseData;
planId: string;
+ priceBehavior?: string;
ruleId: string;
updatedAt: Date;
valueBool?: boolean;
diff --git a/src/api/types/PlanGroupPlanDetailResponseData.ts b/src/api/types/PlanGroupPlanDetailResponseData.ts
index b4f97be..194cab1 100644
--- a/src/api/types/PlanGroupPlanDetailResponseData.ts
+++ b/src/api/types/PlanGroupPlanDetailResponseData.ts
@@ -15,6 +15,7 @@ export interface PlanGroupPlanDetailResponseData {
icon: string;
id: string;
isDefault: boolean;
+ isFree: boolean;
isTrialable: boolean;
monthlyPrice?: Schematic.BillingPriceResponseData;
name: string;
diff --git a/src/api/types/UpdateEntitlementReqCommon.ts b/src/api/types/UpdateEntitlementReqCommon.ts
index 41c7e82..e5faecf 100644
--- a/src/api/types/UpdateEntitlementReqCommon.ts
+++ b/src/api/types/UpdateEntitlementReqCommon.ts
@@ -5,6 +5,7 @@
import * as Schematic from "../index";
export interface UpdateEntitlementReqCommon {
+ meteredPriceId?: string;
metricPeriod?: Schematic.UpdateEntitlementReqCommonMetricPeriod;
metricPeriodMonthReset?: Schematic.UpdateEntitlementReqCommonMetricPeriodMonthReset;
valueBool?: boolean;
diff --git a/src/api/types/index.ts b/src/api/types/index.ts
index cb765a0..84130c7 100644
--- a/src/api/types/index.ts
+++ b/src/api/types/index.ts
@@ -9,9 +9,11 @@ export * from "./BillingCustomerSubscription";
export * from "./BillingCustomerWithSubscriptionsResponseData";
export * from "./BillingMeterResponseData";
export * from "./BillingPriceResponseData";
+export * from "./BillingPriceView";
export * from "./BillingProductDetailResponseData";
export * from "./BillingProductForSubscriptionResponseData";
export * from "./BillingProductPlanResponseData";
+export * from "./BillingProductPriceResponseData";
export * from "./BillingProductPricing";
export * from "./BillingProductResponseData";
export * from "./BillingSubscriptionResponseData";
diff --git a/src/serialization/resources/billing/client/requests/CreateBillingSubscriptionsRequestBody.ts b/src/serialization/resources/billing/client/requests/CreateBillingSubscriptionsRequestBody.ts
index b5ad80f..6e20c2e 100644
--- a/src/serialization/resources/billing/client/requests/CreateBillingSubscriptionsRequestBody.ts
+++ b/src/serialization/resources/billing/client/requests/CreateBillingSubscriptionsRequestBody.ts
@@ -25,6 +25,7 @@ export const CreateBillingSubscriptionsRequestBody: core.serialization.Schema<
status: core.serialization.string().optional(),
subscriptionExternalId: core.serialization.property("subscription_external_id", core.serialization.string()),
totalPrice: core.serialization.property("total_price", core.serialization.number()),
+ trialEnd: core.serialization.property("trial_end", core.serialization.number().optional()),
});
export declare namespace CreateBillingSubscriptionsRequestBody {
@@ -40,5 +41,6 @@ export declare namespace CreateBillingSubscriptionsRequestBody {
status?: string | null;
subscription_external_id: string;
total_price: number;
+ trial_end?: number | null;
}
}
diff --git a/src/serialization/resources/billing/types/CountBillingProductsParams.ts b/src/serialization/resources/billing/types/CountBillingProductsParams.ts
index e5c1646..3578765 100644
--- a/src/serialization/resources/billing/types/CountBillingProductsParams.ts
+++ b/src/serialization/resources/billing/types/CountBillingProductsParams.ts
@@ -14,7 +14,10 @@ export const CountBillingProductsParams: core.serialization.ObjectSchema<
limit: core.serialization.number().optional(),
name: core.serialization.string().optional(),
offset: core.serialization.number().optional(),
+ priceUsageType: core.serialization.property("price_usage_type", core.serialization.string().optional()),
q: core.serialization.string().optional(),
+ withPricesOnly: core.serialization.property("with_prices_only", core.serialization.boolean().optional()),
+ withZeroPrice: core.serialization.property("with_zero_price", core.serialization.boolean().optional()),
withoutLinkedToPlan: core.serialization.property("without_linked_to_plan", core.serialization.boolean().optional()),
});
@@ -24,7 +27,10 @@ export declare namespace CountBillingProductsParams {
limit?: number | null;
name?: string | null;
offset?: number | null;
+ price_usage_type?: string | null;
q?: string | null;
+ with_prices_only?: boolean | null;
+ with_zero_price?: boolean | null;
without_linked_to_plan?: boolean | null;
}
}
diff --git a/src/serialization/resources/billing/types/ListBillingProductsParams.ts b/src/serialization/resources/billing/types/ListBillingProductsParams.ts
index b023d36..0ba1488 100644
--- a/src/serialization/resources/billing/types/ListBillingProductsParams.ts
+++ b/src/serialization/resources/billing/types/ListBillingProductsParams.ts
@@ -14,7 +14,10 @@ export const ListBillingProductsParams: core.serialization.ObjectSchema<
limit: core.serialization.number().optional(),
name: core.serialization.string().optional(),
offset: core.serialization.number().optional(),
+ priceUsageType: core.serialization.property("price_usage_type", core.serialization.string().optional()),
q: core.serialization.string().optional(),
+ withPricesOnly: core.serialization.property("with_prices_only", core.serialization.boolean().optional()),
+ withZeroPrice: core.serialization.property("with_zero_price", core.serialization.boolean().optional()),
withoutLinkedToPlan: core.serialization.property("without_linked_to_plan", core.serialization.boolean().optional()),
});
@@ -24,7 +27,10 @@ export declare namespace ListBillingProductsParams {
limit?: number | null;
name?: string | null;
offset?: number | null;
+ price_usage_type?: string | null;
q?: string | null;
+ with_prices_only?: boolean | null;
+ with_zero_price?: boolean | null;
without_linked_to_plan?: boolean | null;
}
}
diff --git a/src/serialization/resources/billing/types/ListProductPricesParams.ts b/src/serialization/resources/billing/types/ListProductPricesParams.ts
index 1d8c408..7f6edce 100644
--- a/src/serialization/resources/billing/types/ListProductPricesParams.ts
+++ b/src/serialization/resources/billing/types/ListProductPricesParams.ts
@@ -14,7 +14,10 @@ export const ListProductPricesParams: core.serialization.ObjectSchema<
limit: core.serialization.number().optional(),
name: core.serialization.string().optional(),
offset: core.serialization.number().optional(),
+ priceUsageType: core.serialization.property("price_usage_type", core.serialization.string().optional()),
q: core.serialization.string().optional(),
+ withPricesOnly: core.serialization.property("with_prices_only", core.serialization.boolean().optional()),
+ withZeroPrice: core.serialization.property("with_zero_price", core.serialization.boolean().optional()),
withoutLinkedToPlan: core.serialization.property("without_linked_to_plan", core.serialization.boolean().optional()),
});
@@ -24,7 +27,10 @@ export declare namespace ListProductPricesParams {
limit?: number | null;
name?: string | null;
offset?: number | null;
+ price_usage_type?: string | null;
q?: string | null;
+ with_prices_only?: boolean | null;
+ with_zero_price?: boolean | null;
without_linked_to_plan?: boolean | null;
}
}
diff --git a/src/serialization/resources/billing/types/SearchBillingPricesParams.ts b/src/serialization/resources/billing/types/SearchBillingPricesParams.ts
new file mode 100644
index 0000000..020c852
--- /dev/null
+++ b/src/serialization/resources/billing/types/SearchBillingPricesParams.ts
@@ -0,0 +1,28 @@
+/**
+ * This file was auto-generated by Fern from our API Definition.
+ */
+
+import * as serializers from "../../../index";
+import * as Schematic from "../../../../api/index";
+import * as core from "../../../../core";
+
+export const SearchBillingPricesParams: core.serialization.ObjectSchema<
+ serializers.SearchBillingPricesParams.Raw,
+ Schematic.SearchBillingPricesParams
+> = core.serialization.object({
+ ids: core.serialization.list(core.serialization.string()).optional(),
+ limit: core.serialization.number().optional(),
+ offset: core.serialization.number().optional(),
+ price: core.serialization.number().optional(),
+ usageType: core.serialization.property("usage_type", core.serialization.string().optional()),
+});
+
+export declare namespace SearchBillingPricesParams {
+ interface Raw {
+ ids?: string[] | null;
+ limit?: number | null;
+ offset?: number | null;
+ price?: number | null;
+ usage_type?: string | null;
+ }
+}
diff --git a/src/serialization/resources/billing/types/SearchBillingPricesResponse.ts b/src/serialization/resources/billing/types/SearchBillingPricesResponse.ts
new file mode 100644
index 0000000..7b0c62e
--- /dev/null
+++ b/src/serialization/resources/billing/types/SearchBillingPricesResponse.ts
@@ -0,0 +1,24 @@
+/**
+ * This file was auto-generated by Fern from our API Definition.
+ */
+
+import * as serializers from "../../../index";
+import * as Schematic from "../../../../api/index";
+import * as core from "../../../../core";
+import { BillingPriceView } from "../../../types/BillingPriceView";
+import { SearchBillingPricesParams } from "./SearchBillingPricesParams";
+
+export const SearchBillingPricesResponse: core.serialization.ObjectSchema<
+ serializers.SearchBillingPricesResponse.Raw,
+ Schematic.SearchBillingPricesResponse
+> = core.serialization.object({
+ data: core.serialization.list(BillingPriceView),
+ params: SearchBillingPricesParams,
+});
+
+export declare namespace SearchBillingPricesResponse {
+ interface Raw {
+ data: BillingPriceView.Raw[];
+ params: SearchBillingPricesParams.Raw;
+ }
+}
diff --git a/src/serialization/resources/billing/types/index.ts b/src/serialization/resources/billing/types/index.ts
index c36a7f3..7366b84 100644
--- a/src/serialization/resources/billing/types/index.ts
+++ b/src/serialization/resources/billing/types/index.ts
@@ -12,6 +12,8 @@ export * from "./UpsertBillingMeterResponse";
export * from "./ListPaymentMethodsParams";
export * from "./ListPaymentMethodsResponse";
export * from "./UpsertPaymentMethodResponse";
+export * from "./SearchBillingPricesParams";
+export * from "./SearchBillingPricesResponse";
export * from "./UpsertBillingPriceResponse";
export * from "./ListProductPricesParams";
export * from "./ListProductPricesResponse";
diff --git a/src/serialization/resources/entitlements/client/requests/CreateCompanyOverrideRequestBody.ts b/src/serialization/resources/entitlements/client/requests/CreateCompanyOverrideRequestBody.ts
index 61080f0..8db8595 100644
--- a/src/serialization/resources/entitlements/client/requests/CreateCompanyOverrideRequestBody.ts
+++ b/src/serialization/resources/entitlements/client/requests/CreateCompanyOverrideRequestBody.ts
@@ -16,6 +16,7 @@ export const CreateCompanyOverrideRequestBody: core.serialization.Schema<
companyId: core.serialization.property("company_id", core.serialization.string()),
expirationDate: core.serialization.property("expiration_date", core.serialization.date().optional()),
featureId: core.serialization.property("feature_id", core.serialization.string()),
+ meteredPriceId: core.serialization.property("metered_price_id", core.serialization.string().optional()),
metricPeriod: core.serialization.property("metric_period", CreateCompanyOverrideRequestBodyMetricPeriod.optional()),
metricPeriodMonthReset: core.serialization.property(
"metric_period_month_reset",
@@ -32,6 +33,7 @@ export declare namespace CreateCompanyOverrideRequestBody {
company_id: string;
expiration_date?: string | null;
feature_id: string;
+ metered_price_id?: string | null;
metric_period?: CreateCompanyOverrideRequestBodyMetricPeriod.Raw | null;
metric_period_month_reset?: CreateCompanyOverrideRequestBodyMetricPeriodMonthReset.Raw | null;
value_bool?: boolean | null;
diff --git a/src/serialization/resources/entitlements/client/requests/CreatePlanEntitlementRequestBody.ts b/src/serialization/resources/entitlements/client/requests/CreatePlanEntitlementRequestBody.ts
index b6c4df8..cfb38f6 100644
--- a/src/serialization/resources/entitlements/client/requests/CreatePlanEntitlementRequestBody.ts
+++ b/src/serialization/resources/entitlements/client/requests/CreatePlanEntitlementRequestBody.ts
@@ -14,12 +14,18 @@ export const CreatePlanEntitlementRequestBody: core.serialization.Schema<
Schematic.CreatePlanEntitlementRequestBody
> = core.serialization.object({
featureId: core.serialization.property("feature_id", core.serialization.string()),
+ meteredPriceId: core.serialization.property("metered_price_id", core.serialization.string().optional()),
+ meteredProductPriceId: core.serialization.property(
+ "metered_product_price_id",
+ core.serialization.string().optional()
+ ),
metricPeriod: core.serialization.property("metric_period", CreatePlanEntitlementRequestBodyMetricPeriod.optional()),
metricPeriodMonthReset: core.serialization.property(
"metric_period_month_reset",
CreatePlanEntitlementRequestBodyMetricPeriodMonthReset.optional()
),
planId: core.serialization.property("plan_id", core.serialization.string()),
+ priceBehavior: core.serialization.property("price_behavior", core.serialization.string().optional()),
valueBool: core.serialization.property("value_bool", core.serialization.boolean().optional()),
valueNumeric: core.serialization.property("value_numeric", core.serialization.number().optional()),
valueTraitId: core.serialization.property("value_trait_id", core.serialization.string().optional()),
@@ -29,9 +35,12 @@ export const CreatePlanEntitlementRequestBody: core.serialization.Schema<
export declare namespace CreatePlanEntitlementRequestBody {
interface Raw {
feature_id: string;
+ metered_price_id?: string | null;
+ metered_product_price_id?: string | null;
metric_period?: CreatePlanEntitlementRequestBodyMetricPeriod.Raw | null;
metric_period_month_reset?: CreatePlanEntitlementRequestBodyMetricPeriodMonthReset.Raw | null;
plan_id: string;
+ price_behavior?: string | null;
value_bool?: boolean | null;
value_numeric?: number | null;
value_trait_id?: string | null;
diff --git a/src/serialization/resources/entitlements/client/requests/UpdateCompanyOverrideRequestBody.ts b/src/serialization/resources/entitlements/client/requests/UpdateCompanyOverrideRequestBody.ts
index e62f7ec..1c4e033 100644
--- a/src/serialization/resources/entitlements/client/requests/UpdateCompanyOverrideRequestBody.ts
+++ b/src/serialization/resources/entitlements/client/requests/UpdateCompanyOverrideRequestBody.ts
@@ -14,6 +14,7 @@ export const UpdateCompanyOverrideRequestBody: core.serialization.Schema<
Schematic.UpdateCompanyOverrideRequestBody
> = core.serialization.object({
expirationDate: core.serialization.property("expiration_date", core.serialization.date().optional()),
+ meteredPriceId: core.serialization.property("metered_price_id", core.serialization.string().optional()),
metricPeriod: core.serialization.property("metric_period", UpdateCompanyOverrideRequestBodyMetricPeriod.optional()),
metricPeriodMonthReset: core.serialization.property(
"metric_period_month_reset",
@@ -28,6 +29,7 @@ export const UpdateCompanyOverrideRequestBody: core.serialization.Schema<
export declare namespace UpdateCompanyOverrideRequestBody {
interface Raw {
expiration_date?: string | null;
+ metered_price_id?: string | null;
metric_period?: UpdateCompanyOverrideRequestBodyMetricPeriod.Raw | null;
metric_period_month_reset?: UpdateCompanyOverrideRequestBodyMetricPeriodMonthReset.Raw | null;
value_bool?: boolean | null;
diff --git a/src/serialization/resources/entitlements/client/requests/UpdatePlanEntitlementRequestBody.ts b/src/serialization/resources/entitlements/client/requests/UpdatePlanEntitlementRequestBody.ts
index b325f89..b46861e 100644
--- a/src/serialization/resources/entitlements/client/requests/UpdatePlanEntitlementRequestBody.ts
+++ b/src/serialization/resources/entitlements/client/requests/UpdatePlanEntitlementRequestBody.ts
@@ -13,6 +13,7 @@ export const UpdatePlanEntitlementRequestBody: core.serialization.Schema<
serializers.UpdatePlanEntitlementRequestBody.Raw,
Schematic.UpdatePlanEntitlementRequestBody
> = core.serialization.object({
+ meteredPriceId: core.serialization.property("metered_price_id", core.serialization.string().optional()),
metricPeriod: core.serialization.property("metric_period", UpdatePlanEntitlementRequestBodyMetricPeriod.optional()),
metricPeriodMonthReset: core.serialization.property(
"metric_period_month_reset",
@@ -26,6 +27,7 @@ export const UpdatePlanEntitlementRequestBody: core.serialization.Schema<
export declare namespace UpdatePlanEntitlementRequestBody {
interface Raw {
+ metered_price_id?: string | null;
metric_period?: UpdatePlanEntitlementRequestBodyMetricPeriod.Raw | null;
metric_period_month_reset?: UpdatePlanEntitlementRequestBodyMetricPeriodMonthReset.Raw | null;
value_bool?: boolean | null;
diff --git a/src/serialization/resources/entitlements/types/CountPlanEntitlementsParams.ts b/src/serialization/resources/entitlements/types/CountPlanEntitlementsParams.ts
index 4b8ae86..3c72b8a 100644
--- a/src/serialization/resources/entitlements/types/CountPlanEntitlementsParams.ts
+++ b/src/serialization/resources/entitlements/types/CountPlanEntitlementsParams.ts
@@ -21,6 +21,7 @@ export const CountPlanEntitlementsParams: core.serialization.ObjectSchema<
planId: core.serialization.property("plan_id", core.serialization.string().optional()),
planIds: core.serialization.property("plan_ids", core.serialization.list(core.serialization.string()).optional()),
q: core.serialization.string().optional(),
+ withMeteredProducts: core.serialization.property("with_metered_products", core.serialization.boolean().optional()),
});
export declare namespace CountPlanEntitlementsParams {
@@ -33,5 +34,6 @@ export declare namespace CountPlanEntitlementsParams {
plan_id?: string | null;
plan_ids?: string[] | null;
q?: string | null;
+ with_metered_products?: boolean | null;
}
}
diff --git a/src/serialization/resources/entitlements/types/ListPlanEntitlementsParams.ts b/src/serialization/resources/entitlements/types/ListPlanEntitlementsParams.ts
index df90294..f3fdde4 100644
--- a/src/serialization/resources/entitlements/types/ListPlanEntitlementsParams.ts
+++ b/src/serialization/resources/entitlements/types/ListPlanEntitlementsParams.ts
@@ -21,6 +21,7 @@ export const ListPlanEntitlementsParams: core.serialization.ObjectSchema<
planId: core.serialization.property("plan_id", core.serialization.string().optional()),
planIds: core.serialization.property("plan_ids", core.serialization.list(core.serialization.string()).optional()),
q: core.serialization.string().optional(),
+ withMeteredProducts: core.serialization.property("with_metered_products", core.serialization.boolean().optional()),
});
export declare namespace ListPlanEntitlementsParams {
@@ -33,5 +34,6 @@ export declare namespace ListPlanEntitlementsParams {
plan_id?: string | null;
plan_ids?: string[] | null;
q?: string | null;
+ with_metered_products?: boolean | null;
}
}
diff --git a/src/serialization/resources/plans/client/requests/UpsertBillingProductRequestBody.ts b/src/serialization/resources/plans/client/requests/UpsertBillingProductRequestBody.ts
index 746d5e3..82fe8f2 100644
--- a/src/serialization/resources/plans/client/requests/UpsertBillingProductRequestBody.ts
+++ b/src/serialization/resources/plans/client/requests/UpsertBillingProductRequestBody.ts
@@ -11,6 +11,7 @@ export const UpsertBillingProductRequestBody: core.serialization.Schema<
Schematic.UpsertBillingProductRequestBody
> = core.serialization.object({
billingProductId: core.serialization.property("billing_product_id", core.serialization.string().optional()),
+ isFreePlan: core.serialization.property("is_free_plan", core.serialization.boolean()),
isTrialable: core.serialization.property("is_trialable", core.serialization.boolean()),
monthlyPriceId: core.serialization.property("monthly_price_id", core.serialization.string().optional()),
trialDays: core.serialization.property("trial_days", core.serialization.number().optional()),
@@ -20,6 +21,7 @@ export const UpsertBillingProductRequestBody: core.serialization.Schema<
export declare namespace UpsertBillingProductRequestBody {
interface Raw {
billing_product_id?: string | null;
+ is_free_plan: boolean;
is_trialable: boolean;
monthly_price_id?: string | null;
trial_days?: number | null;
diff --git a/src/serialization/types/BillingPriceView.ts b/src/serialization/types/BillingPriceView.ts
new file mode 100644
index 0000000..72faaca
--- /dev/null
+++ b/src/serialization/types/BillingPriceView.ts
@@ -0,0 +1,44 @@
+/**
+ * This file was auto-generated by Fern from our API Definition.
+ */
+
+import * as serializers from "../index";
+import * as Schematic from "../../api/index";
+import * as core from "../../core";
+
+export const BillingPriceView: core.serialization.ObjectSchema<
+ serializers.BillingPriceView.Raw,
+ Schematic.BillingPriceView
+> = core.serialization.object({
+ createdAt: core.serialization.property("created_at", core.serialization.date()),
+ currency: core.serialization.string(),
+ id: core.serialization.string(),
+ interval: core.serialization.string(),
+ meterId: core.serialization.property("meter_id", core.serialization.string().optional()),
+ price: core.serialization.number(),
+ priceExternalId: core.serialization.property("price_external_id", core.serialization.string()),
+ priceId: core.serialization.property("price_id", core.serialization.string()),
+ productExternalId: core.serialization.property("product_external_id", core.serialization.string()),
+ productId: core.serialization.property("product_id", core.serialization.string()),
+ productName: core.serialization.property("product_name", core.serialization.string()),
+ updatedAt: core.serialization.property("updated_at", core.serialization.date()),
+ usageType: core.serialization.property("usage_type", core.serialization.string()),
+});
+
+export declare namespace BillingPriceView {
+ interface Raw {
+ created_at: string;
+ currency: string;
+ id: string;
+ interval: string;
+ meter_id?: string | null;
+ price: number;
+ price_external_id: string;
+ price_id: string;
+ product_external_id: string;
+ product_id: string;
+ product_name: string;
+ updated_at: string;
+ usage_type: string;
+ }
+}
diff --git a/src/serialization/types/BillingProductPriceResponseData.ts b/src/serialization/types/BillingProductPriceResponseData.ts
new file mode 100644
index 0000000..caba7cc
--- /dev/null
+++ b/src/serialization/types/BillingProductPriceResponseData.ts
@@ -0,0 +1,38 @@
+/**
+ * This file was auto-generated by Fern from our API Definition.
+ */
+
+import * as serializers from "../index";
+import * as Schematic from "../../api/index";
+import * as core from "../../core";
+
+export const BillingProductPriceResponseData: core.serialization.ObjectSchema<
+ serializers.BillingProductPriceResponseData.Raw,
+ Schematic.BillingProductPriceResponseData
+> = core.serialization.object({
+ createdAt: core.serialization.property("created_at", core.serialization.date()),
+ currency: core.serialization.string(),
+ id: core.serialization.string(),
+ interval: core.serialization.string(),
+ meterId: core.serialization.property("meter_id", core.serialization.string().optional()),
+ price: core.serialization.number(),
+ priceExternalId: core.serialization.property("price_external_id", core.serialization.string()),
+ productExternalId: core.serialization.property("product_external_id", core.serialization.string()),
+ updatedAt: core.serialization.property("updated_at", core.serialization.date()),
+ usageType: core.serialization.property("usage_type", core.serialization.string()),
+});
+
+export declare namespace BillingProductPriceResponseData {
+ interface Raw {
+ created_at: string;
+ currency: string;
+ id: string;
+ interval: string;
+ meter_id?: string | null;
+ price: number;
+ price_external_id: string;
+ product_external_id: string;
+ updated_at: string;
+ usage_type: string;
+ }
+}
diff --git a/src/serialization/types/BillingSubscriptionResponseData.ts b/src/serialization/types/BillingSubscriptionResponseData.ts
index e7793f7..005fb6a 100644
--- a/src/serialization/types/BillingSubscriptionResponseData.ts
+++ b/src/serialization/types/BillingSubscriptionResponseData.ts
@@ -23,6 +23,7 @@ export const BillingSubscriptionResponseData: core.serialization.ObjectSchema<
status: core.serialization.string(),
subscriptionExternalId: core.serialization.property("subscription_external_id", core.serialization.string()),
totalPrice: core.serialization.property("total_price", core.serialization.number()),
+ trialEnd: core.serialization.property("trial_end", core.serialization.number().optional()),
});
export declare namespace BillingSubscriptionResponseData {
@@ -40,5 +41,6 @@ export declare namespace BillingSubscriptionResponseData {
status: string;
subscription_external_id: string;
total_price: number;
+ trial_end?: number | null;
}
}
diff --git a/src/serialization/types/BillingSubscriptionView.ts b/src/serialization/types/BillingSubscriptionView.ts
index f4b82aa..590683f 100644
--- a/src/serialization/types/BillingSubscriptionView.ts
+++ b/src/serialization/types/BillingSubscriptionView.ts
@@ -29,6 +29,7 @@ export const BillingSubscriptionView: core.serialization.ObjectSchema<
status: core.serialization.string(),
subscriptionExternalId: core.serialization.property("subscription_external_id", core.serialization.string()),
totalPrice: core.serialization.property("total_price", core.serialization.number()),
+ trialEnd: core.serialization.property("trial_end", core.serialization.number().optional()),
});
export declare namespace BillingSubscriptionView {
@@ -49,5 +50,6 @@ export declare namespace BillingSubscriptionView {
status: string;
subscription_external_id: string;
total_price: number;
+ trial_end?: number | null;
}
}
diff --git a/src/serialization/types/CompanyPlanDetailResponseData.ts b/src/serialization/types/CompanyPlanDetailResponseData.ts
index cae1882..04bc316 100644
--- a/src/serialization/types/CompanyPlanDetailResponseData.ts
+++ b/src/serialization/types/CompanyPlanDetailResponseData.ts
@@ -25,6 +25,7 @@ export const CompanyPlanDetailResponseData: core.serialization.ObjectSchema<
icon: core.serialization.string(),
id: core.serialization.string(),
isDefault: core.serialization.property("is_default", core.serialization.boolean()),
+ isFree: core.serialization.property("is_free", core.serialization.boolean()),
isTrialable: core.serialization.property("is_trialable", core.serialization.boolean()),
monthlyPrice: core.serialization.property("monthly_price", BillingPriceResponseData.optional()),
name: core.serialization.string(),
@@ -48,6 +49,7 @@ export declare namespace CompanyPlanDetailResponseData {
icon: string;
id: string;
is_default: boolean;
+ is_free: boolean;
is_trialable: boolean;
monthly_price?: BillingPriceResponseData.Raw | null;
name: string;
diff --git a/src/serialization/types/CreateEntitlementReqCommon.ts b/src/serialization/types/CreateEntitlementReqCommon.ts
index 9d6da16..72f71b6 100644
--- a/src/serialization/types/CreateEntitlementReqCommon.ts
+++ b/src/serialization/types/CreateEntitlementReqCommon.ts
@@ -14,6 +14,7 @@ export const CreateEntitlementReqCommon: core.serialization.ObjectSchema<
Schematic.CreateEntitlementReqCommon
> = core.serialization.object({
featureId: core.serialization.property("feature_id", core.serialization.string()),
+ meteredPriceId: core.serialization.property("metered_price_id", core.serialization.string().optional()),
metricPeriod: core.serialization.property("metric_period", CreateEntitlementReqCommonMetricPeriod.optional()),
metricPeriodMonthReset: core.serialization.property(
"metric_period_month_reset",
@@ -28,6 +29,7 @@ export const CreateEntitlementReqCommon: core.serialization.ObjectSchema<
export declare namespace CreateEntitlementReqCommon {
interface Raw {
feature_id: string;
+ metered_price_id?: string | null;
metric_period?: CreateEntitlementReqCommonMetricPeriod.Raw | null;
metric_period_month_reset?: CreateEntitlementReqCommonMetricPeriodMonthReset.Raw | null;
value_bool?: boolean | null;
diff --git a/src/serialization/types/PlanDetailResponseData.ts b/src/serialization/types/PlanDetailResponseData.ts
index bf7d302..75e8bf9 100644
--- a/src/serialization/types/PlanDetailResponseData.ts
+++ b/src/serialization/types/PlanDetailResponseData.ts
@@ -22,6 +22,7 @@ export const PlanDetailResponseData: core.serialization.ObjectSchema<
icon: core.serialization.string(),
id: core.serialization.string(),
isDefault: core.serialization.property("is_default", core.serialization.boolean()),
+ isFree: core.serialization.property("is_free", core.serialization.boolean()),
isTrialable: core.serialization.property("is_trialable", core.serialization.boolean()),
monthlyPrice: core.serialization.property("monthly_price", BillingPriceResponseData.optional()),
name: core.serialization.string(),
@@ -42,6 +43,7 @@ export declare namespace PlanDetailResponseData {
icon: string;
id: string;
is_default: boolean;
+ is_free: boolean;
is_trialable: boolean;
monthly_price?: BillingPriceResponseData.Raw | null;
name: string;
diff --git a/src/serialization/types/PlanEntitlementResponseData.ts b/src/serialization/types/PlanEntitlementResponseData.ts
index 8424cc5..4525470 100644
--- a/src/serialization/types/PlanEntitlementResponseData.ts
+++ b/src/serialization/types/PlanEntitlementResponseData.ts
@@ -6,6 +6,7 @@ import * as serializers from "../index";
import * as Schematic from "../../api/index";
import * as core from "../../core";
import { FeatureResponseData } from "./FeatureResponseData";
+import { BillingPriceView } from "./BillingPriceView";
import { PlanResponseData } from "./PlanResponseData";
import { EntityTraitDefinitionResponseData } from "./EntityTraitDefinitionResponseData";
@@ -18,6 +19,7 @@ export const PlanEntitlementResponseData: core.serialization.ObjectSchema<
feature: FeatureResponseData.optional(),
featureId: core.serialization.property("feature_id", core.serialization.string()),
id: core.serialization.string(),
+ meteredPrice: core.serialization.property("metered_price", BillingPriceView.optional()),
metricPeriod: core.serialization.property("metric_period", core.serialization.string().optional()),
metricPeriodMonthReset: core.serialization.property(
"metric_period_month_reset",
@@ -25,6 +27,7 @@ export const PlanEntitlementResponseData: core.serialization.ObjectSchema<
),
plan: PlanResponseData.optional(),
planId: core.serialization.property("plan_id", core.serialization.string()),
+ priceBehavior: core.serialization.property("price_behavior", core.serialization.string().optional()),
ruleId: core.serialization.property("rule_id", core.serialization.string()),
updatedAt: core.serialization.property("updated_at", core.serialization.date()),
valueBool: core.serialization.property("value_bool", core.serialization.boolean().optional()),
@@ -41,10 +44,12 @@ export declare namespace PlanEntitlementResponseData {
feature?: FeatureResponseData.Raw | null;
feature_id: string;
id: string;
+ metered_price?: BillingPriceView.Raw | null;
metric_period?: string | null;
metric_period_month_reset?: string | null;
plan?: PlanResponseData.Raw | null;
plan_id: string;
+ price_behavior?: string | null;
rule_id: string;
updated_at: string;
value_bool?: boolean | null;
diff --git a/src/serialization/types/PlanGroupPlanDetailResponseData.ts b/src/serialization/types/PlanGroupPlanDetailResponseData.ts
index e5a0812..ef71ba6 100644
--- a/src/serialization/types/PlanGroupPlanDetailResponseData.ts
+++ b/src/serialization/types/PlanGroupPlanDetailResponseData.ts
@@ -24,6 +24,7 @@ export const PlanGroupPlanDetailResponseData: core.serialization.ObjectSchema<
icon: core.serialization.string(),
id: core.serialization.string(),
isDefault: core.serialization.property("is_default", core.serialization.boolean()),
+ isFree: core.serialization.property("is_free", core.serialization.boolean()),
isTrialable: core.serialization.property("is_trialable", core.serialization.boolean()),
monthlyPrice: core.serialization.property("monthly_price", BillingPriceResponseData.optional()),
name: core.serialization.string(),
@@ -45,6 +46,7 @@ export declare namespace PlanGroupPlanDetailResponseData {
icon: string;
id: string;
is_default: boolean;
+ is_free: boolean;
is_trialable: boolean;
monthly_price?: BillingPriceResponseData.Raw | null;
name: string;
diff --git a/src/serialization/types/UpdateEntitlementReqCommon.ts b/src/serialization/types/UpdateEntitlementReqCommon.ts
index 4ee66d6..8b3d1e7 100644
--- a/src/serialization/types/UpdateEntitlementReqCommon.ts
+++ b/src/serialization/types/UpdateEntitlementReqCommon.ts
@@ -13,6 +13,7 @@ export const UpdateEntitlementReqCommon: core.serialization.ObjectSchema<
serializers.UpdateEntitlementReqCommon.Raw,
Schematic.UpdateEntitlementReqCommon
> = core.serialization.object({
+ meteredPriceId: core.serialization.property("metered_price_id", core.serialization.string().optional()),
metricPeriod: core.serialization.property("metric_period", UpdateEntitlementReqCommonMetricPeriod.optional()),
metricPeriodMonthReset: core.serialization.property(
"metric_period_month_reset",
@@ -26,6 +27,7 @@ export const UpdateEntitlementReqCommon: core.serialization.ObjectSchema<
export declare namespace UpdateEntitlementReqCommon {
interface Raw {
+ metered_price_id?: string | null;
metric_period?: UpdateEntitlementReqCommonMetricPeriod.Raw | null;
metric_period_month_reset?: UpdateEntitlementReqCommonMetricPeriodMonthReset.Raw | null;
value_bool?: boolean | null;
diff --git a/src/serialization/types/index.ts b/src/serialization/types/index.ts
index cb765a0..84130c7 100644
--- a/src/serialization/types/index.ts
+++ b/src/serialization/types/index.ts
@@ -9,9 +9,11 @@ export * from "./BillingCustomerSubscription";
export * from "./BillingCustomerWithSubscriptionsResponseData";
export * from "./BillingMeterResponseData";
export * from "./BillingPriceResponseData";
+export * from "./BillingPriceView";
export * from "./BillingProductDetailResponseData";
export * from "./BillingProductForSubscriptionResponseData";
export * from "./BillingProductPlanResponseData";
+export * from "./BillingProductPriceResponseData";
export * from "./BillingProductPricing";
export * from "./BillingProductResponseData";
export * from "./BillingSubscriptionResponseData";
diff --git a/yarn.lock b/yarn.lock
index f9dd03b..f7c05a3 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1088,9 +1088,9 @@ camelcase@^6.2.0:
integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==
caniuse-lite@^1.0.30001669:
- version "1.0.30001680"
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001680.tgz#5380ede637a33b9f9f1fc6045ea99bd142f3da5e"
- integrity sha512-rPQy70G6AGUMnbwS1z6Xg+RkHYPAi18ihs47GH0jcxIG7wArmPgY3XbS2sRdBbxJljp3thdT8BIqv9ccCypiPA==
+ version "1.0.30001683"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001683.tgz#7f026a2d5d319a9cf8915a1451173052caaadc81"
+ integrity sha512-iqmNnThZ0n70mNwvxpEC2nBJ037ZHZUoBI5Gorh1Mw6IlEAZujEoU1tXA628iZfzm7R9FvFzxbfdgml82a3k8Q==
chalk@^4.0.0, chalk@^4.1.0:
version "4.1.2"
@@ -2467,9 +2467,9 @@ prompts@^2.0.1:
sisteransi "^1.0.5"
psl@^1.1.33:
- version "1.10.0"
- resolved "https://registry.yarnpkg.com/psl/-/psl-1.10.0.tgz#1450f7e16f922c3beeb7bd9db3f312635018fa15"
- integrity sha512-KSKHEbjAnpUuAUserOq0FxGXCUrzC3WniuSJhvdbs102rL55266ZcHBqLWOsG30spQMlPdpy7icATiAQehg/iA==
+ version "1.11.0"
+ resolved "https://registry.yarnpkg.com/psl/-/psl-1.11.0.tgz#56fed2560dcb74a9c374f8e6f6596b328b26699c"
+ integrity sha512-pjFdcBXT4g061k/SQkzNCRnav+1RdIOgrcX8hs5eL3CEQcFZP9qT8T1RWYxGKT11rH1DdIW+kJRfCYykBJuerQ==
dependencies:
punycode "^2.3.1"