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"