diff --git a/Makefile b/Makefile index 28aa3fdbc..10074c4d4 100644 --- a/Makefile +++ b/Makefile @@ -24,9 +24,8 @@ update-openapi-cloud: ## Update OpenAPI spec go generate ./api/... .PHONY: gen-api -gen-api: ## Generate API and SDKs +gen-api: update-openapi update-openapi-cloud ## Generate API and SDKs $(call print-target) - $(MAKE) update-openapi-cloud dagger call generate node-sdk -o api/client/node dagger call generate web-sdk -o api/client/web # dagger call generate python-sdk -o api/client/python diff --git a/api/api.gen.go b/api/api.gen.go index c0ed2799b..ca8cd837c 100644 --- a/api/api.gen.go +++ b/api/api.gen.go @@ -2395,7 +2395,7 @@ type InvoicePaginatedResponse struct { TotalCount int `json:"totalCount"` } -// ListEntitlementsResult defines model for ListEntitlementsResult. +// ListEntitlementsResult List entitlements result type ListEntitlementsResult struct { union json.RawMessage } @@ -2403,7 +2403,7 @@ type ListEntitlementsResult struct { // ListEntitlementsResult0 defines model for . type ListEntitlementsResult0 = []Entitlement -// ListFeaturesResult defines model for ListFeaturesResult. +// ListFeaturesResult List features result type ListFeaturesResult struct { union json.RawMessage } @@ -4829,8 +4829,8 @@ type OverrideEntitlementJSONRequestBody = EntitlementCreateInputs // ResetEntitlementUsageJSONRequestBody defines body for ResetEntitlementUsage for application/json ContentType. type ResetEntitlementUsageJSONRequestBody = ResetEntitlementUsageInput -// SubscriptionsCreateJSONRequestBody defines body for SubscriptionsCreate for application/json ContentType. -type SubscriptionsCreateJSONRequestBody = CreateSubscriptionRequestBody +// CreateSubscriptionJSONRequestBody defines body for CreateSubscription for application/json ContentType. +type CreateSubscriptionJSONRequestBody = CreateSubscriptionRequestBody // EditSubscriptionJSONRequestBody defines body for EditSubscription for application/json ContentType. type EditSubscriptionJSONRequestBody = EditSubscriptionJSONBody @@ -6401,16 +6401,16 @@ func (t *SubscriptionItem_Price) UnmarshalJSON(b []byte) error { // ServerInterface represents all server handlers. type ServerInterface interface { - + // List apps // (GET /api/v1/apps) ListApps(w http.ResponseWriter, r *http.Request, params ListAppsParams) - + // Uninstall app // (DELETE /api/v1/apps/{id}) UninstallApp(w http.ResponseWriter, r *http.Request, id string) - + // Get app // (GET /api/v1/apps/{id}) GetApp(w http.ResponseWriter, r *http.Request, id string) - + // Stripe webhook // (POST /api/v1/apps/{id}/stripe/webhook) AppStripeWebhook(w http.ResponseWriter, r *http.Request, id string) // List customer overrides @@ -6464,7 +6464,7 @@ type ServerInterface interface { // Create line items // (POST /api/v1/billing/invoices/{customerId}/lines) BillingCreateLineByCustomer(w http.ResponseWriter, r *http.Request, customerId string) - + // List billing profiles // (GET /api/v1/billing/profile) BillingListProfiles(w http.ResponseWriter, r *http.Request, params BillingListProfilesParams) // Create a new billing profile @@ -6479,19 +6479,19 @@ type ServerInterface interface { // Update a billing profile // (PUT /api/v1/billing/profile/{id}) BillingUpdateProfile(w http.ResponseWriter, r *http.Request, id string) - + // List customers // (GET /api/v1/customers) ListCustomers(w http.ResponseWriter, r *http.Request, params ListCustomersParams) - + // Create customer // (POST /api/v1/customers) CreateCustomer(w http.ResponseWriter, r *http.Request) - + // Delete customer // (DELETE /api/v1/customers/{id}) DeleteCustomer(w http.ResponseWriter, r *http.Request, id string) - + // Get customer // (GET /api/v1/customers/{id}) GetCustomer(w http.ResponseWriter, r *http.Request, id string) - + // Update customer // (PUT /api/v1/customers/{id}) UpdateCustomer(w http.ResponseWriter, r *http.Request, id string) // Get event metrics @@ -6500,61 +6500,61 @@ type ServerInterface interface { // List all entitlements // (GET /api/v1/entitlements) ListEntitlements(w http.ResponseWriter, r *http.Request, params ListEntitlementsParams) - + // Get entitlement by id // (GET /api/v1/entitlements/{entitlementId}) GetEntitlementById(w http.ResponseWriter, r *http.Request, entitlementId string) // List ingested events // (GET /api/v1/events) ListEvents(w http.ResponseWriter, r *http.Request, params ListEventsParams) - + // Ingest events // (POST /api/v1/events) IngestEvents(w http.ResponseWriter, r *http.Request) - + // List features // (GET /api/v1/features) ListFeatures(w http.ResponseWriter, r *http.Request, params ListFeaturesParams) - + // Create feature // (POST /api/v1/features) CreateFeature(w http.ResponseWriter, r *http.Request) - + // Delete feature // (DELETE /api/v1/features/{featureId}) DeleteFeature(w http.ResponseWriter, r *http.Request, featureId string) - + // Get feature // (GET /api/v1/features/{featureId}) GetFeature(w http.ResponseWriter, r *http.Request, featureId string) - + // List grants // (GET /api/v1/grants) ListGrants(w http.ResponseWriter, r *http.Request, params ListGrantsParams) - + // Void grant // (DELETE /api/v1/grants/{grantId}) VoidGrant(w http.ResponseWriter, r *http.Request, grantId string) - + // Create checkout session // (POST /api/v1/integration/stripe/checkout/sessions) CreateStripeCheckoutSession(w http.ResponseWriter, r *http.Request) - + // List available apps // (GET /api/v1/marketplace/listings) ListMarketplaceListings(w http.ResponseWriter, r *http.Request, params ListMarketplaceListingsParams) - + // Get app details by type // (GET /api/v1/marketplace/listings/{type}) GetMarketplaceListing(w http.ResponseWriter, r *http.Request, pType AppType) - + // Install app via API key // (POST /api/v1/marketplace/listings/{type}/install/apikey) MarketplaceAppAPIKeyInstall(w http.ResponseWriter, r *http.Request, pType MarketplaceApiKeyInstallRequestType) - + // Get OAuth2 install URL // (GET /api/v1/marketplace/listings/{type}/install/oauth2) MarketplaceOAuth2InstallGetURL(w http.ResponseWriter, r *http.Request, pType AppType) - + // Install app via OAuth2 // (GET /api/v1/marketplace/listings/{type}/install/oauth2/authorize) MarketplaceOAuth2InstallAuthorize(w http.ResponseWriter, r *http.Request, pType MarketplaceOAuth2InstallAuthorizeRequestType, params MarketplaceOAuth2InstallAuthorizeParams) - + // List meters // (GET /api/v1/meters) ListMeters(w http.ResponseWriter, r *http.Request) - + // Get meter // (GET /api/v1/meters/{meterIdOrSlug}) GetMeter(w http.ResponseWriter, r *http.Request, meterIdOrSlug string) - + // Query meter Query meter // (GET /api/v1/meters/{meterIdOrSlug}/query) QueryMeter(w http.ResponseWriter, r *http.Request, meterIdOrSlug string, params QueryMeterParams) - + // List meter subjects // (GET /api/v1/meters/{meterIdOrSlug}/subjects) ListMeterSubjects(w http.ResponseWriter, r *http.Request, meterIdOrSlug string) // List notification channels @@ -6593,7 +6593,7 @@ type ServerInterface interface { // Update a notification rule // (PUT /api/v1/notification/rules/{ruleId}) UpdateNotificationRule(w http.ResponseWriter, r *http.Request, ruleId string) - + // Test notification rule // (POST /api/v1/notification/rules/{ruleId}/test) TestNotificationRule(w http.ResponseWriter, r *http.Request, ruleId string) // Receive Svix operational events @@ -6638,61 +6638,61 @@ type ServerInterface interface { // Publish plan // (POST /api/v1/plans/{planId}/publish) PublishPlan(w http.ResponseWriter, r *http.Request, planId string) - + // Query meter Query meter // (GET /api/v1/portal/meters/{meterSlug}/query) QueryPortalMeter(w http.ResponseWriter, r *http.Request, meterSlug string, params QueryPortalMeterParams) - + // List consumer portal tokens // (GET /api/v1/portal/tokens) ListPortalTokens(w http.ResponseWriter, r *http.Request, params ListPortalTokensParams) - + // Create consumer portal token // (POST /api/v1/portal/tokens) CreatePortalToken(w http.ResponseWriter, r *http.Request) - + // List entitlements // (GET /api/v1/subjects/{subjectIdOrKey}/entitlements) ListSubjectEntitlements(w http.ResponseWriter, r *http.Request, subjectIdOrKey string, params ListSubjectEntitlementsParams) // Create an entitlement // (POST /api/v1/subjects/{subjectIdOrKey}/entitlements) CreateEntitlement(w http.ResponseWriter, r *http.Request, subjectIdOrKey string) - + // List entitlement grants // (GET /api/v1/subjects/{subjectIdOrKey}/entitlements/{entitlementIdOrFeatureKey}/grants) ListEntitlementGrants(w http.ResponseWriter, r *http.Request, subjectIdOrKey string, entitlementIdOrFeatureKey string, params ListEntitlementGrantsParams) - + // Create grant // (POST /api/v1/subjects/{subjectIdOrKey}/entitlements/{entitlementIdOrFeatureKey}/grants) CreateGrant(w http.ResponseWriter, r *http.Request, subjectIdOrKey string, entitlementIdOrFeatureKey string) - + // Override entitlement // (PUT /api/v1/subjects/{subjectIdOrKey}/entitlements/{entitlementIdOrFeatureKey}/override) OverrideEntitlement(w http.ResponseWriter, r *http.Request, subjectIdOrKey string, entitlementIdOrFeatureKey string) - + // Get entitlement value // (GET /api/v1/subjects/{subjectIdOrKey}/entitlements/{entitlementIdOrFeatureKey}/value) GetEntitlementValue(w http.ResponseWriter, r *http.Request, subjectIdOrKey string, entitlementIdOrFeatureKey string, params GetEntitlementValueParams) - + // Delete entitlement // (DELETE /api/v1/subjects/{subjectIdOrKey}/entitlements/{entitlementId}) DeleteEntitlement(w http.ResponseWriter, r *http.Request, subjectIdOrKey string, entitlementId string) - + // Get entitlement // (GET /api/v1/subjects/{subjectIdOrKey}/entitlements/{entitlementId}) GetEntitlement(w http.ResponseWriter, r *http.Request, subjectIdOrKey string, entitlementId string) - + // Get entitlement history // (GET /api/v1/subjects/{subjectIdOrKey}/entitlements/{entitlementId}/history) GetEntitlementHistory(w http.ResponseWriter, r *http.Request, subjectIdOrKey string, entitlementId string, params GetEntitlementHistoryParams) - + // Reset entitlement // (POST /api/v1/subjects/{subjectIdOrKey}/entitlements/{entitlementId}/reset) ResetEntitlementUsage(w http.ResponseWriter, r *http.Request, subjectIdOrKey string, entitlementId string) - + // Create subscription // (POST /api/v1/subscriptions) - SubscriptionsCreate(w http.ResponseWriter, r *http.Request) - + CreateSubscription(w http.ResponseWriter, r *http.Request) + // Get subscription Get subscription // (GET /api/v1/subscriptions/{subscriptionId}) GetSubscription(w http.ResponseWriter, r *http.Request, subscriptionId string, params GetSubscriptionParams) - + // Edit subscription // (PATCH /api/v1/subscriptions/{subscriptionId}) EditSubscription(w http.ResponseWriter, r *http.Request, subscriptionId string) - + // Cancel subscription // (POST /api/v1/subscriptions/{subscriptionId}/cancel) CancelSubscription(w http.ResponseWriter, r *http.Request, subscriptionId string) - + // Migrate subscription // (POST /api/v1/subscriptions/{subscriptionId}/migrate) MigrateSubscription(w http.ResponseWriter, r *http.Request, subscriptionId string) - + // Unschedule cancelation // (POST /api/v1/subscriptions/{subscriptionId}/unschedule-cancelation) UnscheduleCancelation(w http.ResponseWriter, r *http.Request, subscriptionId string) } @@ -6701,21 +6701,25 @@ type ServerInterface interface { type Unimplemented struct{} +// List apps // (GET /api/v1/apps) func (_ Unimplemented) ListApps(w http.ResponseWriter, r *http.Request, params ListAppsParams) { w.WriteHeader(http.StatusNotImplemented) } +// Uninstall app // (DELETE /api/v1/apps/{id}) func (_ Unimplemented) UninstallApp(w http.ResponseWriter, r *http.Request, id string) { w.WriteHeader(http.StatusNotImplemented) } +// Get app // (GET /api/v1/apps/{id}) func (_ Unimplemented) GetApp(w http.ResponseWriter, r *http.Request, id string) { w.WriteHeader(http.StatusNotImplemented) } +// Stripe webhook // (POST /api/v1/apps/{id}/stripe/webhook) func (_ Unimplemented) AppStripeWebhook(w http.ResponseWriter, r *http.Request, id string) { w.WriteHeader(http.StatusNotImplemented) @@ -6823,6 +6827,7 @@ func (_ Unimplemented) BillingCreateLineByCustomer(w http.ResponseWriter, r *htt w.WriteHeader(http.StatusNotImplemented) } +// List billing profiles // (GET /api/v1/billing/profile) func (_ Unimplemented) BillingListProfiles(w http.ResponseWriter, r *http.Request, params BillingListProfilesParams) { w.WriteHeader(http.StatusNotImplemented) @@ -6852,26 +6857,31 @@ func (_ Unimplemented) BillingUpdateProfile(w http.ResponseWriter, r *http.Reque w.WriteHeader(http.StatusNotImplemented) } +// List customers // (GET /api/v1/customers) func (_ Unimplemented) ListCustomers(w http.ResponseWriter, r *http.Request, params ListCustomersParams) { w.WriteHeader(http.StatusNotImplemented) } +// Create customer // (POST /api/v1/customers) func (_ Unimplemented) CreateCustomer(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusNotImplemented) } +// Delete customer // (DELETE /api/v1/customers/{id}) func (_ Unimplemented) DeleteCustomer(w http.ResponseWriter, r *http.Request, id string) { w.WriteHeader(http.StatusNotImplemented) } +// Get customer // (GET /api/v1/customers/{id}) func (_ Unimplemented) GetCustomer(w http.ResponseWriter, r *http.Request, id string) { w.WriteHeader(http.StatusNotImplemented) } +// Update customer // (PUT /api/v1/customers/{id}) func (_ Unimplemented) UpdateCustomer(w http.ResponseWriter, r *http.Request, id string) { w.WriteHeader(http.StatusNotImplemented) @@ -6889,6 +6899,7 @@ func (_ Unimplemented) ListEntitlements(w http.ResponseWriter, r *http.Request, w.WriteHeader(http.StatusNotImplemented) } +// Get entitlement by id // (GET /api/v1/entitlements/{entitlementId}) func (_ Unimplemented) GetEntitlementById(w http.ResponseWriter, r *http.Request, entitlementId string) { w.WriteHeader(http.StatusNotImplemented) @@ -6900,86 +6911,103 @@ func (_ Unimplemented) ListEvents(w http.ResponseWriter, r *http.Request, params w.WriteHeader(http.StatusNotImplemented) } +// Ingest events // (POST /api/v1/events) func (_ Unimplemented) IngestEvents(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusNotImplemented) } +// List features // (GET /api/v1/features) func (_ Unimplemented) ListFeatures(w http.ResponseWriter, r *http.Request, params ListFeaturesParams) { w.WriteHeader(http.StatusNotImplemented) } +// Create feature // (POST /api/v1/features) func (_ Unimplemented) CreateFeature(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusNotImplemented) } +// Delete feature // (DELETE /api/v1/features/{featureId}) func (_ Unimplemented) DeleteFeature(w http.ResponseWriter, r *http.Request, featureId string) { w.WriteHeader(http.StatusNotImplemented) } +// Get feature // (GET /api/v1/features/{featureId}) func (_ Unimplemented) GetFeature(w http.ResponseWriter, r *http.Request, featureId string) { w.WriteHeader(http.StatusNotImplemented) } +// List grants // (GET /api/v1/grants) func (_ Unimplemented) ListGrants(w http.ResponseWriter, r *http.Request, params ListGrantsParams) { w.WriteHeader(http.StatusNotImplemented) } +// Void grant // (DELETE /api/v1/grants/{grantId}) func (_ Unimplemented) VoidGrant(w http.ResponseWriter, r *http.Request, grantId string) { w.WriteHeader(http.StatusNotImplemented) } +// Create checkout session // (POST /api/v1/integration/stripe/checkout/sessions) func (_ Unimplemented) CreateStripeCheckoutSession(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusNotImplemented) } +// List available apps // (GET /api/v1/marketplace/listings) func (_ Unimplemented) ListMarketplaceListings(w http.ResponseWriter, r *http.Request, params ListMarketplaceListingsParams) { w.WriteHeader(http.StatusNotImplemented) } +// Get app details by type // (GET /api/v1/marketplace/listings/{type}) func (_ Unimplemented) GetMarketplaceListing(w http.ResponseWriter, r *http.Request, pType AppType) { w.WriteHeader(http.StatusNotImplemented) } +// Install app via API key // (POST /api/v1/marketplace/listings/{type}/install/apikey) func (_ Unimplemented) MarketplaceAppAPIKeyInstall(w http.ResponseWriter, r *http.Request, pType MarketplaceApiKeyInstallRequestType) { w.WriteHeader(http.StatusNotImplemented) } +// Get OAuth2 install URL // (GET /api/v1/marketplace/listings/{type}/install/oauth2) func (_ Unimplemented) MarketplaceOAuth2InstallGetURL(w http.ResponseWriter, r *http.Request, pType AppType) { w.WriteHeader(http.StatusNotImplemented) } +// Install app via OAuth2 // (GET /api/v1/marketplace/listings/{type}/install/oauth2/authorize) func (_ Unimplemented) MarketplaceOAuth2InstallAuthorize(w http.ResponseWriter, r *http.Request, pType MarketplaceOAuth2InstallAuthorizeRequestType, params MarketplaceOAuth2InstallAuthorizeParams) { w.WriteHeader(http.StatusNotImplemented) } +// List meters // (GET /api/v1/meters) func (_ Unimplemented) ListMeters(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusNotImplemented) } +// Get meter // (GET /api/v1/meters/{meterIdOrSlug}) func (_ Unimplemented) GetMeter(w http.ResponseWriter, r *http.Request, meterIdOrSlug string) { w.WriteHeader(http.StatusNotImplemented) } +// Query meter Query meter // (GET /api/v1/meters/{meterIdOrSlug}/query) func (_ Unimplemented) QueryMeter(w http.ResponseWriter, r *http.Request, meterIdOrSlug string, params QueryMeterParams) { w.WriteHeader(http.StatusNotImplemented) } +// List meter subjects // (GET /api/v1/meters/{meterIdOrSlug}/subjects) func (_ Unimplemented) ListMeterSubjects(w http.ResponseWriter, r *http.Request, meterIdOrSlug string) { w.WriteHeader(http.StatusNotImplemented) @@ -7057,6 +7085,7 @@ func (_ Unimplemented) UpdateNotificationRule(w http.ResponseWriter, r *http.Req w.WriteHeader(http.StatusNotImplemented) } +// Test notification rule // (POST /api/v1/notification/rules/{ruleId}/test) func (_ Unimplemented) TestNotificationRule(w http.ResponseWriter, r *http.Request, ruleId string) { w.WriteHeader(http.StatusNotImplemented) @@ -7146,21 +7175,25 @@ func (_ Unimplemented) PublishPlan(w http.ResponseWriter, r *http.Request, planI w.WriteHeader(http.StatusNotImplemented) } +// Query meter Query meter // (GET /api/v1/portal/meters/{meterSlug}/query) func (_ Unimplemented) QueryPortalMeter(w http.ResponseWriter, r *http.Request, meterSlug string, params QueryPortalMeterParams) { w.WriteHeader(http.StatusNotImplemented) } +// List consumer portal tokens // (GET /api/v1/portal/tokens) func (_ Unimplemented) ListPortalTokens(w http.ResponseWriter, r *http.Request, params ListPortalTokensParams) { w.WriteHeader(http.StatusNotImplemented) } +// Create consumer portal token // (POST /api/v1/portal/tokens) func (_ Unimplemented) CreatePortalToken(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusNotImplemented) } +// List entitlements // (GET /api/v1/subjects/{subjectIdOrKey}/entitlements) func (_ Unimplemented) ListSubjectEntitlements(w http.ResponseWriter, r *http.Request, subjectIdOrKey string, params ListSubjectEntitlementsParams) { w.WriteHeader(http.StatusNotImplemented) @@ -7172,71 +7205,85 @@ func (_ Unimplemented) CreateEntitlement(w http.ResponseWriter, r *http.Request, w.WriteHeader(http.StatusNotImplemented) } +// List entitlement grants // (GET /api/v1/subjects/{subjectIdOrKey}/entitlements/{entitlementIdOrFeatureKey}/grants) func (_ Unimplemented) ListEntitlementGrants(w http.ResponseWriter, r *http.Request, subjectIdOrKey string, entitlementIdOrFeatureKey string, params ListEntitlementGrantsParams) { w.WriteHeader(http.StatusNotImplemented) } +// Create grant // (POST /api/v1/subjects/{subjectIdOrKey}/entitlements/{entitlementIdOrFeatureKey}/grants) func (_ Unimplemented) CreateGrant(w http.ResponseWriter, r *http.Request, subjectIdOrKey string, entitlementIdOrFeatureKey string) { w.WriteHeader(http.StatusNotImplemented) } +// Override entitlement // (PUT /api/v1/subjects/{subjectIdOrKey}/entitlements/{entitlementIdOrFeatureKey}/override) func (_ Unimplemented) OverrideEntitlement(w http.ResponseWriter, r *http.Request, subjectIdOrKey string, entitlementIdOrFeatureKey string) { w.WriteHeader(http.StatusNotImplemented) } +// Get entitlement value // (GET /api/v1/subjects/{subjectIdOrKey}/entitlements/{entitlementIdOrFeatureKey}/value) func (_ Unimplemented) GetEntitlementValue(w http.ResponseWriter, r *http.Request, subjectIdOrKey string, entitlementIdOrFeatureKey string, params GetEntitlementValueParams) { w.WriteHeader(http.StatusNotImplemented) } +// Delete entitlement // (DELETE /api/v1/subjects/{subjectIdOrKey}/entitlements/{entitlementId}) func (_ Unimplemented) DeleteEntitlement(w http.ResponseWriter, r *http.Request, subjectIdOrKey string, entitlementId string) { w.WriteHeader(http.StatusNotImplemented) } +// Get entitlement // (GET /api/v1/subjects/{subjectIdOrKey}/entitlements/{entitlementId}) func (_ Unimplemented) GetEntitlement(w http.ResponseWriter, r *http.Request, subjectIdOrKey string, entitlementId string) { w.WriteHeader(http.StatusNotImplemented) } +// Get entitlement history // (GET /api/v1/subjects/{subjectIdOrKey}/entitlements/{entitlementId}/history) func (_ Unimplemented) GetEntitlementHistory(w http.ResponseWriter, r *http.Request, subjectIdOrKey string, entitlementId string, params GetEntitlementHistoryParams) { w.WriteHeader(http.StatusNotImplemented) } +// Reset entitlement // (POST /api/v1/subjects/{subjectIdOrKey}/entitlements/{entitlementId}/reset) func (_ Unimplemented) ResetEntitlementUsage(w http.ResponseWriter, r *http.Request, subjectIdOrKey string, entitlementId string) { w.WriteHeader(http.StatusNotImplemented) } +// Create subscription // (POST /api/v1/subscriptions) -func (_ Unimplemented) SubscriptionsCreate(w http.ResponseWriter, r *http.Request) { +func (_ Unimplemented) CreateSubscription(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusNotImplemented) } +// Get subscription Get subscription // (GET /api/v1/subscriptions/{subscriptionId}) func (_ Unimplemented) GetSubscription(w http.ResponseWriter, r *http.Request, subscriptionId string, params GetSubscriptionParams) { w.WriteHeader(http.StatusNotImplemented) } +// Edit subscription // (PATCH /api/v1/subscriptions/{subscriptionId}) func (_ Unimplemented) EditSubscription(w http.ResponseWriter, r *http.Request, subscriptionId string) { w.WriteHeader(http.StatusNotImplemented) } +// Cancel subscription // (POST /api/v1/subscriptions/{subscriptionId}/cancel) func (_ Unimplemented) CancelSubscription(w http.ResponseWriter, r *http.Request, subscriptionId string) { w.WriteHeader(http.StatusNotImplemented) } +// Migrate subscription // (POST /api/v1/subscriptions/{subscriptionId}/migrate) func (_ Unimplemented) MigrateSubscription(w http.ResponseWriter, r *http.Request, subscriptionId string) { w.WriteHeader(http.StatusNotImplemented) } +// Unschedule cancelation // (POST /api/v1/subscriptions/{subscriptionId}/unschedule-cancelation) func (_ Unimplemented) UnscheduleCancelation(w http.ResponseWriter, r *http.Request, subscriptionId string) { w.WriteHeader(http.StatusNotImplemented) @@ -10791,11 +10838,11 @@ func (siw *ServerInterfaceWrapper) ResetEntitlementUsage(w http.ResponseWriter, handler.ServeHTTP(w, r) } -// SubscriptionsCreate operation middleware -func (siw *ServerInterfaceWrapper) SubscriptionsCreate(w http.ResponseWriter, r *http.Request) { +// CreateSubscription operation middleware +func (siw *ServerInterfaceWrapper) CreateSubscription(w http.ResponseWriter, r *http.Request) { handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - siw.Handler.SubscriptionsCreate(w, r) + siw.Handler.CreateSubscription(w, r) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { @@ -11339,7 +11386,7 @@ func HandlerWithOptions(si ServerInterface, options ChiServerOptions) http.Handl r.Post(options.BaseURL+"/api/v1/subjects/{subjectIdOrKey}/entitlements/{entitlementId}/reset", wrapper.ResetEntitlementUsage) }) r.Group(func(r chi.Router) { - r.Post(options.BaseURL+"/api/v1/subscriptions", wrapper.SubscriptionsCreate) + r.Post(options.BaseURL+"/api/v1/subscriptions", wrapper.CreateSubscription) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v1/subscriptions/{subscriptionId}", wrapper.GetSubscription) @@ -11363,684 +11410,701 @@ func HandlerWithOptions(si ServerInterface, options ChiServerOptions) http.Handl // Base64 encoded, gzipped, json marshaled Swagger object var swaggerSpec = []string{ - "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", + "fkVY4danD5/+bwAAAP//jvMAu+nIBgA=", } // GetSwagger returns the content of the embedded swagger specification file diff --git a/api/client/go/client.gen.go b/api/client/go/client.gen.go index 7da110547..54f6ebe70 100644 --- a/api/client/go/client.gen.go +++ b/api/client/go/client.gen.go @@ -2397,7 +2397,7 @@ type InvoicePaginatedResponse struct { TotalCount int `json:"totalCount"` } -// ListEntitlementsResult defines model for ListEntitlementsResult. +// ListEntitlementsResult List entitlements result type ListEntitlementsResult struct { union json.RawMessage } @@ -2405,7 +2405,7 @@ type ListEntitlementsResult struct { // ListEntitlementsResult0 defines model for . type ListEntitlementsResult0 = []Entitlement -// ListFeaturesResult defines model for ListFeaturesResult. +// ListFeaturesResult List features result type ListFeaturesResult struct { union json.RawMessage } @@ -4872,8 +4872,8 @@ type OverrideEntitlementJSONRequestBody = EntitlementCreateInputs // ResetEntitlementUsageJSONRequestBody defines body for ResetEntitlementUsage for application/json ContentType. type ResetEntitlementUsageJSONRequestBody = ResetEntitlementUsageInput -// SubscriptionsCreateJSONRequestBody defines body for SubscriptionsCreate for application/json ContentType. -type SubscriptionsCreateJSONRequestBody = CreateSubscriptionRequestBody +// CreateSubscriptionJSONRequestBody defines body for CreateSubscription for application/json ContentType. +type CreateSubscriptionJSONRequestBody = CreateSubscriptionRequestBody // EditSubscriptionJSONRequestBody defines body for EditSubscription for application/json ContentType. type EditSubscriptionJSONRequestBody = EditSubscriptionJSONBody @@ -6876,10 +6876,10 @@ type ClientInterface interface { ResetEntitlementUsage(ctx context.Context, subjectIdOrKey string, entitlementId string, body ResetEntitlementUsageJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) - // SubscriptionsCreateWithBody request with any body - SubscriptionsCreateWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) + // CreateSubscriptionWithBody request with any body + CreateSubscriptionWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) - SubscriptionsCreate(ctx context.Context, body SubscriptionsCreateJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) + CreateSubscription(ctx context.Context, body CreateSubscriptionJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) // GetSubscription request GetSubscription(ctx context.Context, subscriptionId string, params *GetSubscriptionParams, reqEditors ...RequestEditorFn) (*http.Response, error) @@ -8475,8 +8475,8 @@ func (c *Client) ResetEntitlementUsage(ctx context.Context, subjectIdOrKey strin return c.Client.Do(req) } -func (c *Client) SubscriptionsCreateWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewSubscriptionsCreateRequestWithBody(c.Server, contentType, body) +func (c *Client) CreateSubscriptionWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewCreateSubscriptionRequestWithBody(c.Server, contentType, body) if err != nil { return nil, err } @@ -8487,8 +8487,8 @@ func (c *Client) SubscriptionsCreateWithBody(ctx context.Context, contentType st return c.Client.Do(req) } -func (c *Client) SubscriptionsCreate(ctx context.Context, body SubscriptionsCreateJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewSubscriptionsCreateRequest(c.Server, body) +func (c *Client) CreateSubscription(ctx context.Context, body CreateSubscriptionJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewCreateSubscriptionRequest(c.Server, body) if err != nil { return nil, err } @@ -14882,19 +14882,19 @@ func NewResetEntitlementUsageRequestWithBody(server string, subjectIdOrKey strin return req, nil } -// NewSubscriptionsCreateRequest calls the generic SubscriptionsCreate builder with application/json body -func NewSubscriptionsCreateRequest(server string, body SubscriptionsCreateJSONRequestBody) (*http.Request, error) { +// NewCreateSubscriptionRequest calls the generic CreateSubscription builder with application/json body +func NewCreateSubscriptionRequest(server string, body CreateSubscriptionJSONRequestBody) (*http.Request, error) { var bodyReader io.Reader buf, err := json.Marshal(body) if err != nil { return nil, err } bodyReader = bytes.NewReader(buf) - return NewSubscriptionsCreateRequestWithBody(server, "application/json", bodyReader) + return NewCreateSubscriptionRequestWithBody(server, "application/json", bodyReader) } -// NewSubscriptionsCreateRequestWithBody generates requests for SubscriptionsCreate with any type of body -func NewSubscriptionsCreateRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error) { +// NewCreateSubscriptionRequestWithBody generates requests for CreateSubscription with any type of body +func NewCreateSubscriptionRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error) { var err error serverURL, err := url.Parse(server) @@ -15573,10 +15573,10 @@ type ClientWithResponsesInterface interface { ResetEntitlementUsageWithResponse(ctx context.Context, subjectIdOrKey string, entitlementId string, body ResetEntitlementUsageJSONRequestBody, reqEditors ...RequestEditorFn) (*ResetEntitlementUsageResponse, error) - // SubscriptionsCreateWithBodyWithResponse request with any body - SubscriptionsCreateWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*SubscriptionsCreateResponse, error) + // CreateSubscriptionWithBodyWithResponse request with any body + CreateSubscriptionWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*CreateSubscriptionResponse, error) - SubscriptionsCreateWithResponse(ctx context.Context, body SubscriptionsCreateJSONRequestBody, reqEditors ...RequestEditorFn) (*SubscriptionsCreateResponse, error) + CreateSubscriptionWithResponse(ctx context.Context, body CreateSubscriptionJSONRequestBody, reqEditors ...RequestEditorFn) (*CreateSubscriptionResponse, error) // GetSubscriptionWithResponse request GetSubscriptionWithResponse(ctx context.Context, subscriptionId string, params *GetSubscriptionParams, reqEditors ...RequestEditorFn) (*GetSubscriptionResponse, error) @@ -18415,7 +18415,7 @@ func (r ResetEntitlementUsageResponse) StatusCode() int { return 0 } -type SubscriptionsCreateResponse struct { +type CreateSubscriptionResponse struct { Body []byte HTTPResponse *http.Response JSON200 *Subscription @@ -18429,7 +18429,7 @@ type SubscriptionsCreateResponse struct { } // Status returns HTTPResponse.Status -func (r SubscriptionsCreateResponse) Status() string { +func (r CreateSubscriptionResponse) Status() string { if r.HTTPResponse != nil { return r.HTTPResponse.Status } @@ -18437,7 +18437,7 @@ func (r SubscriptionsCreateResponse) Status() string { } // StatusCode returns HTTPResponse.StatusCode -func (r SubscriptionsCreateResponse) StatusCode() int { +func (r CreateSubscriptionResponse) StatusCode() int { if r.HTTPResponse != nil { return r.HTTPResponse.StatusCode } @@ -19742,21 +19742,21 @@ func (c *ClientWithResponses) ResetEntitlementUsageWithResponse(ctx context.Cont return ParseResetEntitlementUsageResponse(rsp) } -// SubscriptionsCreateWithBodyWithResponse request with arbitrary body returning *SubscriptionsCreateResponse -func (c *ClientWithResponses) SubscriptionsCreateWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*SubscriptionsCreateResponse, error) { - rsp, err := c.SubscriptionsCreateWithBody(ctx, contentType, body, reqEditors...) +// CreateSubscriptionWithBodyWithResponse request with arbitrary body returning *CreateSubscriptionResponse +func (c *ClientWithResponses) CreateSubscriptionWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*CreateSubscriptionResponse, error) { + rsp, err := c.CreateSubscriptionWithBody(ctx, contentType, body, reqEditors...) if err != nil { return nil, err } - return ParseSubscriptionsCreateResponse(rsp) + return ParseCreateSubscriptionResponse(rsp) } -func (c *ClientWithResponses) SubscriptionsCreateWithResponse(ctx context.Context, body SubscriptionsCreateJSONRequestBody, reqEditors ...RequestEditorFn) (*SubscriptionsCreateResponse, error) { - rsp, err := c.SubscriptionsCreate(ctx, body, reqEditors...) +func (c *ClientWithResponses) CreateSubscriptionWithResponse(ctx context.Context, body CreateSubscriptionJSONRequestBody, reqEditors ...RequestEditorFn) (*CreateSubscriptionResponse, error) { + rsp, err := c.CreateSubscription(ctx, body, reqEditors...) if err != nil { return nil, err } - return ParseSubscriptionsCreateResponse(rsp) + return ParseCreateSubscriptionResponse(rsp) } // GetSubscriptionWithResponse request returning *GetSubscriptionResponse @@ -26848,15 +26848,15 @@ func ParseResetEntitlementUsageResponse(rsp *http.Response) (*ResetEntitlementUs return response, nil } -// ParseSubscriptionsCreateResponse parses an HTTP response from a SubscriptionsCreateWithResponse call -func ParseSubscriptionsCreateResponse(rsp *http.Response) (*SubscriptionsCreateResponse, error) { +// ParseCreateSubscriptionResponse parses an HTTP response from a CreateSubscriptionWithResponse call +func ParseCreateSubscriptionResponse(rsp *http.Response) (*CreateSubscriptionResponse, error) { bodyBytes, err := io.ReadAll(rsp.Body) defer func() { _ = rsp.Body.Close() }() if err != nil { return nil, err } - response := &SubscriptionsCreateResponse{ + response := &CreateSubscriptionResponse{ Body: bodyBytes, HTTPResponse: rsp, } @@ -27331,693 +27331,710 @@ func ParseUnscheduleCancelationResponse(rsp *http.Response) (*UnscheduleCancelat // Base64 encoded, gzipped, json marshaled Swagger object var swaggerSpec = []string{ - "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", + "v7XaLSy/tdcqqq/3gK+2+KmKP7m9Vl9Xa5+BD7pbLPoTNs4TK9NEsIHgNs8Ek7Fxn9aZmJiq/bS/4Xv/", + "d2f3NO/1Hnwze/nBn00DgjdU3nJlF6wVX8Lb6Te/hL/he/83vMTs5caXCF7/23yJLE9gGKotd1e/7+3+", + "47t/PPjnr789ePXol4NfX/QeP33y27OD499e4ntMb/r67dc///bD7ne9F29f/PTNw1cHD37ef9T0Vu6x", + "+lea2Wb9ePSE3Xun5LnIDE+SCXun5F+5YD+KSxnpYcbTkYzgh2OdWVjYjwCqBlJk9ztgbH+NG6OrjkBx", + "VD87CP6H0MX//OHbb7/750Hv0Tf/OO59992bw19PcByq9x3vvt19/vjpz6++efD2+YOH+49ffvOPpqGY", + "rt93YjS+SL8IEFMb8YpoLuk6fSKgFeQRQVtn2jqTOSXtHMkjYs4jQoSN2adsGrsf4K+3olzVxACeWdHA", + "AATZSlp635KFOvrPdfyPb0HSl6QvSV9SXJPimvDjjh/+Cy/WrwYfWZ6IdRXW8MxyffVbKPpTwmtARTc9", + "tsaKL/FZAmusqdruXrNee7Mau1O1z87ExK1DnOX4KOJrQVa5QaiS+NgEHWIRAtxrn7x+8noPPWeglOn6", + "ZHSS41qtmcnTVGeW9bUdMWg1VzF74apWsM4ZPhbMpCIC4RbpWAyFch/U540Jd1WFL053HlUdtZq1v/tv", + "f3v46snTFyfHP3/99u2zZz998/j5o2f7P9dofx/8+uifX7969fyn44cPDp99t/vL40dPH15J+3tT1alu", + "Fd2INrWxoOtUprpGkC6VdnO0myNdKm1mSJc6p0vN/KZh06FlXLmrxJV5i4f52zYIdtV8MRFl4J0pnAzJ", + "bJLZJLNJZpPMvkI4GW8E9wlKyO4H9+eqUWTA7G9xCBm0DNxE/BgPCcsPUvGNKHIMiX4S/XT4SoevxD7E", + "PrcvcsxK7LN62JgSyiwz6bpNINL7MnQbpKsgYCFgIWAhYCFguYXWYiuyyspxYurPVeaDxNxwUvkiT4OI", + "mIiYiJiImIiYiJiImLYaGGaDx1tdK9B0pd6E5cQNUINGyAgVu9noBs5Y7/x3Ie2IZVzFesxibvk8jbki", + "b6vWaPcLcTIkkxiCJoImgiaCJoKmuwdNAC2bA6YL0R9pfdY15/KymZQOeZL0eXTGhIpTLZVF963+hB2f", + "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", } // GetSwagger returns the content of the embedded swagger specification file diff --git a/api/client/node/schemas/openapi.ts b/api/client/node/schemas/openapi.ts index 633d863f3..039af581f 100644 --- a/api/client/node/schemas/openapi.ts +++ b/api/client/node/schemas/openapi.ts @@ -8,17 +8,29 @@ type WithRequired = T & { [P in K]-?: T[P] } export interface paths { '/api/v1/apps': { - /** @description List apps. */ + /** + * List apps + * @description List apps. + */ get: operations['listApps'] } '/api/v1/apps/{id}': { - /** @description Get the app. */ + /** + * Get app + * @description Get the app. + */ get: operations['getApp'] - /** @description Uninstall an app. */ + /** + * Uninstall app + * @description Uninstall an app. + */ delete: operations['uninstallApp'] } '/api/v1/apps/{id}/stripe/webhook': { - /** @description Stripe webhook. */ + /** + * Stripe webhook + * @description Stripe webhook. + */ post: operations['appStripeWebhook'] } '/api/v1/billing/customer': { @@ -169,7 +181,10 @@ export interface paths { post: operations['billingCreateLineByCustomer'] } '/api/v1/billing/profile': { - /** @description List all billing profiles */ + /** + * List billing profiles + * @description List all billing profiles + */ get: operations['billingListProfiles'] /** * Create a new billing profile @@ -198,17 +213,32 @@ export interface paths { delete: operations['billingArchiveProfile'] } '/api/v1/customers': { - /** @description List customers. */ + /** + * List customers + * @description List customers. + */ get: operations['listCustomers'] - /** @description Create a new customer. */ + /** + * Create customer + * @description Create a new customer. + */ post: operations['createCustomer'] } '/api/v1/customers/{id}': { - /** @description Get a customer by ID. */ + /** + * Get customer + * @description Get a customer by ID. + */ get: operations['getCustomer'] - /** @description Update a customer by ID. */ + /** + * Update customer + * @description Update a customer by ID. + */ put: operations['updateCustomer'] - /** @description Delete a customer by ID. */ + /** + * Delete customer + * @description Delete a customer by ID. + */ delete: operations['deleteCustomer'] } '/api/v1/debug/metrics': { @@ -230,7 +260,10 @@ export interface paths { get: operations['listEntitlements'] } '/api/v1/entitlements/{entitlementId}': { - /** @description Get entitlement by id. */ + /** + * Get entitlement by id + * @description Get entitlement by id. + */ get: operations['getEntitlementById'] } '/api/v1/events': { @@ -241,13 +274,20 @@ export interface paths { * If the from query param is not provided it defaults to last 72 hours. */ get: operations['listEvents'] - /** @description Ingests an event or batch of events following the CloudEvents specification. */ + /** + * Ingest events + * @description Ingests an event or batch of events following the CloudEvents specification. + */ post: operations['ingestEvents'] } '/api/v1/features': { - /** @description List features. */ + /** + * List features + * @description List features. + */ get: operations['listFeatures'] /** + * Create feature * @description Features are either metered or static. A feature is metered if meterSlug is provided at creation. * For metered features you can pass additional filters that will be applied when calculating feature usage, based on the meter's groupBy fields. * Only meters with SUM and COUNT aggregation are supported for features. @@ -256,9 +296,13 @@ export interface paths { post: operations['createFeature'] } '/api/v1/features/{featureId}': { - /** @description Get a feature by ID. */ + /** + * Get feature + * @description Get a feature by ID. + */ get: operations['getFeature'] /** + * Delete feature * @description Archive a feature by ID. * * Once a feature is archived it cannot be unarchived. If a feature is archived, new entitlements cannot be created for it, but archiving the feature does not affect existing entitlements. @@ -268,6 +312,7 @@ export interface paths { } '/api/v1/grants': { /** + * List grants * @description List all grants for all the subjects and entitlements. This endpoint is intended for administrative purposes only. * To fetch the grants of a specific entitlement please use the /api/v1/subjects/{subjectKeyOrID}/entitlements/{entitlementOrFeatureID}/grants endpoint. * If page is provided that takes precedence and the paginated response is returned. @@ -276,29 +321,43 @@ export interface paths { } '/api/v1/grants/{grantId}': { /** + * Void grant * @description Voiding a grant means it is no longer valid, it doesn't take part in further balance calculations. Voiding a grant does not retroactively take effect, meaning any usage that has already been attributed to the grant will remain, but future usage cannot be burnt down from the grant. * For example, if you have a single grant for your metered entitlement with an initial amount of 100, and so far 60 usage has been metered, the grant (and the entitlement itself) would have a balance of 40. If you then void that grant, balance becomes 0, but the 60 previous usage will not be affected. */ delete: operations['voidGrant'] } '/api/v1/integration/stripe/checkout/sessions': { - /** @description Create checkout session. */ + /** + * Create checkout session + * @description Create checkout session. + */ post: operations['createStripeCheckoutSession'] } '/api/v1/marketplace/listings': { - /** @description List available apps of the app marketplace. */ + /** + * List available apps + * @description List available apps of the app marketplace. + */ get: operations['listMarketplaceListings'] } '/api/v1/marketplace/listings/{type}': { - /** @description Get a marketplace listing by type. */ + /** + * Get app details by type + * @description Get a marketplace listing by type. + */ get: operations['getMarketplaceListing'] } '/api/v1/marketplace/listings/{type}/install/apikey': { - /** @description Install an marketplace via API Key. */ + /** + * Install app via API key + * @description Install an marketplace via API Key. + */ post: operations['marketplaceAppAPIKeyInstall'] } '/api/v1/marketplace/listings/{type}/install/oauth2': { /** + * Get OAuth2 install URL * @description Install an app via OAuth. * Returns a URL to start the OAuth 2.0 flow. */ @@ -306,29 +365,48 @@ export interface paths { } '/api/v1/marketplace/listings/{type}/install/oauth2/authorize': { /** + * Install app via OAuth2 * @description Authorize OAuth2 code. * Verifies the OAuth code and exchanges it for a token and refresh token */ get: operations['marketplaceOAuth2InstallAuthorize'] } '/api/v1/meters': { - /** @description List meters. */ + /** + * List meters + * @description List meters. + */ get: operations['listMeters'] - /** @description Create a meter. */ + /** + * Create meter + * @description Create a meter. + */ post: operations['createMeter'] } '/api/v1/meters/{meterIdOrSlug}': { - /** @description Get a meter by ID or slug. */ + /** + * Get meter + * @description Get a meter by ID or slug. + */ get: operations['getMeter'] - /** @description Delete a meter. */ + /** + * Delete meter + * @description Delete a meter. + */ delete: operations['deleteMeter'] } '/api/v1/meters/{meterIdOrSlug}/query': { - /** @description Query meter for usage. Query meter for usage. */ + /** + * Query meter Query meter + * @description Query meter for usage. Query meter for usage. + */ get: operations['queryMeter'] } '/api/v1/meters/{meterIdOrSlug}/subjects': { - /** @description List subjects for a meter. */ + /** + * List meter subjects + * @description List subjects for a meter. + */ get: operations['listMeterSubjects'] } '/api/v1/notification/channels': { @@ -408,7 +486,10 @@ export interface paths { delete: operations['deleteNotificationRule'] } '/api/v1/notification/rules/{ruleId}/test': { - /** @description Test a notification rule by sending a test event with random data. */ + /** + * Test notification rule + * @description Test a notification rule by sending a test event with random data. + */ post: operations['testNotificationRule'] } '/api/v1/notification/webhook/svix': { @@ -503,23 +584,39 @@ export interface paths { post: operations['publishPlan'] } '/api/v1/portal/meters/{meterSlug}/query': { - /** @description Query meter for consumer portal. This endpoint is publicly exposable to consumers. Query meter for consumer portal. This endpoint is publicly exposable to consumers. */ + /** + * Query meter Query meter + * @description Query meter for consumer portal. This endpoint is publicly exposable to consumers. Query meter for consumer portal. This endpoint is publicly exposable to consumers. + */ get: operations['queryPortalMeter'] } '/api/v1/portal/tokens': { - /** @description List tokens. */ + /** + * List consumer portal tokens + * @description List tokens. + */ get: operations['listPortalTokens'] - /** @description Create a consumer portal token. */ + /** + * Create consumer portal token + * @description Create a consumer portal token. + */ post: operations['createPortalToken'] } '/api/v1/portal/tokens/invalidate': { - /** @description Invalidates consumer portal tokens by ID or subject. */ + /** + * Invalidate portal tokens + * @description Invalidates consumer portal tokens by ID or subject. + */ post: operations['invalidatePortalTokens'] } '/api/v1/subjects': { - /** @description List subjects. */ + /** + * List subjects + * @description List subjects. + */ get: operations['listSubjects'] /** + * Upsert subject * @description Upserts a subject. Creates or updates subject. * * If the subject doesn't exist, it will be created. @@ -528,13 +625,22 @@ export interface paths { post: operations['upsertSubject'] } '/api/v1/subjects/{subjectIdOrKey}': { - /** @description Get subject by ID or key. */ + /** + * Get subject + * @description Get subject by ID or key. + */ get: operations['getSubject'] - /** @description Delete subject by ID or key. */ + /** + * Delete subject + * @description Delete subject by ID or key. + */ delete: operations['deleteSubject'] } '/api/v1/subjects/{subjectIdOrKey}/entitlements': { - /** @description List all entitlements for a subject. For checking entitlement access, use the /value endpoint instead. */ + /** + * List entitlements + * @description List all entitlements for a subject. For checking entitlement access, use the /value endpoint instead. + */ get: operations['listSubjectEntitlements'] /** * Create an entitlement @@ -551,9 +657,13 @@ export interface paths { post: operations['createEntitlement'] } '/api/v1/subjects/{subjectIdOrKey}/entitlements/{entitlementIdOrFeatureKey}/grants': { - /** @description List all grants issued for an entitlement. The entitlement can be defined either by its id or featureKey. */ + /** + * List entitlement grants + * @description List all grants issued for an entitlement. The entitlement can be defined either by its id or featureKey. + */ get: operations['listEntitlementGrants'] /** + * Create grant * @description Grants define a behavior of granting usage for a metered entitlement. They can have complicated recurrence and rollover rules, thanks to which you can define a wide range of access patterns with a single grant, in most cases you don't have to periodically create new grants. You can only issue grants for active metered entitlements. * * A grant defines a given amount of usage that can be consumed for the entitlement. The grant is in effect between its effective date and its expiration date. Specifying both is mandatory for new grants. @@ -570,6 +680,7 @@ export interface paths { } '/api/v1/subjects/{subjectIdOrKey}/entitlements/{entitlementIdOrFeatureKey}/override': { /** + * Override entitlement * @description Overriding an entitlement creates a new entitlement from the provided inputs and soft deletes the previous entitlement for the provided subject-feature pair. If the previous entitlement is already deleted or otherwise doesnt exist, the override will fail. * * This endpoint is useful for upgrades, downgrades, or other changes to entitlements that require a new entitlement to be created with zero downtime. @@ -578,6 +689,7 @@ export interface paths { } '/api/v1/subjects/{subjectIdOrKey}/entitlements/{entitlementIdOrFeatureKey}/value': { /** + * Get entitlement value * @description This endpoint should be used for access checks and enforcement. All entitlement types share the hasAccess property in their value response, but multiple other properties are returned based on the entitlement type. * * For convenience reasons, /value works with both entitlementId and featureKey. @@ -585,9 +697,13 @@ export interface paths { get: operations['getEntitlementValue'] } '/api/v1/subjects/{subjectIdOrKey}/entitlements/{entitlementId}': { - /** @description Get entitlement by id. For checking entitlement access, use the /value endpoint instead. */ + /** + * Get entitlement + * @description Get entitlement by id. For checking entitlement access, use the /value endpoint instead. + */ get: operations['getEntitlement'] /** + * Delete entitlement * @description Deleting an entitlement revokes access to the associated feature. As a single subject can only have one entitlement per featureKey, when "migrating" features you have to delete the old entitlements as well. * As access and status checks can be historical queries, deleting an entitlement populates the deletedAt timestamp. When queried for a time before that, the entitlement is still considered active, you cannot have retroactive changes to access, which is important for, among other things, auditing. */ @@ -595,6 +711,7 @@ export interface paths { } '/api/v1/subjects/{subjectIdOrKey}/entitlements/{entitlementId}/history': { /** + * Get entitlement history * @description Returns historical balance and usage data for the entitlement. The queried history can span accross multiple reset events. * * BurndownHistory returns a continous history of segments, where the segments are seperated by events that changed either the grant burndown priority or the usage period. @@ -605,6 +722,7 @@ export interface paths { } '/api/v1/subjects/{subjectIdOrKey}/entitlements/{entitlementId}/reset': { /** + * Reset entitlement * @description Reset marks the start of a new usage period for the entitlement and initiates grant rollover. At the start of a period usage is zerod out and grants are rolled over based on their rollover settings. It would typically be synced with the subjects billing period to enforce usage based on their subscription. * * Usage is automatically reset for metered entitlements based on their usage period, but this endpoint allows to manually reset it at any time. When doing so the period anchor of the entitlement can be changed if needed. @@ -612,11 +730,14 @@ export interface paths { post: operations['resetEntitlementUsage'] } '/api/v1/subscriptions': { - post: operations['Subscriptions_create'] + /** Create subscription */ + post: operations['createSubscription'] } '/api/v1/subscriptions/{subscriptionId}': { + /** Get subscription Get subscription */ get: operations['getSubscription'] /** + * Edit subscription * @description Batch processing commands for manipulating running subscriptions. * The key format is `/phases/{phaseKey}` or `/phases/{phaseKey}/items/{itemKey}`. * @@ -629,15 +750,24 @@ export interface paths { patch: operations['editSubscription'] } '/api/v1/subscriptions/{subscriptionId}/cancel': { - /** @description Cancels the subscription. */ + /** + * Cancel subscription + * @description Cancels the subscription. + */ post: operations['cancelSubscription'] } '/api/v1/subscriptions/{subscriptionId}/migrate': { - /** @description Migrates the subscripiton to the procided version of the plan. */ + /** + * Migrate subscription + * @description Migrates the subscripiton to the procided version of the plan. + */ post: operations['migrateSubscription'] } '/api/v1/subscriptions/{subscriptionId}/unschedule-cancelation': { - /** @description Cancels the scheduled cancelation. */ + /** + * Unschedule cancelation + * @description Cancels the scheduled cancelation. + */ post: operations['unscheduleCancelation'] } } @@ -3459,9 +3589,11 @@ export interface components { /** @description The items in the current page. */ items: components['schemas']['BillingInvoice'][] } + /** @description List entitlements result */ ListEntitlementsResult: | components['schemas']['Entitlement'][] | components['schemas']['EntitlementPaginatedResponse'] + /** @description List features result */ ListFeaturesResult: | components['schemas']['Feature'][] | components['schemas']['FeaturePaginatedResponse'] @@ -6066,7 +6198,10 @@ export type $defs = Record export type external = Record export interface operations { - /** @description List apps. */ + /** + * List apps + * @description List apps. + */ listApps: { parameters: { query?: { @@ -6119,7 +6254,10 @@ export interface operations { } } } - /** @description Get the app. */ + /** + * Get app + * @description Get the app. + */ getApp: { parameters: { path: { @@ -6177,7 +6315,10 @@ export interface operations { } } } - /** @description Uninstall an app. */ + /** + * Uninstall app + * @description Uninstall an app. + */ uninstallApp: { parameters: { path: { @@ -6233,7 +6374,10 @@ export interface operations { } } } - /** @description Stripe webhook. */ + /** + * Stripe webhook + * @description Stripe webhook. + */ appStripeWebhook: { parameters: { path: { @@ -7410,7 +7554,10 @@ export interface operations { } } } - /** @description List all billing profiles */ + /** + * List billing profiles + * @description List all billing profiles + */ billingListProfiles: { parameters: { query?: { @@ -7716,7 +7863,10 @@ export interface operations { } } } - /** @description List customers. */ + /** + * List customers + * @description List customers. + */ listCustomers: { parameters: { query?: { @@ -7775,7 +7925,10 @@ export interface operations { } } } - /** @description Create a new customer. */ + /** + * Create customer + * @description Create a new customer. + */ createCustomer: { requestBody: { content: { @@ -7827,7 +7980,10 @@ export interface operations { } } } - /** @description Get a customer by ID. */ + /** + * Get customer + * @description Get a customer by ID. + */ getCustomer: { parameters: { path: { @@ -7885,7 +8041,10 @@ export interface operations { } } } - /** @description Update a customer by ID. */ + /** + * Update customer + * @description Update a customer by ID. + */ updateCustomer: { parameters: { path: { @@ -7948,7 +8107,10 @@ export interface operations { } } } - /** @description Delete a customer by ID. */ + /** + * Delete customer + * @description Delete a customer by ID. + */ deleteCustomer: { parameters: { path: { @@ -8138,7 +8300,10 @@ export interface operations { } } } - /** @description Get entitlement by id. */ + /** + * Get entitlement by id + * @description Get entitlement by id. + */ getEntitlementById: { parameters: { path: { @@ -8298,7 +8463,10 @@ export interface operations { } } } - /** @description Ingests an event or batch of events following the CloudEvents specification. */ + /** + * Ingest events + * @description Ingests an event or batch of events following the CloudEvents specification. + */ ingestEvents: { requestBody: { content: { @@ -8352,7 +8520,10 @@ export interface operations { } } } - /** @description List features. */ + /** + * List features + * @description List features. + */ listFeatures: { parameters: { query?: { @@ -8414,6 +8585,7 @@ export interface operations { } } /** + * Create feature * @description Features are either metered or static. A feature is metered if meterSlug is provided at creation. * For metered features you can pass additional filters that will be applied when calculating feature usage, based on the meter's groupBy fields. * Only meters with SUM and COUNT aggregation are supported for features. @@ -8470,7 +8642,10 @@ export interface operations { } } } - /** @description Get a feature by ID. */ + /** + * Get feature + * @description Get a feature by ID. + */ getFeature: { parameters: { path: { @@ -8529,6 +8704,7 @@ export interface operations { } } /** + * Delete feature * @description Archive a feature by ID. * * Once a feature is archived it cannot be unarchived. If a feature is archived, new entitlements cannot be created for it, but archiving the feature does not affect existing entitlements. @@ -8590,6 +8766,7 @@ export interface operations { } } /** + * List grants * @description List all grants for all the subjects and entitlements. This endpoint is intended for administrative purposes only. * To fetch the grants of a specific entitlement please use the /api/v1/subjects/{subjectKeyOrID}/entitlements/{entitlementOrFeatureID}/grants endpoint. * If page is provided that takes precedence and the paginated response is returned. @@ -8667,6 +8844,7 @@ export interface operations { } } /** + * Void grant * @description Voiding a grant means it is no longer valid, it doesn't take part in further balance calculations. Voiding a grant does not retroactively take effect, meaning any usage that has already been attributed to the grant will remain, but future usage cannot be burnt down from the grant. * For example, if you have a single grant for your metered entitlement with an initial amount of 100, and so far 60 usage has been metered, the grant (and the entitlement itself) would have a balance of 40. If you then void that grant, balance becomes 0, but the 60 previous usage will not be affected. */ @@ -8731,7 +8909,10 @@ export interface operations { } } } - /** @description Create checkout session. */ + /** + * Create checkout session + * @description Create checkout session. + */ createStripeCheckoutSession: { requestBody: { content: { @@ -8789,7 +8970,10 @@ export interface operations { } } } - /** @description List available apps of the app marketplace. */ + /** + * List available apps + * @description List available apps of the app marketplace. + */ listMarketplaceListings: { parameters: { query?: { @@ -8842,7 +9026,10 @@ export interface operations { } } } - /** @description Get a marketplace listing by type. */ + /** + * Get app details by type + * @description Get a marketplace listing by type. + */ getMarketplaceListing: { parameters: { path: { @@ -8894,7 +9081,10 @@ export interface operations { } } } - /** @description Install an marketplace via API Key. */ + /** + * Install app via API key + * @description Install an marketplace via API Key. + */ marketplaceAppAPIKeyInstall: { parameters: { path: { @@ -8964,6 +9154,7 @@ export interface operations { } } /** + * Get OAuth2 install URL * @description Install an app via OAuth. * Returns a URL to start the OAuth 2.0 flow. */ @@ -9019,6 +9210,7 @@ export interface operations { } } /** + * Install app via OAuth2 * @description Authorize OAuth2 code. * Verifies the OAuth code and exchanges it for a token and refresh token */ @@ -9078,7 +9270,10 @@ export interface operations { } } } - /** @description List meters. */ + /** + * List meters + * @description List meters. + */ listMeters: { responses: { /** @description The request has succeeded. */ @@ -9125,7 +9320,10 @@ export interface operations { } } } - /** @description Create a meter. */ + /** + * Create meter + * @description Create a meter. + */ createMeter: { requestBody: { content: { @@ -9177,7 +9375,10 @@ export interface operations { } } } - /** @description Get a meter by ID or slug. */ + /** + * Get meter + * @description Get a meter by ID or slug. + */ getMeter: { parameters: { path: { @@ -9235,7 +9436,10 @@ export interface operations { } } } - /** @description Delete a meter. */ + /** + * Delete meter + * @description Delete a meter. + */ deleteMeter: { parameters: { path: { @@ -9285,7 +9489,10 @@ export interface operations { } } } - /** @description Query meter for usage. Query meter for usage. */ + /** + * Query meter Query meter + * @description Query meter for usage. Query meter for usage. + */ queryMeter: { parameters: { query?: { @@ -9353,7 +9560,10 @@ export interface operations { } } } - /** @description List subjects for a meter. */ + /** + * List meter subjects + * @description List subjects for a meter. + */ listMeterSubjects: { parameters: { path: { @@ -10196,7 +10406,10 @@ export interface operations { } } } - /** @description Test a notification rule by sending a test event with random data. */ + /** + * Test notification rule + * @description Test a notification rule by sending a test event with random data. + */ testNotificationRule: { parameters: { path: { @@ -11128,7 +11341,10 @@ export interface operations { } } } - /** @description Query meter for consumer portal. This endpoint is publicly exposable to consumers. Query meter for consumer portal. This endpoint is publicly exposable to consumers. */ + /** + * Query meter Query meter + * @description Query meter for consumer portal. This endpoint is publicly exposable to consumers. Query meter for consumer portal. This endpoint is publicly exposable to consumers. + */ queryPortalMeter: { parameters: { query?: { @@ -11195,7 +11411,10 @@ export interface operations { } } } - /** @description List tokens. */ + /** + * List consumer portal tokens + * @description List tokens. + */ listPortalTokens: { parameters: { query?: { @@ -11247,7 +11466,10 @@ export interface operations { } } } - /** @description Create a consumer portal token. */ + /** + * Create consumer portal token + * @description Create a consumer portal token. + */ createPortalToken: { requestBody: { content: { @@ -11299,7 +11521,10 @@ export interface operations { } } } - /** @description Invalidates consumer portal tokens by ID or subject. */ + /** + * Invalidate portal tokens + * @description Invalidates consumer portal tokens by ID or subject. + */ invalidatePortalTokens: { requestBody: { content: { @@ -11354,7 +11579,10 @@ export interface operations { } } } - /** @description List subjects. */ + /** + * List subjects + * @description List subjects. + */ listSubjects: { responses: { /** @description The request has succeeded. */ @@ -11402,6 +11630,7 @@ export interface operations { } } /** + * Upsert subject * @description Upserts a subject. Creates or updates subject. * * If the subject doesn't exist, it will be created. @@ -11458,7 +11687,10 @@ export interface operations { } } } - /** @description Get subject by ID or key. */ + /** + * Get subject + * @description Get subject by ID or key. + */ getSubject: { parameters: { path: { @@ -11516,7 +11748,10 @@ export interface operations { } } } - /** @description Delete subject by ID or key. */ + /** + * Delete subject + * @description Delete subject by ID or key. + */ deleteSubject: { parameters: { path: { @@ -11566,7 +11801,10 @@ export interface operations { } } } - /** @description List all entitlements for a subject. For checking entitlement access, use the /value endpoint instead. */ + /** + * List entitlements + * @description List all entitlements for a subject. For checking entitlement access, use the /value endpoint instead. + */ listSubjectEntitlements: { parameters: { query?: { @@ -11695,7 +11933,10 @@ export interface operations { } } } - /** @description List all grants issued for an entitlement. The entitlement can be defined either by its id or featureKey. */ + /** + * List entitlement grants + * @description List all grants issued for an entitlement. The entitlement can be defined either by its id or featureKey. + */ listEntitlementGrants: { parameters: { query?: { @@ -11753,6 +11994,7 @@ export interface operations { } } /** + * Create grant * @description Grants define a behavior of granting usage for a metered entitlement. They can have complicated recurrence and rollover rules, thanks to which you can define a wide range of access patterns with a single grant, in most cases you don't have to periodically create new grants. You can only issue grants for active metered entitlements. * * A grant defines a given amount of usage that can be consumed for the entitlement. The grant is in effect between its effective date and its expiration date. Specifying both is mandatory for new grants. @@ -11829,6 +12071,7 @@ export interface operations { } } /** + * Override entitlement * @description Overriding an entitlement creates a new entitlement from the provided inputs and soft deletes the previous entitlement for the provided subject-feature pair. If the previous entitlement is already deleted or otherwise doesnt exist, the override will fail. * * This endpoint is useful for upgrades, downgrades, or other changes to entitlements that require a new entitlement to be created with zero downtime. @@ -11903,6 +12146,7 @@ export interface operations { } } /** + * Get entitlement value * @description This endpoint should be used for access checks and enforcement. All entitlement types share the hasAccess property in their value response, but multiple other properties are returned based on the entitlement type. * * For convenience reasons, /value works with both entitlementId and featureKey. @@ -11968,7 +12212,10 @@ export interface operations { } } } - /** @description Get entitlement by id. For checking entitlement access, use the /value endpoint instead. */ + /** + * Get entitlement + * @description Get entitlement by id. For checking entitlement access, use the /value endpoint instead. + */ getEntitlement: { parameters: { path: { @@ -12028,6 +12275,7 @@ export interface operations { } } /** + * Delete entitlement * @description Deleting an entitlement revokes access to the associated feature. As a single subject can only have one entitlement per featureKey, when "migrating" features you have to delete the old entitlements as well. * As access and status checks can be historical queries, deleting an entitlement populates the deletedAt timestamp. When queried for a time before that, the entitlement is still considered active, you cannot have retroactive changes to access, which is important for, among other things, auditing. */ @@ -12088,6 +12336,7 @@ export interface operations { } } /** + * Get entitlement history * @description Returns historical balance and usage data for the entitlement. The queried history can span accross multiple reset events. * * BurndownHistory returns a continous history of segments, where the segments are seperated by events that changed either the grant burndown priority or the usage period. @@ -12166,6 +12415,7 @@ export interface operations { } } /** + * Reset entitlement * @description Reset marks the start of a new usage period for the entitlement and initiates grant rollover. At the start of a period usage is zerod out and grants are rolled over based on their rollover settings. It would typically be synced with the subjects billing period to enforce usage based on their subscription. * * Usage is automatically reset for metered entitlements based on their usage period, but this endpoint allows to manually reset it at any time. When doing so the period anchor of the entitlement can be changed if needed. @@ -12231,7 +12481,8 @@ export interface operations { } } } - Subscriptions_create: { + /** Create subscription */ + createSubscription: { requestBody: { content: { 'application/json': components['schemas']['CreateSubscriptionRequestBody'] @@ -12288,6 +12539,7 @@ export interface operations { } } } + /** Get subscription Get subscription */ getSubscription: { parameters: { query?: { @@ -12353,6 +12605,7 @@ export interface operations { } } /** + * Edit subscription * @description Batch processing commands for manipulating running subscriptions. * The key format is `/phases/{phaseKey}` or `/phases/{phaseKey}/items/{itemKey}`. * @@ -12436,7 +12689,10 @@ export interface operations { } } } - /** @description Cancels the subscription. */ + /** + * Cancel subscription + * @description Cancels the subscription. + */ cancelSubscription: { parameters: { path: { @@ -12512,7 +12768,10 @@ export interface operations { } } } - /** @description Migrates the subscripiton to the procided version of the plan. */ + /** + * Migrate subscription + * @description Migrates the subscripiton to the procided version of the plan. + */ migrateSubscription: { parameters: { path: { @@ -12583,7 +12842,10 @@ export interface operations { } } } - /** @description Cancels the scheduled cancelation. */ + /** + * Unschedule cancelation + * @description Cancels the scheduled cancelation. + */ unscheduleCancelation: { parameters: { path: { diff --git a/api/client/web/src/client/openapi.ts b/api/client/web/src/client/openapi.ts index 28388bee7..795a548a5 100644 --- a/api/client/web/src/client/openapi.ts +++ b/api/client/web/src/client/openapi.ts @@ -11,7 +11,10 @@ export interface paths { path?: never cookie?: never } - /** @description List apps. */ + /** + * List apps + * @description List apps. + */ get: operations['listApps'] put?: never post?: never @@ -28,11 +31,17 @@ export interface paths { path?: never cookie?: never } - /** @description Get the app. */ + /** + * Get app + * @description Get the app. + */ get: operations['getApp'] put?: never post?: never - /** @description Uninstall an app. */ + /** + * Uninstall app + * @description Uninstall an app. + */ delete: operations['uninstallApp'] options?: never head?: never @@ -48,7 +57,10 @@ export interface paths { } get?: never put?: never - /** @description Stripe webhook. */ + /** + * Stripe webhook + * @description Stripe webhook. + */ post: operations['appStripeWebhook'] delete?: never options?: never @@ -361,7 +373,10 @@ export interface paths { path?: never cookie?: never } - /** @description List all billing profiles */ + /** + * List billing profiles + * @description List all billing profiles + */ get: operations['billingListProfiles'] put?: never /** @@ -413,10 +428,16 @@ export interface paths { path?: never cookie?: never } - /** @description List customers. */ + /** + * List customers + * @description List customers. + */ get: operations['listCustomers'] put?: never - /** @description Create a new customer. */ + /** + * Create customer + * @description Create a new customer. + */ post: operations['createCustomer'] delete?: never options?: never @@ -431,12 +452,21 @@ export interface paths { path?: never cookie?: never } - /** @description Get a customer by ID. */ + /** + * Get customer + * @description Get a customer by ID. + */ get: operations['getCustomer'] - /** @description Update a customer by ID. */ + /** + * Update customer + * @description Update a customer by ID. + */ put: operations['updateCustomer'] post?: never - /** @description Delete a customer by ID. */ + /** + * Delete customer + * @description Delete a customer by ID. + */ delete: operations['deleteCustomer'] options?: never head?: never @@ -494,7 +524,10 @@ export interface paths { path?: never cookie?: never } - /** @description Get entitlement by id. */ + /** + * Get entitlement by id + * @description Get entitlement by id. + */ get: operations['getEntitlementById'] put?: never post?: never @@ -519,7 +552,10 @@ export interface paths { */ get: operations['listEvents'] put?: never - /** @description Ingests an event or batch of events following the CloudEvents specification. */ + /** + * Ingest events + * @description Ingests an event or batch of events following the CloudEvents specification. + */ post: operations['ingestEvents'] delete?: never options?: never @@ -534,13 +570,19 @@ export interface paths { path?: never cookie?: never } - /** @description List features. */ + /** + * List features + * @description List features. + */ get: operations['listFeatures'] put?: never - /** @description Features are either metered or static. A feature is metered if meterSlug is provided at creation. + /** + * Create feature + * @description Features are either metered or static. A feature is metered if meterSlug is provided at creation. * For metered features you can pass additional filters that will be applied when calculating feature usage, based on the meter's groupBy fields. * Only meters with SUM and COUNT aggregation are supported for features. - * Features cannot be updated later, only archived. */ + * Features cannot be updated later, only archived. + */ post: operations['createFeature'] delete?: never options?: never @@ -555,14 +597,20 @@ export interface paths { path?: never cookie?: never } - /** @description Get a feature by ID. */ + /** + * Get feature + * @description Get a feature by ID. + */ get: operations['getFeature'] put?: never post?: never - /** @description Archive a feature by ID. + /** + * Delete feature + * @description Archive a feature by ID. * * Once a feature is archived it cannot be unarchived. If a feature is archived, new entitlements cannot be created for it, but archiving the feature does not affect existing entitlements. - * This means, if you want to create a new feature with the same key, and then create entitlements for it, the previous entitlements have to be deleted first on a per subject basis. */ + * This means, if you want to create a new feature with the same key, and then create entitlements for it, the previous entitlements have to be deleted first on a per subject basis. + */ delete: operations['deleteFeature'] options?: never head?: never @@ -576,9 +624,12 @@ export interface paths { path?: never cookie?: never } - /** @description List all grants for all the subjects and entitlements. This endpoint is intended for administrative purposes only. + /** + * List grants + * @description List all grants for all the subjects and entitlements. This endpoint is intended for administrative purposes only. * To fetch the grants of a specific entitlement please use the /api/v1/subjects/{subjectKeyOrID}/entitlements/{entitlementOrFeatureID}/grants endpoint. - * If page is provided that takes precedence and the paginated response is returned. */ + * If page is provided that takes precedence and the paginated response is returned. + */ get: operations['listGrants'] put?: never post?: never @@ -598,8 +649,11 @@ export interface paths { get?: never put?: never post?: never - /** @description Voiding a grant means it is no longer valid, it doesn't take part in further balance calculations. Voiding a grant does not retroactively take effect, meaning any usage that has already been attributed to the grant will remain, but future usage cannot be burnt down from the grant. - * For example, if you have a single grant for your metered entitlement with an initial amount of 100, and so far 60 usage has been metered, the grant (and the entitlement itself) would have a balance of 40. If you then void that grant, balance becomes 0, but the 60 previous usage will not be affected. */ + /** + * Void grant + * @description Voiding a grant means it is no longer valid, it doesn't take part in further balance calculations. Voiding a grant does not retroactively take effect, meaning any usage that has already been attributed to the grant will remain, but future usage cannot be burnt down from the grant. + * For example, if you have a single grant for your metered entitlement with an initial amount of 100, and so far 60 usage has been metered, the grant (and the entitlement itself) would have a balance of 40. If you then void that grant, balance becomes 0, but the 60 previous usage will not be affected. + */ delete: operations['voidGrant'] options?: never head?: never @@ -615,7 +669,10 @@ export interface paths { } get?: never put?: never - /** @description Create checkout session. */ + /** + * Create checkout session + * @description Create checkout session. + */ post: operations['createStripeCheckoutSession'] delete?: never options?: never @@ -630,7 +687,10 @@ export interface paths { path?: never cookie?: never } - /** @description List available apps of the app marketplace. */ + /** + * List available apps + * @description List available apps of the app marketplace. + */ get: operations['listMarketplaceListings'] put?: never post?: never @@ -647,7 +707,10 @@ export interface paths { path?: never cookie?: never } - /** @description Get a marketplace listing by type. */ + /** + * Get app details by type + * @description Get a marketplace listing by type. + */ get: operations['getMarketplaceListing'] put?: never post?: never @@ -666,7 +729,10 @@ export interface paths { } get?: never put?: never - /** @description Install an marketplace via API Key. */ + /** + * Install app via API key + * @description Install an marketplace via API Key. + */ post: operations['marketplaceAppAPIKeyInstall'] delete?: never options?: never @@ -681,8 +747,11 @@ export interface paths { path?: never cookie?: never } - /** @description Install an app via OAuth. - * Returns a URL to start the OAuth 2.0 flow. */ + /** + * Get OAuth2 install URL + * @description Install an app via OAuth. + * Returns a URL to start the OAuth 2.0 flow. + */ get: operations['marketplaceOAuth2InstallGetURL'] put?: never post?: never @@ -699,8 +768,11 @@ export interface paths { path?: never cookie?: never } - /** @description Authorize OAuth2 code. - * Verifies the OAuth code and exchanges it for a token and refresh token */ + /** + * Install app via OAuth2 + * @description Authorize OAuth2 code. + * Verifies the OAuth code and exchanges it for a token and refresh token + */ get: operations['marketplaceOAuth2InstallAuthorize'] put?: never post?: never @@ -717,10 +789,16 @@ export interface paths { path?: never cookie?: never } - /** @description List meters. */ + /** + * List meters + * @description List meters. + */ get: operations['listMeters'] put?: never - /** @description Create a meter. */ + /** + * Create meter + * @description Create a meter. + */ post: operations['createMeter'] delete?: never options?: never @@ -735,11 +813,17 @@ export interface paths { path?: never cookie?: never } - /** @description Get a meter by ID or slug. */ + /** + * Get meter + * @description Get a meter by ID or slug. + */ get: operations['getMeter'] put?: never post?: never - /** @description Delete a meter. */ + /** + * Delete meter + * @description Delete a meter. + */ delete: operations['deleteMeter'] options?: never head?: never @@ -753,7 +837,10 @@ export interface paths { path?: never cookie?: never } - /** @description Query meter for usage. Query meter for usage. */ + /** + * Query meter Query meter + * @description Query meter for usage. Query meter for usage. + */ get: operations['queryMeter'] put?: never post?: never @@ -770,7 +857,10 @@ export interface paths { path?: never cookie?: never } - /** @description List subjects for a meter. */ + /** + * List meter subjects + * @description List subjects for a meter. + */ get: operations['listMeterSubjects'] put?: never post?: never @@ -937,7 +1027,10 @@ export interface paths { } get?: never put?: never - /** @description Test a notification rule by sending a test event with random data. */ + /** + * Test notification rule + * @description Test a notification rule by sending a test event with random data. + */ post: operations['testNotificationRule'] delete?: never options?: never @@ -1141,7 +1234,10 @@ export interface paths { path?: never cookie?: never } - /** @description Query meter for consumer portal. This endpoint is publicly exposable to consumers. Query meter for consumer portal. This endpoint is publicly exposable to consumers. */ + /** + * Query meter Query meter + * @description Query meter for consumer portal. This endpoint is publicly exposable to consumers. Query meter for consumer portal. This endpoint is publicly exposable to consumers. + */ get: operations['queryPortalMeter'] put?: never post?: never @@ -1158,10 +1254,16 @@ export interface paths { path?: never cookie?: never } - /** @description List tokens. */ + /** + * List consumer portal tokens + * @description List tokens. + */ get: operations['listPortalTokens'] put?: never - /** @description Create a consumer portal token. */ + /** + * Create consumer portal token + * @description Create a consumer portal token. + */ post: operations['createPortalToken'] delete?: never options?: never @@ -1178,7 +1280,10 @@ export interface paths { } get?: never put?: never - /** @description Invalidates consumer portal tokens by ID or subject. */ + /** + * Invalidate portal tokens + * @description Invalidates consumer portal tokens by ID or subject. + */ post: operations['invalidatePortalTokens'] delete?: never options?: never @@ -1193,13 +1298,19 @@ export interface paths { path?: never cookie?: never } - /** @description List subjects. */ + /** + * List subjects + * @description List subjects. + */ get: operations['listSubjects'] put?: never - /** @description Upserts a subject. Creates or updates subject. + /** + * Upsert subject + * @description Upserts a subject. Creates or updates subject. * * If the subject doesn't exist, it will be created. - * If the subject exists, it will be partially updated with the provided fields. */ + * If the subject exists, it will be partially updated with the provided fields. + */ post: operations['upsertSubject'] delete?: never options?: never @@ -1214,11 +1325,17 @@ export interface paths { path?: never cookie?: never } - /** @description Get subject by ID or key. */ + /** + * Get subject + * @description Get subject by ID or key. + */ get: operations['getSubject'] put?: never post?: never - /** @description Delete subject by ID or key. */ + /** + * Delete subject + * @description Delete subject by ID or key. + */ delete: operations['deleteSubject'] options?: never head?: never @@ -1232,7 +1349,10 @@ export interface paths { path?: never cookie?: never } - /** @description List all entitlements for a subject. For checking entitlement access, use the /value endpoint instead. */ + /** + * List entitlements + * @description List all entitlements for a subject. For checking entitlement access, use the /value endpoint instead. + */ get: operations['listSubjectEntitlements'] put?: never /** @@ -1261,10 +1381,15 @@ export interface paths { path?: never cookie?: never } - /** @description List all grants issued for an entitlement. The entitlement can be defined either by its id or featureKey. */ + /** + * List entitlement grants + * @description List all grants issued for an entitlement. The entitlement can be defined either by its id or featureKey. + */ get: operations['listEntitlementGrants'] put?: never - /** @description Grants define a behavior of granting usage for a metered entitlement. They can have complicated recurrence and rollover rules, thanks to which you can define a wide range of access patterns with a single grant, in most cases you don't have to periodically create new grants. You can only issue grants for active metered entitlements. + /** + * Create grant + * @description Grants define a behavior of granting usage for a metered entitlement. They can have complicated recurrence and rollover rules, thanks to which you can define a wide range of access patterns with a single grant, in most cases you don't have to periodically create new grants. You can only issue grants for active metered entitlements. * * A grant defines a given amount of usage that can be consumed for the entitlement. The grant is in effect between its effective date and its expiration date. Specifying both is mandatory for new grants. * @@ -1274,7 +1399,8 @@ export interface paths { * * Rollover settings define what happens to the remaining balance of a grant at a reset. Balance_After_Reset = MIN(MaxRolloverAmount, MAX(Balance_Before_Reset, MinRolloverAmount)) * - * Grants cannot be changed once created, only deleted. This is to ensure that balance is deterministic regardless of when it is queried. */ + * Grants cannot be changed once created, only deleted. This is to ensure that balance is deterministic regardless of when it is queried. + */ post: operations['createGrant'] delete?: never options?: never @@ -1290,9 +1416,12 @@ export interface paths { cookie?: never } get?: never - /** @description Overriding an entitlement creates a new entitlement from the provided inputs and soft deletes the previous entitlement for the provided subject-feature pair. If the previous entitlement is already deleted or otherwise doesnt exist, the override will fail. + /** + * Override entitlement + * @description Overriding an entitlement creates a new entitlement from the provided inputs and soft deletes the previous entitlement for the provided subject-feature pair. If the previous entitlement is already deleted or otherwise doesnt exist, the override will fail. * - * This endpoint is useful for upgrades, downgrades, or other changes to entitlements that require a new entitlement to be created with zero downtime. */ + * This endpoint is useful for upgrades, downgrades, or other changes to entitlements that require a new entitlement to be created with zero downtime. + */ put: operations['overrideEntitlement'] post?: never delete?: never @@ -1308,9 +1437,12 @@ export interface paths { path?: never cookie?: never } - /** @description This endpoint should be used for access checks and enforcement. All entitlement types share the hasAccess property in their value response, but multiple other properties are returned based on the entitlement type. + /** + * Get entitlement value + * @description This endpoint should be used for access checks and enforcement. All entitlement types share the hasAccess property in their value response, but multiple other properties are returned based on the entitlement type. * - * For convenience reasons, /value works with both entitlementId and featureKey. */ + * For convenience reasons, /value works with both entitlementId and featureKey. + */ get: operations['getEntitlementValue'] put?: never post?: never @@ -1327,12 +1459,18 @@ export interface paths { path?: never cookie?: never } - /** @description Get entitlement by id. For checking entitlement access, use the /value endpoint instead. */ + /** + * Get entitlement + * @description Get entitlement by id. For checking entitlement access, use the /value endpoint instead. + */ get: operations['getEntitlement'] put?: never post?: never - /** @description Deleting an entitlement revokes access to the associated feature. As a single subject can only have one entitlement per featureKey, when "migrating" features you have to delete the old entitlements as well. - * As access and status checks can be historical queries, deleting an entitlement populates the deletedAt timestamp. When queried for a time before that, the entitlement is still considered active, you cannot have retroactive changes to access, which is important for, among other things, auditing. */ + /** + * Delete entitlement + * @description Deleting an entitlement revokes access to the associated feature. As a single subject can only have one entitlement per featureKey, when "migrating" features you have to delete the old entitlements as well. + * As access and status checks can be historical queries, deleting an entitlement populates the deletedAt timestamp. When queried for a time before that, the entitlement is still considered active, you cannot have retroactive changes to access, which is important for, among other things, auditing. + */ delete: operations['deleteEntitlement'] options?: never head?: never @@ -1346,11 +1484,14 @@ export interface paths { path?: never cookie?: never } - /** @description Returns historical balance and usage data for the entitlement. The queried history can span accross multiple reset events. + /** + * Get entitlement history + * @description Returns historical balance and usage data for the entitlement. The queried history can span accross multiple reset events. * * BurndownHistory returns a continous history of segments, where the segments are seperated by events that changed either the grant burndown priority or the usage period. * - * WindowedHistory returns windowed usage data for the period enriched with balance information and the list of grants that were being burnt down in that window. */ + * WindowedHistory returns windowed usage data for the period enriched with balance information and the list of grants that were being burnt down in that window. + */ get: operations['getEntitlementHistory'] put?: never post?: never @@ -1369,9 +1510,12 @@ export interface paths { } get?: never put?: never - /** @description Reset marks the start of a new usage period for the entitlement and initiates grant rollover. At the start of a period usage is zerod out and grants are rolled over based on their rollover settings. It would typically be synced with the subjects billing period to enforce usage based on their subscription. + /** + * Reset entitlement + * @description Reset marks the start of a new usage period for the entitlement and initiates grant rollover. At the start of a period usage is zerod out and grants are rolled over based on their rollover settings. It would typically be synced with the subjects billing period to enforce usage based on their subscription. * - * Usage is automatically reset for metered entitlements based on their usage period, but this endpoint allows to manually reset it at any time. When doing so the period anchor of the entitlement can be changed if needed. */ + * Usage is automatically reset for metered entitlements based on their usage period, but this endpoint allows to manually reset it at any time. When doing so the period anchor of the entitlement can be changed if needed. + */ post: operations['resetEntitlementUsage'] delete?: never options?: never @@ -1388,7 +1532,8 @@ export interface paths { } get?: never put?: never - post: operations['Subscriptions_create'] + /** Create subscription */ + post: operations['createSubscription'] delete?: never options?: never head?: never @@ -1402,20 +1547,24 @@ export interface paths { path?: never cookie?: never } + /** Get subscription Get subscription */ get: operations['getSubscription'] put?: never post?: never delete?: never options?: never head?: never - /** @description Batch processing commands for manipulating running subscriptions. + /** + * Edit subscription + * @description Batch processing commands for manipulating running subscriptions. * The key format is `/phases/{phaseKey}` or `/phases/{phaseKey}/items/{itemKey}`. * * Add operations insert a new member based on the creation input without altering the existing members. * * Remove operations remove the member from the collection / document. * - * The extend operation extends the specific phase if possible, while delaying all subsequent phases by the same amount. */ + * The extend operation extends the specific phase if possible, while delaying all subsequent phases by the same amount. + */ patch: operations['editSubscription'] trace?: never } @@ -1428,7 +1577,10 @@ export interface paths { } get?: never put?: never - /** @description Cancels the subscription. */ + /** + * Cancel subscription + * @description Cancels the subscription. + */ post: operations['cancelSubscription'] delete?: never options?: never @@ -1445,7 +1597,10 @@ export interface paths { } get?: never put?: never - /** @description Migrates the subscripiton to the procided version of the plan. */ + /** + * Migrate subscription + * @description Migrates the subscripiton to the procided version of the plan. + */ post: operations['migrateSubscription'] delete?: never options?: never @@ -1462,7 +1617,10 @@ export interface paths { } get?: never put?: never - /** @description Cancels the scheduled cancelation. */ + /** + * Unschedule cancelation + * @description Cancels the scheduled cancelation. + */ post: operations['unscheduleCancelation'] delete?: never options?: never @@ -4237,9 +4395,11 @@ export interface components { /** @description The items in the current page. */ items: components['schemas']['BillingInvoice'][] } + /** @description List entitlements result */ ListEntitlementsResult: | components['schemas']['Entitlement'][] | components['schemas']['EntitlementPaginatedResponse'] + /** @description List features result */ ListFeaturesResult: | components['schemas']['Feature'][] | components['schemas']['FeaturePaginatedResponse'] @@ -15370,7 +15530,7 @@ export interface operations { } } } - Subscriptions_create: { + createSubscription: { parameters: { query?: never header?: never diff --git a/api/openapi.cloud.yaml b/api/openapi.cloud.yaml index fadd96156..17215d378 100644 --- a/api/openapi.cloud.yaml +++ b/api/openapi.cloud.yaml @@ -9,22 +9,29 @@ info: OpenMeter is a cloud native usage metering service. The OpenMeter API allows you to ingest events, query meter usage, and manage resources. tags: - - name: Portal - name: Apps - - name: Notification (Beta) - - name: Entitlements (Beta) - name: Customers - name: Billing (Experimental) - name: Plan (Experimental) - name: Subscriptions - - name: Events - - name: Meters - name: Debug + - name: Portal + description: With the Consumer Portal, you can build in-app user-facing dashboards where your customers can follow their consumption in real-time. [Read more](https://openmeter.io/docs/guides/customer-dashboard). + - name: Notification (Beta) + description: Notifications provide automated triggers when specific entitlement balances and usage thresholds are reached, ensuring that your customers and sales teams are always informed. For example, you can email your customers when they reach 75%, 100%, and 150% of their monthly token allowance and notify your sales team when an overage happens to drive expansions. [Read more](https://openmeter.io/docs/guides/notifications/overview). + - name: Entitlements (Beta) + description: Entitlements make it possible to implement complex pricing scenarios such as monthly quotas, prepaid billing, and per-customer pricing. Don't just list usage limits on your marketing page—enforce them within your application to control the cost of expensive resources like LLMs. [Read more](https://openmeter.io/docs/guides/entitlements/overview). - name: Subjects + description: Subjects are entities that consume resources you wish to meter. These can range from users, servers, and services to devices. The design of subjects is intentionally generic, enabling flexible application across various metering scenarios. Typically, a subject acts as a unique identifier within your system for a user or customer. [Read more](https://openmeter.io/docs/cloud/subjects). + - name: Events + description: A usage event can be anything you need to track accurately over time for billing or analytics purposes. + - name: Meters + description: Meters are used to aggregate usage events. They are designed to offer multiple aggregation methods and window sizes, making it highly adaptable to your specific needs. paths: /api/v1/apps: get: operationId: listApps + summary: List apps description: List apps. parameters: - $ref: '#/components/parameters/PaginatedQuery.page' @@ -74,9 +81,11 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Apps + x-internal: true /api/v1/apps/{id}: get: operationId: getApp + summary: Get app description: Get the app. parameters: - name: id @@ -137,8 +146,10 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Apps + x-internal: true delete: operationId: uninstallApp + summary: Uninstall app description: Uninstall an app. parameters: - name: id @@ -195,9 +206,11 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Apps + x-internal: true /api/v1/apps/{id}/stripe/webhook: post: operationId: appStripeWebhook + summary: Stripe webhook description: Stripe webhook. parameters: - name: id @@ -264,6 +277,7 @@ paths: application/json: schema: $ref: '#/components/schemas/StripeWebhookEvent' + x-internal: true /api/v1/billing/customer: get: operationId: billingListCustomerOverrides @@ -332,6 +346,7 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Billing (Experimental) + x-internal: true /api/v1/billing/customer/{customerId}: post: operationId: billingUpsertCustomerOverride @@ -408,6 +423,7 @@ paths: application/json: schema: $ref: '#/components/schemas/BillingCustomerWorkflowOverrideCreate' + x-internal: true get: operationId: billingGetCustomerOverrideById summary: Get a customer override @@ -471,6 +487,7 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Billing (Experimental) + x-internal: true delete: operationId: billingDeleteCustomerOverride summary: Delete a customer override @@ -530,6 +547,7 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Billing (Experimental) + x-internal: true /api/v1/billing/invoices: get: operationId: billingListInvoices @@ -604,6 +622,7 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Billing (Experimental) + x-internal: true /api/v1/billing/invoices/{customerId}: post: operationId: billingCreateInvoice @@ -679,6 +698,7 @@ paths: application/json: schema: $ref: '#/components/schemas/BillingInvoiceCreateInput' + x-internal: true get: operationId: billingListInvoicesByCustomer summary: List invoices @@ -747,6 +767,7 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Billing (Experimental) + x-internal: true /api/v1/billing/invoices/{customerId}/invoices/{invoiceId}: get: operationId: billingGetInvoiceByCustomerInvoiceId @@ -828,6 +849,7 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Billing (Experimental) + x-internal: true delete: operationId: billingDeleteInvoiceByCustomerInvoiceId summary: Delete an invoice @@ -897,6 +919,7 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Billing (Experimental) + x-internal: true /api/v1/billing/invoices/{customerId}/invoices/{invoiceId}/advance: post: operationId: billingInvoiceAdvance @@ -973,6 +996,7 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Billing (Experimental) + x-internal: true /api/v1/billing/invoices/{customerId}/invoices/{invoiceId}/approve: post: operationId: billingApproveInvoice @@ -1051,6 +1075,7 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Billing (Experimental) + x-internal: true /api/v1/billing/invoices/{customerId}/invoices/{invoiceId}/lines/{lineId}: delete: operationId: billingDeleteInvoiceLine @@ -1125,6 +1150,7 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Billing (Experimental) + x-internal: true put: operationId: billingUpdateInvoiceLine summary: Update an invoice line @@ -1208,6 +1234,7 @@ paths: application/json: schema: $ref: '#/components/schemas/BillingInvoiceLineCreateOrUpdate' + x-internal: true /api/v1/billing/invoices/{customerId}/invoices/{invoiceId}/retry: post: operationId: billingInvoiceRetry @@ -1282,6 +1309,7 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Billing (Experimental) + x-internal: true /api/v1/billing/invoices/{customerId}/invoices/{invoiceId}/tax/recalculate: post: operationId: billingRecalculateInvoiceTax @@ -1356,6 +1384,7 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Billing (Experimental) + x-internal: true /api/v1/billing/invoices/{customerId}/invoices/{invoiceId}/void: post: operationId: billingVoidInvoice @@ -1438,6 +1467,7 @@ paths: application/json: schema: $ref: '#/components/schemas/BillingVoidInvoiceInput' + x-internal: true /api/v1/billing/invoices/{customerId}/lines: post: operationId: billingCreateLineByCustomer @@ -1513,9 +1543,11 @@ paths: application/json: schema: $ref: '#/components/schemas/BillingCreateLinesRequest' + x-internal: true /api/v1/billing/profile: get: operationId: billingListProfiles + summary: List billing profiles description: List all billing profiles parameters: - name: includeArchived @@ -1584,6 +1616,7 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Billing (Experimental) + x-internal: true post: operationId: billingCreateProfile summary: Create a new billing profile @@ -1644,6 +1677,7 @@ paths: application/json: schema: $ref: '#/components/schemas/BillingProfileCreateInput' + x-internal: true /api/v1/billing/profile/{id}: delete: operationId: billingArchiveProfile @@ -1702,6 +1736,7 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Billing (Experimental) + x-internal: true get: operationId: billingGetProfile summary: Get a billing profile by ID @@ -1771,6 +1806,7 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Billing (Experimental) + x-internal: true put: operationId: billingUpdateProfile summary: Update a billing profile @@ -1838,9 +1874,11 @@ paths: application/json: schema: $ref: '#/components/schemas/BillingProfileCreateOrUpdate' + x-internal: true /api/v1/customers: post: operationId: createCustomer + summary: Create customer description: Create a new customer. parameters: [] responses: @@ -1894,8 +1932,10 @@ paths: application/json: schema: $ref: '#/components/schemas/Customer' + x-internal: true get: operationId: listCustomers + summary: List customers description: List customers. parameters: - $ref: '#/components/parameters/CustomerOrderByOrdering.order' @@ -1951,9 +1991,11 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Customers + x-internal: true /api/v1/customers/{id}: get: operationId: getCustomer + summary: Get customer description: Get a customer by ID. parameters: - name: id @@ -2014,8 +2056,10 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Customers + x-internal: true put: operationId: updateCustomer + summary: Update customer description: Update a customer by ID. parameters: - name: id @@ -2082,8 +2126,10 @@ paths: application/json: schema: $ref: '#/components/schemas/Customer' + x-internal: true delete: operationId: deleteCustomer + summary: Delete customer description: Delete a customer by ID. parameters: - name: id @@ -2144,6 +2190,7 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Customers + x-internal: true /api/v1/debug/metrics: get: operationId: getDebugMetrics @@ -2294,6 +2341,7 @@ paths: /api/v1/entitlements/{entitlementId}: get: operationId: getEntitlementById + summary: Get entitlement by id description: Get entitlement by id. parameters: - name: entitlementId @@ -2492,6 +2540,7 @@ paths: operationId: ingestEvents parameters: [] description: Ingests an event or batch of events following the CloudEvents specification. + summary: Ingest events responses: '200': description: The request has succeeded. @@ -2556,6 +2605,7 @@ paths: /api/v1/features: get: operationId: listFeatures + summary: List features description: List features. parameters: - name: meterSlug @@ -2627,6 +2677,7 @@ paths: - Entitlements (Beta) post: operationId: createFeature + summary: Create feature description: |- Features are either metered or static. A feature is metered if meterSlug is provided at creation. For metered features you can pass additional filters that will be applied when calculating feature usage, based on the meter's groupBy fields. @@ -2687,6 +2738,7 @@ paths: /api/v1/features/{featureId}: get: operationId: getFeature + summary: Get feature description: Get a feature by ID. parameters: - name: featureId @@ -2747,6 +2799,7 @@ paths: - Entitlements (Beta) delete: operationId: deleteFeature + summary: Delete feature description: |- Archive a feature by ID. @@ -2808,6 +2861,7 @@ paths: /api/v1/grants: get: operationId: listGrants + summary: List grants description: |- List all grants for all the subjects and entitlements. This endpoint is intended for administrative purposes only. To fetch the grants of a specific entitlement please use the /api/v1/subjects/{subjectKeyOrID}/entitlements/{entitlementOrFeatureID}/grants endpoint. @@ -2901,6 +2955,7 @@ paths: /api/v1/grants/{grantId}: delete: operationId: voidGrant + summary: Void grant description: |- Voiding a grant means it is no longer valid, it doesn't take part in further balance calculations. Voiding a grant does not retroactively take effect, meaning any usage that has already been attributed to the grant will remain, but future usage cannot be burnt down from the grant. For example, if you have a single grant for your metered entitlement with an initial amount of 100, and so far 60 usage has been metered, the grant (and the entitlement itself) would have a balance of 40. If you then void that grant, balance becomes 0, but the 60 previous usage will not be affected. @@ -2966,6 +3021,7 @@ paths: /api/v1/integration/stripe/checkout/sessions: post: operationId: createStripeCheckoutSession + summary: Create checkout session description: Create checkout session. parameters: [] responses: @@ -3025,9 +3081,11 @@ paths: application/json: schema: $ref: '#/components/schemas/CreateStripeCheckoutSessionRequest' + x-internal: true /api/v1/marketplace/listings: get: operationId: listMarketplaceListings + summary: List available apps description: List available apps of the app marketplace. parameters: - $ref: '#/components/parameters/PaginatedQuery.page' @@ -3077,9 +3135,11 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Apps + x-internal: true /api/v1/marketplace/listings/{type}: get: operationId: getMarketplaceListing + summary: Get app details by type description: Get a marketplace listing by type. parameters: - name: type @@ -3132,9 +3192,11 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Apps + x-internal: true /api/v1/marketplace/listings/{type}/install/apikey: post: operationId: marketplaceAppAPIKeyInstall + summary: Install app via API key description: Install an marketplace via API Key. parameters: - $ref: '#/components/parameters/MarketplaceApiKeyInstallRequest.type' @@ -3203,9 +3265,11 @@ paths: If not set defaults to the marketplace item's description. required: - apiKey + x-internal: true /api/v1/marketplace/listings/{type}/install/oauth2: get: operationId: marketplaceOAuth2InstallGetURL + summary: Get OAuth2 install URL description: |- Install an app via OAuth. Returns a URL to start the OAuth 2.0 flow. @@ -3260,9 +3324,11 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Apps + x-internal: true /api/v1/marketplace/listings/{type}/install/oauth2/authorize: get: operationId: marketplaceOAuth2InstallAuthorize + summary: Install app via OAuth2 description: |- Authorize OAuth2 code. Verifies the OAuth code and exchanges it for a token and refresh token @@ -3314,9 +3380,11 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Apps + x-internal: true /api/v1/meters: get: operationId: listMeters + summary: List meters description: List meters. parameters: [] responses: @@ -3368,6 +3436,7 @@ paths: - Meters post: operationId: createMeter + summary: Create meter description: Create a meter. parameters: [] responses: @@ -3424,6 +3493,7 @@ paths: /api/v1/meters/{meterIdOrSlug}: get: operationId: getMeter + summary: Get meter description: Get a meter by ID or slug. parameters: - name: meterIdOrSlug @@ -3487,6 +3557,7 @@ paths: - Meters delete: operationId: deleteMeter + summary: Delete meter description: Delete a meter. parameters: - name: meterIdOrSlug @@ -3558,6 +3629,7 @@ paths: - $ref: '#/components/parameters/MeterQuery.filterGroupBy' - $ref: '#/components/parameters/MeterQuery.groupBy' description: Query meter for usage. Query meter for usage. + summary: Query meter Query meter responses: '200': description: The request has succeeded. @@ -3615,6 +3687,7 @@ paths: /api/v1/meters/{meterIdOrSlug}/subjects: get: operationId: listMeterSubjects + summary: List meter subjects description: List subjects for a meter. parameters: - name: meterIdOrSlug @@ -4548,6 +4621,7 @@ paths: /api/v1/notification/rules/{ruleId}/test: post: operationId: testNotificationRule + summary: Test notification rule description: Test a notification rule by sending a test event with random data. parameters: - name: ruleId @@ -4761,6 +4835,7 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Plan (Experimental) + x-internal: true post: operationId: createPlan summary: Create a plan @@ -4817,6 +4892,7 @@ paths: application/json: schema: $ref: '#/components/schemas/PlanCreate' + x-internal: true /api/v1/plans/{planIdOrKey}/next: post: operationId: nextPlan @@ -4892,6 +4968,7 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Plan (Experimental) + x-internal: true /api/v1/plans/{planId}: put: operationId: updatePlan @@ -4962,6 +5039,7 @@ paths: application/json: schema: $ref: '#/components/schemas/PlanUpdate' + x-internal: true get: operationId: getPlan summary: Get plan @@ -5045,6 +5123,7 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Plan (Experimental) + x-internal: true delete: operationId: deletePlan summary: Delete plan @@ -5107,6 +5186,7 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Plan (Experimental) + x-internal: true /api/v1/plans/{planId}/archive: post: operationId: archivePlan @@ -5171,6 +5251,7 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Plan (Experimental) + x-internal: true /api/v1/plans/{planId}/phases: get: operationId: listPlanPhases @@ -5245,6 +5326,7 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Plan (Experimental) + x-internal: true post: operationId: createPlanPhase summary: Create new phase in plan @@ -5308,6 +5390,7 @@ paths: application/json: schema: $ref: '#/components/schemas/PlanPhaseCreate' + x-internal: true /api/v1/plans/{planId}/phases/{planPhaseKey}: put: operationId: updatePlanPhase @@ -5386,6 +5469,7 @@ paths: application/json: schema: $ref: '#/components/schemas/PlanPhaseUpdate' + x-internal: true get: operationId: getPlanPhase summary: Get phase for plan @@ -5457,6 +5541,7 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Plan (Experimental) + x-internal: true delete: operationId: deletePlanPhase summary: Delete phase for plan @@ -5527,6 +5612,7 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Plan (Experimental) + x-internal: true /api/v1/plans/{planId}/publish: post: operationId: publishPlan @@ -5591,6 +5677,7 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Plan (Experimental) + x-internal: true /api/v1/portal/meters/{meterSlug}/query: get: operationId: queryPortalMeter @@ -5610,6 +5697,7 @@ paths: - $ref: '#/components/parameters/MeterQuery.filterGroupBy' - $ref: '#/components/parameters/MeterQuery.groupBy' description: Query meter for consumer portal. This endpoint is publicly exposable to consumers. Query meter for consumer portal. This endpoint is publicly exposable to consumers. + summary: Query meter Query meter responses: '200': description: The request has succeeded. @@ -5669,6 +5757,7 @@ paths: /api/v1/portal/tokens: post: operationId: createPortalToken + summary: Create consumer portal token description: Create a consumer portal token. parameters: [] responses: @@ -5724,6 +5813,7 @@ paths: $ref: '#/components/schemas/PortalToken' get: operationId: listPortalTokens + summary: List consumer portal tokens description: List tokens. parameters: - name: limit @@ -5785,6 +5875,7 @@ paths: /api/v1/portal/tokens/invalidate: post: operationId: invalidatePortalTokens + summary: Invalidate portal tokens description: Invalidates consumer portal tokens by ID or subject. parameters: [] responses: @@ -5844,6 +5935,7 @@ paths: /api/v1/subjects: get: operationId: listSubjects + summary: List subjects description: List subjects. parameters: [] responses: @@ -5895,6 +5987,7 @@ paths: - Subjects post: operationId: upsertSubject + summary: Upsert subject description: |- Upserts a subject. Creates or updates subject. @@ -5959,6 +6052,7 @@ paths: /api/v1/subjects/{subjectIdOrKey}: get: operationId: getSubject + summary: Get subject description: Get subject by ID or key. parameters: - name: subjectIdOrKey @@ -6019,6 +6113,7 @@ paths: - Subjects delete: operationId: deleteSubject + summary: Delete subject description: Delete subject by ID or key. parameters: - name: subjectIdOrKey @@ -6146,6 +6241,7 @@ paths: $ref: '#/components/schemas/EntitlementCreateInputs' get: operationId: listSubjectEntitlements + summary: List entitlements description: List all entitlements for a subject. For checking entitlement access, use the /value endpoint instead. parameters: - name: subjectIdOrKey @@ -6210,6 +6306,7 @@ paths: /api/v1/subjects/{subjectIdOrKey}/entitlements/{entitlementIdOrFeatureKey}/grants: get: operationId: listEntitlementGrants + summary: List entitlement grants description: List all grants issued for an entitlement. The entitlement can be defined either by its id or featureKey. parameters: - name: subjectIdOrKey @@ -6285,6 +6382,7 @@ paths: - Entitlements (Beta) post: operationId: createGrant + summary: Create grant description: |- Grants define a behavior of granting usage for a metered entitlement. They can have complicated recurrence and rollover rules, thanks to which you can define a wide range of access patterns with a single grant, in most cases you don't have to periodically create new grants. You can only issue grants for active metered entitlements. @@ -6368,6 +6466,7 @@ paths: /api/v1/subjects/{subjectIdOrKey}/entitlements/{entitlementIdOrFeatureKey}/override: put: operationId: overrideEntitlement + summary: Override entitlement description: |- Overriding an entitlement creates a new entitlement from the provided inputs and soft deletes the previous entitlement for the provided subject-feature pair. If the previous entitlement is already deleted or otherwise doesnt exist, the override will fail. @@ -6449,6 +6548,7 @@ paths: /api/v1/subjects/{subjectIdOrKey}/entitlements/{entitlementIdOrFeatureKey}/value: get: operationId: getEntitlementValue + summary: Get entitlement value description: |- This endpoint should be used for access checks and enforcement. All entitlement types share the hasAccess property in their value response, but multiple other properties are returned based on the entitlement type. @@ -6525,6 +6625,7 @@ paths: /api/v1/subjects/{subjectIdOrKey}/entitlements/{entitlementId}: get: operationId: getEntitlement + summary: Get entitlement description: Get entitlement by id. For checking entitlement access, use the /value endpoint instead. parameters: - name: subjectIdOrKey @@ -6590,6 +6691,7 @@ paths: - Entitlements (Beta) delete: operationId: deleteEntitlement + summary: Delete entitlement description: |- Deleting an entitlement revokes access to the associated feature. As a single subject can only have one entitlement per featureKey, when "migrating" features you have to delete the old entitlements as well. As access and status checks can be historical queries, deleting an entitlement populates the deletedAt timestamp. When queried for a time before that, the entitlement is still considered active, you cannot have retroactive changes to access, which is important for, among other things, auditing. @@ -6654,6 +6756,7 @@ paths: /api/v1/subjects/{subjectIdOrKey}/entitlements/{entitlementId}/history: get: operationId: getEntitlementHistory + summary: Get entitlement history description: |- Returns historical balance and usage data for the entitlement. The queried history can span accross multiple reset events. @@ -6756,6 +6859,7 @@ paths: /api/v1/subjects/{subjectIdOrKey}/entitlements/{entitlementId}/reset: post: operationId: resetEntitlementUsage + summary: Reset entitlement description: |- Reset marks the start of a new usage period for the entitlement and initiates grant rollover. At the start of a period usage is zerod out and grants are rolled over based on their rollover settings. It would typically be synced with the subjects billing period to enforce usage based on their subscription. @@ -6826,7 +6930,8 @@ paths: $ref: '#/components/schemas/ResetEntitlementUsageInput' /api/v1/subscriptions: post: - operationId: Subscriptions_create + operationId: createSubscription + summary: Create subscription parameters: [] responses: '200': @@ -6885,6 +6990,7 @@ paths: application/json: schema: $ref: '#/components/schemas/CreateSubscriptionRequestBody' + x-internal: true /api/v1/subscriptions/{subscriptionId}: get: operationId: getSubscription @@ -6914,6 +7020,7 @@ paths: format: date-time example: 2023-01-01T01:01:01.001Z explode: false + summary: Get subscription Get subscription responses: '200': description: The request has succeeded. @@ -6965,10 +7072,12 @@ paths: application/problem+json: schema: $ref: '#/components/schemas/UnexpectedProblemResponse' + x-internal: true tags: - Subscriptions patch: operationId: editSubscription + summary: Edit subscription description: |- Batch processing commands for manipulating running subscriptions. The key format is `/phases/{phaseKey}` or `/phases/{phaseKey}/items/{itemKey}`. @@ -7056,9 +7165,11 @@ paths: - $ref: '#/components/schemas/SubscriptionEditAdd' - $ref: '#/components/schemas/SubscriptionEditExtend' - $ref: '#/components/schemas/SubscriptionEditRemoveWithValue' + x-internal: true /api/v1/subscriptions/{subscriptionId}/cancel: post: operationId: cancelSubscription + summary: Cancel subscription description: Cancels the subscription. parameters: - name: subscriptionId @@ -7137,9 +7248,11 @@ paths: format: date-time example: 2023-01-01T01:01:01.001Z description: If not provided the subscription is canceled immediately. + x-internal: true /api/v1/subscriptions/{subscriptionId}/migrate: post: operationId: migrateSubscription + summary: Migrate subscription description: Migrates the subscripiton to the procided version of the plan. parameters: - name: subscriptionId @@ -7218,9 +7331,11 @@ paths: minimum: 1 required: - targetVersion + x-internal: true /api/v1/subscriptions/{subscriptionId}/unschedule-cancelation: post: operationId: unscheduleCancelation + summary: Unschedule cancelation description: Cancels the scheduled cancelation. parameters: - name: subscriptionId @@ -7287,6 +7402,7 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Subscriptions + x-internal: true security: - CloudTokenAuth: [] - CloudCookieAuth: [] @@ -11720,12 +11836,14 @@ components: items: $ref: '#/components/schemas/Entitlement' - $ref: '#/components/schemas/EntitlementPaginatedResponse' + description: List entitlements result ListFeaturesResult: oneOf: - type: array items: $ref: '#/components/schemas/Feature' - $ref: '#/components/schemas/FeaturePaginatedResponse' + description: List features result MarketplaceListing: type: object required: diff --git a/api/openapi.yaml b/api/openapi.yaml index 84a259095..a6650ffa8 100644 --- a/api/openapi.yaml +++ b/api/openapi.yaml @@ -10,20 +10,28 @@ info: The OpenMeter API allows you to ingest events, query meter usage, and manage resources. tags: - name: Apps - - name: Portal - - name: Notification (Beta) - - name: Entitlements (Beta) - name: Billing (Experimental) - name: Plan (Experimental) - name: Subscriptions - - name: Events - - name: Meters - name: Debug - name: Customers + - name: Portal + description: With the Consumer Portal, you can build in-app user-facing dashboards where your customers can follow their consumption in real-time. + - name: Notification (Beta) + description: Notifications provide automated triggers when specific entitlement balances and usage thresholds are reached, ensuring that your customers and sales teams are always informed. For example, you can email your customers when they reach 75%, 100%, and 150% of their monthly token allowance and notify your sales team when an overage happens to drive expansions. + - name: Entitlements (Beta) + description: Entitlements make it possible to implement complex pricing scenarios such as monthly quotas, prepaid billing, and per-customer pricing. Don't just list usage limits on your marketing page—enforce them within your application to control the cost of expensive resources like LLMs. + - name: Subjects + description: Subjects are entities that consume resources you wish to meter. These can range from users, servers, and services to devices. The design of subjects is intentionally generic, enabling flexible application across various metering scenarios. Typically, a subject acts as a unique identifier within your system for a user or customer. [Read more](https://openmeter.io/docs/cloud/subjects). + - name: Events + description: A usage event can be anything you need to track accurately over time for billing or analytics purposes. [Read more](https://openmeter.io/docs/concepts/usage-events). + - name: Meters + description: Meters are used to aggregate usage events. They are designed to offer multiple aggregation methods and window sizes, making it highly adaptable to your specific needs. paths: /api/v1/apps: get: operationId: listApps + summary: List apps description: List apps. parameters: - $ref: '#/components/parameters/PaginatedQuery.page' @@ -73,9 +81,11 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Apps + x-internal: true /api/v1/apps/{id}: get: operationId: getApp + summary: Get app description: Get the app. parameters: - name: id @@ -136,8 +146,10 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Apps + x-internal: true delete: operationId: uninstallApp + summary: Uninstall app description: Uninstall an app. parameters: - name: id @@ -194,9 +206,11 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Apps + x-internal: true /api/v1/apps/{id}/stripe/webhook: post: operationId: appStripeWebhook + summary: Stripe webhook description: Stripe webhook. parameters: - name: id @@ -263,6 +277,7 @@ paths: application/json: schema: $ref: '#/components/schemas/StripeWebhookEvent' + x-internal: true /api/v1/billing/customer: get: operationId: billingListCustomerOverrides @@ -331,6 +346,7 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Billing (Experimental) + x-internal: true /api/v1/billing/customer/{customerId}: post: operationId: billingUpsertCustomerOverride @@ -407,6 +423,7 @@ paths: application/json: schema: $ref: '#/components/schemas/BillingCustomerWorkflowOverrideCreate' + x-internal: true get: operationId: billingGetCustomerOverrideById summary: Get a customer override @@ -470,6 +487,7 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Billing (Experimental) + x-internal: true delete: operationId: billingDeleteCustomerOverride summary: Delete a customer override @@ -529,6 +547,7 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Billing (Experimental) + x-internal: true /api/v1/billing/invoices: get: operationId: billingListInvoices @@ -603,6 +622,7 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Billing (Experimental) + x-internal: true /api/v1/billing/invoices/{customerId}: post: operationId: billingCreateInvoice @@ -678,6 +698,7 @@ paths: application/json: schema: $ref: '#/components/schemas/BillingInvoiceCreateInput' + x-internal: true get: operationId: billingListInvoicesByCustomer summary: List invoices @@ -746,6 +767,7 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Billing (Experimental) + x-internal: true /api/v1/billing/invoices/{customerId}/invoices/{invoiceId}: get: operationId: billingGetInvoiceByCustomerInvoiceId @@ -827,6 +849,7 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Billing (Experimental) + x-internal: true delete: operationId: billingDeleteInvoiceByCustomerInvoiceId summary: Delete an invoice @@ -896,6 +919,7 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Billing (Experimental) + x-internal: true /api/v1/billing/invoices/{customerId}/invoices/{invoiceId}/advance: post: operationId: billingInvoiceAdvance @@ -972,6 +996,7 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Billing (Experimental) + x-internal: true /api/v1/billing/invoices/{customerId}/invoices/{invoiceId}/approve: post: operationId: billingApproveInvoice @@ -1050,6 +1075,7 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Billing (Experimental) + x-internal: true /api/v1/billing/invoices/{customerId}/invoices/{invoiceId}/lines/{lineId}: delete: operationId: billingDeleteInvoiceLine @@ -1124,6 +1150,7 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Billing (Experimental) + x-internal: true put: operationId: billingUpdateInvoiceLine summary: Update an invoice line @@ -1207,6 +1234,7 @@ paths: application/json: schema: $ref: '#/components/schemas/BillingInvoiceLineCreateOrUpdate' + x-internal: true /api/v1/billing/invoices/{customerId}/invoices/{invoiceId}/retry: post: operationId: billingInvoiceRetry @@ -1281,6 +1309,7 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Billing (Experimental) + x-internal: true /api/v1/billing/invoices/{customerId}/invoices/{invoiceId}/tax/recalculate: post: operationId: billingRecalculateInvoiceTax @@ -1355,6 +1384,7 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Billing (Experimental) + x-internal: true /api/v1/billing/invoices/{customerId}/invoices/{invoiceId}/void: post: operationId: billingVoidInvoice @@ -1437,6 +1467,7 @@ paths: application/json: schema: $ref: '#/components/schemas/BillingVoidInvoiceInput' + x-internal: true /api/v1/billing/invoices/{customerId}/lines: post: operationId: billingCreateLineByCustomer @@ -1512,9 +1543,11 @@ paths: application/json: schema: $ref: '#/components/schemas/BillingCreateLinesRequest' + x-internal: true /api/v1/billing/profile: get: operationId: billingListProfiles + summary: List billing profiles description: List all billing profiles parameters: - name: includeArchived @@ -1583,6 +1616,7 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Billing (Experimental) + x-internal: true post: operationId: billingCreateProfile summary: Create a new billing profile @@ -1643,6 +1677,7 @@ paths: application/json: schema: $ref: '#/components/schemas/BillingProfileCreateInput' + x-internal: true /api/v1/billing/profile/{id}: delete: operationId: billingArchiveProfile @@ -1701,6 +1736,7 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Billing (Experimental) + x-internal: true get: operationId: billingGetProfile summary: Get a billing profile by ID @@ -1770,6 +1806,7 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Billing (Experimental) + x-internal: true put: operationId: billingUpdateProfile summary: Update a billing profile @@ -1837,9 +1874,11 @@ paths: application/json: schema: $ref: '#/components/schemas/BillingProfileCreateOrUpdate' + x-internal: true /api/v1/customers: post: operationId: createCustomer + summary: Create customer description: Create a new customer. parameters: [] responses: @@ -1893,8 +1932,10 @@ paths: application/json: schema: $ref: '#/components/schemas/Customer' + x-internal: true get: operationId: listCustomers + summary: List customers description: List customers. parameters: - $ref: '#/components/parameters/CustomerOrderByOrdering.order' @@ -1950,9 +1991,11 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Customers + x-internal: true /api/v1/customers/{id}: get: operationId: getCustomer + summary: Get customer description: Get a customer by ID. parameters: - name: id @@ -2013,8 +2056,10 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Customers + x-internal: true put: operationId: updateCustomer + summary: Update customer description: Update a customer by ID. parameters: - name: id @@ -2081,8 +2126,10 @@ paths: application/json: schema: $ref: '#/components/schemas/Customer' + x-internal: true delete: operationId: deleteCustomer + summary: Delete customer description: Delete a customer by ID. parameters: - name: id @@ -2143,6 +2190,7 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Customers + x-internal: true /api/v1/debug/metrics: get: operationId: getDebugMetrics @@ -2293,6 +2341,7 @@ paths: /api/v1/entitlements/{entitlementId}: get: operationId: getEntitlementById + summary: Get entitlement by id description: Get entitlement by id. parameters: - name: entitlementId @@ -2491,6 +2540,7 @@ paths: operationId: ingestEvents parameters: [] description: Ingests an event or batch of events following the CloudEvents specification. + summary: Ingest events responses: '200': description: The request has succeeded. @@ -2555,6 +2605,7 @@ paths: /api/v1/features: get: operationId: listFeatures + summary: List features description: List features. parameters: - name: meterSlug @@ -2626,6 +2677,7 @@ paths: - Entitlements (Beta) post: operationId: createFeature + summary: Create feature description: |- Features are either metered or static. A feature is metered if meterSlug is provided at creation. For metered features you can pass additional filters that will be applied when calculating feature usage, based on the meter's groupBy fields. @@ -2686,6 +2738,7 @@ paths: /api/v1/features/{featureId}: get: operationId: getFeature + summary: Get feature description: Get a feature by ID. parameters: - name: featureId @@ -2746,6 +2799,7 @@ paths: - Entitlements (Beta) delete: operationId: deleteFeature + summary: Delete feature description: |- Archive a feature by ID. @@ -2807,6 +2861,7 @@ paths: /api/v1/grants: get: operationId: listGrants + summary: List grants description: |- List all grants for all the subjects and entitlements. This endpoint is intended for administrative purposes only. To fetch the grants of a specific entitlement please use the /api/v1/subjects/{subjectKeyOrID}/entitlements/{entitlementOrFeatureID}/grants endpoint. @@ -2900,6 +2955,7 @@ paths: /api/v1/grants/{grantId}: delete: operationId: voidGrant + summary: Void grant description: |- Voiding a grant means it is no longer valid, it doesn't take part in further balance calculations. Voiding a grant does not retroactively take effect, meaning any usage that has already been attributed to the grant will remain, but future usage cannot be burnt down from the grant. For example, if you have a single grant for your metered entitlement with an initial amount of 100, and so far 60 usage has been metered, the grant (and the entitlement itself) would have a balance of 40. If you then void that grant, balance becomes 0, but the 60 previous usage will not be affected. @@ -2965,6 +3021,7 @@ paths: /api/v1/integration/stripe/checkout/sessions: post: operationId: createStripeCheckoutSession + summary: Create checkout session description: Create checkout session. parameters: [] responses: @@ -3024,9 +3081,11 @@ paths: application/json: schema: $ref: '#/components/schemas/CreateStripeCheckoutSessionRequest' + x-internal: true /api/v1/marketplace/listings: get: operationId: listMarketplaceListings + summary: List available apps description: List available apps of the app marketplace. parameters: - $ref: '#/components/parameters/PaginatedQuery.page' @@ -3076,9 +3135,11 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Apps + x-internal: true /api/v1/marketplace/listings/{type}: get: operationId: getMarketplaceListing + summary: Get app details by type description: Get a marketplace listing by type. parameters: - name: type @@ -3131,9 +3192,11 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Apps + x-internal: true /api/v1/marketplace/listings/{type}/install/apikey: post: operationId: marketplaceAppAPIKeyInstall + summary: Install app via API key description: Install an marketplace via API Key. parameters: - $ref: '#/components/parameters/MarketplaceApiKeyInstallRequest.type' @@ -3202,9 +3265,11 @@ paths: If not set defaults to the marketplace item's description. required: - apiKey + x-internal: true /api/v1/marketplace/listings/{type}/install/oauth2: get: operationId: marketplaceOAuth2InstallGetURL + summary: Get OAuth2 install URL description: |- Install an app via OAuth. Returns a URL to start the OAuth 2.0 flow. @@ -3259,9 +3324,11 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Apps + x-internal: true /api/v1/marketplace/listings/{type}/install/oauth2/authorize: get: operationId: marketplaceOAuth2InstallAuthorize + summary: Install app via OAuth2 description: |- Authorize OAuth2 code. Verifies the OAuth code and exchanges it for a token and refresh token @@ -3313,9 +3380,11 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Apps + x-internal: true /api/v1/meters: get: operationId: listMeters + summary: List meters description: List meters. parameters: [] responses: @@ -3368,6 +3437,7 @@ paths: /api/v1/meters/{meterIdOrSlug}: get: operationId: getMeter + summary: Get meter description: Get a meter by ID or slug. parameters: - name: meterIdOrSlug @@ -3449,6 +3519,7 @@ paths: - $ref: '#/components/parameters/MeterQuery.filterGroupBy' - $ref: '#/components/parameters/MeterQuery.groupBy' description: Query meter for usage. Query meter for usage. + summary: Query meter Query meter responses: '200': description: The request has succeeded. @@ -3506,6 +3577,7 @@ paths: /api/v1/meters/{meterIdOrSlug}/subjects: get: operationId: listMeterSubjects + summary: List meter subjects description: List subjects for a meter. parameters: - name: meterIdOrSlug @@ -4439,6 +4511,7 @@ paths: /api/v1/notification/rules/{ruleId}/test: post: operationId: testNotificationRule + summary: Test notification rule description: Test a notification rule by sending a test event with random data. parameters: - name: ruleId @@ -4652,6 +4725,7 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Plan (Experimental) + x-internal: true post: operationId: createPlan summary: Create a plan @@ -4708,6 +4782,7 @@ paths: application/json: schema: $ref: '#/components/schemas/PlanCreate' + x-internal: true /api/v1/plans/{planIdOrKey}/next: post: operationId: nextPlan @@ -4783,6 +4858,7 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Plan (Experimental) + x-internal: true /api/v1/plans/{planId}: put: operationId: updatePlan @@ -4853,6 +4929,7 @@ paths: application/json: schema: $ref: '#/components/schemas/PlanUpdate' + x-internal: true get: operationId: getPlan summary: Get plan @@ -4936,6 +5013,7 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Plan (Experimental) + x-internal: true delete: operationId: deletePlan summary: Delete plan @@ -4998,6 +5076,7 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Plan (Experimental) + x-internal: true /api/v1/plans/{planId}/archive: post: operationId: archivePlan @@ -5062,6 +5141,7 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Plan (Experimental) + x-internal: true /api/v1/plans/{planId}/phases: get: operationId: listPlanPhases @@ -5136,6 +5216,7 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Plan (Experimental) + x-internal: true post: operationId: createPlanPhase summary: Create new phase in plan @@ -5199,6 +5280,7 @@ paths: application/json: schema: $ref: '#/components/schemas/PlanPhaseCreate' + x-internal: true /api/v1/plans/{planId}/phases/{planPhaseKey}: put: operationId: updatePlanPhase @@ -5277,6 +5359,7 @@ paths: application/json: schema: $ref: '#/components/schemas/PlanPhaseUpdate' + x-internal: true get: operationId: getPlanPhase summary: Get phase for plan @@ -5348,6 +5431,7 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Plan (Experimental) + x-internal: true delete: operationId: deletePlanPhase summary: Delete phase for plan @@ -5418,6 +5502,7 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Plan (Experimental) + x-internal: true /api/v1/plans/{planId}/publish: post: operationId: publishPlan @@ -5482,6 +5567,7 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Plan (Experimental) + x-internal: true /api/v1/portal/meters/{meterSlug}/query: get: operationId: queryPortalMeter @@ -5501,6 +5587,7 @@ paths: - $ref: '#/components/parameters/MeterQuery.filterGroupBy' - $ref: '#/components/parameters/MeterQuery.groupBy' description: Query meter for consumer portal. This endpoint is publicly exposable to consumers. Query meter for consumer portal. This endpoint is publicly exposable to consumers. + summary: Query meter Query meter responses: '200': description: The request has succeeded. @@ -5560,6 +5647,7 @@ paths: /api/v1/portal/tokens: post: operationId: createPortalToken + summary: Create consumer portal token description: Create a consumer portal token. parameters: [] responses: @@ -5615,6 +5703,7 @@ paths: $ref: '#/components/schemas/PortalToken' get: operationId: listPortalTokens + summary: List consumer portal tokens description: List tokens. parameters: - name: limit @@ -5752,6 +5841,7 @@ paths: $ref: '#/components/schemas/EntitlementCreateInputs' get: operationId: listSubjectEntitlements + summary: List entitlements description: List all entitlements for a subject. For checking entitlement access, use the /value endpoint instead. parameters: - name: subjectIdOrKey @@ -5816,6 +5906,7 @@ paths: /api/v1/subjects/{subjectIdOrKey}/entitlements/{entitlementIdOrFeatureKey}/grants: get: operationId: listEntitlementGrants + summary: List entitlement grants description: List all grants issued for an entitlement. The entitlement can be defined either by its id or featureKey. parameters: - name: subjectIdOrKey @@ -5891,6 +5982,7 @@ paths: - Entitlements (Beta) post: operationId: createGrant + summary: Create grant description: |- Grants define a behavior of granting usage for a metered entitlement. They can have complicated recurrence and rollover rules, thanks to which you can define a wide range of access patterns with a single grant, in most cases you don't have to periodically create new grants. You can only issue grants for active metered entitlements. @@ -5974,6 +6066,7 @@ paths: /api/v1/subjects/{subjectIdOrKey}/entitlements/{entitlementIdOrFeatureKey}/override: put: operationId: overrideEntitlement + summary: Override entitlement description: |- Overriding an entitlement creates a new entitlement from the provided inputs and soft deletes the previous entitlement for the provided subject-feature pair. If the previous entitlement is already deleted or otherwise doesnt exist, the override will fail. @@ -6055,6 +6148,7 @@ paths: /api/v1/subjects/{subjectIdOrKey}/entitlements/{entitlementIdOrFeatureKey}/value: get: operationId: getEntitlementValue + summary: Get entitlement value description: |- This endpoint should be used for access checks and enforcement. All entitlement types share the hasAccess property in their value response, but multiple other properties are returned based on the entitlement type. @@ -6131,6 +6225,7 @@ paths: /api/v1/subjects/{subjectIdOrKey}/entitlements/{entitlementId}: get: operationId: getEntitlement + summary: Get entitlement description: Get entitlement by id. For checking entitlement access, use the /value endpoint instead. parameters: - name: subjectIdOrKey @@ -6196,6 +6291,7 @@ paths: - Entitlements (Beta) delete: operationId: deleteEntitlement + summary: Delete entitlement description: |- Deleting an entitlement revokes access to the associated feature. As a single subject can only have one entitlement per featureKey, when "migrating" features you have to delete the old entitlements as well. As access and status checks can be historical queries, deleting an entitlement populates the deletedAt timestamp. When queried for a time before that, the entitlement is still considered active, you cannot have retroactive changes to access, which is important for, among other things, auditing. @@ -6260,6 +6356,7 @@ paths: /api/v1/subjects/{subjectIdOrKey}/entitlements/{entitlementId}/history: get: operationId: getEntitlementHistory + summary: Get entitlement history description: |- Returns historical balance and usage data for the entitlement. The queried history can span accross multiple reset events. @@ -6362,6 +6459,7 @@ paths: /api/v1/subjects/{subjectIdOrKey}/entitlements/{entitlementId}/reset: post: operationId: resetEntitlementUsage + summary: Reset entitlement description: |- Reset marks the start of a new usage period for the entitlement and initiates grant rollover. At the start of a period usage is zerod out and grants are rolled over based on their rollover settings. It would typically be synced with the subjects billing period to enforce usage based on their subscription. @@ -6432,7 +6530,8 @@ paths: $ref: '#/components/schemas/ResetEntitlementUsageInput' /api/v1/subscriptions: post: - operationId: Subscriptions_create + operationId: createSubscription + summary: Create subscription parameters: [] responses: '200': @@ -6491,6 +6590,7 @@ paths: application/json: schema: $ref: '#/components/schemas/CreateSubscriptionRequestBody' + x-internal: true /api/v1/subscriptions/{subscriptionId}: get: operationId: getSubscription @@ -6520,6 +6620,7 @@ paths: format: date-time example: 2023-01-01T01:01:01.001Z explode: false + summary: Get subscription Get subscription responses: '200': description: The request has succeeded. @@ -6571,10 +6672,12 @@ paths: application/problem+json: schema: $ref: '#/components/schemas/UnexpectedProblemResponse' + x-internal: true tags: - Subscriptions patch: operationId: editSubscription + summary: Edit subscription description: |- Batch processing commands for manipulating running subscriptions. The key format is `/phases/{phaseKey}` or `/phases/{phaseKey}/items/{itemKey}`. @@ -6662,9 +6765,11 @@ paths: - $ref: '#/components/schemas/SubscriptionEditAdd' - $ref: '#/components/schemas/SubscriptionEditExtend' - $ref: '#/components/schemas/SubscriptionEditRemoveWithValue' + x-internal: true /api/v1/subscriptions/{subscriptionId}/cancel: post: operationId: cancelSubscription + summary: Cancel subscription description: Cancels the subscription. parameters: - name: subscriptionId @@ -6743,9 +6848,11 @@ paths: format: date-time example: 2023-01-01T01:01:01.001Z description: If not provided the subscription is canceled immediately. + x-internal: true /api/v1/subscriptions/{subscriptionId}/migrate: post: operationId: migrateSubscription + summary: Migrate subscription description: Migrates the subscripiton to the procided version of the plan. parameters: - name: subscriptionId @@ -6824,9 +6931,11 @@ paths: minimum: 1 required: - targetVersion + x-internal: true /api/v1/subscriptions/{subscriptionId}/unschedule-cancelation: post: operationId: unscheduleCancelation + summary: Unschedule cancelation description: Cancels the scheduled cancelation. parameters: - name: subscriptionId @@ -6893,6 +7002,7 @@ paths: $ref: '#/components/schemas/UnexpectedProblemResponse' tags: - Subscriptions + x-internal: true components: parameters: BillingInvoiceListParams.expand: @@ -11405,12 +11515,14 @@ components: items: $ref: '#/components/schemas/Entitlement' - $ref: '#/components/schemas/EntitlementPaginatedResponse' + description: List entitlements result ListFeaturesResult: oneOf: - type: array items: $ref: '#/components/schemas/Feature' - $ref: '#/components/schemas/FeaturePaginatedResponse' + description: List features result MarketplaceListing: type: object required: diff --git a/api/spec/lib/index.js b/api/spec/lib/index.js index 8b2607c75..6edc7b3e8 100644 --- a/api/spec/lib/index.js +++ b/api/spec/lib/index.js @@ -3,12 +3,14 @@ import { casingRule } from './rules/casing.js' import { docDecoratorRule } from './rules/docs.js' import { friendlyNameRule } from './rules/friendlyName.js' import { discriminatedUnionsRule } from './rules/discriminatedUnions.js' +import { operationSummaryRule } from './rules/operationSummary.js' const rules = [ casingRule, docDecoratorRule, friendlyNameRule, discriminatedUnionsRule, + operationSummaryRule, ] // Linter experimentation diff --git a/api/spec/lib/rules/docs.js b/api/spec/lib/rules/docs.js index 0b886116a..7ba821341 100644 --- a/api/spec/lib/rules/docs.js +++ b/api/spec/lib/rules/docs.js @@ -11,7 +11,9 @@ export const docDecoratorRule = createRule({ model: (target) => { if ( target.name && - !target.decorators.find((d) => d.decorator?.name === '$docFromComment') + !target.decorators.find( + (d) => d.decorator?.name === 'docFromCommentDecorator', + ) ) { context.reportDiagnostic({ target, @@ -24,7 +26,9 @@ export const docDecoratorRule = createRule({ enum: (target) => { if ( target.name && - !target.decorators.find((d) => d.decorator?.name === '$docFromComment') + !target.decorators.find( + (d) => d.decorator?.name === 'docFromCommentDecorator', + ) ) { context.reportDiagnostic({ target, @@ -37,7 +41,9 @@ export const docDecoratorRule = createRule({ union: (target) => { if ( target.name && - !target.decorators.find((d) => d.decorator?.name === '$docFromComment') + !target.decorators.find( + (d) => d.decorator?.name === 'docFromCommentDecorator', + ) ) { context.reportDiagnostic({ target, diff --git a/api/spec/lib/rules/operationSummary.js b/api/spec/lib/rules/operationSummary.js new file mode 100644 index 000000000..cead82cda --- /dev/null +++ b/api/spec/lib/rules/operationSummary.js @@ -0,0 +1,27 @@ +import { createRule, paramMessage } from '@typespec/compiler' + +export const operationSummaryRule = createRule({ + name: 'operationSummary', + severity: 'error', + description: 'Ensure operation summary.', + messages: { + default: paramMessage`The ${'type'} ${'name'} must have a summary decorator.`, + }, + create: (context) => ({ + operation: (node) => { + if ( + node.name && + !node.decorators.some((d) => d.decorator.name === '$summary') + ) { + context.reportDiagnostic({ + format: { + type: node.kind, + name: node.name, + }, + target: node, + messageId: 'default', + }) + } + }, + }), +}) diff --git a/api/spec/src/app/app.tsp b/api/spec/src/app/app.tsp index 1dcf180f4..3b5dc7adc 100644 --- a/api/spec/src/app/app.tsp +++ b/api/spec/src/app/app.tsp @@ -28,6 +28,8 @@ interface Apps { */ @get @operationId("listApps") + @summary("List apps") + @extension("x-internal", true) list(...ListAppsRequest): Paginated | CommonErrors; /** @@ -36,6 +38,8 @@ interface Apps { @get @route("/{id}") @operationId("getApp") + @summary("Get app") + @extension("x-internal", true) get(@path id: ULID): App | NotFoundError | CommonErrors; /** @@ -44,6 +48,8 @@ interface Apps { @delete @route("/{id}") @operationId("uninstallApp") + @summary("Uninstall app") + @extension("x-internal", true) uninstall(@path id: ULID): { @statusCode _: 204; } | NotFoundError | CommonErrors; diff --git a/api/spec/src/app/marketplace.tsp b/api/spec/src/app/marketplace.tsp index 70d4b0542..d429d9f8c 100644 --- a/api/spec/src/app/marketplace.tsp +++ b/api/spec/src/app/marketplace.tsp @@ -24,6 +24,8 @@ interface Marketplace { @get @route("/listings") @operationId("listMarketplaceListings") + @summary("List available apps") + @extension("x-internal", true) list(...PaginatedQuery): Paginated | CommonErrors; /** @@ -32,6 +34,8 @@ interface Marketplace { @get @route("/listings/{type}") @operationId("getMarketplaceListing") + @summary("Get app details by type") + @extension("x-internal", true) get(type: Type): MarketplaceListing | CommonErrors; /* **************** Install App via OAuth2 **************** */ @@ -43,6 +47,8 @@ interface Marketplace { @get @route("/listings/{type}/install/oauth2") @operationId("marketplaceOAuth2InstallGetURL") + @summary("Get OAuth2 install URL") + @extension("x-internal", true) getOAuth2InstallURL( @path type: Type, ): OAuth2.ClientAppStartResponse | CommonErrors; @@ -54,6 +60,8 @@ interface Marketplace { @get @route("/listings/{type}/install/oauth2/authorize") @operationId("marketplaceOAuth2InstallAuthorize") + @summary("Install app via OAuth2") + @extension("x-internal", true) authorizeOAuth2Install(...MarketplaceOAuth2InstallAuthorizeRequest): { @statusCode _: 303; } | CommonErrors; @@ -66,6 +74,8 @@ interface Marketplace { @post @route("/listings/{type}/install/apikey") @operationId("marketplaceAppAPIKeyInstall") + @summary("Install app via API key") + @extension("x-internal", true) installWithAPIKey(...MarketplaceApiKeyInstallRequest): AppBase | CommonErrors; } diff --git a/api/spec/src/app/stripe.tsp b/api/spec/src/app/stripe.tsp index d1420b94b..331783469 100644 --- a/api/spec/src/app/stripe.tsp +++ b/api/spec/src/app/stripe.tsp @@ -28,6 +28,8 @@ interface AppStripe { @post @route("/api/v1/apps/{id}/stripe/webhook") @operationId("appStripeWebhook") + @summary("Stripe webhook") + @extension("x-internal", true) webhook( @path id: ULID, @body body: StripeWebhookEvent, @@ -39,6 +41,8 @@ interface AppStripe { @post @route("/api/v1/integration/stripe/checkout/sessions") @operationId("createStripeCheckoutSession") + @summary("Create checkout session") + @extension("x-internal", true) createCheckoutSession(@body body: CreateStripeCheckoutSessionRequest): { @statusCode _: 201; @body body: CreateStripeCheckoutSessionResult; diff --git a/api/spec/src/billing/customeroverride.tsp b/api/spec/src/billing/customeroverride.tsp index e935c60dd..c1c3e7ec5 100644 --- a/api/spec/src/billing/customeroverride.tsp +++ b/api/spec/src/billing/customeroverride.tsp @@ -12,6 +12,7 @@ interface CustomerOverrides { @get @summary("List customer overrides") @operationId("billingListCustomerOverrides") + @extension("x-internal", true) list( @query billingProfile?: Array, @@ -28,6 +29,7 @@ interface CustomerOverrides { @route("/{customerId}") @summary("Create/update a customer override") @operationId("billingUpsertCustomerOverride") + @extension("x-internal", true) upsert( @path customerId: ULID, @@ -57,6 +59,7 @@ interface CustomerOverrides { @route("/{customerId}") @summary("Get a customer override") @operationId("billingGetCustomerOverrideById") + @extension("x-internal", true) get( @path customerId: ULID, @@ -69,6 +72,7 @@ interface CustomerOverrides { @route("/{customerId}") @summary("Delete a customer override") @operationId("billingDeleteCustomerOverride") + @extension("x-internal", true) delete( @path customerId: ULID, diff --git a/api/spec/src/billing/invoices.tsp b/api/spec/src/billing/invoices.tsp index 37adfe2da..aff3420e1 100644 --- a/api/spec/src/billing/invoices.tsp +++ b/api/spec/src/billing/invoices.tsp @@ -16,6 +16,7 @@ interface InvoiceEndpoints { @get @summary("List invoices") @operationId("billingListInvoices") + @extension("x-internal", true) list( @query @summary("Filter by the customer ID or key") @@ -49,6 +50,7 @@ interface CustomerInvoicesEndpoints { @post @summary("Create an invoice") @operationId("billingCreateInvoice") + @extension("x-internal", true) create( @path customerId: ULID, @@ -66,6 +68,7 @@ interface CustomerInvoicesEndpoints { @get @summary("List invoices") @operationId("billingListInvoicesByCustomer") + @extension("x-internal", true) listInvoicesByCustomer( @path customerId: ULID, ...InvoiceListParams, @@ -91,6 +94,7 @@ interface CustomerInvoicesEndpoints { @route("/lines") @summary("Create line items") @operationId("billingCreateLineByCustomer") + @extension("x-internal", true) createLine(@path customerId: ULID, @body request: CreateLinesRequest): { @statusCode _: 201; @body body: CreateLineResult; @@ -109,6 +113,7 @@ interface CustomerInvoiceEndpoints { @get @summary("Get an invoice") @operationId("billingGetInvoiceByCustomerInvoiceId") + @extension("x-internal", true) getInvoice( @path customerId: ULID, @@ -128,6 +133,7 @@ interface CustomerInvoiceEndpoints { @delete @summary("Delete an invoice") @operationId("billingDeleteInvoiceByCustomerInvoiceId") + @extension("x-internal", true) deleteInvoice( @path customerId: ULID, @@ -148,6 +154,7 @@ interface CustomerInvoiceEndpoints { @route("/tax/recalculate") @summary("Recalculate an invoice's tax amounts") @operationId("billingRecalculateInvoiceTax") + @extension("x-internal", true) recalculateTax( @path customerId: ULID, @@ -172,6 +179,7 @@ interface CustomerInvoiceEndpoints { @route("/approve") @summary("Send the invoice to the customer") @operationId("billingApproveInvoice") + @extension("x-internal", true) approve( @path customerId: ULID, @@ -194,6 +202,7 @@ interface CustomerInvoiceEndpoints { @route("/void") @summary("Void an invoice") @operationId("billingVoidInvoice") + @extension("x-internal", true) voidInvoice( @path customerId: ULID, @@ -219,6 +228,7 @@ interface CustomerInvoiceEndpoints { @route("/advance") @summary("Advance the invoice's state to the next status") @operationId("billingInvoiceAdvance") + @extension("x-internal", true) advance( @path customerId: ULID, @@ -239,6 +249,7 @@ interface CustomerInvoiceEndpoints { @route("/retry") @summary("Retry advancing the invoice after a failed attempt.") @operationId("billingInvoiceRetry") + @extension("x-internal", true) retry( @path customerId: ULID, @@ -259,6 +270,7 @@ interface CustomerInvoiceEndpoints { @route("/lines/{lineId}") @summary("Delete an invoice line") @operationId("billingDeleteInvoiceLine") + @extension("x-internal", true) deleteInvoiceLine( @path customerId: ULID, @path invoiceId: ULID, @@ -274,6 +286,7 @@ interface CustomerInvoiceEndpoints { @route("/lines/{lineId}") @summary("Update an invoice line") @operationId("billingUpdateInvoiceLine") + @extension("x-internal", true) updateInvoiceLine( @path customerId: ULID, @path invoiceId: ULID, diff --git a/api/spec/src/billing/profile.tsp b/api/spec/src/billing/profile.tsp index 4a3f3fc28..a30afb5b8 100644 --- a/api/spec/src/billing/profile.tsp +++ b/api/spec/src/billing/profile.tsp @@ -11,6 +11,8 @@ interface Profiles { */ @get @operationId("billingListProfiles") + @summary("List billing profiles") + @extension("x-internal", true) list( @query includeArchived?: boolean = false, @@ -32,6 +34,7 @@ interface Profiles { @post @summary("Create a new billing profile") @operationId("billingCreateProfile") + @extension("x-internal", true) create(@body profile: ProfileCreateInput): { @statusCode _: 201; @body profile: Profile; @@ -44,6 +47,7 @@ interface Profiles { @delete @summary("Archive a billing profile") @operationId("billingArchiveProfile") + @extension("x-internal", true) archive(@path id: string): { @statusCode _: 204; } | OpenMeter.CommonErrors | OpenMeter.NotFoundError; @@ -55,6 +59,7 @@ interface Profiles { @get @summary("Get a billing profile by ID") @operationId("billingGetProfile") + @extension("x-internal", true) get( @path id: string, @query expand?: ProfileExpand[], @@ -67,6 +72,7 @@ interface Profiles { @put @summary("Update a billing profile") @operationId("billingUpdateProfile") + @extension("x-internal", true) update(@path id: string, @body profile: Profile): { @statusCode _: 200; @body profile: Profile; diff --git a/api/spec/src/cloud/main.tsp b/api/spec/src/cloud/main.tsp index 8e841198a..27428dfd1 100644 --- a/api/spec/src/cloud/main.tsp +++ b/api/spec/src/cloud/main.tsp @@ -29,6 +29,42 @@ using TypeSpec.OpenAPI; @server("https://127.0.0.1:8888", "Local") @server("https://openmeter.cloud", "Cloud") @useAuth(CloudTokenAuth | CloudCookieAuth) +@tagMetadata( + "Meters", + #{ + description: "Meters are used to aggregate usage events. They are designed to offer multiple aggregation methods and window sizes, making it highly adaptable to your specific needs.", + } +) +@tagMetadata( + "Events", + #{ + description: "A usage event can be anything you need to track accurately over time for billing or analytics purposes.", + } +) +@tagMetadata( + "Subjects", + #{ + description: "Subjects are entities that consume resources you wish to meter. These can range from users, servers, and services to devices. The design of subjects is intentionally generic, enabling flexible application across various metering scenarios. Typically, a subject acts as a unique identifier within your system for a user or customer. [Read more](https://openmeter.io/docs/cloud/subjects).", + } +) +@tagMetadata( + "Entitlements (Beta)", + #{ + description: "Entitlements make it possible to implement complex pricing scenarios such as monthly quotas, prepaid billing, and per-customer pricing. Don't just list usage limits on your marketing page—enforce them within your application to control the cost of expensive resources like LLMs. [Read more](https://openmeter.io/docs/guides/entitlements/overview).", + } +) +@tagMetadata( + "Notification (Beta)", + #{ + description: "Notifications provide automated triggers when specific entitlement balances and usage thresholds are reached, ensuring that your customers and sales teams are always informed. For example, you can email your customers when they reach 75%, 100%, and 150% of their monthly token allowance and notify your sales team when an overage happens to drive expansions. [Read more](https://openmeter.io/docs/guides/notifications/overview).", + } +) +@tagMetadata( + "Portal", + #{ + description: "With the Consumer Portal, you can build in-app user-facing dashboards where your customers can follow their consumption in real-time. [Read more](https://openmeter.io/docs/guides/customer-dashboard).", + } +) namespace OpenMeterCloud; @route("/api/v1/events") @@ -43,6 +79,7 @@ interface Meters extends OpenMeter.Meters { */ @post @operationId("createMeter") + @summary("Create meter") create( @body meter: MeterCreate, @@ -56,6 +93,7 @@ interface Meters extends OpenMeter.Meters { */ @delete @operationId("deleteMeter") + @summary("Delete meter") delete( @path meterIdOrSlug: OpenMeter.MeterIdentifier, ): void | OpenMeter.CommonErrors; @@ -71,6 +109,7 @@ namespace OpenMeterCloud.Portal { @route("/invalidate") @post @operationId("invalidatePortalTokens") + @summary("Invalidate portal tokens") invalidate( /** * Invalidate a portal token by ID. diff --git a/api/spec/src/cloud/subjects.tsp b/api/spec/src/cloud/subjects.tsp index a2ad56356..4a7bd0a1b 100644 --- a/api/spec/src/cloud/subjects.tsp +++ b/api/spec/src/cloud/subjects.tsp @@ -16,6 +16,7 @@ interface Subjects { */ @get @operationId("listSubjects") + @summary("List subjects") list(): OpenMeter.Subject[] | OpenMeter.CommonErrors; /** @@ -23,6 +24,7 @@ interface Subjects { */ @get @operationId("getSubject") + @summary("Get subject") get( @path subjectIdOrKey: string, ): OpenMeter.Subject | OpenMeter.NotFoundError | OpenMeter.CommonErrors; @@ -35,6 +37,7 @@ interface Subjects { */ @post @operationId("upsertSubject") + @summary("Upsert subject") upsert( @body subject: SubjectUpsert[], ): OpenMeter.Subject[] | OpenMeter.CommonErrors; @@ -44,6 +47,7 @@ interface Subjects { */ @delete @operationId("deleteSubject") + @summary("Delete subject") delete(@path subjectIdOrKey: string): void | OpenMeter.CommonErrors; } diff --git a/api/spec/src/customer.tsp b/api/spec/src/customer.tsp index 4e6c43d8b..a9efdf0dc 100644 --- a/api/spec/src/customer.tsp +++ b/api/spec/src/customer.tsp @@ -22,6 +22,8 @@ interface Customers { */ @post @operationId("createCustomer") + @summary("Create customer") + @extension("x-internal", true) create(@body customer: Customer): Customer | CommonErrors; /** @@ -29,6 +31,8 @@ interface Customers { */ @get @operationId("listCustomers") + @summary("List customers") + @extension("x-internal", true) list(...ListCustomersParams): Paginated | CommonErrors; /** @@ -37,6 +41,8 @@ interface Customers { @get @route("/{id}") @operationId("getCustomer") + @summary("Get customer") + @extension("x-internal", true) get(@path id: ULID): Customer | NotFoundError | CommonErrors; /** @@ -45,6 +51,8 @@ interface Customers { @put @route("/{id}") @operationId("updateCustomer") + @summary("Update customer") + @extension("x-internal", true) update( @path id: ULID, @body customer: Customer, @@ -56,6 +64,8 @@ interface Customers { @delete @route("/{id}") @operationId("deleteCustomer") + @summary("Delete customer") + @extension("x-internal", true) delete(@path id: ULID): Customer | NotFoundError | CommonErrors; } diff --git a/api/spec/src/entitlements/entitlements.tsp b/api/spec/src/entitlements/entitlements.tsp index 91b0f4a9c..d24552228 100644 --- a/api/spec/src/entitlements/entitlements.tsp +++ b/api/spec/src/entitlements/entitlements.tsp @@ -66,6 +66,7 @@ interface Entitlements { */ @get @operationId("getEntitlementById") + @summary("Get entitlement by id") get( @path entitlementId: ULID, @@ -74,6 +75,9 @@ interface Entitlements { // TODO: Remove in v2 +/** + * List entitlements result + */ @oneOf @friendlyName("ListEntitlementsResult") union ListEntitlementsResult { diff --git a/api/spec/src/entitlements/feature.tsp b/api/spec/src/entitlements/feature.tsp index ac839fb0e..361fb649d 100644 --- a/api/spec/src/entitlements/feature.tsp +++ b/api/spec/src/entitlements/feature.tsp @@ -28,6 +28,7 @@ interface Features { */ @get @operationId("listFeatures") + @summary("List features") list( /** * Filter by meterSlug @@ -54,6 +55,7 @@ interface Features { */ @post @operationId("createFeature") + @summary("Create feature") create(@body feature: FeatureCreateInputs): { @statusCode _: 201; @body body: Feature; @@ -64,6 +66,7 @@ interface Features { */ @get @operationId("getFeature") + @summary("Get feature") get( @path featureId: string, ): Feature | OpenMeter.NotFoundError | OpenMeter.CommonErrors; @@ -76,6 +79,7 @@ interface Features { */ @delete @operationId("deleteFeature") + @summary("Delete feature") delete(@path featureId: string): { @statusCode _: 204; } | OpenMeter.NotFoundError | OpenMeter.CommonErrors; @@ -122,6 +126,9 @@ model FeatureCreateInputs { // TODO: Remove in v2 +/** + * List features result + */ @oneOf @friendlyName("ListFeaturesResult") union ListFeaturesResult { diff --git a/api/spec/src/entitlements/grant.tsp b/api/spec/src/entitlements/grant.tsp index 305eafb3a..9e5c57161 100644 --- a/api/spec/src/entitlements/grant.tsp +++ b/api/spec/src/entitlements/grant.tsp @@ -32,6 +32,7 @@ interface Grants { */ @get @operationId("listGrants") + @summary("List grants") list( /** * Filtering by multiple features. @@ -65,6 +66,7 @@ interface Grants { */ @delete @operationId("voidGrant") + @summary("Void grant") delete(@path grantId: string): | { @statusCode _: 204; diff --git a/api/spec/src/entitlements/subjects.tsp b/api/spec/src/entitlements/subjects.tsp index 4a33cdabc..67c8c1cea 100644 --- a/api/spec/src/entitlements/subjects.tsp +++ b/api/spec/src/entitlements/subjects.tsp @@ -39,6 +39,7 @@ interface Subjects { */ @get @operationId("listSubjectEntitlements") + @summary("List entitlements") list( @path subjectIdOrKey: string, @query includeDeleted?: boolean = false, @@ -49,6 +50,7 @@ interface Subjects { */ @get @operationId("getEntitlement") + @summary("Get entitlement") get( @path subjectIdOrKey: string, @path entitlementId: string, @@ -60,6 +62,7 @@ interface Subjects { */ @delete @operationId("deleteEntitlement") + @summary("Delete entitlement") delete(@path subjectIdOrKey: string, @path entitlementId: string): { @statusCode _: 204; } | OpenMeter.CommonErrors | OpenMeter.NotFoundError; @@ -72,6 +75,7 @@ interface Subjects { @put @operationId("overrideEntitlement") @route("/{entitlementIdOrFeatureKey}/override") + @summary("Override entitlement") override( @path subjectIdOrKey: string, @path entitlementIdOrFeatureKey: string, @@ -91,6 +95,7 @@ interface Subjects { @get @operationId("listEntitlementGrants") @route("/{entitlementIdOrFeatureKey}/grants") + @summary("List entitlement grants") getGrants( @path subjectIdOrKey: string, @path entitlementIdOrFeatureKey: string, @@ -114,6 +119,7 @@ interface Subjects { @post @operationId("createGrant") @route("/{entitlementIdOrFeatureKey}/grants") + @summary("Create grant") createGrant( @path subjectIdOrKey: string, @path entitlementIdOrFeatureKey: string, @@ -131,6 +137,7 @@ interface Subjects { @get @operationId("getEntitlementValue") @route("/{entitlementIdOrFeatureKey}/value") + @summary("Get entitlement value") getEntitlementValue( @path subjectIdOrKey: string, @path entitlementIdOrFeatureKey: string, @@ -147,6 +154,7 @@ interface Subjects { @get @operationId("getEntitlementHistory") @route("/{entitlementId}/history") + @summary("Get entitlement history") getEntitlementHistory( @path subjectIdOrKey: string, @path entitlementId: string, @@ -181,6 +189,7 @@ interface Subjects { @post @operationId("resetEntitlementUsage") @route("/{entitlementId}/reset") + @summary("Reset entitlement") reset( @path subjectIdOrKey: string, @path entitlementId: string, diff --git a/api/spec/src/events.tsp b/api/spec/src/events.tsp index eb1c7b976..c9fd66980 100644 --- a/api/spec/src/events.tsp +++ b/api/spec/src/events.tsp @@ -100,6 +100,7 @@ interface Events { */ @post @operationId("ingestEvents") + @summary("Ingest") // summary will be combined with the next operation summary (Ingest events) @sharedRoute ingestEvent( @header contentType: "application/cloudevents+json", @@ -111,6 +112,7 @@ interface Events { @post @operationId("ingestEvents") + @summary("events") @sharedRoute ingestEvents( @header contentType: "application/cloudevents-batch+json", diff --git a/api/spec/src/main.tsp b/api/spec/src/main.tsp index 4264a6b6e..f5f2ef5f5 100644 --- a/api/spec/src/main.tsp +++ b/api/spec/src/main.tsp @@ -41,4 +41,34 @@ using TypeSpec.Versioning; }, }) @server("https://127.0.0.1", "Local") +@tagMetadata( + "Meters", + #{ + description: "Meters are used to aggregate usage events. They are designed to offer multiple aggregation methods and window sizes, making it highly adaptable to your specific needs.", + } +) +@tagMetadata( + "Events", + #{ + description: "A usage event can be anything you need to track accurately over time for billing or analytics purposes. [Read more](https://openmeter.io/docs/concepts/usage-events).", + } +) +@tagMetadata( + "Entitlements (Beta)", + #{ + description: "Entitlements make it possible to implement complex pricing scenarios such as monthly quotas, prepaid billing, and per-customer pricing. Don't just list usage limits on your marketing page—enforce them within your application to control the cost of expensive resources like LLMs.", + } +) +@tagMetadata( + "Notification (Beta)", + #{ + description: "Notifications provide automated triggers when specific entitlement balances and usage thresholds are reached, ensuring that your customers and sales teams are always informed. For example, you can email your customers when they reach 75%, 100%, and 150% of their monthly token allowance and notify your sales team when an overage happens to drive expansions.", + } +) +@tagMetadata( + "Portal", + #{ + description: "With the Consumer Portal, you can build in-app user-facing dashboards where your customers can follow their consumption in real-time.", + } +) namespace OpenMeter; diff --git a/api/spec/src/meters.tsp b/api/spec/src/meters.tsp index 712bc70a3..d320d7f49 100644 --- a/api/spec/src/meters.tsp +++ b/api/spec/src/meters.tsp @@ -16,6 +16,7 @@ interface Meters { */ @get @operationId("listMeters") + @summary("List meters") list(): Meter[] | CommonErrors; /** @@ -23,6 +24,7 @@ interface Meters { */ @get @operationId("getMeter") + @summary("Get meter") get( @path meterIdOrSlug: MeterIdentifier, ): Meter | NotFoundError | CommonErrors; @@ -33,6 +35,7 @@ interface Meters { @get @route("/{meterIdOrSlug}/query") @operationId("queryMeter") + @summary("Query meter") @sharedRoute queryJson(@path meterIdOrSlug: MeterIdentifier, ...MeterQuery): { @header contentType: "application/json"; @@ -45,6 +48,7 @@ interface Meters { @get @route("/{meterIdOrSlug}/query") @operationId("queryMeter") + @summary("Query meter") @sharedRoute queryCsv(@path meterIdOrSlug: MeterIdentifier, ...MeterQuery): { @header contentType: "text/csv"; @@ -65,6 +69,7 @@ interface Meters { @get @route("/{meterIdOrSlug}/subjects") @operationId("listMeterSubjects") + @summary("List meter subjects") listSubjects(@path meterIdOrSlug: MeterIdentifier): { @body @example(#["customer_1", "customer_2"]) diff --git a/api/spec/src/notification/rule.tsp b/api/spec/src/notification/rule.tsp index 6ef4f4aa2..dd6ade0fc 100644 --- a/api/spec/src/notification/rule.tsp +++ b/api/spec/src/notification/rule.tsp @@ -306,6 +306,7 @@ interface Rules { @post @route("/{ruleId}/test") @operationId("testNotificationRule") + @summary("Test notification rule") test(@path ruleId: ULID): { @statusCode _: 201; @body body: NotificationEvent; diff --git a/api/spec/src/portal.tsp b/api/spec/src/portal.tsp index 3558bae7b..4465a8bc8 100644 --- a/api/spec/src/portal.tsp +++ b/api/spec/src/portal.tsp @@ -16,6 +16,7 @@ interface Tokens { */ @post @operationId("createPortalToken") + @summary("Create consumer portal token") create(@body token: Token): { // TODO: Should be 201 @statusCode _: 200; @@ -28,6 +29,7 @@ interface Tokens { */ @get @operationId("listPortalTokens") + @summary("List consumer portal tokens") list( @query @minValue(1) @@ -88,6 +90,7 @@ interface Meters { @get @route("/{meterSlug}/query") @operationId("queryPortalMeter") + @summary("Query meter") @sharedRoute queryJson( @path meterSlug: Key, @@ -103,6 +106,7 @@ interface Meters { @get @route("/{meterSlug}/query") @operationId("queryPortalMeter") + @summary("Query meter") @sharedRoute queryCsv( @path meterSlug: Key, diff --git a/api/spec/src/productcatalog/routes.tsp b/api/spec/src/productcatalog/routes.tsp index 95e22a5ac..62acafc8e 100644 --- a/api/spec/src/productcatalog/routes.tsp +++ b/api/spec/src/productcatalog/routes.tsp @@ -14,6 +14,7 @@ interface Plans { @get @operationId("listPlans") @summary("List plans") + @extension("x-internal", true) list( /** * Include deleted plans in response. @@ -52,6 +53,7 @@ interface Plans { @post @operationId("createPlan") @summary("Create a plan") + @extension("x-internal", true) create(@body request: TypeSpec.Rest.Resource.ResourceCreateModel): { @statusCode _: 201; @bodyRoot body: Plan; @@ -63,6 +65,7 @@ interface Plans { @put @operationId("updatePlan") @summary("Update a plan") + @extension("x-internal", true) update( @path planId: ULID, @body request: TypeSpec.Rest.Resource.ResourceCreateOrUpdateModel, @@ -74,6 +77,7 @@ interface Plans { @get @operationId("getPlan") @summary("Get plan") + @extension("x-internal", true) get( @extension("x-go-type", "string") @path @@ -97,6 +101,7 @@ interface Plans { @delete @operationId("deletePlan") @summary("Delete plan") + @extension("x-internal", true) delete(@path planId: ULID): { @statusCode _: 204; } | OpenMeter.NotFoundError | OpenMeter.CommonErrors; @@ -109,6 +114,7 @@ interface Plans { @sharedRoute @operationId("publishPlan") @summary("Publish plan") + @extension("x-internal", true) publish( @path planId: ULID, ): Plan | OpenMeter.NotFoundError | OpenMeter.CommonErrors; @@ -121,6 +127,7 @@ interface Plans { @sharedRoute @operationId("archivePlan") @summary("Archive plan version") + @extension("x-internal", true) archive( @path planId: ULID, ): Plan | OpenMeter.NotFoundError | OpenMeter.CommonErrors; @@ -134,6 +141,7 @@ interface Plans { @sharedRoute @operationId("nextPlan") @summary("New draft plan") + @extension("x-internal", true) next( @extension("x-go-type", "string") @path @@ -153,6 +161,7 @@ interface PlanPhases { @get @operationId("listPlanPhases") @summary("List phases in plan") + @extension("x-internal", true) list( @path planId: ULID, @@ -172,6 +181,7 @@ interface PlanPhases { @post @operationId("createPlanPhase") @summary("Create new phase in plan") + @extension("x-internal", true) create( @path planId: ULID, @body request: TypeSpec.Rest.Resource.ResourceCreateModel, @@ -186,6 +196,7 @@ interface PlanPhases { @put @operationId("updatePlanPhase") @summary("Update phase in plan") + @extension("x-internal", true) update( @path planId: ULID, @path planPhaseKey: Key, @@ -200,6 +211,7 @@ interface PlanPhases { @get @operationId("getPlanPhase") @summary("Get phase for plan") + @extension("x-internal", true) get( @path planId: ULID, @path planPhaseKey: Key, @@ -213,6 +225,7 @@ interface PlanPhases { @delete @operationId("deletePlanPhase") @summary("Delete phase for plan") + @extension("x-internal", true) delete(@path planId: ULID, @path planPhaseKey: Key): { @statusCode _: 204; } | OpenMeter.NotFoundError | OpenMeter.CommonErrors; @@ -222,8 +235,10 @@ interface PlanPhases { @tag("Subscriptions") interface Subscriptions { @get - @operationId("getSubscription") @sharedRoute + @operationId("getSubscription") + @summary("Get subscription") + @extension("x-internal", true) get( @path subscriptionId: ULID, @query expand?: false, @@ -235,8 +250,10 @@ interface Subscriptions { ): Subscription | OpenMeter.NotFoundError | OpenMeter.CommonErrors; @get - @operationId("getSubscription") @sharedRoute + @operationId("getSubscription") + @summary("Get subscription") + @extension("x-internal", true) getExpanded( @path subscriptionId: ULID, @query expand: true, @@ -247,6 +264,10 @@ interface Subscriptions { @query at?: DateTime, ): SubscriptionExpanded | OpenMeter.NotFoundError | OpenMeter.CommonErrors; + @post + @operationId("createSubscription") + @summary("Create subscription") + @extension("x-internal", true) create( @body body: CreateSubscriptionRequestBody, ): Subscription | OpenMeter.ConflictError | OpenMeter.CommonErrors; @@ -263,7 +284,9 @@ interface Subscriptions { */ @patch @operationId("editSubscription") + @summary("Edit subscription") @route("/{subscriptionId}") + @extension("x-internal", true) edit( @path subscriptionId: ULID, @@ -281,7 +304,9 @@ interface Subscriptions { */ @post @operationId("migrateSubscription") + @summary("Migrate subscription") @route("/{subscriptionId}/migrate") + @extension("x-internal", true) migrate( @path subscriptionId: ULID, @body body: { @@ -299,7 +324,9 @@ interface Subscriptions { */ @post @operationId("cancelSubscription") + @summary("Cancel subscription") @route("/{subscriptionId}/cancel") + @extension("x-internal", true) cancel( @path subscriptionId: ULID, @body body: { @@ -319,7 +346,9 @@ interface Subscriptions { */ @post @operationId("unscheduleCancelation") + @summary("Unschedule cancelation") @route("/{subscriptionId}/unschedule-cancelation") + @extension("x-internal", true) unscheduleCancelation(@path subscriptionId: ULID): | Subscription | OpenMeter.ConflictError diff --git a/openmeter/server/router/subscription.go b/openmeter/server/router/subscription.go index 92538d64f..7f0b8b73d 100644 --- a/openmeter/server/router/subscription.go +++ b/openmeter/server/router/subscription.go @@ -7,7 +7,7 @@ import ( ) // (POST /api/v1/subscriptions) -func (a *Router) SubscriptionsCreate(w http.ResponseWriter, r *http.Request) { +func (a *Router) CreateSubscription(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusNotImplemented) }