From 9df25c0df3bf98cf55463cf8ebb6ea0e7480b0a8 Mon Sep 17 00:00:00 2001 From: speakeasybot Date: Wed, 22 Jul 2026 00:36:08 +0000 Subject: [PATCH 1/2] =?UTF-8?q?##=20Php=20SDK=20Changes:=20*=20`polar->che?= =?UTF-8?q?ckouts->clientUpdate()`:=20=20`response`=20**Changed**=20(Break?= =?UTF-8?q?ing=20=E2=9A=A0=EF=B8=8F)=20*=20`polar->benefits->grants()`:=20?= =?UTF-8?q?=20`response.items[]`=20**Changed**=20(Breaking=20=E2=9A=A0?= =?UTF-8?q?=EF=B8=8F)=20*=20`polar->organizations->update()`:=20=20=20*=20?= =?UTF-8?q?=20`request.organizationUpdate`=20**Changed**=20(Breaking=20?= =?UTF-8?q?=E2=9A=A0=EF=B8=8F)=20=20=20*=20=20`response`=20**Changed**=20(?= =?UTF-8?q?Breaking=20=E2=9A=A0=EF=B8=8F)=20=20=20*=20=20`error.status[409?= =?UTF-8?q?]`=20**Added**=20*=20`polar->subscriptions->list()`:=20=20=20*?= =?UTF-8?q?=20=20`request->status`=20**Added**=20=20=20*=20=20`response.it?= =?UTF-8?q?ems[]`=20**Changed**=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20*=20`p?= =?UTF-8?q?olar->subscriptions->create()`:=20=20`response`=20**Changed**?= =?UTF-8?q?=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20*=20`polar->customer=5Fmet?= =?UTF-8?q?ers->get()`:=20=20`response`=20**Changed**=20(Breaking=20?= =?UTF-8?q?=E2=9A=A0=EF=B8=8F)=20*=20`polar->customer=5Fmeters->list()`:?= =?UTF-8?q?=20=20`response.items[]`=20**Changed**=20(Breaking=20=E2=9A=A0?= =?UTF-8?q?=EF=B8=8F)=20*=20`polar->event-types->list()`:=20=20`response.i?= =?UTF-8?q?tems[]`=20**Changed**=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20*=20`?= =?UTF-8?q?polar->events->get()`:=20=20`response.union(SystemEvent)`=20**C?= =?UTF-8?q?hanged**=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20*=20`polar->events?= =?UTF-8?q?->list()`:=20=20`response.union(ListResource=5FEvent=5F)->items?= =?UTF-8?q?[]->union(SystemEvent)`=20**Changed**=20(Breaking=20=E2=9A=A0?= =?UTF-8?q?=EF=B8=8F)=20*=20`polar->customer-sessions->create()`:=20=20`re?= =?UTF-8?q?sponse.customer`=20**Changed**=20(Breaking=20=E2=9A=A0=EF=B8=8F?= =?UTF-8?q?)=20*=20`polar->customer-seats->assignSeat()`:=20=20=20*=20=20`?= =?UTF-8?q?request->checkoutId`=20**Removed**=20(Breaking=20=E2=9A=A0?= =?UTF-8?q?=EF=B8=8F)=20=20=20*=20=20`response`=20**Changed**=20*=20`polar?= =?UTF-8?q?->files->list()`:=20=20`response.items[]->union(support=5Fcase?= =?UTF-8?q?=5Fattachment)`=20**Added**=20(Breaking=20=E2=9A=A0=EF=B8=8F)?= =?UTF-8?q?=20*=20`polar->customer=5Fportal->subscriptions->update()`:=20?= =?UTF-8?q?=20=20*=20=20`request.customerSubscriptionUpdate`=20**Changed**?= =?UTF-8?q?=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20=20=20*=20=20`response`=20?= =?UTF-8?q?**Changed**=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20=20=20*=20=20`e?= =?UTF-8?q?rror`=20**Changed**=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20*=20`po?= =?UTF-8?q?lar->customer=5Fportal->subscriptions->cancel()`:=20=20`respons?= =?UTF-8?q?e`=20**Changed**=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20*=20`polar?= =?UTF-8?q?->customer=5Fportal->subscriptions->get()`:=20=20`response`=20*?= =?UTF-8?q?*Changed**=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20*=20`polar->cust?= =?UTF-8?q?omer=5Fportal->subscriptions->list()`:=20=20`response.items[]`?= =?UTF-8?q?=20**Changed**=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20*=20`polar->?= =?UTF-8?q?customer=5Fportal->organizations->get()`:=20=20`response`=20**C?= =?UTF-8?q?hanged**=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20*=20`polar->custom?= =?UTF-8?q?er=5Fportal->orders->generateInvoice()`:=20=20`error`=20**Chang?= =?UTF-8?q?ed**=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20*=20`polar->customer?= =?UTF-8?q?=5Fportal->orders->update()`:=20=20`response`=20**Changed**=20(?= =?UTF-8?q?Breaking=20=E2=9A=A0=EF=B8=8F)=20*=20`polar->organizations->cre?= =?UTF-8?q?ate()`:=20=20=20*=20=20`request`=20**Changed**=20(Breaking=20?= =?UTF-8?q?=E2=9A=A0=EF=B8=8F)=20=20=20*=20=20`response`=20**Changed**=20(?= =?UTF-8?q?Breaking=20=E2=9A=A0=EF=B8=8F)=20=20=20*=20=20`error.status[403?= =?UTF-8?q?]`=20**Added**=20*=20`polar->customer=5Fportal->orders->get()`:?= =?UTF-8?q?=20=20`response`=20**Changed**=20(Breaking=20=E2=9A=A0=EF=B8=8F?= =?UTF-8?q?)=20*=20`polar->customer=5Fportal->orders->list()`:=20=20`respo?= =?UTF-8?q?nse.items[]`=20**Changed**=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20?= =?UTF-8?q?*=20`polar->customer=5Fportal->licenseKeys->activate()`:=20=20`?= =?UTF-8?q?response.licenseKey->customer`=20**Changed**=20(Breaking=20?= =?UTF-8?q?=E2=9A=A0=EF=B8=8F)=20*=20`polar->customer=5Fportal->licenseKey?= =?UTF-8?q?s->validate()`:=20=20`response.customer`=20**Changed**=20(Break?= =?UTF-8?q?ing=20=E2=9A=A0=EF=B8=8F)=20*=20`polar->customer=5Fportal->lice?= =?UTF-8?q?nseKeys->get()`:=20=20`response.customer`=20**Changed**=20(Brea?= =?UTF-8?q?king=20=E2=9A=A0=EF=B8=8F)=20*=20`polar->customer=5Fportal->lic?= =?UTF-8?q?enseKeys->list()`:=20=20`response.items[]->customer`=20**Change?= =?UTF-8?q?d**=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20*=20`polar->customer=5F?= =?UTF-8?q?portal->downloadables->list()`:=20=20`response.items[]->file->s?= =?UTF-8?q?ervice->enum(supportCaseAttachment)`=20**Added**=20(Breaking=20?= =?UTF-8?q?=E2=9A=A0=EF=B8=8F)=20*=20`polar->checkouts->clientConfirm()`:?= =?UTF-8?q?=20=20`response`=20**Changed**=20(Breaking=20=E2=9A=A0=EF=B8=8F?= =?UTF-8?q?)=20*=20`polar->subscriptions->export()`:=20=20`response.status?= =?UTF-8?q?[200]`=20**Removed**=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20*=20`p?= =?UTF-8?q?olar->subscriptions->get()`:=20=20`response`=20**Changed**=20(B?= =?UTF-8?q?reaking=20=E2=9A=A0=EF=B8=8F)=20*=20`polar->subscriptions->revo?= =?UTF-8?q?ke()`:=20=20`response`=20**Changed**=20(Breaking=20=E2=9A=A0?= =?UTF-8?q?=EF=B8=8F)=20*=20`polar->subscriptions->update()`:=20=20=20*=20?= =?UTF-8?q?=20`request.subscriptionUpdate`=20**Changed**=20(Breaking=20?= =?UTF-8?q?=E2=9A=A0=EF=B8=8F)=20=20=20*=20=20`response`=20**Changed**=20(?= =?UTF-8?q?Breaking=20=E2=9A=A0=EF=B8=8F)=20*=20`polar->oauth2->authorize(?= =?UTF-8?q?)`:=20=20`response`=20**Changed**=20(Breaking=20=E2=9A=A0?= =?UTF-8?q?=EF=B8=8F)=20*=20`polar->customer=5Fportal->seats->listClaimedS?= =?UTF-8?q?ubscriptions()`:=20=20`response.items[]`=20**Changed**=20(Break?= =?UTF-8?q?ing=20=E2=9A=A0=EF=B8=8F)=20*=20`polar->customer=5Fportal->cust?= =?UTF-8?q?omers->update()`:=20=20=20*=20=20`request->defaultPaymentMethod?= =?UTF-8?q?Id`=20**Added**=20=20=20*=20=20`response`=20**Changed**=20(Brea?= =?UTF-8?q?king=20=E2=9A=A0=EF=B8=8F)=20*=20`polar->customer=5Fportal->cus?= =?UTF-8?q?tomers->get()`:=20=20`response`=20**Changed**=20(Breaking=20?= =?UTF-8?q?=E2=9A=A0=EF=B8=8F)=20*=20`polar->customer=5Fportal->benefitGra?= =?UTF-8?q?nts->update()`:=20=20=20*=20=20`request.customerBenefitGrantUpd?= =?UTF-8?q?ate->union(slack=5Fshared=5Fchannel)`=20**Added**=20=20=20*=20?= =?UTF-8?q?=20`response`=20**Changed**=20(Breaking=20=E2=9A=A0=EF=B8=8F)?= =?UTF-8?q?=20*=20`polar->customer=5Fportal->benefitGrants->get()`:=20=20`?= =?UTF-8?q?response`=20**Changed**=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20*?= =?UTF-8?q?=20`polar->customer=5Fportal->benefitGrants->list()`:=20=20=20*?= =?UTF-8?q?=20=20`request->typeFilter`=20**Changed**=20=20=20*=20=20`respo?= =?UTF-8?q?nse.items[]`=20**Changed**=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20?= =?UTF-8?q?*=20`polar->oauth2->clients->delete()`:=20=20`response`=20**Cha?= =?UTF-8?q?nged**=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20*=20`polar->benefits?= =?UTF-8?q?->list()`:=20=20=20*=20=20`request->typeFilter`=20**Changed**?= =?UTF-8?q?=20=20=20*=20=20`response.items[]`=20**Changed**=20(Breaking=20?= =?UTF-8?q?=E2=9A=A0=EF=B8=8F)=20*=20`polar->benefits->create()`:=20=20=20?= =?UTF-8?q?*=20=20`request`=20**Changed**=20=20=20*=20=20`response`=20**Ch?= =?UTF-8?q?anged**=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20*=20`polar->benefit?= =?UTF-8?q?s->get()`:=20=20`response`=20**Changed**=20(Breaking=20?= =?UTF-8?q?=E2=9A=A0=EF=B8=8F)=20*=20`polar->benefits->update()`:=20=20=20?= =?UTF-8?q?*=20=20`requestBody`=20**Changed**=20=20=20*=20=20`response`=20?= =?UTF-8?q?**Changed**=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20*=20`polar->cus?= =?UTF-8?q?tomers->list()`:=20=20=20*=20=20`request->active`=20**Added**?= =?UTF-8?q?=20=20=20*=20=20`response.items[]`=20**Changed**=20(Breaking=20?= =?UTF-8?q?=E2=9A=A0=EF=B8=8F)=20*=20`polar->benefit-grants->list()`:=20?= =?UTF-8?q?=20`response.items[]`=20**Changed**=20(Breaking=20=E2=9A=A0?= =?UTF-8?q?=EF=B8=8F)=20*=20`polar->webhooks->listWebhookEndpoints()`:=20?= =?UTF-8?q?=20`response.items[]->events[]`=20**Changed**=20(Breaking=20?= =?UTF-8?q?=E2=9A=A0=EF=B8=8F)=20*=20`polar->webhooks->createWebhookEndpoi?= =?UTF-8?q?nt()`:=20=20=20*=20=20`request->events[]`=20**Changed**=20=20?= =?UTF-8?q?=20*=20=20`response.events[]`=20**Changed**=20(Breaking=20?= =?UTF-8?q?=E2=9A=A0=EF=B8=8F)=20*=20`polar->webhooks->getWebhookEndpoint(?= =?UTF-8?q?)`:=20=20`response.events[]`=20**Changed**=20(Breaking=20?= =?UTF-8?q?=E2=9A=A0=EF=B8=8F)=20*=20`polar->webhooks->updateWebhookEndpoi?= =?UTF-8?q?nt()`:=20=20=20*=20=20`request.webhookEndpointUpdate->events[]`?= =?UTF-8?q?=20**Changed**=20=20=20*=20=20`response.events[]`=20**Changed**?= =?UTF-8?q?=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20*=20`polar->webhooks->rese?= =?UTF-8?q?tWebhookEndpointSecret()`:=20=20`response.events[]`=20**Changed?= =?UTF-8?q?**=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20*=20`polar->webhooks->li?= =?UTF-8?q?stWebhookDeliveries()`:=20=20=20*=20=20`request->eventType`=20*?= =?UTF-8?q?*Changed**=20=20=20*=20=20`response.items[]->webhookEvent->type?= =?UTF-8?q?`=20**Changed**=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20*=20`polar-?= =?UTF-8?q?>products->list()`:=20=20`response.items[]`=20**Changed**=20(Br?= =?UTF-8?q?eaking=20=E2=9A=A0=EF=B8=8F)=20*=20`polar->products->create()`:?= =?UTF-8?q?=20=20=20*=20=20`request`=20**Changed**=20(Breaking=20=E2=9A=A0?= =?UTF-8?q?=EF=B8=8F)=20=20=20*=20=20`response`=20**Changed**=20(Breaking?= =?UTF-8?q?=20=E2=9A=A0=EF=B8=8F)=20*=20`polar->products->get()`:=20=20`re?= =?UTF-8?q?sponse`=20**Changed**=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20*=20`?= =?UTF-8?q?polar->products->update()`:=20=20=20*=20=20`request.productUpda?= =?UTF-8?q?te->prices[]->union(2)`=20**Changed**=20(Breaking=20=E2=9A=A0?= =?UTF-8?q?=EF=B8=8F)=20=20=20*=20=20`response`=20**Changed**=20(Breaking?= =?UTF-8?q?=20=E2=9A=A0=EF=B8=8F)=20*=20`polar->products->updateBenefits()?= =?UTF-8?q?`:=20=20`response`=20**Changed**=20(Breaking=20=E2=9A=A0?= =?UTF-8?q?=EF=B8=8F)=20*=20`polar->orders->list()`:=20=20=20*=20=20`reque?= =?UTF-8?q?st->subscriptionId`=20**Added**=20=20=20*=20=20`response.items[?= =?UTF-8?q?]`=20**Changed**=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20*=20`polar?= =?UTF-8?q?->orders->export()`:=20=20`response.status[200]`=20**Removed**?= =?UTF-8?q?=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20*=20`polar->orders->get()`?= =?UTF-8?q?:=20=20`response`=20**Changed**=20(Breaking=20=E2=9A=A0?= =?UTF-8?q?=EF=B8=8F)=20*=20`polar->orders->update()`:=20=20`response`=20*?= =?UTF-8?q?*Changed**=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20*=20`polar->orde?= =?UTF-8?q?rs->generateInvoice()`:=20=20`error`=20**Changed**=20(Breaking?= =?UTF-8?q?=20=E2=9A=A0=EF=B8=8F)=20*=20`polar->customers->getStateExterna?= =?UTF-8?q?l()`:=20=20`response`=20**Changed**=20(Breaking=20=E2=9A=A0?= =?UTF-8?q?=EF=B8=8F)=20*=20`polar->refunds->create()`:=20=20=20*=20=20`re?= =?UTF-8?q?quest->reason->enum(disputePrevention)`=20**Removed**=20(Breaki?= =?UTF-8?q?ng=20=E2=9A=A0=EF=B8=8F)=20=20=20*=20=20`response.dispute`=20**?= =?UTF-8?q?Changed**=20*=20`polar->customers->getState()`:=20=20`response`?= =?UTF-8?q?=20**Changed**=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20*=20`polar->?= =?UTF-8?q?customers->updateExternal()`:=20=20`response`=20**Changed**=20(?= =?UTF-8?q?Breaking=20=E2=9A=A0=EF=B8=8F)=20*=20`polar->checkouts->list()`?= =?UTF-8?q?:=20=20`response.items[]`=20**Changed**=20(Breaking=20=E2=9A=A0?= =?UTF-8?q?=EF=B8=8F)=20*=20`polar->checkouts->create()`:=20=20=20*=20=20`?= =?UTF-8?q?request`=20**Changed**=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20=20?= =?UTF-8?q?=20*=20=20`response`=20**Changed**=20(Breaking=20=E2=9A=A0?= =?UTF-8?q?=EF=B8=8F)=20*=20`polar->checkouts->get()`:=20=20`response`=20*?= =?UTF-8?q?*Changed**=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20*=20`polar->chec?= =?UTF-8?q?kouts->update()`:=20=20=20*=20=20`request.checkoutUpdate->curre?= =?UTF-8?q?ncy`=20**Changed**=20=20=20*=20=20`response`=20**Changed**=20(B?= =?UTF-8?q?reaking=20=E2=9A=A0=EF=B8=8F)=20*=20`polar->checkouts->clientGe?= =?UTF-8?q?t()`:=20=20`response`=20**Changed**=20(Breaking=20=E2=9A=A0?= =?UTF-8?q?=EF=B8=8F)=20*=20`polar->customers->getExternal()`:=20=20`respo?= =?UTF-8?q?nse`=20**Changed**=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20*=20`pol?= =?UTF-8?q?ar->organizations->get()`:=20=20`response`=20**Changed**=20(Bre?= =?UTF-8?q?aking=20=E2=9A=A0=EF=B8=8F)=20*=20`polar->customers->update()`:?= =?UTF-8?q?=20=20`response`=20**Changed**=20(Breaking=20=E2=9A=A0=EF=B8=8F?= =?UTF-8?q?)=20*=20`polar->files->create()`:=20=20=20*=20=20`request->unio?= =?UTF-8?q?n(support=5Fcase=5Fattachment)`=20**Added**=20=20=20*=20=20`res?= =?UTF-8?q?ponse.service->enum(supportCaseAttachment)`=20**Added**=20(Brea?= =?UTF-8?q?king=20=E2=9A=A0=EF=B8=8F)=20*=20`polar->files->uploaded()`:=20?= =?UTF-8?q?=20`response.union(support=5Fcase=5Fattachment)`=20**Added**=20?= =?UTF-8?q?(Breaking=20=E2=9A=A0=EF=B8=8F)=20*=20`polar->files->update()`:?= =?UTF-8?q?=20=20`response.union(support=5Fcase=5Fattachment)`=20**Added**?= =?UTF-8?q?=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20*=20`polar->customers->get?= =?UTF-8?q?()`:=20=20`response`=20**Changed**=20(Breaking=20=E2=9A=A0?= =?UTF-8?q?=EF=B8=8F)=20*=20`polar->license=5Fkeys->list()`:=20=20=20*=20?= =?UTF-8?q?=20`request`=20**Changed**=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20?= =?UTF-8?q?=20=20*=20=20`response.items[]->customer`=20**Changed**=20(Brea?= =?UTF-8?q?king=20=E2=9A=A0=EF=B8=8F)=20*=20`polar->license=5Fkeys->get()`?= =?UTF-8?q?:=20=20`response.customer`=20**Changed**=20(Breaking=20?= =?UTF-8?q?=E2=9A=A0=EF=B8=8F)=20*=20`polar->license=5Fkeys->update()`:=20?= =?UTF-8?q?=20`response.customer`=20**Changed**=20(Breaking=20=E2=9A=A0?= =?UTF-8?q?=EF=B8=8F)=20*=20`polar->license=5Fkeys->getActivation()`:=20?= =?UTF-8?q?=20`response.licenseKey->customer`=20**Changed**=20(Breaking=20?= =?UTF-8?q?=E2=9A=A0=EF=B8=8F)=20*=20`polar->license=5Fkeys->validate()`:?= =?UTF-8?q?=20=20`response.customer`=20**Changed**=20(Breaking=20=E2=9A=A0?= =?UTF-8?q?=EF=B8=8F)=20*=20`polar->license=5Fkeys->activate()`:=20=20`res?= =?UTF-8?q?ponse.licenseKey->customer`=20**Changed**=20(Breaking=20?= =?UTF-8?q?=E2=9A=A0=EF=B8=8F)=20*=20`polar->checkout-links->list()`:=20?= =?UTF-8?q?=20`response.items[]`=20**Changed**=20(Breaking=20=E2=9A=A0?= =?UTF-8?q?=EF=B8=8F)=20*=20`polar->checkout-links->create()`:=20=20=20*?= =?UTF-8?q?=20=20`request`=20**Changed**=20=20=20*=20=20`response`=20**Cha?= =?UTF-8?q?nged**=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20*=20`polar->checkout?= =?UTF-8?q?-links->get()`:=20=20`response`=20**Changed**=20(Breaking=20?= =?UTF-8?q?=E2=9A=A0=EF=B8=8F)=20*=20`polar->checkout-links->update()`:=20?= =?UTF-8?q?=20=20*=20=20`request.checkoutLinkUpdate->seats`=20**Added**=20?= =?UTF-8?q?=20=20*=20=20`response`=20**Changed**=20(Breaking=20=E2=9A=A0?= =?UTF-8?q?=EF=B8=8F)=20*=20`polar->customers->export()`:=20=20`response.s?= =?UTF-8?q?tatus[200]`=20**Removed**=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20*?= =?UTF-8?q?=20`polar->discounts->create()`:=20=20=20*=20=20`request`=20**C?= =?UTF-8?q?hanged**=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20=20=20*=20=20`resp?= =?UTF-8?q?onse.union(DiscountFixedRepeatDuration)->products[]`=20**Change?= =?UTF-8?q?d**=20*=20`polar->customers->create()`:=20=20`response`=20**Cha?= =?UTF-8?q?nged**=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20*=20`polar->members-?= =?UTF-8?q?>deleteMember()`:=20**Removed**=20(Breaking=20=E2=9A=A0?= =?UTF-8?q?=EF=B8=8F)=20*=20`polar->discounts->update()`:=20=20=20*=20=20`?= =?UTF-8?q?request.discountUpdate->currency`=20**Changed**=20=20=20*=20=20?= =?UTF-8?q?`response.union(DiscountFixedOnceForeverDuration)->products[]`?= =?UTF-8?q?=20**Changed**=20*=20`polar->discounts->get()`:=20=20`response.?= =?UTF-8?q?union(DiscountFixedOnceForeverDuration)->products[]`=20**Change?= =?UTF-8?q?d**=20*=20`polar->discounts->list()`:=20=20`response.items[]->u?= =?UTF-8?q?nion(DiscountFixedOnceForeverDuration)->products[]`=20**Changed?= =?UTF-8?q?**=20*=20`polar->metrics->get()`:=20=20`response`=20**Changed**?= =?UTF-8?q?=20*=20`polar->customers->listPaymentMethodsExternal()`:=20**Ad?= =?UTF-8?q?ded**=20*=20`polar->customers->members->updateExternal()`:=20**?= =?UTF-8?q?Added**=20*=20`polar->disputes->get()`:=20=20`response`=20**Cha?= =?UTF-8?q?nged**=20*=20`polar->disputes->list()`:=20=20`response.items[]`?= =?UTF-8?q?=20**Changed**=20*=20`polar->refunds->list()`:=20=20`response.i?= =?UTF-8?q?tems[]->dispute`=20**Changed**=20*=20`polar->oauth2->introspect?= =?UTF-8?q?()`:=20=20`response.organizations`=20**Added**=20*=20`polar->or?= =?UTF-8?q?ganization=5Faccess=5Ftokens->update()`:=20**Removed**=20(Break?= =?UTF-8?q?ing=20=E2=9A=A0=EF=B8=8F)=20*=20`polar->organization=5Faccess?= =?UTF-8?q?=5Ftokens->delete()`:=20**Removed**=20(Breaking=20=E2=9A=A0?= =?UTF-8?q?=EF=B8=8F)=20*=20`polar->organization=5Faccess=5Ftokens->create?= =?UTF-8?q?()`:=20**Removed**=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20*=20`pol?= =?UTF-8?q?ar->organization=5Faccess=5Ftokens->list()`:=20**Removed**=20(B?= =?UTF-8?q?reaking=20=E2=9A=A0=EF=B8=8F)=20*=20`polar->customer=5Fportal->?= =?UTF-8?q?customers->addPaymentMethod()`:=20=20`error.status[400]`=20**Ad?= =?UTF-8?q?ded**=20*=20`polar->customer=5Fportal->seats->listSeats()`:=20?= =?UTF-8?q?=20`response.seats[]`=20**Changed**=20*=20`polar->customer=5Fpo?= =?UTF-8?q?rtal->seats->assignSeat()`:=20=20`response`=20**Changed**=20*?= =?UTF-8?q?=20`polar->customer=5Fportal->seats->revokeSeat()`:=20=20`respo?= =?UTF-8?q?nse`=20**Changed**=20*=20`polar->customer=5Fportal->seats->rese?= =?UTF-8?q?ndInvitation()`:=20=20`response`=20**Changed**=20*=20`polar->me?= =?UTF-8?q?mbers->updateMember()`:=20**Removed**=20(Breaking=20=E2=9A=A0?= =?UTF-8?q?=EF=B8=8F)=20*=20`polar->members->getMember()`:=20**Removed**?= =?UTF-8?q?=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20*=20`polar->members->creat?= =?UTF-8?q?eMember()`:=20**Removed**=20(Breaking=20=E2=9A=A0=EF=B8=8F)=20*?= =?UTF-8?q?=20`polar->organizations->list()`:=20**Removed**=20(Breaking=20?= =?UTF-8?q?=E2=9A=A0=EF=B8=8F)=20*=20`polar->customer=5Fportal->orders->re?= =?UTF-8?q?ceipt()`:=20**Added**=20*=20`polar->customer=5Fportal->customer?= =?UTF-8?q?s->verifyEmailUpdate()`:=20**Added**=20*=20`polar->customer=5Fp?= =?UTF-8?q?ortal->members->updateMember()`:=20=20=20*=20=20`request.custom?= =?UTF-8?q?erPortalMemberUpdate->name`=20**Added**=20*=20`polar->customer?= =?UTF-8?q?=5Fportal->customers->checkEmailUpdate()`:=20**Added**=20*=20`p?= =?UTF-8?q?olar->customer=5Fportal->customers->requestEmailUpdate()`:=20**?= =?UTF-8?q?Added**=20*=20`polar->customers->members->deleteExternal()`:=20?= =?UTF-8?q?**Added**=20*=20`polar->customers->members->getExternal()`:=20*?= =?UTF-8?q?*Added**=20*=20`polar->customer=5Fportal->orders->confirmRetryP?= =?UTF-8?q?ayment()`:=20=20`error.status[429]`=20**Added**=20*=20`polar->c?= =?UTF-8?q?ustomers->members->update()`:=20**Added**=20*=20`polar->custome?= =?UTF-8?q?rs->members->delete()`:=20**Added**=20*=20`polar->customers->me?= =?UTF-8?q?mbers->get()`:=20**Added**=20*=20`polar->customers->members->cr?= =?UTF-8?q?eateExternal()`:=20**Added**=20*=20`polar->customers->members->?= =?UTF-8?q?create()`:=20**Added**=20*=20`polar->customer-seats->listSeats(?= =?UTF-8?q?)`:=20=20`response.seats[]`=20**Changed**=20*=20`polar->custome?= =?UTF-8?q?rs->listPaymentMethods()`:=20**Added**=20*=20`polar->customer-s?= =?UTF-8?q?eats->revokeSeat()`:=20=20`response`=20**Changed**=20*=20`polar?= =?UTF-8?q?->customer-seats->resendInvitation()`:=20=20`response`=20**Chan?= =?UTF-8?q?ged**=20*=20`polar->customer-seats->claimSeat()`:=20=20`respons?= =?UTF-8?q?e.seat`=20**Changed**=20*=20`polar->metrics->export()`:=20**Add?= =?UTF-8?q?ed**=20*=20`polar->disputes->accept()`:=20**Added**=20*=20`pola?= =?UTF-8?q?r->events->listNames()`:=20=20`response.items[]->label`=20**Add?= =?UTF-8?q?ed**=20*=20`polar->orders->receipt()`:=20**Added**=20*=20`polar?= =?UTF-8?q?->orders->finalize()`:=20**Added**=20*=20`polar->meters->list()?= =?UTF-8?q?`:=20=20`response.items[]`=20**Changed**=20*=20`polar->meters->?= =?UTF-8?q?create()`:=20=20=20*=20=20`request`=20**Changed**=20=20=20*=20?= =?UTF-8?q?=20`response`=20**Changed**=20*=20`polar->meters->get()`:=20=20?= =?UTF-8?q?`response`=20**Changed**=20*=20`polar->meters->update()`:=20=20?= =?UTF-8?q?=20*=20=20`request.meterUpdate`=20**Changed**=20=20=20*=20=20`r?= =?UTF-8?q?esponse`=20**Changed**=20*=20`polar->orders->create()`:=20**Add?= =?UTF-8?q?ed**=20*=20`polar->organizations->listOrganizations()`:=20**Add?= =?UTF-8?q?ed**=20*=20`polar->payments->list()`:=20=20=20*=20=20`request->?= =?UTF-8?q?customerId`=20**Added**=20=20=20*=20=20`response.items[]`=20**C?= =?UTF-8?q?hanged**=20*=20`polar->payments->get()`:=20=20`response`=20**Ch?= =?UTF-8?q?anged**?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .speakeasy/gen.lock | 3607 +++++++++++------ .speakeasy/gen.yaml | 2 +- .speakeasy/workflow.lock | 14 +- README.md | 59 +- RELEASES.md | 12 +- USAGE.md | 2 +- composer.json | 4 +- .../Components/AnnualRecurringRevenue.md | 23 + .../AuthorizeResponseOrganization.md | 5 +- .../Components/AuthorizeResponseUser.md | 16 +- docs/Models/Components/AvailableScope.md | 69 - .../Components/AverageSeatsPerCustomer.md | 23 + .../Components/BalanceCreditOrderMetadata.md | 3 +- docs/Models/Components/Benefit.md | 9 + docs/Models/Components/BenefitCreate.md | 9 + docs/Models/Components/BenefitCustom.md | 5 +- docs/Models/Components/BenefitCustomCreate.md | 1 + .../Components/BenefitCustomSubscriber.md | 2 +- docs/Models/Components/BenefitCustomUpdate.md | 1 + docs/Models/Components/BenefitDiscord.md | 5 +- .../Models/Components/BenefitDiscordCreate.md | 1 + .../Components/BenefitDiscordSubscriber.md | 2 +- .../Models/Components/BenefitDownloadables.md | 5 +- .../Components/BenefitDownloadablesCreate.md | 1 + .../BenefitDownloadablesSubscriber.md | 2 +- docs/Models/Components/BenefitFeatureFlag.md | 5 +- .../Components/BenefitFeatureFlagCreate.md | 1 + .../BenefitFeatureFlagSubscriber.md | 2 +- .../Components/BenefitFeatureFlagUpdate.md | 1 + .../Components/BenefitGitHubRepository.md | 5 +- .../BenefitGitHubRepositoryCreate.md | 1 + .../BenefitGitHubRepositorySubscriber.md | 2 +- docs/Models/Components/BenefitGrant.md | 38 +- ...enefitGrantSlackSharedChannelProperties.md | 13 + .../BenefitGrantSlackSharedChannelWebhook.md | 25 + docs/Models/Components/BenefitGrantWebhook.md | 9 + docs/Models/Components/BenefitLicenseKeys.md | 5 +- .../Components/BenefitLicenseKeysCreate.md | 1 + .../BenefitLicenseKeysSubscriber.md | 2 +- .../Components/BenefitLicenseKeysUpdate.md | 1 + docs/Models/Components/BenefitMeterCredit.md | 5 +- .../Components/BenefitMeterCreditCreate.md | 1 + .../BenefitMeterCreditSubscriber.md | 2 +- .../Components/BenefitMeterCreditUpdate.md | 1 + docs/Models/Components/BenefitPublic.md | 1 + .../Components/BenefitSlackSharedChannel.md | 20 + .../BenefitSlackSharedChannelCreate.md | 13 + ...enefitSlackSharedChannelCreateMetadata.md} | 2 +- ...nefitSlackSharedChannelCreateProperties.md | 13 + .../BenefitSlackSharedChannelProperties.md | 13 + .../BenefitSlackSharedChannelSubscriber.md | 18 + ...tSlackSharedChannelSubscriberProperties.md | 7 + .../BenefitSlackSharedChannelUpdate.md | 11 + ...enefitSlackSharedChannelUpdateMetadata.md} | 2 +- docs/Models/Components/BenefitType.md | 19 +- docs/Models/Components/BenefitVisibility.md | 10 + docs/Models/Components/CardPayment.md | 35 +- docs/Models/Components/Checkout.md | 123 +- docs/Models/Components/CheckoutCreate.md | 2 +- .../Models/Components/CheckoutCreatePrices.md | 9 - docs/Models/Components/CheckoutLink.md | 41 +- .../Components/CheckoutLinkCreateProduct.md | 27 +- .../CheckoutLinkCreateProductPrice.md | 27 +- .../Components/CheckoutLinkCreateProducts.md | 27 +- docs/Models/Components/CheckoutLinkProduct.md | 40 +- .../Components/CheckoutLinkProductPrices.md | 12 +- docs/Models/Components/CheckoutLinkUpdate.md | 25 +- docs/Models/Components/CheckoutPrices.md | 12 +- docs/Models/Components/CheckoutProduct.md | 38 +- .../Models/Components/CheckoutProductPrice.md | 12 +- .../Components/CheckoutProductPrices.md | 12 +- docs/Models/Components/CheckoutPublic.md | 113 +- .../Components/CheckoutPublicConfirmed.md | 115 +- .../CheckoutPublicConfirmedPrices.md | 12 +- .../CheckoutPublicConfirmedProductPrice.md | 12 +- .../Models/Components/CheckoutPublicPrices.md | 12 +- .../Components/CheckoutPublicProductPrice.md | 12 +- .../Models/Components/ChurnedSeatCustomers.md | 23 + .../CommittedAnnualRecurringRevenue.md | 23 + .../Models/Components/CustomerBenefitGrant.md | 9 + .../CustomerBenefitGrantSlackSharedChannel.md | 23 + ...GrantSlackSharedChannelPropertiesUpdate.md | 8 + ...erBenefitGrantSlackSharedChannelUpdate.md} | 5 +- .../Components/CustomerBenefitGrantUpdate.md | 9 + .../Components/CustomerEmailUpdateRequest.md | 8 + .../CustomerEmailUpdateVerifyRequest.md | 8 + .../CustomerEmailUpdateVerifyResponse.md | 8 + docs/Models/Components/CustomerIndividual.md | 2 + docs/Models/Components/CustomerOrder.md | 7 +- .../Models/Components/CustomerOrderProduct.md | 40 +- .../Components/CustomerOrderProductPrices.md | 12 +- .../Models/Components/CustomerOrderReceipt.md | 10 + .../Components/CustomerOrderSubscription.md | 8 +- .../CustomerOrganizationFeatureSettings.md | 3 +- .../Components/CustomerPaymentMethodCard.md | 15 + .../CustomerPaymentMethodGeneric.md | 14 + .../Components/CustomerPortalCustomer.md | 3 +- .../CustomerPortalCustomerSettings.md | 8 + .../CustomerPortalCustomerUpdate.md | 3 +- .../Components/CustomerPortalMemberUpdate.md | 9 +- .../CustomerPortalSubscriptionSettings.md | 3 +- docs/Models/Components/CustomerProduct.md | 38 +- .../Components/CustomerProductPrices.md | 12 +- docs/Models/Components/CustomerSeat.md | 22 +- docs/Models/Components/CustomerSeatAssign.md | 17 + .../Components/CustomerStateBenefitGrant.md | 20 +- .../CustomerStateBenefitGrantProperties.md | 9 + .../Components/CustomerStateIndividual.md | 6 +- .../Components/CustomerStateSubscription.md | 2 +- docs/Models/Components/CustomerStateTeam.md | 6 +- .../Models/Components/CustomerSubscription.md | 66 +- .../Components/CustomerSubscriptionPause.md | 9 + .../Components/CustomerSubscriptionPrices.md | 12 +- .../Components/CustomerSubscriptionProduct.md | 40 +- .../CustomerSubscriptionProductPrices.md | 12 +- .../Components/CustomerSubscriptionResume.md | 8 + .../Components/CustomerSubscriptionUpdate.md | 27 + .../CustomerSubscriptionUpdateClear.md | 8 + .../CustomerSubscriptionUpdateSeats.md | 7 +- docs/Models/Components/CustomerTeam.md | 2 + .../Components/CustomerUpdatedFields.md | 1 + docs/Models/Components/DiscountCreate.md | 30 +- ...rationCreate.md => DiscountFixedCreate.md} | 21 +- ...data.md => DiscountFixedCreateMetadata.md} | 2 +- .../DiscountFixedOnceForeverDurationCreate.md | 22 - ...nCreate.md => DiscountPercentageCreate.md} | 17 +- ...md => DiscountPercentageCreateMetadata.md} | 2 +- docs/Models/Components/DiscountProduct.md | 4 +- docs/Models/Components/Dispute.md | 31 +- docs/Models/Components/DisputeCustomer.md | 24 + .../Models/Components/DisputeCustomerTaxId.md | 23 + docs/Models/Components/Event.md | 6 +- docs/Models/Components/EventName.md | 1 + docs/Models/Components/EventTypeWithStats.md | 26 +- docs/Models/Components/FileCreate.md | 9 + docs/Models/Components/FileRead.md | 9 + docs/Models/Components/FileServiceTypes.md | 11 +- docs/Models/Components/GenericPayment.md | 33 +- .../Components/IntrospectTokenResponse.md | 1 + .../Components/LegacyRecurringProductPrice.md | 9 - .../LegacyRecurringProductPriceCustom.md | 34 +- .../LegacyRecurringProductPriceFixed.md | 30 +- .../LegacyRecurringProductPriceFree.md | 23 - docs/Models/Components/LicenseKeyCustomer.md | 2 + docs/Models/Components/ListResourceBenefit.md | 8 +- .../ListResourceCustomerBenefitGrant.md | 8 +- docs/Models/Components/ListResourceEvent.md | 8 +- .../Models/Components/ListResourceFileRead.md | 8 +- .../ListResourceOrganizationAccessToken.md | 9 - .../Components/ListResourcePaymentMethod.md | 9 + .../ListResourceWithCursorPaginationEvent.md | 8 +- docs/Models/Components/MemberCreate.md | 14 - .../Components/MemberCreateFromCustomer.md | 15 + docs/Models/Components/MemberUpdate.md | 1 + docs/Models/Components/Meter.md | 3 + docs/Models/Components/MeterCreate.md | 3 + docs/Models/Components/MeterUnit.md | 10 + docs/Models/Components/MeterUpdate.md | 3 + docs/Models/Components/MetricPeriod.md | 104 +- docs/Models/Components/Metrics.md | 14 +- docs/Models/Components/MetricsTotals.md | 102 +- .../MetricsTotalsAnnualRecurringRevenue.md | 23 + .../MetricsTotalsAverageSeatsPerCustomer.md | 23 + .../MetricsTotalsChurnedSeatCustomers.md | 23 + ...csTotalsCommittedAnnualRecurringRevenue.md | 23 + .../MetricsTotalsNewSeatCustomers.md | 23 + .../Components/MetricsTotalsSeatCustomers.md | 23 + .../MetricsTotalsSeatUtilizationRate.md | 23 + .../Components/MetricsTotalsSeatsClaimed.md | 23 + .../Components/MetricsTotalsSeatsPending.md | 23 + .../Components/MetricsTotalsSeatsTotal.md | 23 + ...lsTrialCommittedMonthlyRecurringRevenue.md | 23 + ...tricsTotalsTrialMonthlyRecurringRevenue.md | 23 + docs/Models/Components/NewSeatCustomers.md | 23 + docs/Models/Components/Order.md | 8 +- ...oreverDurationCreate.md => OrderCreate.md} | 23 +- .../Components/OrderCreateCustomFieldData.md | 41 + docs/Models/Components/OrderCreateMetadata.md | 41 + docs/Models/Components/OrderCustomer.md | 2 + docs/Models/Components/OrderFinalize.md | 10 + docs/Models/Components/OrderProduct.md | 4 +- docs/Models/Components/OrderReceipt.md | 10 + docs/Models/Components/OrderStatus.md | 1 + docs/Models/Components/OrderSubscription.md | 8 +- docs/Models/Components/Organization.md | 7 +- .../Components/OrganizationAccessToken.md | 15 - .../OrganizationAccessTokenCreate.md | 11 - .../OrganizationAccessTokenCreateResponse.md | 9 - .../OrganizationAccessTokenSortProperty.md | 15 - .../OrganizationAccessTokenUpdate.md | 9 - .../Components/OrganizationCapabilities.md | 13 + docs/Models/Components/OrganizationCreate.md | 3 +- .../OrganizationCustomerEmailSettings.md | 2 + .../OrganizationCustomerPortalSettings.md | 3 +- .../Components/OrganizationFeatureSettings.md | 27 +- .../OrganizationFeatureSettingsUpdate.md | 16 + docs/Models/Components/OrganizationStatus.md | 18 +- .../OrganizationSubscriptionSettings.md | 14 +- docs/Models/Components/OrganizationUpdate.md | 32 +- docs/Models/Components/PaymentMethod.md | 23 + docs/Models/Components/PaymentTrigger.md | 13 + docs/Models/Components/PresentmentCurrency.md | 92 +- docs/Models/Components/Prices.md | 12 +- docs/Models/Components/Product.md | 42 +- .../Models/Components/ProductCreateOneTime.md | 24 +- .../Components/ProductCreateOneTimePrices.md | 9 - .../Components/ProductCreateRecurring.md | 30 +- .../ProductCreateRecurringPrices.md | 9 - docs/Models/Components/ProductPrice.md | 9 - docs/Models/Components/ProductPriceCustom.md | 28 +- .../Components/ProductPriceCustomCreate.md | 16 +- .../Components/ProductPriceFixedCreate.md | 12 +- docs/Models/Components/ProductPriceFree.md | 18 - .../Components/ProductPriceFreeCreate.md | 12 - docs/Models/Components/ProductPriceMeter.md | 11 +- docs/Models/Components/ProductUpdate.md | 4 +- docs/Models/Components/ProductUpdatePrices.md | 6 +- docs/Models/Components/Properties.md | 9 + .../PublicSubscriptionProrationBehavior.md | 10 + docs/Models/Components/Reason.md | 15 + ...urringInterval.md => RecurringInterval.md} | 2 +- docs/Models/Components/RefundCreate.md | 2 +- docs/Models/Components/RefundDispute.md | 29 +- docs/Models/Components/Role.md | 11 + docs/Models/Components/Scope.md | 3 +- docs/Models/Components/SeatAssign.md | 5 +- docs/Models/Components/SeatCustomers.md | 23 + docs/Models/Components/SeatUtilizationRate.md | 23 + docs/Models/Components/SeatsClaimed.md | 23 + docs/Models/Components/SeatsPending.md | 23 + docs/Models/Components/SeatsTotal.md | 23 + docs/Models/Components/Subscription.md | 74 +- .../Models/Components/SubscriptionCustomer.md | 2 + .../Components/SubscriptionPastDueEvent.md | 23 + .../Components/SubscriptionPastDueMetadata.md | 14 + .../SubscriptionPause.md} | 12 +- .../Components/SubscriptionPausedEvent.md | 23 + .../Components/SubscriptionPausedMetadata.md | 15 + docs/Models/Components/SubscriptionPrices.md | 12 +- .../SubscriptionProrationBehavior.md | 3 +- .../SubscriptionReactivatedEvent.md | 23 + .../SubscriptionReactivatedMetadata.md | 13 + docs/Models/Components/SubscriptionResume.md | 8 + .../Components/SubscriptionResumedEvent.md | 23 + .../Components/SubscriptionResumedMetadata.md | 13 + docs/Models/Components/SubscriptionStatus.md | 3 +- docs/Models/Components/SubscriptionUpdate.md | 51 +- .../Components/SubscriptionUpdateBase.md | 11 + .../SubscriptionUpdateBillingPeriod.md | 6 +- .../Components/SubscriptionUpdateClear.md | 8 + .../SubscriptionUpdateClearedEvent.md | 23 + ...d => SubscriptionUpdateClearedMetadata.md} | 5 +- .../Components/SubscriptionUpdateProduct.md | 9 - .../Components/SubscriptionUpdateTrial.md | 8 - .../SubscriptionUpdatedDiscountMetadata.md | 9 - .../Components/SubscriptionUpdatedEvent.md | 32 +- .../SubscriptionUpdatedEventMetadata.md | 50 - .../Components/SubscriptionUpdatedMetadata.md | 14 + .../SubscriptionUpdatedProductMetadata.md | 10 - .../SubscriptionUpdatedSeatsMetadata.md | 10 - .../SupportCaseAttachmentFileCreate.md | 17 + .../SupportCaseAttachmentFileRead.md | 25 + docs/Models/Components/SystemEvent.md | 45 + docs/Models/Components/TaxBehavior.md | 9 + docs/Models/Components/TaxIDFormat.md | 3 +- .../TrialCommittedMonthlyRecurringRevenue.md | 23 + .../TrialMonthlyRecurringRevenue.md | 23 + docs/Models/Components/Two.md | 9 - .../WebhookBenefitCreatedPayload.md | 10 +- .../WebhookBenefitGrantCreatedPayload.md | 10 +- .../WebhookBenefitGrantCycledPayload.md | 10 +- .../WebhookBenefitGrantRevokedPayload.md | 10 +- .../WebhookBenefitGrantUpdatedPayload.md | 10 +- .../WebhookBenefitUpdatedPayload.md | 10 +- docs/Models/Components/WebhookEndpoint.md | 2 +- docs/Models/Components/WebhookEventType.md | 2 + .../WebhookSubscriptionPausedPayload.md | 17 + .../WebhookSubscriptionResumedPayload.md | 16 + .../Errors/AlreadyCanceledSubscription1.md | 10 + .../Errors/AmbiguousExternalCustomerID.md | 9 + .../Errors/CannotCreateOrganizationError.md | 9 + ...e422CustomerPortalOrdersGenerateInvoice.md | 25 - ...nse403CustomerPortalSubscriptionsUpdate.md | 25 + docs/Models/Errors/DisputeNotOpenError.md | 9 + .../Models/Errors/ManualRetryLimitExceeded.md | 9 + .../Errors/MissingInvoiceBillingDetails.md | 9 +- .../Errors/OffSessionChargesNotEnabled.md | 10 + docs/Models/Errors/OrderNotDraft.md | 9 + .../Errors/OrderNotEligibleForInvoice.md | 9 + ...OrdersFinalizeResponse402OrdersFinalize.md | 25 + ...OrdersFinalizeResponse403OrdersFinalize.md | 25 + ...InvoiceResponse422OrdersGenerateInvoice.md | 25 - .../Errors/OrganizationNotReadyForPayments.md | 10 + docs/Models/Errors/PauseResumeNotAllowed.md | 10 + docs/Models/Errors/PaymentActionRequired.md | 10 + .../{NotPaidOrder.md => PaymentFailed1.md} | 4 +- .../Models/Errors/PaymentMethodSetupFailed.md | 9 + .../SSOEnforcementRequiresConnection.md | 9 + .../Operations/BenefitsCreateResponse.md | 12 +- docs/Models/Operations/BenefitsGetResponse.md | 12 +- .../Operations/BenefitsUpdateBenefitUpdate.md | 9 + .../Operations/BenefitsUpdateRequest.md | 8 +- .../Operations/BenefitsUpdateResponse.md | 12 +- .../CheckoutsListQueryParamStatusFilter.md | 25 + .../Models/Operations/CheckoutsListRequest.md | 2 +- .../CustomerPortalBenefitGrantsGetResponse.md | 12 +- ...rantsListQueryParamSubscriptionIDFilter.md | 25 + .../CustomerPortalBenefitGrantsListRequest.md | 2 +- ...ustomerPortalBenefitGrantsUpdateRequest.md | 8 +- ...stomerPortalBenefitGrantsUpdateResponse.md | 12 +- ...rPortalCustomersCheckEmailUpdateRequest.md | 8 + ...PortalCustomersCheckEmailUpdateResponse.md | 10 + ...rtalCustomersRequestEmailUpdateResponse.md | 11 + ...talCustomersRequestEmailUpdateSecurity.md} | 6 +- ...ortalCustomersVerifyEmailUpdateResponse.md | 11 + ... => CustomerPortalOrdersReceiptRequest.md} | 4 +- .../CustomerPortalOrdersReceiptResponse.md | 11 + .../CustomerPortalOrdersReceiptSecurity.md} | 6 +- ...ustomerPortalSubscriptionsUpdateRequest.md | 8 +- .../Operations/CustomersExportResponse.md | 1 - ...tomersListPaymentMethodsExternalRequest.md | 10 + ...omersListPaymentMethodsExternalResponse.md | 11 + .../CustomersListPaymentMethodsRequest.md | 10 + .../CustomersListPaymentMethodsResponse.md | 11 + .../Models/Operations/CustomersListRequest.md | 1 + .../CustomersMembersCreateExternalRequest.md | 9 + .../CustomersMembersCreateExternalResponse.md | 11 + .../CustomersMembersCreateRequest.md | 9 + ...e.md => CustomersMembersCreateResponse.md} | 2 +- .../CustomersMembersDeleteExternalRequest.md | 9 + ...CustomersMembersDeleteExternalResponse.md} | 2 +- .../CustomersMembersDeleteRequest.md | 9 + ...e.md => CustomersMembersDeleteResponse.md} | 2 +- .../CustomersMembersGetExternalRequest.md | 9 + .../CustomersMembersGetExternalResponse.md | 11 + .../Operations/CustomersMembersGetRequest.md | 9 + ...onse.md => CustomersMembersGetResponse.md} | 2 +- .../CustomersMembersUpdateExternalRequest.md | 10 + .../CustomersMembersUpdateExternalResponse.md | 11 + ...st.md => CustomersMembersUpdateRequest.md} | 5 +- ...e.md => CustomersMembersUpdateResponse.md} | 2 +- ...berRequest.md => DisputesAcceptRequest.md} | 4 +- .../Operations/DisputesAcceptResponse.md | 11 + docs/Models/Operations/DisputesListRequest.md | 2 +- docs/Models/Operations/EventsGetResponse.md | 12 +- docs/Models/Operations/FilesUpdateResponse.md | 12 +- .../FilesUpdateResponseFilesUpdate.md | 34 - .../Operations/FilesUploadedResponse.md | 12 +- .../FilesUploadedResponseFilesUploaded.md | 34 - .../Operations/LicenseKeyStatusFilter.md | 25 + .../Operations/LicenseKeysListRequest.md | 1 + ...MetricsExportQueryParamCustomerIDFilter.md | 25 + ...csExportQueryParamOrganizationIDFilter.md} | 2 +- ...xportQueryParamProductBillingTypeFilter.md | 25 + .../MetricsExportQueryParamProductIDFilter.md | 25 + .../Models/Operations/MetricsExportRequest.md | 16 + .../Operations/MetricsExportResponse.md | 11 + ...Oauth2ClientsOauth2DeleteClientResponse.md | 3 +- ...ateResponse.md => OrdersCreateResponse.md} | 4 +- .../Models/Operations/OrdersExportResponse.md | 1 - .../Operations/OrdersFinalizeRequest.md | 9 + .../Operations/OrdersFinalizeResponse.md | 11 + docs/Models/Operations/OrdersListRequest.md | 1 + ...mberRequest.md => OrdersReceiptRequest.md} | 4 +- .../Operations/OrdersReceiptResponse.md | 11 + .../OrganizationAccessTokensCreateResponse.md | 11 - .../OrganizationAccessTokensListRequest.md | 11 - .../OrganizationAccessTokensUpdateRequest.md | 9 - .../PaymentsListQueryParamCustomerIDFilter.md | 25 + docs/Models/Operations/PaymentsListRequest.md | 1 + .../Operations/QueryParamStatusFilter.md | 10 +- docs/Models/Operations/RefundsListRequest.md | 2 +- docs/Models/Operations/StatusFilter.md | 10 +- .../Operations/SubscriptionsExportResponse.md | 1 - .../Operations/SubscriptionsListRequest.md | 3 +- .../Operations/SubscriptionsUpdateRequest.md | 8 +- .../EndpointsubscriptionPausedPostResponse.md | 11 + ...EndpointsubscriptionResumedPostResponse.md | 11 + docs/sdks/benefitgrants/README.md | 2 +- docs/sdks/benefits/README.md | 16 +- docs/sdks/clients/README.md | 2 +- docs/sdks/customers/README.md | 122 +- docs/sdks/customerseats/README.md | 2 +- docs/sdks/discounts/README.md | 12 +- docs/sdks/disputes/README.md | 60 +- docs/sdks/eventtypes/README.md | 2 + docs/sdks/files/README.md | 10 +- docs/sdks/licensekeys/README.md | 19 +- docs/sdks/members/README.md | 230 -- docs/sdks/metrics/README.md | 59 + docs/sdks/orders/README.md | 185 +- docs/sdks/organizationaccesstokens/README.md | 221 - docs/sdks/organizations/README.md | 28 +- docs/sdks/polarbenefitgrants/README.md | 10 +- .../sdks/polarcustomerportalmembers/README.md | 237 ++ docs/sdks/polarcustomers/README.md | 157 +- docs/sdks/polarmembers/README.md | 382 +- docs/sdks/polarorders/README.md | 57 +- docs/sdks/polarsubscriptions/README.md | 25 +- docs/sdks/refunds/README.md | 2 +- docs/sdks/seats/README.md | 4 +- docs/sdks/subscriptions/README.md | 12 +- src/BenefitGrants.php | 9 +- src/Benefits.php | 44 +- src/CheckoutLinks.php | 25 +- src/Checkouts.php | 35 +- src/Clients.php | 41 +- src/CustomFields.php | 25 +- src/CustomerMeters.php | 10 +- src/CustomerPortal.php | 4 +- src/CustomerSeats.php | 32 +- src/CustomerSession.php | 10 +- src/CustomerSessions.php | 5 +- src/Customers.php | 378 +- src/Discounts.php | 29 +- src/Disputes.php | 119 +- src/Downloadables.php | 5 +- src/EventTypes.php | 12 +- src/Events.php | 22 +- src/Files.php | 37 +- src/LicenseKeys.php | 68 +- src/Members.php | 368 +- src/Meters.php | 25 +- src/Metrics.php | 110 +- .../AuthorizeResponseOrganization.php | 12 +- .../Components/AuthorizeResponseUser.php | 23 +- src/Models/Components/AvailableScope.php | 76 - .../Components/BalanceCreditOrderMetadata.php | 12 +- src/Models/Components/BenefitCustom.php | 31 +- src/Models/Components/BenefitCustomCreate.php | 14 +- .../Components/BenefitCustomSubscriber.php | 23 +- src/Models/Components/BenefitCustomUpdate.php | 14 +- src/Models/Components/BenefitDiscord.php | 31 +- .../Components/BenefitDiscordCreate.php | 14 +- .../Components/BenefitDiscordSubscriber.php | 23 +- .../Components/BenefitDownloadables.php | 31 +- .../Components/BenefitDownloadablesCreate.php | 14 +- .../BenefitDownloadablesSubscriber.php | 23 +- src/Models/Components/BenefitFeatureFlag.php | 31 +- .../Components/BenefitFeatureFlagCreate.php | 14 +- .../BenefitFeatureFlagSubscriber.php | 23 +- .../Components/BenefitFeatureFlagUpdate.php | 14 +- .../Components/BenefitGitHubRepository.php | 31 +- .../BenefitGitHubRepositoryCreate.php | 14 +- .../BenefitGitHubRepositorySubscriber.php | 23 +- src/Models/Components/BenefitGrant.php | 20 +- ...nefitGrantSlackSharedChannelProperties.php | 80 + .../BenefitGrantSlackSharedChannelWebhook.php | 208 + src/Models/Components/BenefitLicenseKeys.php | 31 +- .../Components/BenefitLicenseKeysCreate.php | 14 +- .../BenefitLicenseKeysSubscriber.php | 23 +- .../Components/BenefitLicenseKeysUpdate.php | 14 +- src/Models/Components/BenefitMeterCredit.php | 31 +- .../Components/BenefitMeterCreditCreate.php | 14 +- .../BenefitMeterCreditSubscriber.php | 23 +- .../Components/BenefitMeterCreditUpdate.php | 14 +- src/Models/Components/BenefitPublic.php | 12 +- .../Components/BenefitSlackSharedChannel.php | 149 + .../BenefitSlackSharedChannelCreate.php | 95 + ...efitSlackSharedChannelCreateProperties.php | 81 + .../BenefitSlackSharedChannelProperties.php | 85 + .../BenefitSlackSharedChannelSubscriber.php | 129 + ...SlackSharedChannelSubscriberProperties.php | 18 + .../BenefitSlackSharedChannelUpdate.php | 74 + src/Models/Components/BenefitType.php | 1 + src/Models/Components/BenefitVisibility.php | 17 + src/Models/Components/CardPayment.php | 13 +- src/Models/Components/Checkout.php | 27 +- src/Models/Components/CheckoutCreate.php | 6 +- src/Models/Components/CheckoutLink.php | 12 +- .../Components/CheckoutLinkCreateProduct.php | 13 +- .../CheckoutLinkCreateProductPrice.php | 13 +- .../Components/CheckoutLinkCreateProducts.php | 13 +- src/Models/Components/CheckoutLinkProduct.php | 37 +- src/Models/Components/CheckoutLinkUpdate.php | 13 +- src/Models/Components/CheckoutProduct.php | 37 +- src/Models/Components/CheckoutPublic.php | 27 +- .../Components/CheckoutPublicConfirmed.php | 27 +- ...CustomerBenefitGrantSlackSharedChannel.php | 173 + ...rantSlackSharedChannelPropertiesUpdate.php | 29 + ...erBenefitGrantSlackSharedChannelUpdate.php | 39 + .../Components/CustomerEmailUpdateRequest.php | 29 + .../CustomerEmailUpdateVerifyRequest.php | 29 + .../CustomerEmailUpdateVerifyResponse.php | 29 + src/Models/Components/CustomerIndividual.php | 41 +- src/Models/Components/CustomerOrder.php | 54 +- .../Components/CustomerOrderProduct.php | 37 +- .../Components/CustomerOrderReceipt.php | 31 + .../Components/CustomerOrderSubscription.php | 71 +- .../CustomerOrganizationFeatureSettings.php | 13 +- .../Components/CustomerPaymentMethodCard.php | 98 + .../CustomerPaymentMethodGeneric.php | 88 + .../Components/CustomerPortalCustomer.php | 12 +- .../CustomerPortalCustomerSettings.php | 30 + .../CustomerPortalCustomerUpdate.php | 12 +- .../Components/CustomerPortalMemberUpdate.php | 15 +- .../CustomerPortalSubscriptionSettings.php | 12 +- src/Models/Components/CustomerProduct.php | 39 +- src/Models/Components/CustomerSeat.php | 33 +- src/Models/Components/CustomerSeatAssign.php | 131 + .../Components/CustomerStateBenefitGrant.php | 10 +- .../Components/CustomerStateIndividual.php | 41 +- .../Components/CustomerStateSubscription.php | 10 +- src/Models/Components/CustomerStateTeam.php | 41 +- .../Components/CustomerSubscription.php | 77 +- .../Components/CustomerSubscriptionPause.php | 45 + .../CustomerSubscriptionProduct.php | 37 +- .../Components/CustomerSubscriptionResume.php | 30 + .../CustomerSubscriptionUpdateClear.php | 31 + .../CustomerSubscriptionUpdateSeats.php | 14 +- src/Models/Components/CustomerTeam.php | 41 +- .../Components/CustomerUpdatedFields.php | 12 +- ...tionCreate.php => DiscountFixedCreate.php} | 151 +- ...DiscountFixedOnceForeverDurationCreate.php | 176 - ...reate.php => DiscountPercentageCreate.php} | 81 +- ...untPercentageOnceForeverDurationCreate.php | 155 - src/Models/Components/DiscountProduct.php | 31 +- src/Models/Components/Dispute.php | 52 +- src/Models/Components/DisputeCustomer.php | 194 + src/Models/Components/EventName.php | 12 +- src/Models/Components/EventTypeWithStats.php | 49 +- src/Models/Components/FileServiceTypes.php | 1 + src/Models/Components/GenericPayment.php | 13 +- .../Components/IntrospectTokenResponse.php | 13 +- .../LegacyRecurringProductPriceCustom.php | 12 +- .../LegacyRecurringProductPriceFixed.php | 10 +- .../LegacyRecurringProductPriceFree.php | 145 - src/Models/Components/LicenseKeyCustomer.php | 41 +- src/Models/Components/ListResourceBenefit.php | 6 +- .../ListResourceCustomerBenefitGrant.php | 6 +- src/Models/Components/ListResourceEvent.php | 6 +- .../Components/ListResourceFileRead.php | 6 +- ...oken.php => ListResourcePaymentMethod.php} | 8 +- .../ListResourceWithCursorPaginationEvent.php | 6 +- ...reate.php => MemberCreateFromCustomer.php} | 44 +- src/Models/Components/MemberUpdate.php | 12 +- src/Models/Components/Meter.php | 34 +- src/Models/Components/MeterCreate.php | 35 +- src/Models/Components/MeterUnit.php | 17 + src/Models/Components/MeterUpdate.php | 36 +- src/Models/Components/MetricPeriod.php | 134 +- src/Models/Components/Metrics.php | 134 +- src/Models/Components/MetricsTotals.php | 134 +- .../Components/OAuth2ClientConfiguration.php | 2 +- .../OAuth2ClientConfigurationUpdate.php | 2 +- src/Models/Components/Order.php | 63 +- src/Models/Components/OrderCreate.php | 120 + src/Models/Components/OrderCustomer.php | 41 +- src/Models/Components/OrderFinalize.php | 32 + src/Models/Components/OrderProduct.php | 31 +- src/Models/Components/OrderReceipt.php | 31 + src/Models/Components/OrderStatus.php | 1 + src/Models/Components/OrderSubscription.php | 71 +- src/Models/Components/Organization.php | 52 +- .../Components/OrganizationAccessToken.php | 97 - .../OrganizationAccessTokenCreate.php | 60 - .../OrganizationAccessTokenCreateResponse.php | 39 - .../OrganizationAccessTokenSortProperty.php | 22 - .../OrganizationAccessTokenUpdate.php | 42 - .../Components/OrganizationCapabilities.php | 80 + src/Models/Components/OrganizationCreate.php | 21 +- .../OrganizationCustomerEmailSettings.php | 20 +- .../OrganizationCustomerPortalSettings.php | 13 +- .../OrganizationFeatureSettings.php | 111 +- .../OrganizationFeatureSettingsUpdate.php | 72 + .../OrganizationNotificationSettings.php | 38 - src/Models/Components/OrganizationStatus.php | 8 +- .../OrganizationSubscriptionSettings.php | 28 +- src/Models/Components/OrganizationUpdate.php | 32 +- src/Models/Components/PaymentTrigger.php | 20 + src/Models/Components/PresentmentCurrency.php | 90 + src/Models/Components/Product.php | 43 +- .../Components/ProductCreateOneTime.php | 8 +- .../Components/ProductCreateRecurring.php | 41 +- src/Models/Components/ProductPriceCustom.php | 2 +- .../Components/ProductPriceCustomCreate.php | 279 +- .../Components/ProductPriceFixedCreate.php | 160 +- src/Models/Components/ProductPriceFree.php | 111 - .../Components/ProductPriceFreeCreate.php | 53 - src/Models/Components/ProductPriceMeter.php | 32 +- src/Models/Components/ProductUpdate.php | 16 +- .../PublicSubscriptionProrationBehavior.php | 17 + src/Models/Components/Reason.php | 21 + ...ringInterval.php => RecurringInterval.php} | 2 +- src/Models/Components/RefundCreate.php | 11 +- src/Models/Components/RefundDispute.php | 32 +- src/Models/Components/Role.php | 17 + src/Models/Components/Scope.php | 3 +- src/Models/Components/SeatAssign.php | 17 +- src/Models/Components/Subscription.php | 77 +- .../Components/SubscriptionCustomer.php | 41 +- .../Components/SubscriptionPastDueEvent.php | 167 + .../SubscriptionPastDueMetadata.php | 88 + src/Models/Components/SubscriptionPause.php | 49 + .../Components/SubscriptionPausedEvent.php | 167 + .../Components/SubscriptionPausedMetadata.php | 98 + .../SubscriptionProrationBehavior.php | 1 + .../SubscriptionReactivatedEvent.php | 167 + .../SubscriptionReactivatedMetadata.php | 79 + src/Models/Components/SubscriptionResume.php | 30 + .../Components/SubscriptionResumedEvent.php | 167 + .../SubscriptionResumedMetadata.php | 79 + src/Models/Components/SubscriptionStatus.php | 1 + .../Components/SubscriptionUpdateBase.php | 65 + .../SubscriptionUpdateBillingPeriod.php | 2 +- .../Components/SubscriptionUpdateClear.php | 31 + .../SubscriptionUpdateClearedEvent.php | 167 + ... => SubscriptionUpdateClearedMetadata.php} | 13 +- .../Components/SubscriptionUpdateDiscount.php | 30 - .../Components/SubscriptionUpdateProduct.php | 42 - .../Components/SubscriptionUpdateTrial.php | 30 - ...bscriptionUpdatedBillingPeriodMetadata.php | 38 - .../SubscriptionUpdatedDiscountMetadata.php | 38 - .../Components/SubscriptionUpdatedEvent.php | 10 +- .../SubscriptionUpdatedMetadata.php | 90 + .../SubscriptionUpdatedProductMetadata.php | 48 - .../SubscriptionUpdatedSeatsMetadata.php | 48 - .../SupportCaseAttachmentFileCreate.php | 99 + .../SupportCaseAttachmentFileRead.php | 166 + src/Models/Components/TaxBehavior.php | 16 + src/Models/Components/TaxIDFormat.php | 1 + .../WebhookBenefitCreatedPayload.php | 12 +- .../WebhookBenefitGrantCreatedPayload.php | 10 +- .../WebhookBenefitGrantCycledPayload.php | 10 +- .../WebhookBenefitGrantRevokedPayload.php | 10 +- .../WebhookBenefitGrantUpdatedPayload.php | 10 +- .../WebhookBenefitUpdatedPayload.php | 12 +- src/Models/Components/WebhookEventType.php | 2 + .../WebhookSubscriptionPausedPayload.php | 57 + .../WebhookSubscriptionResumedPayload.php | 56 + .../Errors/AlreadyCanceledSubscription1.php | 58 + .../AlreadyCanceledSubscription1Throwable.php | 20 + .../Errors/AmbiguousExternalCustomerID.php | 47 + .../AmbiguousExternalCustomerIDThrowable.php | 20 + .../Errors/CannotCreateOrganizationError.php | 47 + ...CannotCreateOrganizationErrorThrowable.php | 20 + src/Models/Errors/DisputeNotOpenError.php | 47 + .../Errors/DisputeNotOpenErrorThrowable.php | 20 + .../Errors/ManualRetryLimitExceeded.php | 47 + .../ManualRetryLimitExceededThrowable.php | 20 + .../Errors/MissingInvoiceBillingDetails.php | 13 +- .../Errors/OffSessionChargesNotEnabled.php | 58 + .../OffSessionChargesNotEnabledThrowable.php | 20 + src/Models/Errors/OrderNotDraft.php | 47 + ...rowable.php => OrderNotDraftThrowable.php} | 6 +- .../Errors/OrderNotEligibleForInvoice.php | 47 + .../OrderNotEligibleForInvoiceThrowable.php | 20 + .../OrganizationNotReadyForPayments.php | 58 + ...ganizationNotReadyForPaymentsThrowable.php | 20 + src/Models/Errors/PauseResumeNotAllowed.php | 58 + .../Errors/PauseResumeNotAllowedThrowable.php | 20 + src/Models/Errors/PaymentActionRequired.php | 58 + .../Errors/PaymentActionRequiredThrowable.php | 20 + .../{NotPaidOrder.php => PaymentFailed1.php} | 8 +- src/Models/Errors/PaymentFailed1Throwable.php | 20 + .../Errors/PaymentMethodSetupFailed.php | 47 + .../PaymentMethodSetupFailedThrowable.php | 20 + .../SSOEnforcementRequiresConnection.php | 47 + ...EnforcementRequiresConnectionThrowable.php | 20 + .../Operations/BenefitsCreateResponse.php | 8 +- src/Models/Operations/BenefitsGetResponse.php | 8 +- .../Operations/BenefitsUpdateRequest.php | 8 +- .../Operations/BenefitsUpdateResponse.php | 8 +- ...CustomerPortalBenefitGrantsGetResponse.php | 8 +- ...stomerPortalBenefitGrantsUpdateRequest.php | 8 +- ...tomerPortalBenefitGrantsUpdateResponse.php | 8 +- ...PortalCustomersCheckEmailUpdateRequest.php | 29 + ...ortalCustomersCheckEmailUpdateResponse.php | 47 + ...talCustomersRequestEmailUpdateResponse.php | 56 + ...talCustomersRequestEmailUpdateSecurity.php | 38 + ...talCustomersVerifyEmailUpdateResponse.php} | 14 +- ...=> CustomerPortalOrdersReceiptRequest.php} | 3 +- ...> CustomerPortalOrdersReceiptResponse.php} | 12 +- .../CustomerPortalOrdersReceiptSecurity.php | 38 + ...stomerPortalSubscriptionsUpdateRequest.php | 8 +- .../Operations/CustomersExportResponse.php | 11 +- ...omersListPaymentMethodsExternalRequest.php | 50 + ...ersListPaymentMethodsExternalResponse.php} | 18 +- .../CustomersListPaymentMethodsRequest.php | 50 + .../CustomersListPaymentMethodsResponse.php | 73 + .../Operations/CustomersListRequest.php | 12 +- .../CustomersMembersCreateExternalRequest.php | 40 + ...CustomersMembersCreateExternalResponse.php | 56 + ....php => CustomersMembersCreateRequest.php} | 13 +- ...php => CustomersMembersCreateResponse.php} | 2 +- .../CustomersMembersDeleteExternalRequest.php | 40 + ...ustomersMembersDeleteExternalResponse.php} | 2 +- .../CustomersMembersDeleteRequest.php | 39 + ...php => CustomersMembersDeleteResponse.php} | 2 +- .../CustomersMembersGetExternalRequest.php | 40 + .../CustomersMembersGetExternalResponse.php | 56 + .../Operations/CustomersMembersGetRequest.php | 39 + ...se.php => CustomersMembersGetResponse.php} | 2 +- .../CustomersMembersUpdateExternalRequest.php | 50 + ...CustomersMembersUpdateExternalResponse.php | 56 + ....php => CustomersMembersUpdateRequest.php} | 14 +- ...php => CustomersMembersUpdateResponse.php} | 2 +- ...rRequest.php => DisputesAcceptRequest.php} | 3 +- .../Operations/DisputesAcceptResponse.php | 56 + src/Models/Operations/EventsGetResponse.php | 8 +- src/Models/Operations/FilesUpdateResponse.php | 10 +- .../Operations/FilesUploadedResponse.php | 10 +- .../Operations/LicenseKeysListRequest.php | 13 +- .../Operations/MetricsExportRequest.php | 112 + .../Operations/MetricsExportResponse.php | 56 + ...auth2ClientsOauth2DeleteClientResponse.php | 11 +- .../Operations/OrdersCreateResponse.php | 56 + .../Operations/OrdersExportResponse.php | 11 +- .../Operations/OrdersFinalizeRequest.php | 40 + .../Operations/OrdersFinalizeResponse.php | 56 + src/Models/Operations/OrdersListRequest.php | 12 +- ...teRequest.php => OrdersReceiptRequest.php} | 3 +- .../Operations/OrdersReceiptResponse.php | 56 + .../OrganizationAccessTokensListRequest.php | 61 - src/Models/Operations/PaymentsListRequest.php | 12 +- .../SubscriptionsExportResponse.php | 11 +- .../Operations/SubscriptionsListRequest.php | 13 +- .../Operations/SubscriptionsUpdateRequest.php | 8 +- ...EndpointsubscriptionPausedPostResponse.php | 56 + ...ndpointsubscriptionResumedPostResponse.php | 56 + src/Oauth2.php | 25 +- src/Orders.php | 380 +- src/Organizations.php | 50 +- src/Payments.php | 11 +- src/Polar.php | 3 - src/PolarBenefitGrants.php | 23 +- src/PolarCustomerMeters.php | 10 +- ...ens.php => PolarCustomerPortalMembers.php} | 268 +- src/PolarCustomers.php | 263 +- src/PolarLicenseKeys.php | 25 +- src/PolarMembers.php | 669 ++- src/PolarOrders.php | 173 +- src/PolarOrganizations.php | 5 +- src/PolarSubscriptions.php | 27 +- src/Products.php | 25 +- src/Refunds.php | 10 +- src/SDKConfiguration.php | 8 +- src/Seats.php | 29 +- src/Subscriptions.php | 52 +- src/Utils/Retry/RetryUtils.php | 4 + src/Utils/UnionHandler.php | 16 +- src/Wallets.php | 10 +- src/Webhooks.php | 40 +- 743 files changed, 19624 insertions(+), 7039 deletions(-) create mode 100644 docs/Models/Components/AnnualRecurringRevenue.md delete mode 100644 docs/Models/Components/AvailableScope.md create mode 100644 docs/Models/Components/AverageSeatsPerCustomer.md create mode 100644 docs/Models/Components/BenefitGrantSlackSharedChannelProperties.md create mode 100644 docs/Models/Components/BenefitGrantSlackSharedChannelWebhook.md create mode 100644 docs/Models/Components/BenefitSlackSharedChannel.md create mode 100644 docs/Models/Components/BenefitSlackSharedChannelCreate.md rename docs/Models/Components/{DiscountFixedRepeatDurationCreateMetadata.md => BenefitSlackSharedChannelCreateMetadata.md} (88%) create mode 100644 docs/Models/Components/BenefitSlackSharedChannelCreateProperties.md create mode 100644 docs/Models/Components/BenefitSlackSharedChannelProperties.md create mode 100644 docs/Models/Components/BenefitSlackSharedChannelSubscriber.md create mode 100644 docs/Models/Components/BenefitSlackSharedChannelSubscriberProperties.md create mode 100644 docs/Models/Components/BenefitSlackSharedChannelUpdate.md rename docs/Models/Components/{DiscountFixedOnceForeverDurationCreateMetadata.md => BenefitSlackSharedChannelUpdateMetadata.md} (87%) create mode 100644 docs/Models/Components/BenefitVisibility.md create mode 100644 docs/Models/Components/ChurnedSeatCustomers.md create mode 100644 docs/Models/Components/CommittedAnnualRecurringRevenue.md create mode 100644 docs/Models/Components/CustomerBenefitGrantSlackSharedChannel.md create mode 100644 docs/Models/Components/CustomerBenefitGrantSlackSharedChannelPropertiesUpdate.md rename docs/Models/Components/{SubscriptionUpdateDiscount.md => CustomerBenefitGrantSlackSharedChannelUpdate.md} (64%) create mode 100644 docs/Models/Components/CustomerEmailUpdateRequest.md create mode 100644 docs/Models/Components/CustomerEmailUpdateVerifyRequest.md create mode 100644 docs/Models/Components/CustomerEmailUpdateVerifyResponse.md create mode 100644 docs/Models/Components/CustomerOrderReceipt.md create mode 100644 docs/Models/Components/CustomerPaymentMethodCard.md create mode 100644 docs/Models/Components/CustomerPaymentMethodGeneric.md create mode 100644 docs/Models/Components/CustomerPortalCustomerSettings.md create mode 100644 docs/Models/Components/CustomerSeatAssign.md create mode 100644 docs/Models/Components/CustomerSubscriptionPause.md create mode 100644 docs/Models/Components/CustomerSubscriptionResume.md create mode 100644 docs/Models/Components/CustomerSubscriptionUpdateClear.md rename docs/Models/Components/{DiscountFixedRepeatDurationCreate.md => DiscountFixedCreate.md} (96%) rename docs/Models/Components/{DiscountPercentageRepeatDurationCreateMetadata.md => DiscountFixedCreateMetadata.md} (87%) delete mode 100644 docs/Models/Components/DiscountFixedOnceForeverDurationCreate.md rename docs/Models/Components/{DiscountPercentageRepeatDurationCreate.md => DiscountPercentageCreate.md} (95%) rename docs/Models/Components/{DiscountPercentageOnceForeverDurationCreateMetadata.md => DiscountPercentageCreateMetadata.md} (85%) create mode 100644 docs/Models/Components/DisputeCustomer.md create mode 100644 docs/Models/Components/DisputeCustomerTaxId.md delete mode 100644 docs/Models/Components/LegacyRecurringProductPriceFree.md delete mode 100644 docs/Models/Components/ListResourceOrganizationAccessToken.md create mode 100644 docs/Models/Components/ListResourcePaymentMethod.md delete mode 100644 docs/Models/Components/MemberCreate.md create mode 100644 docs/Models/Components/MemberCreateFromCustomer.md create mode 100644 docs/Models/Components/MeterUnit.md create mode 100644 docs/Models/Components/MetricsTotalsAnnualRecurringRevenue.md create mode 100644 docs/Models/Components/MetricsTotalsAverageSeatsPerCustomer.md create mode 100644 docs/Models/Components/MetricsTotalsChurnedSeatCustomers.md create mode 100644 docs/Models/Components/MetricsTotalsCommittedAnnualRecurringRevenue.md create mode 100644 docs/Models/Components/MetricsTotalsNewSeatCustomers.md create mode 100644 docs/Models/Components/MetricsTotalsSeatCustomers.md create mode 100644 docs/Models/Components/MetricsTotalsSeatUtilizationRate.md create mode 100644 docs/Models/Components/MetricsTotalsSeatsClaimed.md create mode 100644 docs/Models/Components/MetricsTotalsSeatsPending.md create mode 100644 docs/Models/Components/MetricsTotalsSeatsTotal.md create mode 100644 docs/Models/Components/MetricsTotalsTrialCommittedMonthlyRecurringRevenue.md create mode 100644 docs/Models/Components/MetricsTotalsTrialMonthlyRecurringRevenue.md create mode 100644 docs/Models/Components/NewSeatCustomers.md rename docs/Models/Components/{DiscountPercentageOnceForeverDurationCreate.md => OrderCreate.md} (65%) create mode 100644 docs/Models/Components/OrderCreateCustomFieldData.md create mode 100644 docs/Models/Components/OrderCreateMetadata.md create mode 100644 docs/Models/Components/OrderFinalize.md create mode 100644 docs/Models/Components/OrderReceipt.md delete mode 100644 docs/Models/Components/OrganizationAccessToken.md delete mode 100644 docs/Models/Components/OrganizationAccessTokenCreate.md delete mode 100644 docs/Models/Components/OrganizationAccessTokenCreateResponse.md delete mode 100644 docs/Models/Components/OrganizationAccessTokenSortProperty.md delete mode 100644 docs/Models/Components/OrganizationAccessTokenUpdate.md create mode 100644 docs/Models/Components/OrganizationCapabilities.md create mode 100644 docs/Models/Components/OrganizationFeatureSettingsUpdate.md create mode 100644 docs/Models/Components/PaymentMethod.md create mode 100644 docs/Models/Components/PaymentTrigger.md delete mode 100644 docs/Models/Components/ProductPriceFree.md delete mode 100644 docs/Models/Components/ProductPriceFreeCreate.md create mode 100644 docs/Models/Components/PublicSubscriptionProrationBehavior.md create mode 100644 docs/Models/Components/Reason.md rename docs/Models/Components/{SubscriptionRecurringInterval.md => RecurringInterval.md} (81%) create mode 100644 docs/Models/Components/Role.md create mode 100644 docs/Models/Components/SeatCustomers.md create mode 100644 docs/Models/Components/SeatUtilizationRate.md create mode 100644 docs/Models/Components/SeatsClaimed.md create mode 100644 docs/Models/Components/SeatsPending.md create mode 100644 docs/Models/Components/SeatsTotal.md create mode 100644 docs/Models/Components/SubscriptionPastDueEvent.md create mode 100644 docs/Models/Components/SubscriptionPastDueMetadata.md rename docs/Models/{Operations/OrganizationAccessTokensListResponse.md => Components/SubscriptionPause.md} (50%) create mode 100644 docs/Models/Components/SubscriptionPausedEvent.md create mode 100644 docs/Models/Components/SubscriptionPausedMetadata.md create mode 100644 docs/Models/Components/SubscriptionReactivatedEvent.md create mode 100644 docs/Models/Components/SubscriptionReactivatedMetadata.md create mode 100644 docs/Models/Components/SubscriptionResume.md create mode 100644 docs/Models/Components/SubscriptionResumedEvent.md create mode 100644 docs/Models/Components/SubscriptionResumedMetadata.md create mode 100644 docs/Models/Components/SubscriptionUpdateBase.md create mode 100644 docs/Models/Components/SubscriptionUpdateClear.md create mode 100644 docs/Models/Components/SubscriptionUpdateClearedEvent.md rename docs/Models/Components/{SubscriptionUpdatedTrialMetadata.md => SubscriptionUpdateClearedMetadata.md} (69%) delete mode 100644 docs/Models/Components/SubscriptionUpdateProduct.md delete mode 100644 docs/Models/Components/SubscriptionUpdateTrial.md delete mode 100644 docs/Models/Components/SubscriptionUpdatedDiscountMetadata.md delete mode 100644 docs/Models/Components/SubscriptionUpdatedEventMetadata.md create mode 100644 docs/Models/Components/SubscriptionUpdatedMetadata.md delete mode 100644 docs/Models/Components/SubscriptionUpdatedProductMetadata.md delete mode 100644 docs/Models/Components/SubscriptionUpdatedSeatsMetadata.md create mode 100644 docs/Models/Components/SupportCaseAttachmentFileCreate.md create mode 100644 docs/Models/Components/SupportCaseAttachmentFileRead.md create mode 100644 docs/Models/Components/TaxBehavior.md create mode 100644 docs/Models/Components/TrialCommittedMonthlyRecurringRevenue.md create mode 100644 docs/Models/Components/TrialMonthlyRecurringRevenue.md create mode 100644 docs/Models/Components/WebhookSubscriptionPausedPayload.md create mode 100644 docs/Models/Components/WebhookSubscriptionResumedPayload.md create mode 100644 docs/Models/Errors/AlreadyCanceledSubscription1.md create mode 100644 docs/Models/Errors/AmbiguousExternalCustomerID.md create mode 100644 docs/Models/Errors/CannotCreateOrganizationError.md delete mode 100644 docs/Models/Errors/CustomerPortalOrdersGenerateInvoiceResponse422CustomerPortalOrdersGenerateInvoice.md create mode 100644 docs/Models/Errors/CustomerPortalSubscriptionsUpdateResponse403CustomerPortalSubscriptionsUpdate.md create mode 100644 docs/Models/Errors/DisputeNotOpenError.md create mode 100644 docs/Models/Errors/ManualRetryLimitExceeded.md create mode 100644 docs/Models/Errors/OffSessionChargesNotEnabled.md create mode 100644 docs/Models/Errors/OrderNotDraft.md create mode 100644 docs/Models/Errors/OrderNotEligibleForInvoice.md create mode 100644 docs/Models/Errors/OrdersFinalizeResponse402OrdersFinalize.md create mode 100644 docs/Models/Errors/OrdersFinalizeResponse403OrdersFinalize.md delete mode 100644 docs/Models/Errors/OrdersGenerateInvoiceResponse422OrdersGenerateInvoice.md create mode 100644 docs/Models/Errors/OrganizationNotReadyForPayments.md create mode 100644 docs/Models/Errors/PauseResumeNotAllowed.md create mode 100644 docs/Models/Errors/PaymentActionRequired.md rename docs/Models/Errors/{NotPaidOrder.md => PaymentFailed1.md} (94%) create mode 100644 docs/Models/Errors/PaymentMethodSetupFailed.md create mode 100644 docs/Models/Errors/SSOEnforcementRequiresConnection.md create mode 100644 docs/Models/Operations/CheckoutsListQueryParamStatusFilter.md create mode 100644 docs/Models/Operations/CustomerPortalBenefitGrantsListQueryParamSubscriptionIDFilter.md create mode 100644 docs/Models/Operations/CustomerPortalCustomersCheckEmailUpdateRequest.md create mode 100644 docs/Models/Operations/CustomerPortalCustomersCheckEmailUpdateResponse.md create mode 100644 docs/Models/Operations/CustomerPortalCustomersRequestEmailUpdateResponse.md rename docs/Models/{Components/SubscriptionUpdatedBillingPeriodMetadata.md => Operations/CustomerPortalCustomersRequestEmailUpdateSecurity.md} (55%) create mode 100644 docs/Models/Operations/CustomerPortalCustomersVerifyEmailUpdateResponse.md rename docs/Models/Operations/{OrganizationAccessTokensDeleteRequest.md => CustomerPortalOrdersReceiptRequest.md} (80%) create mode 100644 docs/Models/Operations/CustomerPortalOrdersReceiptResponse.md rename docs/Models/{Components/OrganizationNotificationSettings.md => Operations/CustomerPortalOrdersReceiptSecurity.md} (57%) create mode 100644 docs/Models/Operations/CustomersListPaymentMethodsExternalRequest.md create mode 100644 docs/Models/Operations/CustomersListPaymentMethodsExternalResponse.md create mode 100644 docs/Models/Operations/CustomersListPaymentMethodsRequest.md create mode 100644 docs/Models/Operations/CustomersListPaymentMethodsResponse.md create mode 100644 docs/Models/Operations/CustomersMembersCreateExternalRequest.md create mode 100644 docs/Models/Operations/CustomersMembersCreateExternalResponse.md create mode 100644 docs/Models/Operations/CustomersMembersCreateRequest.md rename docs/Models/Operations/{MembersCreateMemberResponse.md => CustomersMembersCreateResponse.md} (98%) create mode 100644 docs/Models/Operations/CustomersMembersDeleteExternalRequest.md rename docs/Models/Operations/{OrganizationAccessTokensDeleteResponse.md => CustomersMembersDeleteExternalResponse.md} (98%) create mode 100644 docs/Models/Operations/CustomersMembersDeleteRequest.md rename docs/Models/Operations/{MembersDeleteMemberResponse.md => CustomersMembersDeleteResponse.md} (98%) create mode 100644 docs/Models/Operations/CustomersMembersGetExternalRequest.md create mode 100644 docs/Models/Operations/CustomersMembersGetExternalResponse.md create mode 100644 docs/Models/Operations/CustomersMembersGetRequest.md rename docs/Models/Operations/{MembersGetMemberResponse.md => CustomersMembersGetResponse.md} (98%) create mode 100644 docs/Models/Operations/CustomersMembersUpdateExternalRequest.md create mode 100644 docs/Models/Operations/CustomersMembersUpdateExternalResponse.md rename docs/Models/Operations/{MembersUpdateMemberRequest.md => CustomersMembersUpdateRequest.md} (78%) rename docs/Models/Operations/{MembersUpdateMemberResponse.md => CustomersMembersUpdateResponse.md} (98%) rename docs/Models/Operations/{MembersGetMemberRequest.md => DisputesAcceptRequest.md} (84%) create mode 100644 docs/Models/Operations/DisputesAcceptResponse.md delete mode 100644 docs/Models/Operations/FilesUpdateResponseFilesUpdate.md delete mode 100644 docs/Models/Operations/FilesUploadedResponseFilesUploaded.md create mode 100644 docs/Models/Operations/LicenseKeyStatusFilter.md create mode 100644 docs/Models/Operations/MetricsExportQueryParamCustomerIDFilter.md rename docs/Models/Operations/{OrganizationAccessTokensListQueryParamOrganizationIDFilter.md => MetricsExportQueryParamOrganizationIDFilter.md} (78%) create mode 100644 docs/Models/Operations/MetricsExportQueryParamProductBillingTypeFilter.md create mode 100644 docs/Models/Operations/MetricsExportQueryParamProductIDFilter.md create mode 100644 docs/Models/Operations/MetricsExportRequest.md create mode 100644 docs/Models/Operations/MetricsExportResponse.md rename docs/Models/Operations/{OrganizationAccessTokensUpdateResponse.md => OrdersCreateResponse.md} (91%) create mode 100644 docs/Models/Operations/OrdersFinalizeRequest.md create mode 100644 docs/Models/Operations/OrdersFinalizeResponse.md rename docs/Models/Operations/{MembersDeleteMemberRequest.md => OrdersReceiptRequest.md} (83%) create mode 100644 docs/Models/Operations/OrdersReceiptResponse.md delete mode 100644 docs/Models/Operations/OrganizationAccessTokensCreateResponse.md delete mode 100644 docs/Models/Operations/OrganizationAccessTokensListRequest.md delete mode 100644 docs/Models/Operations/OrganizationAccessTokensUpdateRequest.md create mode 100644 docs/Models/Operations/PaymentsListQueryParamCustomerIDFilter.md create mode 100644 docs/Models/Webhooks/EndpointsubscriptionPausedPostResponse.md create mode 100644 docs/Models/Webhooks/EndpointsubscriptionResumedPostResponse.md delete mode 100644 docs/sdks/organizationaccesstokens/README.md create mode 100644 docs/sdks/polarcustomerportalmembers/README.md delete mode 100644 src/Models/Components/AvailableScope.php create mode 100644 src/Models/Components/BenefitGrantSlackSharedChannelProperties.php create mode 100644 src/Models/Components/BenefitGrantSlackSharedChannelWebhook.php create mode 100644 src/Models/Components/BenefitSlackSharedChannel.php create mode 100644 src/Models/Components/BenefitSlackSharedChannelCreate.php create mode 100644 src/Models/Components/BenefitSlackSharedChannelCreateProperties.php create mode 100644 src/Models/Components/BenefitSlackSharedChannelProperties.php create mode 100644 src/Models/Components/BenefitSlackSharedChannelSubscriber.php create mode 100644 src/Models/Components/BenefitSlackSharedChannelSubscriberProperties.php create mode 100644 src/Models/Components/BenefitSlackSharedChannelUpdate.php create mode 100644 src/Models/Components/BenefitVisibility.php create mode 100644 src/Models/Components/CustomerBenefitGrantSlackSharedChannel.php create mode 100644 src/Models/Components/CustomerBenefitGrantSlackSharedChannelPropertiesUpdate.php create mode 100644 src/Models/Components/CustomerBenefitGrantSlackSharedChannelUpdate.php create mode 100644 src/Models/Components/CustomerEmailUpdateRequest.php create mode 100644 src/Models/Components/CustomerEmailUpdateVerifyRequest.php create mode 100644 src/Models/Components/CustomerEmailUpdateVerifyResponse.php create mode 100644 src/Models/Components/CustomerOrderReceipt.php create mode 100644 src/Models/Components/CustomerPaymentMethodCard.php create mode 100644 src/Models/Components/CustomerPaymentMethodGeneric.php create mode 100644 src/Models/Components/CustomerPortalCustomerSettings.php create mode 100644 src/Models/Components/CustomerSeatAssign.php create mode 100644 src/Models/Components/CustomerSubscriptionPause.php create mode 100644 src/Models/Components/CustomerSubscriptionResume.php create mode 100644 src/Models/Components/CustomerSubscriptionUpdateClear.php rename src/Models/Components/{DiscountFixedRepeatDurationCreate.php => DiscountFixedCreate.php} (86%) delete mode 100644 src/Models/Components/DiscountFixedOnceForeverDurationCreate.php rename src/Models/Components/{DiscountPercentageRepeatDurationCreate.php => DiscountPercentageCreate.php} (85%) delete mode 100644 src/Models/Components/DiscountPercentageOnceForeverDurationCreate.php create mode 100644 src/Models/Components/DisputeCustomer.php delete mode 100644 src/Models/Components/LegacyRecurringProductPriceFree.php rename src/Models/Components/{ListResourceOrganizationAccessToken.php => ListResourcePaymentMethod.php} (68%) rename src/Models/Components/{MemberCreate.php => MemberCreateFromCustomer.php} (65%) create mode 100644 src/Models/Components/MeterUnit.php create mode 100644 src/Models/Components/OrderCreate.php create mode 100644 src/Models/Components/OrderFinalize.php create mode 100644 src/Models/Components/OrderReceipt.php delete mode 100644 src/Models/Components/OrganizationAccessToken.php delete mode 100644 src/Models/Components/OrganizationAccessTokenCreate.php delete mode 100644 src/Models/Components/OrganizationAccessTokenCreateResponse.php delete mode 100644 src/Models/Components/OrganizationAccessTokenSortProperty.php delete mode 100644 src/Models/Components/OrganizationAccessTokenUpdate.php create mode 100644 src/Models/Components/OrganizationCapabilities.php create mode 100644 src/Models/Components/OrganizationFeatureSettingsUpdate.php delete mode 100644 src/Models/Components/OrganizationNotificationSettings.php create mode 100644 src/Models/Components/PaymentTrigger.php delete mode 100644 src/Models/Components/ProductPriceFree.php delete mode 100644 src/Models/Components/ProductPriceFreeCreate.php create mode 100644 src/Models/Components/PublicSubscriptionProrationBehavior.php create mode 100644 src/Models/Components/Reason.php rename src/Models/Components/{SubscriptionRecurringInterval.php => RecurringInterval.php} (85%) create mode 100644 src/Models/Components/Role.php create mode 100644 src/Models/Components/SubscriptionPastDueEvent.php create mode 100644 src/Models/Components/SubscriptionPastDueMetadata.php create mode 100644 src/Models/Components/SubscriptionPause.php create mode 100644 src/Models/Components/SubscriptionPausedEvent.php create mode 100644 src/Models/Components/SubscriptionPausedMetadata.php create mode 100644 src/Models/Components/SubscriptionReactivatedEvent.php create mode 100644 src/Models/Components/SubscriptionReactivatedMetadata.php create mode 100644 src/Models/Components/SubscriptionResume.php create mode 100644 src/Models/Components/SubscriptionResumedEvent.php create mode 100644 src/Models/Components/SubscriptionResumedMetadata.php create mode 100644 src/Models/Components/SubscriptionUpdateBase.php create mode 100644 src/Models/Components/SubscriptionUpdateClear.php create mode 100644 src/Models/Components/SubscriptionUpdateClearedEvent.php rename src/Models/Components/{SubscriptionUpdatedTrialMetadata.php => SubscriptionUpdateClearedMetadata.php} (57%) delete mode 100644 src/Models/Components/SubscriptionUpdateDiscount.php delete mode 100644 src/Models/Components/SubscriptionUpdateProduct.php delete mode 100644 src/Models/Components/SubscriptionUpdateTrial.php delete mode 100644 src/Models/Components/SubscriptionUpdatedBillingPeriodMetadata.php delete mode 100644 src/Models/Components/SubscriptionUpdatedDiscountMetadata.php create mode 100644 src/Models/Components/SubscriptionUpdatedMetadata.php delete mode 100644 src/Models/Components/SubscriptionUpdatedProductMetadata.php delete mode 100644 src/Models/Components/SubscriptionUpdatedSeatsMetadata.php create mode 100644 src/Models/Components/SupportCaseAttachmentFileCreate.php create mode 100644 src/Models/Components/SupportCaseAttachmentFileRead.php create mode 100644 src/Models/Components/TaxBehavior.php create mode 100644 src/Models/Components/WebhookSubscriptionPausedPayload.php create mode 100644 src/Models/Components/WebhookSubscriptionResumedPayload.php create mode 100644 src/Models/Errors/AlreadyCanceledSubscription1.php create mode 100644 src/Models/Errors/AlreadyCanceledSubscription1Throwable.php create mode 100644 src/Models/Errors/AmbiguousExternalCustomerID.php create mode 100644 src/Models/Errors/AmbiguousExternalCustomerIDThrowable.php create mode 100644 src/Models/Errors/CannotCreateOrganizationError.php create mode 100644 src/Models/Errors/CannotCreateOrganizationErrorThrowable.php create mode 100644 src/Models/Errors/DisputeNotOpenError.php create mode 100644 src/Models/Errors/DisputeNotOpenErrorThrowable.php create mode 100644 src/Models/Errors/ManualRetryLimitExceeded.php create mode 100644 src/Models/Errors/ManualRetryLimitExceededThrowable.php create mode 100644 src/Models/Errors/OffSessionChargesNotEnabled.php create mode 100644 src/Models/Errors/OffSessionChargesNotEnabledThrowable.php create mode 100644 src/Models/Errors/OrderNotDraft.php rename src/Models/Errors/{NotPaidOrderThrowable.php => OrderNotDraftThrowable.php} (72%) create mode 100644 src/Models/Errors/OrderNotEligibleForInvoice.php create mode 100644 src/Models/Errors/OrderNotEligibleForInvoiceThrowable.php create mode 100644 src/Models/Errors/OrganizationNotReadyForPayments.php create mode 100644 src/Models/Errors/OrganizationNotReadyForPaymentsThrowable.php create mode 100644 src/Models/Errors/PauseResumeNotAllowed.php create mode 100644 src/Models/Errors/PauseResumeNotAllowedThrowable.php create mode 100644 src/Models/Errors/PaymentActionRequired.php create mode 100644 src/Models/Errors/PaymentActionRequiredThrowable.php rename src/Models/Errors/{NotPaidOrder.php => PaymentFailed1.php} (84%) create mode 100644 src/Models/Errors/PaymentFailed1Throwable.php create mode 100644 src/Models/Errors/PaymentMethodSetupFailed.php create mode 100644 src/Models/Errors/PaymentMethodSetupFailedThrowable.php create mode 100644 src/Models/Errors/SSOEnforcementRequiresConnection.php create mode 100644 src/Models/Errors/SSOEnforcementRequiresConnectionThrowable.php create mode 100644 src/Models/Operations/CustomerPortalCustomersCheckEmailUpdateRequest.php create mode 100644 src/Models/Operations/CustomerPortalCustomersCheckEmailUpdateResponse.php create mode 100644 src/Models/Operations/CustomerPortalCustomersRequestEmailUpdateResponse.php create mode 100644 src/Models/Operations/CustomerPortalCustomersRequestEmailUpdateSecurity.php rename src/Models/Operations/{OrganizationAccessTokensCreateResponse.php => CustomerPortalCustomersVerifyEmailUpdateResponse.php} (66%) rename src/Models/Operations/{MembersGetMemberRequest.php => CustomerPortalOrdersReceiptRequest.php} (88%) rename src/Models/Operations/{OrganizationAccessTokensUpdateResponse.php => CustomerPortalOrdersReceiptResponse.php} (72%) create mode 100644 src/Models/Operations/CustomerPortalOrdersReceiptSecurity.php create mode 100644 src/Models/Operations/CustomersListPaymentMethodsExternalRequest.php rename src/Models/Operations/{OrganizationAccessTokensListResponse.php => CustomersListPaymentMethodsExternalResponse.php} (65%) create mode 100644 src/Models/Operations/CustomersListPaymentMethodsRequest.php create mode 100644 src/Models/Operations/CustomersListPaymentMethodsResponse.php create mode 100644 src/Models/Operations/CustomersMembersCreateExternalRequest.php create mode 100644 src/Models/Operations/CustomersMembersCreateExternalResponse.php rename src/Models/Operations/{OrganizationAccessTokensUpdateRequest.php => CustomersMembersCreateRequest.php} (50%) rename src/Models/Operations/{MembersCreateMemberResponse.php => CustomersMembersCreateResponse.php} (97%) create mode 100644 src/Models/Operations/CustomersMembersDeleteExternalRequest.php rename src/Models/Operations/{OrganizationAccessTokensDeleteResponse.php => CustomersMembersDeleteExternalResponse.php} (95%) create mode 100644 src/Models/Operations/CustomersMembersDeleteRequest.php rename src/Models/Operations/{MembersDeleteMemberResponse.php => CustomersMembersDeleteResponse.php} (96%) create mode 100644 src/Models/Operations/CustomersMembersGetExternalRequest.php create mode 100644 src/Models/Operations/CustomersMembersGetExternalResponse.php create mode 100644 src/Models/Operations/CustomersMembersGetRequest.php rename src/Models/Operations/{MembersGetMemberResponse.php => CustomersMembersGetResponse.php} (97%) create mode 100644 src/Models/Operations/CustomersMembersUpdateExternalRequest.php create mode 100644 src/Models/Operations/CustomersMembersUpdateExternalResponse.php rename src/Models/Operations/{MembersUpdateMemberRequest.php => CustomersMembersUpdateRequest.php} (66%) rename src/Models/Operations/{MembersUpdateMemberResponse.php => CustomersMembersUpdateResponse.php} (97%) rename src/Models/Operations/{MembersDeleteMemberRequest.php => DisputesAcceptRequest.php} (90%) create mode 100644 src/Models/Operations/DisputesAcceptResponse.php create mode 100644 src/Models/Operations/MetricsExportRequest.php create mode 100644 src/Models/Operations/MetricsExportResponse.php create mode 100644 src/Models/Operations/OrdersCreateResponse.php create mode 100644 src/Models/Operations/OrdersFinalizeRequest.php create mode 100644 src/Models/Operations/OrdersFinalizeResponse.php rename src/Models/Operations/{OrganizationAccessTokensDeleteRequest.php => OrdersReceiptRequest.php} (90%) create mode 100644 src/Models/Operations/OrdersReceiptResponse.php delete mode 100644 src/Models/Operations/OrganizationAccessTokensListRequest.php create mode 100644 src/Models/Webhooks/EndpointsubscriptionPausedPostResponse.php create mode 100644 src/Models/Webhooks/EndpointsubscriptionResumedPostResponse.php rename src/{OrganizationAccessTokens.php => PolarCustomerPortalMembers.php} (76%) diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index 1d78befe..aae0c9d8 100644 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -1,23 +1,23 @@ lockVersion: 2.0.0 id: bd003db9-613a-4093-838e-6d19bf5f76d7 management: - docChecksum: 45f975f32ef350d8f3f34fe5af95de85 - docVersion: 0.1.0 - speakeasyVersion: 1.761.1 - generationVersion: 2.879.6 - releaseVersion: 0.10.0 - configChecksum: 367388e48873076441846c9f22829d79 + docChecksum: aab10ab265cefbe580921695b3a894b0 + docVersion: 2026-04 + speakeasyVersion: 1.790.3 + generationVersion: 2.918.4 + releaseVersion: 0.11.0 + configChecksum: e6d373cb95c2f6407254270d0839fdfd repoURL: https://github.com/polarsource/polar-php.git installationURL: https://github.com/polarsource/polar-php.git published: true persistentEdits: - generation_id: 2febf1ab-50dc-484e-ab1a-045b061de13e - pristine_commit_hash: 068f4747b2f4f7dd1f3a7e8877add71bf471df4e - pristine_tree_hash: 4743ca0f3d52ea5aee536daf066156cae89cbc0e + generation_id: c49cdf01-fac1-4144-82f3-a3c2e17f1f80 + pristine_commit_hash: a2544740b924bde06371f00309aca35d3a0030e2 + pristine_tree_hash: 0509a361baabfb135e33061966e4dad90a6c872b features: php: constsAndDefaults: 0.2.2 - core: 3.9.22 + core: 3.9.25 deprecations: 2.81.1 enums: 2.82.0 errorUnions: 0.1.0 @@ -33,7 +33,7 @@ features: pagination: 0.1.5 responseFormat: 0.1.0 serverIDs: 2.81.1 - unions: 0.1.7 + unions: 0.1.8 webhooks: 1.0.0 trackedFiles: .gitattributes: @@ -42,12 +42,12 @@ trackedFiles: pristine_git_object: e672f6ec6e8fb43d8886a12d531eb19ee8aaf881 USAGE.md: id: 3aed33ce6e6f - last_write_checksum: sha1:19fc4caae9f640c6e3f0d4728a52201aecd97563 - pristine_git_object: 5e8264b9b5424dbdcc0ac4d936ea93f035f0c147 + last_write_checksum: sha1:c6bd2a9273d861e24ad19ec8b323267b7630fe0f + pristine_git_object: f2939364ff5157d6e34c0e8a95ee22cd75f07a64 composer.json: id: 3957b91a0d84 - last_write_checksum: sha1:04f2e0bac3a61b2ec37b7a3101019a97e1d5ee80 - pristine_git_object: d5b75f4f8c066ce8200622873e6ffa51c5eaf723 + last_write_checksum: sha1:8195e53895b25d44d88268bfd516b5d5d4929d22 + pristine_git_object: 3712ed245fe32ea4c33fe0b9525b5c0fe9283e34 config/services.php: id: 67cde7ebf0c8 last_write_checksum: sha1:13c6a680109cf9850bc3bc1c83559f968ed3bbc0 @@ -92,6 +92,10 @@ trackedFiles: id: 468ddbb4b17c last_write_checksum: sha1:00d27e1cc955c914cf4440eee72409ebb4d84241 pristine_git_object: cd25984ea3730fb2ec58bccf2614a9b93268af1a + docs/Models/Components/AnnualRecurringRevenue.md: + id: eece6a9ee262 + last_write_checksum: sha1:c3c765b7ae1d22dc4905f1c55ff05ccda43dd20e + pristine_git_object: b557ac002ed338099f33dd7504fff9b337d95ae9 docs/Models/Components/AttachedCustomField.md: id: 692e080e9e34 last_write_checksum: sha1:815d04ac6244e73de3ca9c757a79c31bc57290a0 @@ -110,20 +114,16 @@ trackedFiles: pristine_git_object: b0f6b52a81b29e9abac1dbd7b7148cfb854d5b49 docs/Models/Components/AuthorizeResponseOrganization.md: id: 08c94ed718e1 - last_write_checksum: sha1:f7b3130aed0cb994192f27c9fe0b1596fba8fe7b - pristine_git_object: 345617eae2a5164494df93920a27dbfd20ff0175 + last_write_checksum: sha1:eab152f34965b37276be121b02b2da277e8705ea + pristine_git_object: b763d53ee9470e09e0fb4be4263abf5d6872f17a docs/Models/Components/AuthorizeResponseUser.md: id: d50d3bca946b - last_write_checksum: sha1:77bd47e1035d8d296e2dc1208196d4e24e639a46 - pristine_git_object: 88bfad24e8f4970e7225a85239be10056f6e4393 + last_write_checksum: sha1:1b45677d90f04e319749d5a700ca3aaa55a32dbb + pristine_git_object: 8cb2ee9596c4088858e7d9f3dcd42c9fee2d24d9 docs/Models/Components/AuthorizeUser.md: id: 0227a1a6b1c8 last_write_checksum: sha1:a5f6b3435cdd35724c3e4ae6e794b34227221500 pristine_git_object: a8c74bd5f572e26afbca2e98c975bce53e217194 - docs/Models/Components/AvailableScope.md: - id: 1d61c0044f8c - last_write_checksum: sha1:b6d3cb793f0e31ef5f18cd2c78b2bdbdda0be222 - pristine_git_object: f33bfc30ef64b7daddb1496419c4587a7ddd11ec docs/Models/Components/AverageOrderValue.md: id: 379a18321b2b last_write_checksum: sha1:1ef0ed9451dc218e7fb69eddb6b98d2178061236 @@ -132,14 +132,18 @@ trackedFiles: id: 5659ba855ee8 last_write_checksum: sha1:8ef719eb82cc4bde1b03a6189a593cb81f9662bd pristine_git_object: b5eb9e8fb22e12b3ca82377edae3b0f7d6b71173 + docs/Models/Components/AverageSeatsPerCustomer.md: + id: cd7c0fff922f + last_write_checksum: sha1:af01be2cf0b67a24c496a8e196a4fb6a19bfa9ca + pristine_git_object: a42a709d939266be67a1b4b8117c18e241ab7b3c docs/Models/Components/BalanceCreditOrderEvent.md: id: da4bd3f79331 last_write_checksum: sha1:41db486ec2863ed70d09af1edcddc69a25f29dce pristine_git_object: 7a78b5849bae92cbdd12f5bb97371f29ce052e3a docs/Models/Components/BalanceCreditOrderMetadata.md: id: 786c6f8c5015 - last_write_checksum: sha1:d6966bf50f780c5e07f41aa79ed21d36f44cb905 - pristine_git_object: ec8cf5b13bce537659e144456d40aa8e95437e45 + last_write_checksum: sha1:3322e9fe9c079c0678ef83c92cad4a79bf26b998 + pristine_git_object: fce3c128343a4f393c0b8cb436141ad197b8fb3f docs/Models/Components/BalanceDisputeEvent.md: id: 3c2d38e8cf28 last_write_checksum: sha1:80540ae724115cd5a7214c3f64028f519e321553 @@ -174,20 +178,20 @@ trackedFiles: pristine_git_object: 501f53a9472e08c46a5f4915cc30009a17eab1d8 docs/Models/Components/Benefit.md: id: e3288572a703 - last_write_checksum: sha1:dd43a13bcab020c866bb151ae244bb3a791bab15 - pristine_git_object: 523bd884948ad4eeb14a429d2b61ddcc40bfeea2 + last_write_checksum: sha1:2013156863c95f3a6836a3b15d0e05011d5bdd80 + pristine_git_object: 00f276ab66c5c022ad51eadf927eeea1b3ee1513 docs/Models/Components/BenefitCreate.md: id: 2a3200b06d5a - last_write_checksum: sha1:ed87a14a00a45b77ac1f9cfd21ab14b1ed8baedc - pristine_git_object: 7f6aad9a1e196b2f7c9c9bfe5f8e91d160d54936 + last_write_checksum: sha1:a191ca3a4e5a12d8b24318d711e7f4a8c4ebeaa1 + pristine_git_object: f0ad5a055882fabbf769f4263587d7ce43374b8f docs/Models/Components/BenefitCustom.md: id: dd4d7ff7fc06 - last_write_checksum: sha1:30ff9f998e4be2e651720a0ab4c7b8f12f7e97b5 - pristine_git_object: 100eb7ba2933f997346a9a1c8e0514303a63fff2 + last_write_checksum: sha1:6199c72aaed509cbf283c65a62a9b4228bb52029 + pristine_git_object: 4789df06cba6490c9532357c156feddd0743b99e docs/Models/Components/BenefitCustomCreate.md: id: b550b66d4241 - last_write_checksum: sha1:e576ff2aa871afd234e4a5904e5d9afcd9184d57 - pristine_git_object: 30d4ec92f83621522fba406cc4bce981f269aed6 + last_write_checksum: sha1:ad0157258faa77c63ce954a87892c89377ef066a + pristine_git_object: fa50d5a755d6115fbae29294cd858db504c7740a docs/Models/Components/BenefitCustomCreateMetadata.md: id: 499f4e6d1054 last_write_checksum: sha1:180a77fd02a48b21ff17bf45d535a589e5be428c @@ -202,16 +206,16 @@ trackedFiles: pristine_git_object: a19935aaf9d13bbcb09897414b9c3b8f80ade588 docs/Models/Components/BenefitCustomSubscriber.md: id: e6ec61e3265d - last_write_checksum: sha1:5d82e84402996a3dfa8abd795f406c12fdc16055 - pristine_git_object: 52c78ee81aac3e0452efaa78c07f424d8e272f80 + last_write_checksum: sha1:84cadcfd227b7f5b98bc436f3b662ae0b466662d + pristine_git_object: eaa262a26b54e576666ff4690b5485bdb38373b8 docs/Models/Components/BenefitCustomSubscriberProperties.md: id: 410c4d7bdff9 last_write_checksum: sha1:a493ee9ce2936f35397441e3b612e402c9c91199 pristine_git_object: 1ff6e8229b01108790a5c9b1048ff0eea93ca0b8 docs/Models/Components/BenefitCustomUpdate.md: id: cbcd593dbfee - last_write_checksum: sha1:06970408efd2c183e02cf4447a4cabdbbf86efb3 - pristine_git_object: 50992696b6d98a0b8d0e724e0acaeb23beb15bb6 + last_write_checksum: sha1:47bf7675515f4608ceb50b792d6427f898ba367b + pristine_git_object: 8d6c6a86965ccf492488d87252917ef317772ca3 docs/Models/Components/BenefitCustomUpdateMetadata.md: id: 9f3364754339 last_write_checksum: sha1:604d7217282269b809381f5460112b1be732a6f9 @@ -222,12 +226,12 @@ trackedFiles: pristine_git_object: 142b838219ee2b77b664c5e1afc3999424cdfd45 docs/Models/Components/BenefitDiscord.md: id: 98c86ef37e4b - last_write_checksum: sha1:8aca400658a048f177896969f15a89e605a573c3 - pristine_git_object: a926033fb3a51b7b07d415d32df06896f8401566 + last_write_checksum: sha1:8d9da3dd98c08fd6080d9ec084fb8a0e51d79a66 + pristine_git_object: 25d9399b0663ab84325da1626eb01762655a442c docs/Models/Components/BenefitDiscordCreate.md: id: 76800683bad6 - last_write_checksum: sha1:c7d40324b5ba95b87e813e21a4ff9022ba0b1bf0 - pristine_git_object: bcf821e45d0f874d873cd45f05b1129539f8193c + last_write_checksum: sha1:0b449113fa8e4f0cec72183acd5187a30c72afc2 + pristine_git_object: c58647670abf467a48abf81461f19379de3da2ef docs/Models/Components/BenefitDiscordCreateMetadata.md: id: 5827379a94ba last_write_checksum: sha1:c087855577b93149a4abe32250fa7dfb5542a7c4 @@ -242,8 +246,8 @@ trackedFiles: pristine_git_object: 5a94aef82d93e7290bce5992d81ddc49629d00da docs/Models/Components/BenefitDiscordSubscriber.md: id: 82495211183a - last_write_checksum: sha1:2e63653e1d58c89b8bced3f7c8af73f84808223d - pristine_git_object: bcb7c58576a5ed857d421940e2b2551edd6ea2d8 + last_write_checksum: sha1:ff6e998cf0c88e36264e74bd7a28fb18be956860 + pristine_git_object: f69ffbf830f7e0cb73c192f195ef6bae8f7712e5 docs/Models/Components/BenefitDiscordSubscriberProperties.md: id: e7d96867f131 last_write_checksum: sha1:5c2c36d86ad7e7309440927e12f23c473755478a @@ -258,12 +262,12 @@ trackedFiles: pristine_git_object: 59e8dd0b80aa30e343a8f53cd949dfdcd444b897 docs/Models/Components/BenefitDownloadables.md: id: ac4f9f7de40b - last_write_checksum: sha1:f2294bc09ad6d4191649ffaea3715f5db9943006 - pristine_git_object: 7533ea9c04896d8722107e1f2e1d2fa344cdc6de + last_write_checksum: sha1:1adc4547eea5c5214d45ec9b561f12f6d0bd241c + pristine_git_object: bfb9dc06a1838aa7c75c6345aea17a50699190f1 docs/Models/Components/BenefitDownloadablesCreate.md: id: b1173d7ae139 - last_write_checksum: sha1:fb120bba814e3dc89c0e3d9a22952cdbea30fe54 - pristine_git_object: 8e11a2131f6ca43216f7a9b19f99ed0dee6b2875 + last_write_checksum: sha1:0af27415cdaedf357874915bd36e3f035dbf099d + pristine_git_object: 516e6a790e25e112a51161166a7543740375f607 docs/Models/Components/BenefitDownloadablesCreateMetadata.md: id: 41440bbcda3e last_write_checksum: sha1:8305497bf7b6df002bec700f9bad96d277f6efca @@ -278,8 +282,8 @@ trackedFiles: pristine_git_object: 90b21b50477a21550b586ba5b7c41c765968df6d docs/Models/Components/BenefitDownloadablesSubscriber.md: id: 7ef8b0db2de8 - last_write_checksum: sha1:ab863326e4a8167a5a9eb5220c20e3e07802e7d2 - pristine_git_object: 7f30ec2f0bccef568c53880c11b2f60550c0f7d1 + last_write_checksum: sha1:23e809bf2123c3e36b29ee8d832a7442fea82417 + pristine_git_object: dc31964dcc775152d5aeac97e24c3b3f95deb048 docs/Models/Components/BenefitDownloadablesSubscriberProperties.md: id: ae9869550bba last_write_checksum: sha1:02f580d191bacb430cf223bef12955c8d3d5a7e7 @@ -294,12 +298,12 @@ trackedFiles: pristine_git_object: 4a012cba76cc8be53e1b94a1b2372475feba0aae docs/Models/Components/BenefitFeatureFlag.md: id: d91aa48d0506 - last_write_checksum: sha1:9b3bc51e7d89d2851e12543cacb60cd52fb55325 - pristine_git_object: 598415829a971facc85de164a9dad5d4a6b24e8f + last_write_checksum: sha1:8a087dc74df59e2f2b620a53b5b4c822f4782866 + pristine_git_object: 7ac8c92490cc56245aefe92034a4efede8f50ba2 docs/Models/Components/BenefitFeatureFlagCreate.md: id: 0c69ea921d6e - last_write_checksum: sha1:f85b139e037d8472569c7adbb0421350139314ec - pristine_git_object: c8a4a8788d798e5aa4e7df4adf9b7b47e1307047 + last_write_checksum: sha1:d06b619d75f1dffadde008e3b072c06795c8049b + pristine_git_object: 550967748b5b7ea61449561c524ac474e6e136c3 docs/Models/Components/BenefitFeatureFlagCreateMetadata.md: id: 9398ebe176bb last_write_checksum: sha1:3d4b96a7cc03a54430335c647a38b4d02006991f @@ -314,28 +318,28 @@ trackedFiles: pristine_git_object: beb97c92ae668a5d3801897c6c9d97714f781e93 docs/Models/Components/BenefitFeatureFlagSubscriber.md: id: 6adbed460c94 - last_write_checksum: sha1:c94c5513e9589254c3be0fcdd381bcb59301ed68 - pristine_git_object: ed8c8cbd14b1b7c032bcd23bdcaf6f2004ce17e1 + last_write_checksum: sha1:35e9efcd4b431334addb8fc20dff3ea46ad57a10 + pristine_git_object: b79d6258f2d7283a99a5a350e994277eb7e4ba7b docs/Models/Components/BenefitFeatureFlagSubscriberProperties.md: id: 4ab96510971a last_write_checksum: sha1:63a0ec1730a4280a3811a470f961d0dc0eeb5224 pristine_git_object: c69bf597bc4d0504d49d1ebb5a542bcc87c535e7 docs/Models/Components/BenefitFeatureFlagUpdate.md: id: 247519a59ed0 - last_write_checksum: sha1:e39aa92887a7c9ac988933cf74fcd8f51532a008 - pristine_git_object: 00d4358567b13e062527543f00ae09d47f1f663e + last_write_checksum: sha1:c414f17e02869087817ec905da56a70d5e5cc231 + pristine_git_object: 2cb1bbd7998d208c86f6dab2b1338d5a1e870e5b docs/Models/Components/BenefitFeatureFlagUpdateMetadata.md: id: 5b4cf10b6971 last_write_checksum: sha1:54268a1305b2a2128071d52eaa2ae18171cd3c26 pristine_git_object: f408b7d0a2255b3d38a73bb0fe471e70d9d3b67d docs/Models/Components/BenefitGitHubRepository.md: id: 4200bf0d31e0 - last_write_checksum: sha1:a54b7e1eec04f6a36327e9f58cbc721b3a0d8ccf - pristine_git_object: ea6a9f9325f14f15cfdf15fd8db3a104436739eb + last_write_checksum: sha1:3c6824c7854132d202587b555cccdb1118eff5c5 + pristine_git_object: 444fe26b67d2e2a9cf0d752eb40e68d569e2b431 docs/Models/Components/BenefitGitHubRepositoryCreate.md: id: 9ed5045c87d8 - last_write_checksum: sha1:428f68b3236b82fcef7708929ff3e223b9b63ef6 - pristine_git_object: d4775fbfd4323ba2e22d2d764031999de008bd0d + last_write_checksum: sha1:34caa8ecf6a53688a92b7b6035eadffdbbb1dd5b + pristine_git_object: 62817a2940ddb5aca6767d20cebfbc72eee2a15e docs/Models/Components/BenefitGitHubRepositoryCreateMetadata.md: id: 063d7b2e0875 last_write_checksum: sha1:154240b7b93ebc12031861d83df461f90ded6864 @@ -354,8 +358,8 @@ trackedFiles: pristine_git_object: e4fe3f79f7a9f98b7a1920b1d5e723293205f72f docs/Models/Components/BenefitGitHubRepositorySubscriber.md: id: df0c723537ff - last_write_checksum: sha1:eba92275d0dc4a8ad490095739b1a1c04a307bcd - pristine_git_object: f3662dd6425d7ee53abe69833d46a4c0483bb334 + last_write_checksum: sha1:d08deeff740f3ecb50e67e42c051291a0d6d93f9 + pristine_git_object: e193e8833584e5fa7dfff1ceab31ed6181b44d18 docs/Models/Components/BenefitGitHubRepositorySubscriberProperties.md: id: c73b499e8fb8 last_write_checksum: sha1:42efe7f0a8a7cbf0088522d30d98080278bd95fb @@ -370,8 +374,8 @@ trackedFiles: pristine_git_object: a5a7d1c13669e00b4354c523f3117325223c225f docs/Models/Components/BenefitGrant.md: id: 0ed54417ae7d - last_write_checksum: sha1:3fe4ed191bfddfc6cb1b7601f7829d84fcef3d95 - pristine_git_object: 90b633d05e8f070db32f6f57434dca9274b0a912 + last_write_checksum: sha1:86737110c3e05ae0eab9ff09b5589b8f1d8b971f + pristine_git_object: a87fd49b1b9ff828fc61831e71d5b6aff6acee24 docs/Models/Components/BenefitGrantCustomProperties.md: id: 46cb1cae4f87 last_write_checksum: sha1:cf876e9f736a3dae7b6c0348e6a13f6714673134 @@ -440,14 +444,22 @@ trackedFiles: id: c78577baaff7 last_write_checksum: sha1:ef6b3a4ff2cad54d21a83822425d002c04fefdcc pristine_git_object: 52361e3ade04b54304249a4f3b60ad9018ec0467 + docs/Models/Components/BenefitGrantSlackSharedChannelProperties.md: + id: 83b68b1d73ff + last_write_checksum: sha1:b19677c2c063307b1fe048610694748c89e89b74 + pristine_git_object: 3506f4f0df3f3fb8cb1aa9504d6375116d92d966 + docs/Models/Components/BenefitGrantSlackSharedChannelWebhook.md: + id: 2c400685b75d + last_write_checksum: sha1:35ae172337176db8893be452e288ae5c6d3d8bc0 + pristine_git_object: ea8363accf19a8e5376c801447830a0e97edd3ed docs/Models/Components/BenefitGrantSortProperty.md: id: d8f1d30c8b35 last_write_checksum: sha1:35352a19ac17d70ee1e78482fc0a44be4ef1cba4 pristine_git_object: f7d3fb9b89d580997b72462752422a01289014ed docs/Models/Components/BenefitGrantWebhook.md: id: 17e30393cf85 - last_write_checksum: sha1:d57aa33b8f7750cf908e4e6fc63fb85acf88c9da - pristine_git_object: a94b426276bcdc40c2fcd39adc26db51baf56a34 + last_write_checksum: sha1:3d547291be80c96b43d1e59622aff8f5d81fe931 + pristine_git_object: eefa7622540fb5ec10c6bea1854c7058f883a48e docs/Models/Components/BenefitGrantedEvent.md: id: 98df951d7f78 last_write_checksum: sha1:87790a772a08c20a25448df61f78ba9c677692ff @@ -466,12 +478,12 @@ trackedFiles: pristine_git_object: ef9be0cc2210f34fc693b6d325048b7010b5166d docs/Models/Components/BenefitLicenseKeys.md: id: b29c55e0b902 - last_write_checksum: sha1:5ecad8d9e991ae5d72cd9e44daadffc8d66c2ecd - pristine_git_object: ef4489394915e6cb9d31f2b02adf292a87873976 + last_write_checksum: sha1:e87452cb87321d8f3a089a5bd0cd8d0c03bbe24b + pristine_git_object: daf8151fe76f25ba2f0081facfeffd25dfe82a6f docs/Models/Components/BenefitLicenseKeysCreate.md: id: 27645e9d292b - last_write_checksum: sha1:442ef094e5eb23d65a396ed1afc20ef901d4dd23 - pristine_git_object: 8afdc21356066fe616554f36ff7dff63f65ffd18 + last_write_checksum: sha1:8ca74baac1e621e3269a22706c41e4d2aedbb5a6 + pristine_git_object: 7d7f5fcb3203f8991076ce99b64960b7147f0018 docs/Models/Components/BenefitLicenseKeysCreateMetadata.md: id: 80f116e6bb37 last_write_checksum: sha1:f5ae48f651ba5f68bf898f7b7e2d9d9b7f01ef72 @@ -486,28 +498,28 @@ trackedFiles: pristine_git_object: 6be72f33679313e5fbd1873ad2c82c646d78ce69 docs/Models/Components/BenefitLicenseKeysSubscriber.md: id: 9c136a940ab3 - last_write_checksum: sha1:4b5fe43555c65c18452adb3cd90dfbdf58fc2336 - pristine_git_object: 2647a490b70b652c03da91f36fc25875202003e3 + last_write_checksum: sha1:d1d0cf7542dc22acb8cced390d554636e13e2553 + pristine_git_object: b357dd641d287701b8159730b37c246569700efe docs/Models/Components/BenefitLicenseKeysSubscriberProperties.md: id: e99d655bd527 last_write_checksum: sha1:ba3294b6dd5470309d3223b285e3d69b1f6d4435 pristine_git_object: a26acb70db84801e98adf649e8520a016f63558c docs/Models/Components/BenefitLicenseKeysUpdate.md: id: d7bfa7ffac6a - last_write_checksum: sha1:a0355c82965eb0877bc25c53d264953de8e42432 - pristine_git_object: d01b215fe5fcf9d1a195532b135b0d23ddfb0d04 + last_write_checksum: sha1:734319726d3f7597ee6b9575a86889f2315579bf + pristine_git_object: 0202e8a54292ba2fa7e71ddeafa89f381ceff5fe docs/Models/Components/BenefitLicenseKeysUpdateMetadata.md: id: 1ee651bde55d last_write_checksum: sha1:b5c35ca60b97116b80ee3cdfd19379cfb5c5105a pristine_git_object: 8d814e325656d1ff84f920553b7b382f4455698a docs/Models/Components/BenefitMeterCredit.md: id: 46347839ffea - last_write_checksum: sha1:4074d786a3b18547ffc8451570996baf35aea734 - pristine_git_object: 424c8f65c14d4d62a4cc63819c15ee2270917dde + last_write_checksum: sha1:bd9a692226281fbe6cf4780a683374c1edd09939 + pristine_git_object: e21342e2450b498d1a1845611a7ade686c83168d docs/Models/Components/BenefitMeterCreditCreate.md: id: a7aee7e39956 - last_write_checksum: sha1:abaf0acd027bdff55482c30dfdb9299be5acdb32 - pristine_git_object: 0307924ac19712845687a4899e1f027f865bd51d + last_write_checksum: sha1:7878f6a9698397d0dca9de62f6cfe51df49acc73 + pristine_git_object: 55b1322c77470bbbb277f5a24406d2b53b6d6c37 docs/Models/Components/BenefitMeterCreditCreateMetadata.md: id: 383d2d3a2d5b last_write_checksum: sha1:f0907dec508ad92c5f4152c014d92b27109f99f0 @@ -522,28 +534,64 @@ trackedFiles: pristine_git_object: b95641565251537693e3ead5c2a30e62af7433d8 docs/Models/Components/BenefitMeterCreditSubscriber.md: id: f467db44657e - last_write_checksum: sha1:167560d0092f94160f8beef45b89af3cdeaa6135 - pristine_git_object: 50013c036c9839dc67a2e77b012c615f5a443dc5 + last_write_checksum: sha1:c5a23db0fac922b6fb01bd2d07f9bf1dc6bb7045 + pristine_git_object: 2fc785be6898606c44aa22de909c40dc8b937feb docs/Models/Components/BenefitMeterCreditSubscriberProperties.md: id: 171156849f71 last_write_checksum: sha1:de29e60003ba0ad915773357aa1e538532df5cc8 pristine_git_object: 87e419f287f09b30df0dd1449f3363013e38a03b docs/Models/Components/BenefitMeterCreditUpdate.md: id: f2140ca28413 - last_write_checksum: sha1:1cddeeb062158c4b5f7f98ccc64f8d29620c2eb8 - pristine_git_object: 57629e9829b9b4aa0b4a6d8ba6aaefc4598bf5b4 + last_write_checksum: sha1:b0ea60cda31b1ecfe9803c2220d1005a3dbf2db5 + pristine_git_object: e82c184b618630d00a7fde4845388bb110f0c867 docs/Models/Components/BenefitMeterCreditUpdateMetadata.md: id: fb4de70a8f34 last_write_checksum: sha1:b52e297fe87f28b981f3d52d1ddc3a566f5786ca pristine_git_object: 451413b5f0873d4be335720d3ea5f06b0ac30d2d docs/Models/Components/BenefitPublic.md: id: 7eba7bb64198 - last_write_checksum: sha1:d47ff2918a7eff6eee8674b75987d13354913c65 - pristine_git_object: 06ef5997d52969f9a9073a6662c72bd73a1a97f6 + last_write_checksum: sha1:49ed416afad29b1e0c931db08a398799306fd670 + pristine_git_object: 5267830bc309873199dca465dd6731dc624aa5b7 docs/Models/Components/BenefitRevokedEvent.md: id: d5be7c55b988 last_write_checksum: sha1:352931d8980f3fbc005242f6ddb71b883b228a9a pristine_git_object: 8b1a41517c4e5c4cbdf79e3e908d2b7248735002 + docs/Models/Components/BenefitSlackSharedChannel.md: + id: a410d7492496 + last_write_checksum: sha1:c2c7564f1702ee30a868b60e68dd344b2bf9035f + pristine_git_object: 88ae869b6421fa3ac7e428a7b0fb12d0018c9486 + docs/Models/Components/BenefitSlackSharedChannelCreate.md: + id: 71a4d4d974d7 + last_write_checksum: sha1:ee9310adfde53494ed7f640649a22cc6b96864f1 + pristine_git_object: 587d723a67185208cd3e6a28e19d1fab005c57ee + docs/Models/Components/BenefitSlackSharedChannelCreateMetadata.md: + id: 12f9bba67e42 + last_write_checksum: sha1:1874b469cf34948d941035870be8a5945d7e4c65 + pristine_git_object: 9433bbc5455c66e81c1b24a013d2e363b60f1082 + docs/Models/Components/BenefitSlackSharedChannelCreateProperties.md: + id: e9c7286bf893 + last_write_checksum: sha1:20b9fdbd6e61ed5d8859c2b410ef69c0776abc42 + pristine_git_object: 36cecefc58fb96737af3b1a4a379be24c9a789c2 + docs/Models/Components/BenefitSlackSharedChannelProperties.md: + id: 0789697fc737 + last_write_checksum: sha1:ee5d158a417d6e308e05fbdd3980fdc8fba56808 + pristine_git_object: 646fed5ec7978ab4335fd82cd2084fe3ef832a0e + docs/Models/Components/BenefitSlackSharedChannelSubscriber.md: + id: a8b1be9b1388 + last_write_checksum: sha1:c2cfaf70b882cb72da03e725445ea8d31f49b870 + pristine_git_object: e4f3bc31cd796762d4517d616b9730ae317416f2 + docs/Models/Components/BenefitSlackSharedChannelSubscriberProperties.md: + id: 98e39b75d192 + last_write_checksum: sha1:7b6cb51c2ad353214c77921328b253ae2a3908ad + pristine_git_object: c903d67f1f5771a695a9fb3ec22d1805c19a145d + docs/Models/Components/BenefitSlackSharedChannelUpdate.md: + id: 9fed2151783b + last_write_checksum: sha1:4eed1034782abd05becdb41a543fc97853e77736 + pristine_git_object: 59a95852a0c1a91dd0ccf92a8ab0b2587f5c7842 + docs/Models/Components/BenefitSlackSharedChannelUpdateMetadata.md: + id: 1ab5c1ff04ff + last_write_checksum: sha1:7903fe25b727232dc3cbf52aaa7bed22664736b5 + pristine_git_object: 2a475b0821a7f7032e133fa46724c29d7e6cb122 docs/Models/Components/BenefitSortProperty.md: id: 9237c6f3f797 last_write_checksum: sha1:8e2a937b2adf6c2feeda785add8cd630da70ee94 @@ -554,12 +602,16 @@ trackedFiles: pristine_git_object: e83420a5bf34a84c1263e42d00b8043126d29e27 docs/Models/Components/BenefitType.md: id: f19e8d4a0452 - last_write_checksum: sha1:b36c6dc6d903f965c4465d53f3f1d50d57c9c6d2 - pristine_git_object: 8e494b422aa994e0619fc2913e7a75e8dd25a2fe + last_write_checksum: sha1:9203b7d697cbd8859908cb88ba8052f444ba9f40 + pristine_git_object: a8eb75cf1a8c5c024e554701ec7ce38d9e4d842f docs/Models/Components/BenefitUpdatedEvent.md: id: fa1382570e06 last_write_checksum: sha1:e7022156c583c7e28146b8058cbc68ff87dc1d7a pristine_git_object: d264250067d38f06cf0951c158ec0faa38b984d9 + docs/Models/Components/BenefitVisibility.md: + id: dae10da2d967 + last_write_checksum: sha1:ccd608972306c4b156bd1ede97295b6fd56cbe53 + pristine_git_object: cc8f70e5d718f7c1910dddb15c41c56bad863b17 docs/Models/Components/BillingAddressFieldMode.md: id: 02ced9fc570e last_write_checksum: sha1:1ec6c5aff30e960d1029e1e4ca404bc09a1297c4 @@ -602,8 +654,8 @@ trackedFiles: pristine_git_object: ee643fb3d29374cde5faafe4d726334203dee8c7 docs/Models/Components/CardPayment.md: id: 35709fcfa3c2 - last_write_checksum: sha1:e1ffb5aeaee396f646ee32a84650bcea26e9d369 - pristine_git_object: 9e220e2fc374b49fe159f6bd0c381d240780d3cd + last_write_checksum: sha1:bf6b6c24ef827e3d643b340507ded8196b4c9a64 + pristine_git_object: 11f75d7db4ea8edb35550ec3d9ea4b4d8c36f89d docs/Models/Components/CardPaymentMetadata.md: id: 32e89366f00c last_write_checksum: sha1:d4ae5141fdc1092d594c7b28a0bd1550e0136347 @@ -614,8 +666,8 @@ trackedFiles: pristine_git_object: 80002134f32862953e835da7c8f39894226f503e docs/Models/Components/Checkout.md: id: 05bcc2e1cb3c - last_write_checksum: sha1:0f2cec11d06d9fa72efa003145dbc2c92bf6e2b4 - pristine_git_object: 7650fb92d37deee3a90be8653a192ceaa97cb601 + last_write_checksum: sha1:daab13a33a00e7a4d3362dfb7657fa61794f6863 + pristine_git_object: 66f973bca1ac3afd93b8976673f906421e1cb068 docs/Models/Components/CheckoutBillingAddressFields.md: id: 4a3fbbd52379 last_write_checksum: sha1:3fb00f05e47654e5ede73838178b805918732fbd @@ -630,8 +682,8 @@ trackedFiles: pristine_git_object: 3c9de6ccdd2ee042fbaeafe886e1728ca279c9d5 docs/Models/Components/CheckoutCreate.md: id: d32e6ff844e4 - last_write_checksum: sha1:1991f2dd02d13c51ec26ce556d114c60dba415f7 - pristine_git_object: 3a1cfbc13547bc516ea186fa3cb03846e8bbad6e + last_write_checksum: sha1:6ca7b0f395218640982c261f29fb0954c9c6a465 + pristine_git_object: 7b3aab5a908d6d2ac2223a6dd43427f72d190a9e docs/Models/Components/CheckoutCreateCustomFieldData.md: id: c3d257377451 last_write_checksum: sha1:323d507eea8cd15a7f138817d79f25d0455127cd @@ -646,8 +698,8 @@ trackedFiles: pristine_git_object: 9207777beb5fd657f6b72db8bdc498b0f98bc7f3 docs/Models/Components/CheckoutCreatePrices.md: id: e2b0e9336298 - last_write_checksum: sha1:e95eb12796cccb48c9843546e50466a36d67c21b - pristine_git_object: edb4f7d7ebcf77bac5353ad39a48d32c3d8e9550 + last_write_checksum: sha1:6e31be41990543cadba6a5c0a3e075fbb4f45428 + pristine_git_object: bb50d14a60010a601efb6e3ecdd679be7e77a764 docs/Models/Components/CheckoutCreatedEvent.md: id: 04a766c5a856 last_write_checksum: sha1:51bb9e779ff936abb7a1eae1e3d7fa0f7cede43f @@ -682,32 +734,32 @@ trackedFiles: pristine_git_object: 7c407ea532a8206314e6a5e80baee3930b567114 docs/Models/Components/CheckoutLink.md: id: 93cd3d77fc1c - last_write_checksum: sha1:1ddcc34c3493cd2be66ef8befff12f22580573b3 - pristine_git_object: 28584e38aad37d23da15e36ed74991b187a000df + last_write_checksum: sha1:39a12286e5f1929a79c23671fadeb3745ba6120b + pristine_git_object: fff41bae41e7e7ad595014aacc7620026e92e53e docs/Models/Components/CheckoutLinkCreate.md: id: abcd089a28ed last_write_checksum: sha1:317efe94b3e0bb4e083303d7046f33060ca52d04 pristine_git_object: 7b4bb2f57b203e718a8dd20f83f4ef33e81148d2 docs/Models/Components/CheckoutLinkCreateProduct.md: id: a912eedfef48 - last_write_checksum: sha1:36a289f621400f4e8559bff39d689898556553ed - pristine_git_object: 51516b9711650e3dbc1aecdea7a5d95393241485 + last_write_checksum: sha1:4e985fd572faae20afe2c024039fbcc994c34abe + pristine_git_object: c259a744e20c0018f3e3e705977abd4b64787ae6 docs/Models/Components/CheckoutLinkCreateProductMetadata.md: id: 96f73b022337 last_write_checksum: sha1:41754e8acd5e2722dce32692b679e528857d8a78 pristine_git_object: aeecbe40490fad58e6c3340a7836f478087418bf docs/Models/Components/CheckoutLinkCreateProductPrice.md: id: 79a13538f260 - last_write_checksum: sha1:bfa83ed4d626b5147e86e593c662b26d9dc28e0d - pristine_git_object: 5c34c5a2dd6d5ff3dee598980a6b9a94aa5a22d2 + last_write_checksum: sha1:89ce7217fd858cd58c75cdb6bd8b57121fe708d2 + pristine_git_object: c5e499efa4794701d76689e0eed4fa79808856ea docs/Models/Components/CheckoutLinkCreateProductPriceMetadata.md: id: d5c3cbc33059 last_write_checksum: sha1:7f3e756353819ae46879fb9f14ba33886cfba180 pristine_git_object: 9886faf6bfd9bfb6a6a981177e4358aba0ce573e docs/Models/Components/CheckoutLinkCreateProducts.md: id: e8b0f69e2ede - last_write_checksum: sha1:a04032d65e38d109db3da6c578f827b4c7cd8436 - pristine_git_object: e5713ba1bd5cf30b6b12eae110bb7496cf5ad213 + last_write_checksum: sha1:dff6b7a21c975e386879d2ea22db6e959eb9ff8a + pristine_git_object: 853272b8731ad9557add0e778198325844d86513 docs/Models/Components/CheckoutLinkCreateProductsMetadata.md: id: 79111204fdda last_write_checksum: sha1:538a35c850224e5f66474cde0f2c017f8068ef97 @@ -718,20 +770,20 @@ trackedFiles: pristine_git_object: 18bb6de35159d787887dbb323d9cd37d1d9cb14c docs/Models/Components/CheckoutLinkProduct.md: id: 2941a65f4b63 - last_write_checksum: sha1:0bb2e4366aba126cb6df95286b1dd3d8e3684c0d - pristine_git_object: 09326f2af52fcae64dc04b319f5008541949b6bc + last_write_checksum: sha1:f15005ae414bd57387ed86c151b975cbf25b4de9 + pristine_git_object: 4ca02006d0fbc578f22be74d20739eac31d6b477 docs/Models/Components/CheckoutLinkProductPrices.md: id: 75aa0e3d999f - last_write_checksum: sha1:f768d4e51a377ea3fa1c36266d4dc56f19c5cb60 - pristine_git_object: 0b88d235461c69a38840e63e4dfca14d4190e1b4 + last_write_checksum: sha1:2b12ff98274cd299e10a55f1291f529b26966e10 + pristine_git_object: ab650b3a0df610cd1a02843a7a3d0f846783887b docs/Models/Components/CheckoutLinkSortProperty.md: id: a1b8a302023a last_write_checksum: sha1:17d23112b050d7df57e9eb88f69703543f30f926 pristine_git_object: 53c53b51e5a42558aa711a998b744c63575fb81c docs/Models/Components/CheckoutLinkUpdate.md: id: 9c807fe7304f - last_write_checksum: sha1:ff144c8254b38b5dca270d78ed9b241144a410a4 - pristine_git_object: 96843f0210fd4a203bbddfb9a9047fdaf4e1f364 + last_write_checksum: sha1:acb6cf82993758eb78f1805b8459a00f39203743 + pristine_git_object: 9132ebf5d8519f173f05b065a5d7ec872b40fcd8 docs/Models/Components/CheckoutLinkUpdateMetadata.md: id: 30098aa217d0 last_write_checksum: sha1:3082f0da655ba840ffb093a781d2910ab1cf0b6a @@ -742,28 +794,28 @@ trackedFiles: pristine_git_object: e35a462c2bb67f3b192f5cdfff9c846a3b3ebd76 docs/Models/Components/CheckoutPrices.md: id: 77131d479966 - last_write_checksum: sha1:e9568dfd7a2cc66e554da1b204a3d5cc7c7911f5 - pristine_git_object: e9099b2b082440a31520a3a634243ca7b715fdf8 + last_write_checksum: sha1:a8558c94022df5844d075615a6424617d6918307 + pristine_git_object: afee04b0b445c0ce96965aa733fab55e479e3f13 docs/Models/Components/CheckoutProduct.md: id: 8dd5bc0952c2 - last_write_checksum: sha1:536d22b2b2c33dbf53d9b1ce8417e1943d293ae3 - pristine_git_object: 5622925e2afca833281efd7e6b12582139ac315a + last_write_checksum: sha1:c5b5804f7f71bdad7e6b17ce3403001f40dbda40 + pristine_git_object: ab8851aae08bdc2f6e24afaac21b71d01be9d920 docs/Models/Components/CheckoutProductPrice.md: id: a71b07a1e07a - last_write_checksum: sha1:8fcf256f5785b73a47adbe52e6d9c138b77fa2d7 - pristine_git_object: c299cca0eebe963b395b283d8a67e31d2985258f + last_write_checksum: sha1:c9e3730017547ba19622ac1f53c6a8ffc31b37ee + pristine_git_object: ec3ded3c450f98fa332b46f91afac62aab8c0df9 docs/Models/Components/CheckoutProductPrices.md: id: b13365830c9b - last_write_checksum: sha1:56f193ddad17e130f7d3d0d3f91b13d5b168aaea - pristine_git_object: 0f83fbfebe04bab5d3f59dcf81f4d58cf2f6e30c + last_write_checksum: sha1:e4a0fe98258486db457a6450681419d9c8dd8854 + pristine_git_object: 721f72c4684694f84cf373343a93516c6802ccab docs/Models/Components/CheckoutPublic.md: id: 48b3fbb1f088 - last_write_checksum: sha1:8d167fb5eef2f1994d4a051a840fd2d88b9548da - pristine_git_object: 32c79c39e0951095b2395a04f9a83b226373983c + last_write_checksum: sha1:aca2d2af3debb310efc0c51d02b55e279195d46c + pristine_git_object: d3145cf14fa3c663a7b399d5f9c89abbde44c818 docs/Models/Components/CheckoutPublicConfirmed.md: id: 7e92bfb4ea90 - last_write_checksum: sha1:5ae73881c8ddc1a3648251a4f3f060f51c59356b - pristine_git_object: 8642f4c438039db2c04933a6256e2e1cb1ece2de + last_write_checksum: sha1:054019b6b32e4425cc6f0f2d0909d318468cbec2 + pristine_git_object: c43911507abdf1b86f1d0fdf8619964cdabc51da docs/Models/Components/CheckoutPublicConfirmedCustomFieldData.md: id: c4b78f614a94 last_write_checksum: sha1:aabf9f24e2d65efddbcf0faf34cb2589da779e61 @@ -774,12 +826,12 @@ trackedFiles: pristine_git_object: 76cd21dca0d33a6b2c9e3ac25e54cf35b39b4692 docs/Models/Components/CheckoutPublicConfirmedPrices.md: id: ed94999da467 - last_write_checksum: sha1:3e015044e3bb18490851f81b7c71d40df510183f - pristine_git_object: fb80e6954ef6b257adf6f0337e4a33e185f838c0 + last_write_checksum: sha1:cbdb0490d2192514f17602cd71fea03f0e9b950e + pristine_git_object: 5af22ffe4fd572808746448d4dad9d08f4cae5ff docs/Models/Components/CheckoutPublicConfirmedProductPrice.md: id: ebfbdde18a50 - last_write_checksum: sha1:605d20cf3bae1aa1ccacdb9b92f723ce4b8f7c8b - pristine_git_object: 5a8eaace5acd68df71bd4f90710814f6969ff187 + last_write_checksum: sha1:ee75d662faff93fffbe6236b8955a0b25cfd4d76 + pristine_git_object: 687cb6eb3d342cc934f3accb31cf8a406e12049f docs/Models/Components/CheckoutPublicCustomFieldData.md: id: c6a15ba1b053 last_write_checksum: sha1:bce4c4c5b12f226796ff004e567e1023ef1773cc @@ -790,12 +842,12 @@ trackedFiles: pristine_git_object: b3cbc4b3f9bb38b785899d061908e4f898546cab docs/Models/Components/CheckoutPublicPrices.md: id: da4a90a0ed27 - last_write_checksum: sha1:a80e3875bc6f41933f94645fefa34ff82a6b45de - pristine_git_object: 27d0ffa43f21d39677b9bb1e2da5e2ed38d562f4 + last_write_checksum: sha1:de5d596ce529dff4086b8d57b81c024065e483c8 + pristine_git_object: 9ddc7e2aadc64cc87dd9aff23fa8ae3d3c3d1727 docs/Models/Components/CheckoutPublicProductPrice.md: id: 9bf715a29b31 - last_write_checksum: sha1:5a90433a4cb0b2ecef3b579c876c08675def917e - pristine_git_object: 008f021cfa6fe20ee4303993174155f2797df943 + last_write_checksum: sha1:2b8ec342429977a13c9b13cf7c62df04ed2efe66 + pristine_git_object: 155b04865072be8b8979293db6bed76d414422e6 docs/Models/Components/CheckoutSortProperty.md: id: a7db3855c092 last_write_checksum: sha1:1e0d03d3a7a5e62261a35fc61bbba61862daa483 @@ -840,6 +892,10 @@ trackedFiles: id: e4bda1d0876b last_write_checksum: sha1:dc2ef8d40e41be1e7acadeccf86e8f5e9f97eb84 pristine_git_object: b8d2ec0df7170b28b085c9c81fcb42539e33dc63 + docs/Models/Components/ChurnedSeatCustomers.md: + id: dd73cc91186a + last_write_checksum: sha1:3d25f01a64cb637f94ee2dfd78cf8d26348bfe35 + pristine_git_object: aeb8e16bd022fa117e3c843b1272f1f3ef737d58 docs/Models/Components/ChurnedSubscriptions.md: id: a58d4b4665f1 last_write_checksum: sha1:beb21f7ee0af3de829a6bd2cc8793f59fbbccaa6 @@ -848,6 +904,10 @@ trackedFiles: id: 2b564960904d last_write_checksum: sha1:eaa4cf157b2800ea4e0f6b8e7a024e8a52e2f459 pristine_git_object: e55904bfed55201bb604a53a667a50d46848e5d9 + docs/Models/Components/CommittedAnnualRecurringRevenue.md: + id: 08b968c4c535 + last_write_checksum: sha1:76ca2b84cabbb58adff7b22c85246731bace00f2 + pristine_git_object: 79320e57a9448530fe9dd6de28329a92902ac8e0 docs/Models/Components/CommittedMonthlyRecurringRevenue.md: id: 796eb0adb04f last_write_checksum: sha1:6b9768ff67b0d43c6094f0ecf0f5468328ebf9e4 @@ -1062,8 +1122,8 @@ trackedFiles: pristine_git_object: 8728742508d9511362cef6ffc6487d7f45991d42 docs/Models/Components/CustomerBenefitGrant.md: id: c2fba9b52012 - last_write_checksum: sha1:3b6f7718dec7571c14ff16f36dc94c8f1524d33b - pristine_git_object: 825dfd1184cadbabf376444663439eb57c0ca8bb + last_write_checksum: sha1:b69ff361db54367adc80e8c0bb9a61707cb57283 + pristine_git_object: a546824527e52f4cb0b1eea9c9942c812883b323 docs/Models/Components/CustomerBenefitGrantCustom.md: id: 88bd9c4e1fda last_write_checksum: sha1:e5ca048d1ac4af859fc6bea250b70e5ea6678559 @@ -1128,14 +1188,26 @@ trackedFiles: id: 5b542e3e6459 last_write_checksum: sha1:2ef8694f7aa50672cb9fc31ebaa2d85298c60820 pristine_git_object: 1694c562f5283a029861ef80bbc71465c61ada62 + docs/Models/Components/CustomerBenefitGrantSlackSharedChannel.md: + id: f56cb575f60c + last_write_checksum: sha1:cd6368839b0bf87508bef7311c59fdf8549c5a18 + pristine_git_object: 713a9e8139410da869aea96dd55378b44da172fa + docs/Models/Components/CustomerBenefitGrantSlackSharedChannelPropertiesUpdate.md: + id: d4cec8615c84 + last_write_checksum: sha1:80f31f547920b3931526b065cab54f9a97ce3196 + pristine_git_object: 58c4011e5bfbfd3f8d3c93e5f7bfba776b80a7ab + docs/Models/Components/CustomerBenefitGrantSlackSharedChannelUpdate.md: + id: 18a3c013f9ac + last_write_checksum: sha1:e7b37ae8e4749b857754c522748882fe609b846e + pristine_git_object: bbbb87b0270a8bdcb41350ee6b36c46123f77864 docs/Models/Components/CustomerBenefitGrantSortProperty.md: id: 849507b8fb71 last_write_checksum: sha1:d6e2ae15a643c068a1a0ef7ee571570366bdfdb4 pristine_git_object: 70ba5948ffd4ae2f4318572f664fe7dac2fef5ed docs/Models/Components/CustomerBenefitGrantUpdate.md: id: 71879c8e1489 - last_write_checksum: sha1:6030a2ec5ec8948237bef298d8c4e111779e39ce - pristine_git_object: 467891eea3383bc69c64dbdafd360c2a787c29a3 + last_write_checksum: sha1:1cda114e2022226e5ae8ca9c8ede9042412729b6 + pristine_git_object: 64ab4be8e0bd96416e5a779f706c10a759e695e6 docs/Models/Components/CustomerCancellationReason.md: id: b11d08dfdd0f last_write_checksum: sha1:b78a3aff1141ef0714406f1d47469111a5eefaf8 @@ -1176,10 +1248,22 @@ trackedFiles: id: 09a300e3fa96 last_write_checksum: sha1:f11528ed418d4b60448cac09aae228c13dfab854 pristine_git_object: 9ab7be8a9851af1724bb138e70a1b9e13ad7c00c + docs/Models/Components/CustomerEmailUpdateRequest.md: + id: f81b1f572f95 + last_write_checksum: sha1:3dd74a946cd18831848c6cf0c593746994a1ffa9 + pristine_git_object: 9d09dcc8c03d729d6738d226a4bd2f7bb5aa5e99 + docs/Models/Components/CustomerEmailUpdateVerifyRequest.md: + id: 7785b2e0707f + last_write_checksum: sha1:a68f8fc60f725d1f1d3d622f6a512dc18e98e956 + pristine_git_object: c80ba0ab461041cb06f589dab9eecbdb70fb9f6a + docs/Models/Components/CustomerEmailUpdateVerifyResponse.md: + id: e964f8af8203 + last_write_checksum: sha1:f73060ad79bcfd3a2d84775c963121748610d9a7 + pristine_git_object: 6f8492053bcf29d1a3d2b08c1b2c4ec9243af496 docs/Models/Components/CustomerIndividual.md: id: 0fcf2ea72490 - last_write_checksum: sha1:b6748634ed848273f97391cf2e2b01017ae5c74d - pristine_git_object: a76c33453a9eb7133e2ba207434ec899dfdb95de + last_write_checksum: sha1:08f5a1adc391eadf5f28354788fb02399868b2df + pristine_git_object: abad16db7c2e932642e938109b81f8730cace565 docs/Models/Components/CustomerIndividualCreate.md: id: 4810dfc3d38b last_write_checksum: sha1:84225a45813235abfdd35e1fc41dbc1e1fd83c56 @@ -1206,8 +1290,8 @@ trackedFiles: pristine_git_object: a4a8194633887374e1d05dd23a5bec9f62ca2bb3 docs/Models/Components/CustomerOrder.md: id: 158fffe6d2b8 - last_write_checksum: sha1:c5412e4bee90aa4429b453a0ef9a541f9c37a6e6 - pristine_git_object: 50800a55ce53fbb22b5779e40640ad08ccd2c743 + last_write_checksum: sha1:af368eca20569309cf1502c24599fc8c6a5c5cae + pristine_git_object: 6308b915661ba687be58501f799944221d9abe88 docs/Models/Components/CustomerOrderConfirmPayment.md: id: 2f9db8c69390 last_write_checksum: sha1:d3f25d0aebd3bb140e86071bbc072783d61558d9 @@ -1226,20 +1310,24 @@ trackedFiles: pristine_git_object: 33bb99da74ee2c819014fbe7dc15421f670b1c5b docs/Models/Components/CustomerOrderProduct.md: id: b98fe5ca5f55 - last_write_checksum: sha1:dc83f5a187f77d3a3fde1696fce93a67f07fac8e - pristine_git_object: d327f862952a3f989dec1f16c9d56973c9b214db + last_write_checksum: sha1:54053db0648ac7bbf138364b48f8b69601b1563e + pristine_git_object: 32e45d755e2067a889861899422a7a7458523b1f docs/Models/Components/CustomerOrderProductPrices.md: id: 7db971641593 - last_write_checksum: sha1:275157dc0bfa10f83cef00bdfd0e53a67a70c919 - pristine_git_object: ee4e59d386430649211bfec85534a1fe02fe7315 + last_write_checksum: sha1:04d7d907ac7f6f74ffc771a989df526f13e4d822 + pristine_git_object: 27c0bc2d0ac1ffe6b053433166fc918f0f348e17 + docs/Models/Components/CustomerOrderReceipt.md: + id: c2d1f32da010 + last_write_checksum: sha1:4123de6900d1cbdb9650d8123e900bb5058767da + pristine_git_object: ed39035a6666a68bcf63a38c32d30d4d3979fc3a docs/Models/Components/CustomerOrderSortProperty.md: id: 23ed6d292a40 last_write_checksum: sha1:0db033ba7b08a166b068b6b37f27071f5622abe9 pristine_git_object: 74fe39d57de8b785e08c32f0d6e755954bc14571 docs/Models/Components/CustomerOrderSubscription.md: id: 43b0c9a2121f - last_write_checksum: sha1:43103e14ac4b84af7113fbf953d4984e300ae4cd - pristine_git_object: 8b8c3ced5f8872e6869e03762740ee062b43ee3d + last_write_checksum: sha1:b41070fc079493658dddebb6a0c44064b364f851 + pristine_git_object: 261d19d1eb00e2cee3aab02a5f530d6031f9f916 docs/Models/Components/CustomerOrderUpdate.md: id: e4f222a14175 last_write_checksum: sha1:4582014f45e41834b42355eebe0326449cb0ca0f @@ -1254,12 +1342,16 @@ trackedFiles: pristine_git_object: b3ffb04b62d932fb7a8e66e4e1b54fb0babc96e6 docs/Models/Components/CustomerOrganizationFeatureSettings.md: id: 7ccfbdf81691 - last_write_checksum: sha1:bb11fa039d04fbb051aaf780b7ff7547eab5fe81 - pristine_git_object: ef20e4e134843e5bc4eb639157b1e1e9568a4fb7 + last_write_checksum: sha1:c6e7cee3bbfb7dd67acadfa6c65b9bcf7e199ffe + pristine_git_object: f15e010e2912686a6257ac69572564b772e99cb1 docs/Models/Components/CustomerPaymentMethod.md: id: 322781499c68 last_write_checksum: sha1:b91ddd7a5999b1b2d6da84fb69c472145b3f3a0d pristine_git_object: 52b5ad12d4dcd91f91aec02203ee9e9163e0abfb + docs/Models/Components/CustomerPaymentMethodCard.md: + id: 2460616de525 + last_write_checksum: sha1:d77e15642db87a4b076569ed0d31f9d05e82001e + pristine_git_object: 19eddf7bf3db4efb4b146d5cd30d02e6b11a109d docs/Models/Components/CustomerPaymentMethodConfirm.md: id: 57d3c5d25d7b last_write_checksum: sha1:d4c3e483a59f29ddf95262efe62fcc866f36f4ff @@ -1280,18 +1372,26 @@ trackedFiles: id: 6fc0a59f6ab9 last_write_checksum: sha1:50d684fd2e26ed49ed6911c104efcc6185238e1b pristine_git_object: a57deb64f8453ed0925e6a6d0392d90586b92bf8 + docs/Models/Components/CustomerPaymentMethodGeneric.md: + id: 1aa93f34e2ba + last_write_checksum: sha1:12560399505964fd89a93c90ede9a4983f09b4cb + pristine_git_object: 9d51cc13c564b3bc765eeb806b04722f0c247138 docs/Models/Components/CustomerPortalCustomer.md: id: df4d5b2afea1 - last_write_checksum: sha1:d7436f3ad4d25baa1b595073bd7cb10e61148726 - pristine_git_object: f3eeb1f9f41967a0d49f18f88bb21a325ac32990 + last_write_checksum: sha1:bbad6259ef28e29788ff740deba78a26496b050c + pristine_git_object: bec51740dc58f5758262eb0c8c38ab3815fd52e5 + docs/Models/Components/CustomerPortalCustomerSettings.md: + id: a3e153a4b8e0 + last_write_checksum: sha1:c25a326f0ba2f4f07b0dc266b2fc4b4f716ec2c3 + pristine_git_object: f645619b9656e9950b8c97278e1498440abc21ba docs/Models/Components/CustomerPortalCustomerTaxId.md: id: 493fcdda8720 last_write_checksum: sha1:65c258007fda4cfafae0db4248ff6c43a8932f0e pristine_git_object: 36d7669025e81aaf4e34b3decde4951e4b591012 docs/Models/Components/CustomerPortalCustomerUpdate.md: id: "355882097297" - last_write_checksum: sha1:98fb62b5acc76389ba663a1d9c864e9f6777b7ff - pristine_git_object: ce0e5ca3d1eb79ce44cafc433b17a57a6c543bcd + last_write_checksum: sha1:c6f6eccf28f8b644e0815d3d0ba5ab61da6714ef + pristine_git_object: 223870bc156f86a43a477987e8ce6e31a8b6a704 docs/Models/Components/CustomerPortalMember.md: id: afb770207186 last_write_checksum: sha1:f0daef74623d74813ddcad17bf008104fd4bb77b @@ -1302,32 +1402,36 @@ trackedFiles: pristine_git_object: b0c7450a8de0497977fd6c1db6815a5301fe3d89 docs/Models/Components/CustomerPortalMemberUpdate.md: id: 1070a7809d28 - last_write_checksum: sha1:42db7a717a9daa4550f84c3860becd7c59220dbc - pristine_git_object: 05f17e64106b704ee7b97f3d0aafc87973a38be2 + last_write_checksum: sha1:fee91653e8fb2b684d44aa82c6953343541d258f + pristine_git_object: 64bcd3d6bb170b98df45dbbd613cb0c36bdf47ea docs/Models/Components/CustomerPortalOAuthAccount.md: id: 955cee2ffb55 last_write_checksum: sha1:098c9c7eeec7c6a81c998867f1daac5578dd9f7d pristine_git_object: 01798ae1701f4444cd9dfc30d3820265e0c64920 docs/Models/Components/CustomerPortalSubscriptionSettings.md: id: 67ebadf207b4 - last_write_checksum: sha1:eba5a22aeefaf8b81b022c20cae55b2e445cf9ff - pristine_git_object: 3a789e8bf04ad432b457166ed0b4779c4c5486a7 + last_write_checksum: sha1:faf9db29e9035b15101c3a66177c8003704a4043 + pristine_git_object: 00dff956656936b26fee884e6909e5c6e345ba8e docs/Models/Components/CustomerPortalUsageSettings.md: id: ce7847d01058 last_write_checksum: sha1:ba85d52fa4d86db79727f9a2bfd469d892bca952 pristine_git_object: 10a73da54d401ed714ce3f461e03eccc50517aea docs/Models/Components/CustomerProduct.md: id: b06dfdbc5161 - last_write_checksum: sha1:8413a24fa3f1a7d8226915c82426a96a1692e843 - pristine_git_object: 6a4bcac9e937bb78b5c350b0c3bd0b4fc235baca + last_write_checksum: sha1:fd20d570170874f1baae76ed77dd76ea0f1981f6 + pristine_git_object: 2e5d1111f99a85f1a9304c3fb88d01d91c723f41 docs/Models/Components/CustomerProductPrices.md: id: 6d56b4990e90 - last_write_checksum: sha1:907d9e3e63d6d0ee495f23e3d47242bc28cd8d50 - pristine_git_object: b5e44f8c744e5c95737ca9e38d94e9f0c96e8f99 + last_write_checksum: sha1:fd05bdeed02aa8fc30a1087258eb8d4df1aabe90 + pristine_git_object: 9564b3839fddeff0ad29b74e8a19532f9add2b85 docs/Models/Components/CustomerSeat.md: id: 274d06af5584 - last_write_checksum: sha1:6e51968b6540662832a1de1e3f50bc1b9423af54 - pristine_git_object: f161e3b7f95e60ae16c3b9001a45fd1246a2ae7d + last_write_checksum: sha1:e51b51ae7c0335e26a426b657e3ac55208978667 + pristine_git_object: 34274cee4fdfb37e8c9387112eaaacd897cec865 + docs/Models/Components/CustomerSeatAssign.md: + id: b36b39625f39 + last_write_checksum: sha1:8c5a53419d2e90918e290afc446332f2610f3668 + pristine_git_object: 09affa1494ff6a8125ee5a853e12b21e12a7c5aa docs/Models/Components/CustomerSeatClaimResponse.md: id: 7f5b10d25933 last_write_checksum: sha1:d7b11d3f25a5573f626b51d55a88bc60ef2aef16 @@ -1354,16 +1458,16 @@ trackedFiles: pristine_git_object: 7530ba7a6bcdd9c7f8232a3e32c971ba9d898853 docs/Models/Components/CustomerStateBenefitGrant.md: id: 60e0788312a4 - last_write_checksum: sha1:ad1e574d1954cf30fc9ad3791e688e6047364d18 - pristine_git_object: 2dbac66c741f3d7e456b958fcc7ae4acff069495 + last_write_checksum: sha1:669c642bfdcbe9712edec8b4d47e0751087dde00 + pristine_git_object: 155b4ca3c407a0223ad8a679b19e49f3bdcb6b0f docs/Models/Components/CustomerStateBenefitGrantProperties.md: id: 46628bae0830 - last_write_checksum: sha1:f899be63f35fa957b7b3bb2ef79ba1c9792d76a0 - pristine_git_object: a78e0e2e1b90e63a45a5eb88665bd25ed27d68e4 + last_write_checksum: sha1:26461e05c493c7a9db4b114ee55ec8a5e8b66a0e + pristine_git_object: eb7ec14bf3f826195efc2ba192d380a96a3b107e docs/Models/Components/CustomerStateIndividual.md: id: 9605e6643e24 - last_write_checksum: sha1:0f062da40c145ee0dd792524c11887398bd4e50f - pristine_git_object: ef7aca856a8bef593ecb03892a25c35d2a0444e4 + last_write_checksum: sha1:e84e8064b78575eda2a7446622bc2ba7af2f8ef3 + pristine_git_object: db03afaeea91eb659b064b3314f5b98d2e779d38 docs/Models/Components/CustomerStateIndividualTaxId.md: id: a229000d41e5 last_write_checksum: sha1:3ba6e849bfb40fb306ea1caf4d577676ddbfc126 @@ -1374,8 +1478,8 @@ trackedFiles: pristine_git_object: e61299ead99a887da7a3cb9779f817754ccaf9ce docs/Models/Components/CustomerStateSubscription.md: id: 92d2a1112d58 - last_write_checksum: sha1:8f5395f70351a0c4b098653b317eafc25300aacc - pristine_git_object: bdcada8fd9c677cbeb7256d39c82cfb3b2de5704 + last_write_checksum: sha1:2bde207b483803a3b21b73d506445b52726b922f + pristine_git_object: d058f4c40fc5f32bc1fb9042baf6cc1b0b8665b8 docs/Models/Components/CustomerStateSubscriptionCustomFieldData.md: id: fca6a6184a12 last_write_checksum: sha1:e6567cf414e0eeb33fb285bc1eea725f82b5d0d7 @@ -1386,16 +1490,16 @@ trackedFiles: pristine_git_object: a1329e4408317c4337c9784db5d802916ea81340 docs/Models/Components/CustomerStateTeam.md: id: feab1f2b296e - last_write_checksum: sha1:580f0e42f96ea6794fafcc096e24f913fda05855 - pristine_git_object: 18c99a92c67e8cef93b0728e2acbfdf854674d1b + last_write_checksum: sha1:bb7e8f4e3df666c7502c7692ea5acbdeedc8cb7d + pristine_git_object: 1284ef6b003c2082de75152c339a9161c05f92d6 docs/Models/Components/CustomerStateTeamTaxId.md: id: 807b6a1b89dc last_write_checksum: sha1:f065dcd6d8a6f870beb8484be229fe8cbe639b35 pristine_git_object: 539a2604f7ae1703ef989a6d9703d6642cf4f14d docs/Models/Components/CustomerSubscription.md: id: 028e2369c0a3 - last_write_checksum: sha1:fab09d014bdb076ec9dd719150a96db156926379 - pristine_git_object: bb042df982173fd246a1a9b86306217e343b1102 + last_write_checksum: sha1:4fe18ac2ad1e45d20a8c817d40688a5516eef50e + pristine_git_object: 6a3e8000e68b43ec7c6c4be7b77a8685368518b5 docs/Models/Components/CustomerSubscriptionCancel.md: id: ff477d5bd75b last_write_checksum: sha1:7c3c6a5b7154dfb629c8917afd8a02fa3b3307ea @@ -1408,38 +1512,50 @@ trackedFiles: id: a62db3cd8cb7 last_write_checksum: sha1:1aa913f18eb860ab9dc54cde5455c9ee089752d2 pristine_git_object: fb96c8a9458a155cef7842adc831814eaa06a44d + docs/Models/Components/CustomerSubscriptionPause.md: + id: 09596a899b37 + last_write_checksum: sha1:6835eefb82878541f493b3aba8b75988e56ca1dd + pristine_git_object: 53bcd3c81ea23224b46a12233fa3c42e7794d3e0 docs/Models/Components/CustomerSubscriptionPrices.md: id: 008f14d6e676 - last_write_checksum: sha1:10cec3627ff982c97fe3f7e3d0608be946aff892 - pristine_git_object: b19ca6fc4e5f40d2fa3dcd66dbb022297b3353a0 + last_write_checksum: sha1:30e5a553cfedd3699339790dbb452bc9d49618c2 + pristine_git_object: f4c4ac5d2db12ace8d2947b307a2d02dbe8166d9 docs/Models/Components/CustomerSubscriptionProduct.md: id: 9871c361fb7f - last_write_checksum: sha1:2cdcadbcfdac9a92f3820773bd1e7dc929278f34 - pristine_git_object: c9b1e8856a85da14834aaedd61e94e3f5672f999 + last_write_checksum: sha1:c74a40989f0dff1dc92849345fdadd3e8c225272 + pristine_git_object: 73cfa93925e5d633476eba3df3869bcad2eac778 docs/Models/Components/CustomerSubscriptionProductPrices.md: id: 97f38e9a1945 - last_write_checksum: sha1:94984b7d60305284cf23576fa2d5de9c3f36acea - pristine_git_object: 4afed7d8526951e325a629a6d8ea5d04bef8d2cf + last_write_checksum: sha1:9b5d638549fcba18b1943974bfbf7cb70b188203 + pristine_git_object: e2b1319fd894caa80e23a1dad32e9d50baf7a7a0 + docs/Models/Components/CustomerSubscriptionResume.md: + id: 22ca58a15cdd + last_write_checksum: sha1:088f14da7717bb8cc7e1f0278b99518b6004d0cf + pristine_git_object: cb6a69107929c4306b15892372da5769aab52e37 docs/Models/Components/CustomerSubscriptionSortProperty.md: id: acd1093c2bcb last_write_checksum: sha1:67534e939f2ddf769aaa47a54e9d49b5e2177a1e pristine_git_object: 1574fbfcede521c218d4625b3f88b24d1da664fb docs/Models/Components/CustomerSubscriptionUpdate.md: id: a5aa18571a25 - last_write_checksum: sha1:3797be48bd4dab819226405a09a23e326dc3048f - pristine_git_object: 2d9834927bd997d83d77ccda1f60d46f35730d8a + last_write_checksum: sha1:c120239ec030fcd884a6d441348b402a3611dd31 + pristine_git_object: f9701c4034ae7c709fcfb40d1b3d1c7bdc7ad80a + docs/Models/Components/CustomerSubscriptionUpdateClear.md: + id: 11fb731a2c6a + last_write_checksum: sha1:27151b87942949a584103ea1ba2513f24cb6fc87 + pristine_git_object: e9bf99929254842ed9e9eba4d84b755bbdec2c1d docs/Models/Components/CustomerSubscriptionUpdateProduct.md: id: fd39651c3ee4 last_write_checksum: sha1:ab5c5551730bbe02c119c5df01a7ce082b2f4aef pristine_git_object: 2171f967b3c5747a5d967fb6e3469cf30b8e925d docs/Models/Components/CustomerSubscriptionUpdateSeats.md: id: 283ba0ab85cb - last_write_checksum: sha1:37e0836714fcd12643f1d6c653f7f5c619636881 - pristine_git_object: 8038e0a51c5e5b2fb6b1402929716baaa03d35fc + last_write_checksum: sha1:553c7598c27e09a9d02aa4c9c347ce5621b97d8e + pristine_git_object: 56a0595c31650fed4a6166f072ba9254894fef3a docs/Models/Components/CustomerTeam.md: id: 429f881922dc - last_write_checksum: sha1:30910ecdef2d27b99d0bcbaa7596e597d6d4865c - pristine_git_object: 3936d369dcdcf0298dfb5d4fb6351097292f9235 + last_write_checksum: sha1:bdfe0e2e6718446c9a3f96687473d2411dbc6a9f + pristine_git_object: bf07525c55217f58b82c9f817f26622c5b4bb259 docs/Models/Components/CustomerTeamCreate.md: id: e5521f13eae6 last_write_checksum: sha1:9f9bc2d3a268851f2f2a52e00033108ca670f173 @@ -1478,8 +1594,8 @@ trackedFiles: pristine_git_object: e607a173671e193e2f91e97fa5b36c3318161a85 docs/Models/Components/CustomerUpdatedFields.md: id: 204664f14d5f - last_write_checksum: sha1:64f2b1091df68281578b33be432a636821a6fd96 - pristine_git_object: 0c30b13de6f61e5bbcf379b95b148fd4b9170f9b + last_write_checksum: sha1:0cc5cbf0d0e2be355042044101543e317354ad4c + pristine_git_object: 64c6c4467270ffdb88c4a8267a6bba4be4774944 docs/Models/Components/CustomerUpdatedFieldsMetadata.md: id: d9483ba9547f last_write_checksum: sha1:0702c791e385404e89cc2e17e97cee372e8287db @@ -1502,12 +1618,20 @@ trackedFiles: pristine_git_object: 4853b0918f5481d6933bc8910464172ce298cc95 docs/Models/Components/DiscountCreate.md: id: 56ddbfcd45de - last_write_checksum: sha1:acfa222c5c2e524518c6bccab315b283d126fb3d - pristine_git_object: 8b859ee216b9d2d5acb337fb77ebf83555c5fe55 + last_write_checksum: sha1:59adf85a8d84ac4bcccc4abc55b933e794aa8049 + pristine_git_object: c4015693e2146b441b5f9e362636722c33fd43d1 docs/Models/Components/DiscountDuration.md: id: b60ec9b9cc2f last_write_checksum: sha1:1639d49d94be95bcac6d95ea4291894ba3d71105 pristine_git_object: 23f33696befb5c142f9ba62712a652dc88275589 + docs/Models/Components/DiscountFixedCreate.md: + id: 52ca5623f6ad + last_write_checksum: sha1:5afc9b33110b6a32efbe1a97962fdc606a67ec1e + pristine_git_object: 44e59ea359412ac83987561327bd95aeb6608b19 + docs/Models/Components/DiscountFixedCreateMetadata.md: + id: f6ddb23fb38c + last_write_checksum: sha1:0cc85ef99d544d2ecd4d1eb617f232b9b93b8c7b + pristine_git_object: abedf2ed44d70b6f3bca22e6234566d636d73901 docs/Models/Components/DiscountFixedOnceForeverDuration.md: id: d475119d809e last_write_checksum: sha1:ce732395cf39e75f9a073d23a7aa1ec5e77270d9 @@ -1516,14 +1640,6 @@ trackedFiles: id: deef2964c9ec last_write_checksum: sha1:47958c1dbb025892ef4e0de61f8c05154e2d502f pristine_git_object: df17877677e97d8dabdcb80de2364acf06f558f1 - docs/Models/Components/DiscountFixedOnceForeverDurationCreate.md: - id: 4d94fc49fe7d - last_write_checksum: sha1:2c7119e05c9cb5db2bab5d5b8e5db361294e7f50 - pristine_git_object: 284d41b0d44323190408154b52d29cb30a610e78 - docs/Models/Components/DiscountFixedOnceForeverDurationCreateMetadata.md: - id: 8d32042bcf87 - last_write_checksum: sha1:32530df503634fa618a636dc695544f7a3e9c272 - pristine_git_object: 80c886410845bbc054a399af2b22267c417ca7fd docs/Models/Components/DiscountFixedRepeatDuration.md: id: 2f697e6f4069 last_write_checksum: sha1:bde3a6471d37829eb182930202cb0d8ff408446b @@ -1532,14 +1648,14 @@ trackedFiles: id: c66ccdd2606c last_write_checksum: sha1:3e76fdc0f1c7459dffe1c245b01b27cfc38b6a45 pristine_git_object: 11f95744ad84b59b5cf4aec38e1a498d3c30ef7b - docs/Models/Components/DiscountFixedRepeatDurationCreate.md: - id: 676ffe32d2c0 - last_write_checksum: sha1:470254fff18f379a69abf6d10f4054595ffb90d5 - pristine_git_object: d0f0cd179305b59e99e4fdac985d1f64c64b7adf - docs/Models/Components/DiscountFixedRepeatDurationCreateMetadata.md: - id: cb6cab3b40aa - last_write_checksum: sha1:f53da45a75b09bb4acfff02570b645cd3f2ea87d - pristine_git_object: 9cebea9fb9bc23293631f1c880aa0cf0b4d0e7b1 + docs/Models/Components/DiscountPercentageCreate.md: + id: 23d63f5dfcf3 + last_write_checksum: sha1:6494d84b7666868284f5e1d36fd739caba039a93 + pristine_git_object: 55fc91673ed51c0aa7b98a346ca0d19c7db43ead + docs/Models/Components/DiscountPercentageCreateMetadata.md: + id: 812af1e401e1 + last_write_checksum: sha1:b6fd334c516fef2ed678e8019e69b84f0db0d1ee + pristine_git_object: 0d3a8a7389ac6318cd2b91163f410abadfd1b44a docs/Models/Components/DiscountPercentageOnceForeverDuration.md: id: 3aa013b1789f last_write_checksum: sha1:75cc2100830b2cee02d53096417c886c73b542c2 @@ -1548,14 +1664,6 @@ trackedFiles: id: e59fad8588fd last_write_checksum: sha1:5921837f20a5954709550b0f181fe7aa94dc309d pristine_git_object: 027146184f041a26bf2b7799dc5b722f38bab934 - docs/Models/Components/DiscountPercentageOnceForeverDurationCreate.md: - id: 5b9d4273604f - last_write_checksum: sha1:36ac32a7315bebcf6d36fa36e388026c6c5a27b3 - pristine_git_object: a9bc79e98b97c698f2cdde97f1a33fa4cf6040e0 - docs/Models/Components/DiscountPercentageOnceForeverDurationCreateMetadata.md: - id: 47900884adab - last_write_checksum: sha1:91fa1ba4471a66d346445a0e715130115acec0db - pristine_git_object: f41e2bd058d9463579ee98d483cbd3b979293f01 docs/Models/Components/DiscountPercentageRepeatDuration.md: id: 4ba9138ab196 last_write_checksum: sha1:0b7a489c769eae0ee0c60d52e2d0fc0d0ea2e4c3 @@ -1564,18 +1672,10 @@ trackedFiles: id: 1f386141bb6f last_write_checksum: sha1:a93456cec89f1b4047e945f74974814c748fb1a9 pristine_git_object: 9f70135965181b775bad49617b5c8eb328022fc2 - docs/Models/Components/DiscountPercentageRepeatDurationCreate.md: - id: 09b8c5bd4ce5 - last_write_checksum: sha1:26052005ce5f4a469ab92ee29a73ec78413e4130 - pristine_git_object: 1089204735d5c2eedafbdbea1ed2bd80d1f9ffe5 - docs/Models/Components/DiscountPercentageRepeatDurationCreateMetadata.md: - id: 8e8cbc4530e6 - last_write_checksum: sha1:fa09c9cad0b05cedef913e3e812762703fb437ba - pristine_git_object: c3bfcb1b373a6919086c771dd75784546db095fe docs/Models/Components/DiscountProduct.md: id: 9e6d9becfbf5 - last_write_checksum: sha1:653761c122bda370d71787fc545f7a14733c67e1 - pristine_git_object: 2378b31a8e61e1e8322d309704ae927e79ba3ca8 + last_write_checksum: sha1:030bbfd1581d7100876e26f3f60e665064d961ab + pristine_git_object: 01ba86fa250257d04530d807ca73d493a34ce57e docs/Models/Components/DiscountSortProperty.md: id: 26676e03bdda last_write_checksum: sha1:b4fa856bf2e8a9fe0d2d2370e7f6b023230ae062 @@ -1594,8 +1694,16 @@ trackedFiles: pristine_git_object: ed13489651ac24d95986b18c89c5484582f381bb docs/Models/Components/Dispute.md: id: b189445c695d - last_write_checksum: sha1:3e58c0c7657d1661701668ca47ba585b602e9f8f - pristine_git_object: ff30550af06fcb1c51373c1f3b9f26615ea5c09f + last_write_checksum: sha1:07f62e8124701c91e5725c3fa840e1bcbf6d486d + pristine_git_object: 3456c47a439cfb340a861c8fee936b51361c7b5b + docs/Models/Components/DisputeCustomer.md: + id: ea0d833a43b3 + last_write_checksum: sha1:9ce0f386e2e249516c9cc55fee14178c7556f4fc + pristine_git_object: d945c504b1529920da06919ec156ad799370c18b + docs/Models/Components/DisputeCustomerTaxId.md: + id: d559d667d4a3 + last_write_checksum: sha1:2110dd92cf6703956ba4063f85acd4f1bd792b75 + pristine_git_object: 2609c272aaaf3f53106d4ad00859c325f5c55c34 docs/Models/Components/DisputeSortProperty.md: id: 525ec9b25a19 last_write_checksum: sha1:8008203b1dca9bac2483749b6432bb56b6dda8a4 @@ -1618,8 +1726,8 @@ trackedFiles: pristine_git_object: 39bae6a93e5b1ce888916026f1aa138a780d4350 docs/Models/Components/Event.md: id: 0008851f1381 - last_write_checksum: sha1:21a319fb194ee4d15d10b795c1490316259147e9 - pristine_git_object: bea6190b425c6e7883b4ae222e47061836534979 + last_write_checksum: sha1:97890d1548a3b3e79f8fd91fb44a8b6f1c78e96e + pristine_git_object: 6dc39eb41ec8a05fd2f812886839302884751554 docs/Models/Components/EventCreateCustomer.md: id: 0b6458dd835c last_write_checksum: sha1:24330eaf43883b76667f652bf9d07d8319e7894c @@ -1638,8 +1746,8 @@ trackedFiles: pristine_git_object: e414ad72636b5891406bb895ea6301a013d06b99 docs/Models/Components/EventName.md: id: e7517692d972 - last_write_checksum: sha1:c67f73d34a41c7e2b8fcda363d804e3af84e7244 - pristine_git_object: 713ce0a66893064e4695066d8da453716be5811f + last_write_checksum: sha1:e551e0301bb6f137cc227c5c05220d4e90decacb + pristine_git_object: fa73bf7535cf6b09af032a2759cd761bea770f76 docs/Models/Components/EventNamesSortProperty.md: id: a1e08a256825 last_write_checksum: sha1:5fbc7753d962d79c91361ce795e82e229139e7a0 @@ -1662,8 +1770,8 @@ trackedFiles: pristine_git_object: 700e9b2192687419a8fb86942ec2021f5b969129 docs/Models/Components/EventTypeWithStats.md: id: 6e7ca0fd8187 - last_write_checksum: sha1:7d2cfae737a84b7fa51c010ab809fb2c7df8c916 - pristine_git_object: c819381f24bceb55272c11129431b44cfaa26891 + last_write_checksum: sha1:eb6e0b6b6b3c60ca319fba8aebc2db3dec93aa13 + pristine_git_object: a343d3dedaea01dab6d92d085bbd8e3b3b1da06b docs/Models/Components/EventTypesSortProperty.md: id: 254565caf519 last_write_checksum: sha1:47274baaa59d2b36258e03b03ed3e265165b4cfb @@ -1686,8 +1794,8 @@ trackedFiles: pristine_git_object: 4416bfe58172438c05a145203edbb81bdddd5ce7 docs/Models/Components/FileCreate.md: id: ee70f89ab318 - last_write_checksum: sha1:ddfb9d4f48af939fe9b6ed9d7815f4c1bce87dc4 - pristine_git_object: ddc3bf7e32570844526f53bd98a6e0e2882ab25e + last_write_checksum: sha1:1b085df9e78af533a3091348353a490305f49cfc + pristine_git_object: f320e4fbc1cbf8825d059f5bc177f35b877f237b docs/Models/Components/FileDownload.md: id: 6c2cbbe16097 last_write_checksum: sha1:2c4eac035f7070b42e933d895a008e24702d1724 @@ -1698,12 +1806,12 @@ trackedFiles: pristine_git_object: 73e3db5b0db1c8810edcf55623a8398c30d33785 docs/Models/Components/FileRead.md: id: 3fb45ad6ff72 - last_write_checksum: sha1:55cfa42f26d95adee2057eedc17340f9fee1aecc - pristine_git_object: b68778c8dca3e5fae2dbb7b55ceb3d89de4a9943 + last_write_checksum: sha1:2463ce8864aab48de0761955ab023cd55a87f5bb + pristine_git_object: 2009abdb6448cdced0268ed9f8e48d62a22342c9 docs/Models/Components/FileServiceTypes.md: id: 095d5addc418 - last_write_checksum: sha1:4fdf7b47d6a32b6711e10b9776d1f8fe91b263d6 - pristine_git_object: b530e2c6c1f6ab533c709808e0238b49494102f0 + last_write_checksum: sha1:85ccac507c2146e3bd4e310623d027b6fc399f0d + pristine_git_object: 05a3d80c99ec56861ae393b928efea37a6cbf083 docs/Models/Components/FileUpload.md: id: d748b5467853 last_write_checksum: sha1:9126091e17a4cb9afb4e26eb511daea8730156a6 @@ -1734,8 +1842,8 @@ trackedFiles: pristine_git_object: 4f9c3f941188ce47b1bbfc128b077f4d0d942c02 docs/Models/Components/GenericPayment.md: id: 48abc086ef2b - last_write_checksum: sha1:ec162ca2f79f2b69f266638f5298a8bcf27833c4 - pristine_git_object: 0119dfbeb46c58912f05bf7526fd1ef7dbb5679a + last_write_checksum: sha1:2a6af1c6c50afad0ebc21868facc378f05a055e6 + pristine_git_object: 5f9e33e26c9b2944acc45b75146ecd92c5d4f4a5 docs/Models/Components/GrantTypes.md: id: b43e2b255f43 last_write_checksum: sha1:a1164e3a029136475ef96f0680a14845b77159a7 @@ -1758,28 +1866,24 @@ trackedFiles: pristine_git_object: ab3495c3d78c9978d5f730537b9817d4085f0c94 docs/Models/Components/IntrospectTokenResponse.md: id: 094f34e7d9c3 - last_write_checksum: sha1:175edd07a2f1fb52d305ecbd01defad77f780c9b - pristine_git_object: 0f5dfabc8dffb64a773c56f39f450d8ff5cae3eb + last_write_checksum: sha1:762569bd6b6b171cff9885f2ce9bd5949bd0530a + pristine_git_object: fa3b6530f8411506b19ee919f297e884af45add5 docs/Models/Components/LLMMetadata.md: id: 4abfd84d600d last_write_checksum: sha1:060735ac157d6504db5d591d7f7c978deff7c45f pristine_git_object: 4e49fb090c512f9995dfb61f6cb20795ecaa4703 docs/Models/Components/LegacyRecurringProductPrice.md: id: b904e80c5d6b - last_write_checksum: sha1:c1aa3e5f4465ef2f1d02c0ba03e79d076bcd020b - pristine_git_object: 0c271e28d1eddbfb53afa35fe0f3feb2bb79cb75 + last_write_checksum: sha1:5e99cbe8288807423d6d8e125fedfa25c451fbb8 + pristine_git_object: 7d81ca2c1ad9babe97f292ac56f5af25b5482adc docs/Models/Components/LegacyRecurringProductPriceCustom.md: id: 81190e9bd6e2 - last_write_checksum: sha1:999700c645401bcc3e5f5ff47f5d61188c79c5c5 - pristine_git_object: 014bbad12dcb60187aa19f9ae7a34b0978e425cd + last_write_checksum: sha1:3af5bd3febafc5d1f5865fd8891647ef42ec0ef8 + pristine_git_object: 97f3eaab11623b1718c5f5bb49e720d2983a0290 docs/Models/Components/LegacyRecurringProductPriceFixed.md: id: f029a72d59de - last_write_checksum: sha1:c8458ee451ca7d1e30a846cfe3d130de80043a64 - pristine_git_object: 98e3b38e1c5cc19adf5197e5935392f771626ffd - docs/Models/Components/LegacyRecurringProductPriceFree.md: - id: e905ec712997 - last_write_checksum: sha1:37ec32c88759fc3c9dc38efe565b17d3c5ca37f5 - pristine_git_object: 4a4157b4ee77d19ed427c5b0cbc49147d9f4835e + last_write_checksum: sha1:bf150e9440b9676bd3dee6bf007ebda071429c1f + pristine_git_object: ad53608f5b77dd28f0c2a56c9518ed47c103ac01 docs/Models/Components/LegalEntity.md: id: 85bca3f1c199 last_write_checksum: sha1:73e02aa9c3f9594781dca07c3033a59f49542210 @@ -1810,8 +1914,8 @@ trackedFiles: pristine_git_object: 546f7bd3ef2a9d15110e3d46d4c6d9b5731c62a5 docs/Models/Components/LicenseKeyCustomer.md: id: daa3a176f080 - last_write_checksum: sha1:0e06d6ef4ebcd1ed5387a4032bed016b98f6339d - pristine_git_object: 9da4291ed303dda5b73876f7a36664e80293c4b6 + last_write_checksum: sha1:cac4a07e10f226caaadc695d92e2de24689d53ff + pristine_git_object: c27922f2afa9245dcea0e01d4c587eb92109363f docs/Models/Components/LicenseKeyCustomerTaxId.md: id: 0a84fd1642d9 last_write_checksum: sha1:0fb0509d8224733407438c960508ada9448f5801 @@ -1842,8 +1946,8 @@ trackedFiles: pristine_git_object: a98917381f89a73c55b6760383b56d1aa0dd9f8f docs/Models/Components/ListResourceBenefit.md: id: 18701c9200d8 - last_write_checksum: sha1:6460012360cde4821d1e2b9333ff3a3289ab5558 - pristine_git_object: 9ab2c980c1c09ceecd90f4ea40ad629eed452322 + last_write_checksum: sha1:9278f654f2a1c5fd6954cc6def582e9605db33d8 + pristine_git_object: 3ee54ca59d658796fd988626ca757fe5ae336b3b docs/Models/Components/ListResourceBenefitGrant.md: id: d31ce1fa020e last_write_checksum: sha1:01e7429dfc0e2927067531e0517589d623cc3cdb @@ -1866,8 +1970,8 @@ trackedFiles: pristine_git_object: 9df5cab5317e58f07b7ec96d82ec826c9b7afdfa docs/Models/Components/ListResourceCustomerBenefitGrant.md: id: 39d367f5227e - last_write_checksum: sha1:6f04b16c31e671ebacfacbcf6e54e353b4724ee8 - pristine_git_object: 49effdb1fbfcd401fea10391c2b3a8eb7ab2d3cd + last_write_checksum: sha1:34af36fa669daf1d154836568008a0b9f23398bb + pristine_git_object: 818dc5506df831fa98711681e2debaeb51c2a38d docs/Models/Components/ListResourceCustomerCustomerMeter.md: id: ad8064322013 last_write_checksum: sha1:3b866295ddd6cb979631d1ee54979da864a5ca80 @@ -1910,8 +2014,8 @@ trackedFiles: pristine_git_object: de297cec356e2204c27fd761f9adb3a01394efe6 docs/Models/Components/ListResourceEvent.md: id: bda24e375791 - last_write_checksum: sha1:11c3433ed46f86a64102ee87894409ede594d987 - pristine_git_object: 0d3aa49ff7ed5b22b8f113af709ce81ffa2bc439 + last_write_checksum: sha1:fae4f432d15ddd3ae521cd606360cc6c4df49bc2 + pristine_git_object: 4db3db3303cd03d2e9889a8a48cc4297576465de docs/Models/Components/ListResourceEventName.md: id: 965a983105be last_write_checksum: sha1:0b73210867df5aaec1cdc6193b73c3098f9fe852 @@ -1922,8 +2026,8 @@ trackedFiles: pristine_git_object: 8d65ee9e952af2063d4050ffb36406aaedacf93e docs/Models/Components/ListResourceFileRead.md: id: 58ef29b5a6f3 - last_write_checksum: sha1:96f9bf759cfb21a38e7e930a90cf4bfe5778e146 - pristine_git_object: 39842297484ec6bb035492c5a5f0509f7909b136 + last_write_checksum: sha1:b9a27462758edeb7d306fb8c3b21dc8b277fed0c + pristine_git_object: ee58e52db6c28198f0f5c9a801861baa090d35f4 docs/Models/Components/ListResourceLicenseKeyRead.md: id: 25dd428e871d last_write_checksum: sha1:ed1a15d007c6d5588886be2ed4e90559bc2b7bdc @@ -1944,14 +2048,14 @@ trackedFiles: id: 9b2d7d9ab2c4 last_write_checksum: sha1:6d2cb236b28f24e6eae49cc2ef19fe4609b7f8f0 pristine_git_object: fb27211e2ee91f36a0c8007bce18c68179cfd3fc - docs/Models/Components/ListResourceOrganizationAccessToken.md: - id: 54faca3566cc - last_write_checksum: sha1:18051259bf853bd99cac7064811c67bb07b7fab3 - pristine_git_object: 7f13e534bf4bea7c2e51050f07acd5856fd5c942 docs/Models/Components/ListResourcePayment.md: id: ead3b23134b5 last_write_checksum: sha1:b5f28be744170dedae96808c5f1c9ef2da5f38e5 pristine_git_object: 01a0c090fb2f73f72bd4ac87af59b5d3ab84247a + docs/Models/Components/ListResourcePaymentMethod.md: + id: 4d9a438cc09d + last_write_checksum: sha1:0fe8ca7027e50a2befd88bb80b79676c0e1acdc1 + pristine_git_object: 7c24c857a7c5d97cac9aa8adc5e19e409e8aa00c docs/Models/Components/ListResourceProduct.md: id: d5c735c6a2f6 last_write_checksum: sha1:f7a1ff8b055f83a2f46e2b8a32b3e0983f4fe1ab @@ -1974,8 +2078,8 @@ trackedFiles: pristine_git_object: bb0f20227f0586d7b82434a9ede79ed2e2155373 docs/Models/Components/ListResourceWithCursorPaginationEvent.md: id: 8befd5c0a53b - last_write_checksum: sha1:eb6848c609e36408602c8b6f626075a3f09e7cf0 - pristine_git_object: 1d7a603577ea9e4e34cd611954cfe33333b40a8c + last_write_checksum: sha1:764cd21ac18e1008b72f404566765d492766f133 + pristine_git_object: d0e40fd5b2a8ac76ebaad7561df3e21a6827856d docs/Models/Components/Loc.md: id: 7933a89bf008 last_write_checksum: sha1:17ce7fe4f1e894a8a2065256da17cddcc1663998 @@ -1988,10 +2092,10 @@ trackedFiles: id: 80deed78ce44 last_write_checksum: sha1:7a0a69e98e2472c6aed526029fc40d6eb05d48d6 pristine_git_object: 2276f30b93ae18752dfbfd2a6293badda5f33bda - docs/Models/Components/MemberCreate.md: - id: 82a70489f31b - last_write_checksum: sha1:fe822327002296ec371a62255ebe723cb4184e50 - pristine_git_object: 067be42d850a20ca2f5be826044668ff6dd8ce50 + docs/Models/Components/MemberCreateFromCustomer.md: + id: 716293bebfec + last_write_checksum: sha1:09600fa76eed231648eb5127fd7e0e532dc25898 + pristine_git_object: 4691cf5476206f07079b68546964c73464822a3a docs/Models/Components/MemberOwnerCreate.md: id: 706096fb2805 last_write_checksum: sha1:1c751a80b4ed79a00c9437a0997e2806ccddf43a @@ -2006,8 +2110,8 @@ trackedFiles: pristine_git_object: 596e4599a3e69aa9a5f3c240f3cc5ded6986edae docs/Models/Components/MemberUpdate.md: id: e9614ca466e6 - last_write_checksum: sha1:21f0aa514b38feedb22d0706849d140dd5d727e9 - pristine_git_object: 9b79182711b6e275c5b4da0a450284ce44a1a6ce + last_write_checksum: sha1:0d2feee86009c043a5647ef353aa72139b4de428 + pristine_git_object: 183ca1cea5ae5a51cce85969dca478fda41381ed docs/Models/Components/Meta.md: id: f31d15227c9a last_write_checksum: sha1:bc9361cf0b0c65543d5902d41e7d22e84c21d9f8 @@ -2026,16 +2130,16 @@ trackedFiles: pristine_git_object: 410be7aa5235c1200a84d4952d92721c9d828847 docs/Models/Components/Meter.md: id: 5231db664d40 - last_write_checksum: sha1:f69ddcd5310920f5bf6a5ea6902e003834cd9ed0 - pristine_git_object: 9b5067df2bc30149320a04548222e2bc286c7d49 + last_write_checksum: sha1:6e46f0591e1aa8909e248e463de566a6920aef9b + pristine_git_object: 9ac3b11c1b408184100bca29e09c551b4117c3a8 docs/Models/Components/MeterAggregation.md: id: 149814e86c78 last_write_checksum: sha1:f177742637155305ed8d09967039e4d9e3744442 pristine_git_object: f96126bd8371f35c827fa5d5b34c6db12be4e0a1 docs/Models/Components/MeterCreate.md: id: 6015167ffc1a - last_write_checksum: sha1:f4241472604483f559e06903a2c41cf724cff077 - pristine_git_object: d07e658ac6f6db777332f58de7801a627c05a611 + last_write_checksum: sha1:3bd3f8d2780a73a19cedb6bb6956d009005b5958 + pristine_git_object: 75ab938abebdb9901c42792b98a567aaed392b65 docs/Models/Components/MeterCreateAggregation.md: id: 5f815655d89c last_write_checksum: sha1:edcc65439800241cbfa878ab66dfbd24683657ab @@ -2072,10 +2176,14 @@ trackedFiles: id: 00832c9a2402 last_write_checksum: sha1:80b71c55ceccb44f953aa80ba23790a9b497c304 pristine_git_object: 01592d5bbbebb0ac511c352ac5c6a9fcd761024e + docs/Models/Components/MeterUnit.md: + id: 792dbb1621e6 + last_write_checksum: sha1:d0767a97d026449638ba681bf7ddc83a97a7941d + pristine_git_object: 721b7e3c9fc7c18494ae9f73d394c84d8017c590 docs/Models/Components/MeterUpdate.md: id: 772955b89428 - last_write_checksum: sha1:56a9096efa01469695d46715253dc175c4204b23 - pristine_git_object: 71f7b6eabb89b69baa1aac2750a2c005f2bca08c + last_write_checksum: sha1:4f1ab546eacf4dd0f30fde09463327cacd94f874 + pristine_git_object: 3b1a4182022233118d34ca9720fe203648183cdd docs/Models/Components/MeterUpdateMetadata.md: id: 4405e29e7ac5 last_write_checksum: sha1:a84d5827a00fdf7f6c657278e39885e93c385ff5 @@ -2098,16 +2206,16 @@ trackedFiles: pristine_git_object: 664d120f0cc68bd31a210f6157c15f6afd10977e docs/Models/Components/MetricPeriod.md: id: 6274feaaaf2a - last_write_checksum: sha1:834c486ce26eb074ab1f883152d83dbee0cb7a67 - pristine_git_object: 89fc5ef309cba1d671953b6eccd569f374514405 + last_write_checksum: sha1:71f6f24f0ee54fefe16734974aee458f7642ecfc + pristine_git_object: a78f8abd2119301963cb6b14d2b3024dfb38b1a0 docs/Models/Components/MetricType.md: id: 37b253117d40 last_write_checksum: sha1:6b1a9503729f06f7b8ada248d66d03d780570c31 pristine_git_object: cb06ed40ef604b6bd95fd031f3f8ca2a2ce4f801 docs/Models/Components/Metrics.md: id: 0849550f55c4 - last_write_checksum: sha1:ddb18e4daadd15cf979a24dfdc61fa4b7cee3c3b - pristine_git_object: 4fd65c97b98325639b73bc51c940238f1a51d2cd + last_write_checksum: sha1:eb6d47714c2422c7ced31279a812485c058492f4 + pristine_git_object: 35b0ddc348561b3a19c8c86c2ece3f5d604cd602 docs/Models/Components/MetricsIntervalLimit.md: id: cb7489515444 last_write_checksum: sha1:4545daa5731a62d9e4bd2572bd2ff301ac557579 @@ -2126,8 +2234,8 @@ trackedFiles: pristine_git_object: 913b8a4898ae66f10510897e7f72fc86b42e8eca docs/Models/Components/MetricsTotals.md: id: 0f6edee82f44 - last_write_checksum: sha1:33900dc99aab73e4759b061dc2dc05c5ea636702 - pristine_git_object: 1845e88b998ff88249a1b0dc01abd342ec7ec766 + last_write_checksum: sha1:12c67cb6d734e81d0ded7cacd6b9fc289254f156 + pristine_git_object: 94b5b9a8c35919248a89ab39b7d2bd81313f65eb docs/Models/Components/MetricsTotalsActiveSubscriptions.md: id: "087498807592" last_write_checksum: sha1:bfef5da8e910be6a79071f96ebe45b0b7488be1e @@ -2136,6 +2244,10 @@ trackedFiles: id: 370c907dfa93 last_write_checksum: sha1:986b59eb6e53d8e5b3cdde5077f210329a3b215f pristine_git_object: 73c7fd8c48eaeeb44106f9217aa0fdeb0f1091ba + docs/Models/Components/MetricsTotalsAnnualRecurringRevenue.md: + id: 001717c73585 + last_write_checksum: sha1:732168aab69226f11126ecd9e0eb71be707afc15 + pristine_git_object: 57e70302ca717546653d3751e8dd9951c80db409 docs/Models/Components/MetricsTotalsAverageOrderValue.md: id: 217bfdff0ebf last_write_checksum: sha1:c459bcd0dd8a1424d7395089fff475edf84d5b7e @@ -2144,6 +2256,10 @@ trackedFiles: id: fc6146a2f3d8 last_write_checksum: sha1:d7d569b273d2d6745796bf6a6d3ac794899a353a pristine_git_object: 56a9f4037fa47fbe2db0796066a20e3e626602e2 + docs/Models/Components/MetricsTotalsAverageSeatsPerCustomer.md: + id: a10dc8ecf3ac + last_write_checksum: sha1:18b4a9a432d0a173700d64f69c858bf979cb9fba + pristine_git_object: f49204561093febe96ec5538fd51396bceb0efa6 docs/Models/Components/MetricsTotalsCanceledSubscriptions.md: id: 74b5edd10f45 last_write_checksum: sha1:03e686a7d92eee4c7741b9f17744fc13abd9c5f7 @@ -2196,10 +2312,18 @@ trackedFiles: id: 1431af6d209d last_write_checksum: sha1:7c000d419a2ae8848825e55fa2f3d9c81bab330f pristine_git_object: a6585e7a2b10b43f52956ea8742c99723f773633 + docs/Models/Components/MetricsTotalsChurnedSeatCustomers.md: + id: 646c0893e3bd + last_write_checksum: sha1:2a84adae3ff8cf435a320aaa8930229483a370ce + pristine_git_object: c52d0e8ba579e7e29e297bbcc054cb8c10a25978 docs/Models/Components/MetricsTotalsChurnedSubscriptions.md: id: 96c3bdfc12fe last_write_checksum: sha1:8fb314afedb225ff1c528a60b6d7ea00f7535ebc pristine_git_object: 1e300d945ea53c029c70fe8ffb2e3d6b86426279 + docs/Models/Components/MetricsTotalsCommittedAnnualRecurringRevenue.md: + id: 694b6eebd92e + last_write_checksum: sha1:6a466fdcbb7969a9d9870971933260b99e274540 + pristine_git_object: a49dc7af90cc080f2c8f22825ef0afdee5727085 docs/Models/Components/MetricsTotalsCommittedMonthlyRecurringRevenue.md: id: 137ddf2171b6 last_write_checksum: sha1:24885d91e6896dc19d0215da1b65a7c8870b67ef @@ -2252,6 +2376,10 @@ trackedFiles: id: 95f28fafba32 last_write_checksum: sha1:ae28cc2e09d4deaba4301a40a15c511ef4e75c59 pristine_git_object: 5361f241957a1cbdc7f0dbbf05e8a4dfb0fe787e + docs/Models/Components/MetricsTotalsNewSeatCustomers.md: + id: ae06415649ca + last_write_checksum: sha1:7ba901bf3428ef4922dd103f04ae93f218d89139 + pristine_git_object: d3625222d51a13516e6411b8ab4630f6681fc177 docs/Models/Components/MetricsTotalsNewSubscriptions.md: id: 9a174711bea6 last_write_checksum: sha1:cfd13c9540a925fd0896de5d2486e581a66e96f3 @@ -2296,10 +2424,38 @@ trackedFiles: id: eff9befc9e01 last_write_checksum: sha1:57843c08a96c77703641d6b298e948b98ebd1374 pristine_git_object: 26ebb6c6b1b0a991bb69a14688b7431600810522 + docs/Models/Components/MetricsTotalsSeatCustomers.md: + id: a85daba39614 + last_write_checksum: sha1:63fe83845c2ea18a8af1e6659c176700f94e3604 + pristine_git_object: de70edcc590910a8f8c1666cae2aff8750c554c8 + docs/Models/Components/MetricsTotalsSeatUtilizationRate.md: + id: 1bd48a61412d + last_write_checksum: sha1:7ec14a3b37faee3f009ccfef82785365d9c9d925 + pristine_git_object: a55b5674be8add2207ba67f36324003758c06314 + docs/Models/Components/MetricsTotalsSeatsClaimed.md: + id: db1e73b7eb69 + last_write_checksum: sha1:55d6b3707b4d10e546ebc52841dd585e3d99a7d6 + pristine_git_object: fab67a715f413777ae3d9dd0f6f9244c70bc59df + docs/Models/Components/MetricsTotalsSeatsPending.md: + id: c5bba15e5481 + last_write_checksum: sha1:003a4b4cf7771627a3477ab7b4c88a24d83ba897 + pristine_git_object: 30c23fa4f0715ad5dad523d7503cd165f6c7aa62 + docs/Models/Components/MetricsTotalsSeatsTotal.md: + id: 46efcd38db6b + last_write_checksum: sha1:018569e213a5bc7c1435336fb3cf1272541a7e04 + pristine_git_object: 4b6748b73c4234b081a87727744dd8bed7328727 docs/Models/Components/MetricsTotalsSucceededCheckouts.md: id: 483e06f21a52 last_write_checksum: sha1:6c1dacb2935a6cdac8a6effe60473ff824dacaeb pristine_git_object: b151a92f880dd3421db907a53b5eb9ec19cd397d + docs/Models/Components/MetricsTotalsTrialCommittedMonthlyRecurringRevenue.md: + id: 49d115b896a0 + last_write_checksum: sha1:a7909209644ada2ed9933a0175621e87b3f28542 + pristine_git_object: 3b7519a6e5d18a789389659b150b5356b1840b48 + docs/Models/Components/MetricsTotalsTrialMonthlyRecurringRevenue.md: + id: 7693660ccb5d + last_write_checksum: sha1:1a7ee661be673899474697829eb75e3f48a66ede + pristine_git_object: 85c27db2a900183f3c6ff0a7644d38c2be1c1f59 docs/Models/Components/MonthlyRecurringRevenue.md: id: 4ab855d7f091 last_write_checksum: sha1:837d15a14ba998b8c2b7596643a32125b35cda61 @@ -2316,6 +2472,10 @@ trackedFiles: id: 3dd445f5167e last_write_checksum: sha1:2e311d7ee0d9c78f51ef31d30a03815edb63ad38 pristine_git_object: 496c1b0abe2543d1812f9434d525cdec4d093859 + docs/Models/Components/NewSeatCustomers.md: + id: 692a7555cebd + last_write_checksum: sha1:8e1a0af231d45588b457a33128b26af3be882cb9 + pristine_git_object: b6b2b0aa55761812b886776d6cd6b1d66886a9ce docs/Models/Components/NewSubscriptions.md: id: df740ad198b2 last_write_checksum: sha1:2a4178a398655c3eaa6ba214dff2591ba09979a4 @@ -2362,20 +2522,32 @@ trackedFiles: pristine_git_object: 840b7f8cc765a8331a6a58dd82307c0c0ef76ad1 docs/Models/Components/Order.md: id: 1e95ae5483f8 - last_write_checksum: sha1:4627027e2fd57dd370e134c46e7c01a38a3378eb - pristine_git_object: 25eef8dffd02934faa05f25179621bc4fabc8796 + last_write_checksum: sha1:acc3b1679cfc0c70ffdb915163e4a5da2dc1a55c + pristine_git_object: 5d6e994b23b9a8ca60c218e5537b9e8fa7d5e6e7 docs/Models/Components/OrderBillingReason.md: id: ee48d386d965 last_write_checksum: sha1:b8d4cc671224afba62e154b92ec659b0e1ac17c7 pristine_git_object: 63c4e3afff7f3ad2e0180b4df8a8e2796e68ba5a + docs/Models/Components/OrderCreate.md: + id: a4fae0210b2d + last_write_checksum: sha1:e1ba4ef64406595ecacd60085232de7976b2217b + pristine_git_object: 8143873bed72083641630520d4b0c61fc45caeaa + docs/Models/Components/OrderCreateCustomFieldData.md: + id: f1c9c0baeec0 + last_write_checksum: sha1:a8974eaec5d2d75160474c11b2bd17129d365b63 + pristine_git_object: 26d6075092cadc52a354ae9c6dc7f2f55dab4b21 + docs/Models/Components/OrderCreateMetadata.md: + id: e740c610f07b + last_write_checksum: sha1:9a34a4875f36105eae9b25276b361aaa48a656b5 + pristine_git_object: 3248775dabc1e136cef2dbf9a35cd7b099caf228 docs/Models/Components/OrderCustomFieldData.md: id: 20545c8424a0 last_write_checksum: sha1:e94a0330fb164d9d551be6a2831f04b9a4e68b26 pristine_git_object: 22ac1dee9f2fdc76639a3c864d340e21612b30e8 docs/Models/Components/OrderCustomer.md: id: 3c582d366bb1 - last_write_checksum: sha1:a69292ddea5740c99787cb1298c5dcffcfbb0239 - pristine_git_object: 3ffeaa113eb27187cdf21787bbc48c26e6d58e03 + last_write_checksum: sha1:fe6f36085a78e74e2f3c5126a1e754a936a968d7 + pristine_git_object: 85565443eaf027fa1d42f8aa42ec22b1fc6426d5 docs/Models/Components/OrderCustomerTaxId.md: id: 7f2b7aa89599 last_write_checksum: sha1:d461c4eafd77ab983061ca756652a73401c061e1 @@ -2384,6 +2556,10 @@ trackedFiles: id: 55cf04d4add3 last_write_checksum: sha1:059808182014f70d0725e69c5db58ec3b6330403 pristine_git_object: b47745900164b68e232840dc91e741d9d9d6574d + docs/Models/Components/OrderFinalize.md: + id: 53fcbf3aa82f + last_write_checksum: sha1:b7f833bd38d929b2d23ef7ba949d6300e90f17d1 + pristine_git_object: ebbabb887f21ea542bc6bd8afceb2a48730dbb9a docs/Models/Components/OrderInvoice.md: id: b50b30a4be6b last_write_checksum: sha1:80458b8394a63e606a76b05138173aef18b83ea6 @@ -2402,8 +2578,12 @@ trackedFiles: pristine_git_object: fef41c1bbd1d91add95488afeba0618d4118fac0 docs/Models/Components/OrderProduct.md: id: 265c8c085d61 - last_write_checksum: sha1:e695cd2173a26fadca8ec4e09f031798df662d55 - pristine_git_object: bdd031d8a0def804338c04cc293e61bdd96a86cb + last_write_checksum: sha1:192de16d758de7bb2a2021c18427f63a24f32193 + pristine_git_object: e253f5275018f1a3dfcefed48d276f8c99a5175f + docs/Models/Components/OrderReceipt.md: + id: dd0d2c984af4 + last_write_checksum: sha1:763e8dfc5c3c824c5874642971c1fdc61fc7df0a + pristine_git_object: 26a2564e8d97fb7f35a7ea7a705fda89d4383f4f docs/Models/Components/OrderRefundedEvent.md: id: e030b84d9d11 last_write_checksum: sha1:97d6b1c86d5c2f8c55fadc1a30ff66c79a3d45a0 @@ -2418,12 +2598,12 @@ trackedFiles: pristine_git_object: 848feac650a87f4a311b464f7315a654cfb9245f docs/Models/Components/OrderStatus.md: id: 15f0c1bbbf5e - last_write_checksum: sha1:c33d29a7f2bfdd98f104b7688171b484d17579e6 - pristine_git_object: 25ad22171d5ba360c0d59b3e2e613ef171b9c1bb + last_write_checksum: sha1:11ed39f1bcf5b1a3f3644227b3e1ab26a0db8950 + pristine_git_object: fae69ae134253dc864723e64d3a7b7c8f8fada6c docs/Models/Components/OrderSubscription.md: id: 1e0c7a19229c - last_write_checksum: sha1:ee9117fb35f44de853ff9c9a64f612946291372f - pristine_git_object: 0d1c7141c97227f707ed68cbdb3fee3321312b18 + last_write_checksum: sha1:f0b1a6ab580d76e8470c720a19559ebce5b69f4e + pristine_git_object: 017f3709c8b0756e185f206a6df2f1d2f26f6547 docs/Models/Components/OrderUpdate.md: id: ee28ca957df4 last_write_checksum: sha1:66a30d2a4558878a2fecaec990d2db56e1424cba @@ -2442,28 +2622,8 @@ trackedFiles: pristine_git_object: cc7852cf18242ade902f3f61e3a6437d173c22f3 docs/Models/Components/Organization.md: id: 4313ecadad22 - last_write_checksum: sha1:dd5d1326328e72bc5b9155f3c452e19c0ae79f4f - pristine_git_object: 2426731d2e4686898e46996e21be1b1eda6d9303 - docs/Models/Components/OrganizationAccessToken.md: - id: 5a36fc42fd56 - last_write_checksum: sha1:75495230c34800e4d06f14a4a78cce3d35cc7e06 - pristine_git_object: f98b6c881ebc24a27fed08d7163dfceae55d5b2c - docs/Models/Components/OrganizationAccessTokenCreate.md: - id: bfd99a923faf - last_write_checksum: sha1:f9a45154feba566d86ed9eb5d23a438e158ebfda - pristine_git_object: 853317a4b6cbaa7e21c321d9498b41fd4b7fe511 - docs/Models/Components/OrganizationAccessTokenCreateResponse.md: - id: 7be29835a470 - last_write_checksum: sha1:d858df97280dcae68f816f6b0bbea1e723d6439a - pristine_git_object: 0c2155835bda126eba7d68f868a55b0348415a84 - docs/Models/Components/OrganizationAccessTokenSortProperty.md: - id: f152959e8a42 - last_write_checksum: sha1:568b64ab5a5ed6b4fabbd1627ada6cc77c94da3c - pristine_git_object: 8468181e2e761c75c7e0ad1999db59bc0589fe05 - docs/Models/Components/OrganizationAccessTokenUpdate.md: - id: 7d3775577a8d - last_write_checksum: sha1:cae12e0e581e04a98a36e44cccd2d5610ed37858 - pristine_git_object: 90962fa266898341b4e8d76b0126b4b0ce724996 + last_write_checksum: sha1:ed52ab14a3290c318255aecab1297a977b6b6ba7 + pristine_git_object: 0c9c1f9f599f536f60e4b84477adeefcf554da9c docs/Models/Components/OrganizationAvatarFileCreate.md: id: b696724cd853 last_write_checksum: sha1:0e6b57d938afa4ec11eb337af941f70c2418f9e7 @@ -2472,38 +2632,42 @@ trackedFiles: id: 0c2b6807223c last_write_checksum: sha1:04319ffd29497f945e72ce795b43e096b3f55453 pristine_git_object: aca74c2cca0d5c8cd012d283abf5c1743f029f7c + docs/Models/Components/OrganizationCapabilities.md: + id: c50da10c9890 + last_write_checksum: sha1:958aa519cc0cdb506b02c5222459689b7bf2503c + pristine_git_object: 7bf1bdb7403fb4e2fd1c1c7cf5b344499f6e1d2f docs/Models/Components/OrganizationCompanyLegalEntitySchema.md: id: 13dfe6f21e65 last_write_checksum: sha1:c3542a2e66f9d5ea766fd24f86fb0c47f01f1958 pristine_git_object: e08c4635fdef89e321ddb5fa5738e922e6debe1b docs/Models/Components/OrganizationCreate.md: id: a9b1fe5650ef - last_write_checksum: sha1:4dd6865eb5b44eb4d3d69253efe7575025d74209 - pristine_git_object: 545febb79d65908db37bad918bfa9692296e4122 + last_write_checksum: sha1:614fb650e7699820f88309410c44a1a1dc49554c + pristine_git_object: 79087ab407661b312c531f01627d2a63da8bf793 docs/Models/Components/OrganizationCustomerEmailSettings.md: id: b2a7018bbc9a - last_write_checksum: sha1:c1edef04d02c9fdd9734d414ada1bdefb83adfa6 - pristine_git_object: 4f83cc85c5923ae160710e0544e8ba3e3c29f3e6 + last_write_checksum: sha1:0fa1271d2dc6383b810a4ff42dbbf6fcfd7bc06a + pristine_git_object: 4b9b232f4309ded38cdc8fc70af58f1ed51c1a42 docs/Models/Components/OrganizationCustomerPortalSettings.md: id: c58fd3daf97f - last_write_checksum: sha1:934ce15bc334b68b4a338e3d53ca72e488ccb33e - pristine_git_object: 65f06a863f3cd9f342aaf1093c3bc1aef46c54f4 + last_write_checksum: sha1:6af64aaa6825fd19eea82ba23ebb8f2264a17a0a + pristine_git_object: 86fd5cbc1c139008d7a8bd42067bd6161b62761f docs/Models/Components/OrganizationDetails.md: id: f2ad46a6d659 last_write_checksum: sha1:13dfa4cb346cbcb4fa672e69df305db16d006013 pristine_git_object: 9340dfdb471af75892833a842ec63aa22b2160a3 docs/Models/Components/OrganizationFeatureSettings.md: id: a0fbcb07368e - last_write_checksum: sha1:8447c70011ee8518887b169f7669b655f0b04b1f - pristine_git_object: a150173146754b4864b19c39f5e273718b276046 + last_write_checksum: sha1:7bf84ff83250f7a6217673323ea84b9d052110cb + pristine_git_object: 016c1bd4b4ffc8650726e1496dc5ab91024c1df2 + docs/Models/Components/OrganizationFeatureSettingsUpdate.md: + id: 99f2f294e144 + last_write_checksum: sha1:0abe7df936ecbf3981c57f40e0c634f4179d588b + pristine_git_object: 23bc95d373df62475c4de53b2a6e77a8e5c1fcb4 docs/Models/Components/OrganizationIndividualLegalEntitySchema.md: id: 0f2e5f525a52 last_write_checksum: sha1:affda1192b3b7768bb7f4016380e105c5ecfb59a pristine_git_object: e2c856f8272510c5319c96d1fbec69cdbb2b8eda - docs/Models/Components/OrganizationNotificationSettings.md: - id: e8f1e6c3afc4 - last_write_checksum: sha1:3e926452a3b7f92349ba1fd42f57ee128565ada0 - pristine_git_object: 5636b35c2ac12fbcd318724af8e8cb49b6b58427 docs/Models/Components/OrganizationSocialLink.md: id: 474f71052c54 last_write_checksum: sha1:455a4fd77f9bf97343d00ca1d9b4763e27131b61 @@ -2518,16 +2682,16 @@ trackedFiles: pristine_git_object: ecbffd43c85b75d0918faf60633b44cf888e1c75 docs/Models/Components/OrganizationStatus.md: id: f656bdd8a614 - last_write_checksum: sha1:faace7ef37e74363593e1d4337e065e5b04ac16c - pristine_git_object: 20e9730aec8ddce7fcd22321dd27716b9678f963 + last_write_checksum: sha1:a1f0c4d0127f5bcc49540513a56207904e6f0a4d + pristine_git_object: 6f7095da15803598b17488e4bfa15700e2fe3d1b docs/Models/Components/OrganizationSubscriptionSettings.md: id: dc6751174dd6 - last_write_checksum: sha1:b18ee3ed0ff67caacb2aaa432f387e3fe9eee7e6 - pristine_git_object: ecb5636ff9ec25bf022d09be9903441f8fbbebc8 + last_write_checksum: sha1:319c89526c7f213331937f5001e6cc19a1d2f3f8 + pristine_git_object: 81de9a583f91eeb5d18f0a4b077fb26ecaaa27e7 docs/Models/Components/OrganizationUpdate.md: id: d9fafe149a5a - last_write_checksum: sha1:bf47e11fd4338824eb57a3f452dad4eecff33630 - pristine_git_object: f55eb04893dde60c0c3a6eeced0180d2c87fccb5 + last_write_checksum: sha1:ff417167dcfc8bc4599e850d42697ae446770eae + pristine_git_object: ad66c57166efde7406f1af1e044119cfa5c5f9f1 docs/Models/Components/Pagination.md: id: 1e1f649abd7f last_write_checksum: sha1:e21963ec17298e51ebc00b280e02c1a822f0cc4b @@ -2536,6 +2700,10 @@ trackedFiles: id: 52f805a36cbb last_write_checksum: sha1:f1fc4bc9a0f02722604b3d7a5b4e672806f8db85 pristine_git_object: 6bcf99e2a81d5a5461bae5e31d46314a72ec7165 + docs/Models/Components/PaymentMethod.md: + id: 5da8df995e06 + last_write_checksum: sha1:3dccc8cb4dee811275cf4b1bb6322f8428862150 + pristine_git_object: ab5a21e102bf63eeedc18c7c56a2d5be612adfc3 docs/Models/Components/PaymentMethodCard.md: id: cdec0209d541 last_write_checksum: sha1:53befa7ca4c4b4d5210020a12247b0293e018b3d @@ -2560,6 +2728,10 @@ trackedFiles: id: 4ba2dbdbfc8f last_write_checksum: sha1:d6e33f213135675f867802114b795ac05666953f pristine_git_object: 9cdc51e523a4dd0b4be87d79ace67af0ae316372 + docs/Models/Components/PaymentTrigger.md: + id: 755555b2ab35 + last_write_checksum: sha1:f38dddd9478dadfdece5fd018240f18818661ddb + pristine_git_object: 9a07351df22898014754c65e0a6a57458023b74e docs/Models/Components/PendingSubscriptionUpdate.md: id: d54b3544ac47 last_write_checksum: sha1:3df37a8679555221f898e51222c06a895054ffda @@ -2574,16 +2746,16 @@ trackedFiles: pristine_git_object: 8ec3dc05a20c36e07aa3ea3d0f4e8a7c5b1c9b5b docs/Models/Components/PresentmentCurrency.md: id: 4d8962db9b80 - last_write_checksum: sha1:79357ab88281f84fa5c462f6a3d55c7ab5b26038 - pristine_git_object: 2df6f4ea19e9d55abf8612db5f5777fb151d5bc7 + last_write_checksum: sha1:82a4d66cbb7620c351189ee559b9162b67478f17 + pristine_git_object: b7c0edaf07f626d23980d586983b1a3a75e67bfb docs/Models/Components/Prices.md: id: 6da6df4921b9 - last_write_checksum: sha1:cca1c058b87656c071d001f5932bcea11239ade7 - pristine_git_object: 10f662ae9c4f09d6085448594bd869e68d2dceda + last_write_checksum: sha1:bc929d2d82e4898163927c2d015dddfbd82a5354 + pristine_git_object: 71e18be762f3834e666102811447bb6c7846a053 docs/Models/Components/Product.md: id: 712a920eca61 - last_write_checksum: sha1:cd1ba00d2033c6145d684a8ebe7f165cca5c9cf2 - pristine_git_object: a65a4568dfb79a6cb97993d7bde01865c0da3c10 + last_write_checksum: sha1:83a51f039104cf1b1d788e6b9e960b05ee66cc89 + pristine_git_object: 37d4b2ab0b811267759070695a48c0c82ca2b2d5 docs/Models/Components/ProductBenefitsUpdate.md: id: 396ec50c6d02 last_write_checksum: sha1:f380df8b60ca6d01ab1954179419eb2a4e0ce732 @@ -2598,28 +2770,28 @@ trackedFiles: pristine_git_object: c8f416fe435cbcfbd767e296a403159e4689fe49 docs/Models/Components/ProductCreateOneTime.md: id: f61e4249570b - last_write_checksum: sha1:742d5c8b7df9a8106fd28ce4f1b57dc7b98c066e - pristine_git_object: 7e55e8846b910b585177d2611adc30503a611e7f + last_write_checksum: sha1:51c7e3680801ae8e478dcb63db08db6c1daf1d03 + pristine_git_object: 7467f2723aa396a9dcc454a28e41b468a1c6e000 docs/Models/Components/ProductCreateOneTimeMetadata.md: id: e6a80aab977f last_write_checksum: sha1:3cfe00b60df3d50073501132857cd245f668033c pristine_git_object: 8fdbafaed7658d36aab9ab5fc3ac1062ca09223c docs/Models/Components/ProductCreateOneTimePrices.md: id: 130fed85d9df - last_write_checksum: sha1:cba7d628b56c87fae6b6b26e7f8cd152d2683dd0 - pristine_git_object: 57f5ab5ffca80f7377f8e42f95e7d77cc80f067c + last_write_checksum: sha1:72498e79395692c80a1d79b41dce6c0269cc9682 + pristine_git_object: 8fda4a28bf6f2d35c6970c25f206f63048eadae6 docs/Models/Components/ProductCreateRecurring.md: id: b169ad3932f9 - last_write_checksum: sha1:1c45915fe37f9c5bcd16c0e15b0a3fb0a2851c75 - pristine_git_object: 208456f866a257c64c791918f721dd38c9a77cf8 + last_write_checksum: sha1:1ebc5a421425de6c7b74b2f6a9a477d4a195bd75 + pristine_git_object: 16f296e0eea9702becc01384daf347c895969597 docs/Models/Components/ProductCreateRecurringMetadata.md: id: 1d36a6b5002c last_write_checksum: sha1:0d043ac2097c0fd0f86aa9ac80dac2a09e2ad302 pristine_git_object: c990d619e28ea8ea85085576022da3d985af2880 docs/Models/Components/ProductCreateRecurringPrices.md: id: f2f5f82b710f - last_write_checksum: sha1:685647c9f86797502c14cbcbf7b86d116d7c0805 - pristine_git_object: c9fc80fdf3ae4d2389e6e2663cf0a39470a98758 + last_write_checksum: sha1:06c65a1de9e91230f23d82b6d85c0c3f8a744577 + pristine_git_object: b8d456f2d717e1f64f2d49266395997fa7e232b1 docs/Models/Components/ProductMediaFileCreate.md: id: ebe63bd845a9 last_write_checksum: sha1:94a71999b164091a79c363e0809d9390b7b9e08c @@ -2630,36 +2802,28 @@ trackedFiles: pristine_git_object: 1e2c5a79ac67d4e9c976bb0374e1af71bd090f8f docs/Models/Components/ProductPrice.md: id: fed045151cb4 - last_write_checksum: sha1:0946bd403e566abfecd8363f8943fc7099be6eb9 - pristine_git_object: 86b6cc75ffa6d3c594f586eb5b7682790e6a6ab7 + last_write_checksum: sha1:d8a7f147eb47e0a367cef500f25221eafb182320 + pristine_git_object: 5f3ea534ee082bf5b3bc2d3892eb867a8e9082f2 docs/Models/Components/ProductPriceCustom.md: id: ececf43d4908 - last_write_checksum: sha1:b8717e0136466080cbf3e4392f19cf20232432b3 - pristine_git_object: 68fb659ad4099de0356e0a0e2f06773045cb894d + last_write_checksum: sha1:7e743ab720f0d308cdafe2b0b260bb3a9be632ac + pristine_git_object: 1168e320d13e099ea136d85c73b2c128e9a6fce4 docs/Models/Components/ProductPriceCustomCreate.md: id: 939172813aa6 - last_write_checksum: sha1:2f9257c5060ff8af1ead9278c41b7e30ddc1e1a4 - pristine_git_object: e0dbad066089ac704d467ab936eddaa7119fe1c2 + last_write_checksum: sha1:5621b071853b396ec2488ffc1c5adb4b2ff31a07 + pristine_git_object: cbad22a00182b785b06aa1e8f4ba72b3d37a7b43 docs/Models/Components/ProductPriceFixed.md: id: e68731db3331 last_write_checksum: sha1:72851bcdcb901198299147af0ac9899d96e0d9df pristine_git_object: e24564597995ad168da88d2f09543be4c023e132 docs/Models/Components/ProductPriceFixedCreate.md: id: b9add9203265 - last_write_checksum: sha1:ae98eb082b28d19f9b8c5d32793fbb57b2a96828 - pristine_git_object: a64ae0b4cd6b9180378bc6e6fdde9d5eb2abc4df - docs/Models/Components/ProductPriceFree.md: - id: 5fd09487fb51 - last_write_checksum: sha1:13dc936b617b9cdb730721301e6546d5671cfd7e - pristine_git_object: ce1352f993ed170c2d70c88fb9329121d4d984f3 - docs/Models/Components/ProductPriceFreeCreate.md: - id: eec207ceb59a - last_write_checksum: sha1:1ef82da092fbcb91b6516f5ee3fbfd38e7d0f0c2 - pristine_git_object: 9be27172d75df604d4ac04b4ee2af89f73923550 + last_write_checksum: sha1:5e2189e7903ee00b12b454c9689e2a8dd95d34f2 + pristine_git_object: 0d4a03baaf39c53bcd28e6a9560e818c7b3f677d docs/Models/Components/ProductPriceMeter.md: id: 4b035004d30b - last_write_checksum: sha1:612cfdedf3057ceb88dde24e9690c9688bbbda0b - pristine_git_object: 57bd5eb27c617fee00dda145916f127c0b906d55 + last_write_checksum: sha1:36ad8f413b4cad7feff54f5291aff759055d9a49 + pristine_git_object: 95fb919b7e5ddf4f33d7d54cb35a5f28f33841e7 docs/Models/Components/ProductPriceMeteredUnit.md: id: 4460e5eb7139 last_write_checksum: sha1:be8378b7b8e94817502ce36f71ef8af159ee3ef5 @@ -2698,28 +2862,40 @@ trackedFiles: pristine_git_object: c16f9da7b9d6c10dbbfb60dee03ed371717295f0 docs/Models/Components/ProductUpdate.md: id: b7be59820ee0 - last_write_checksum: sha1:92b7c0630a9653e2a5e62a7e13fcf846502ee49f - pristine_git_object: b983885e93c37bf44b6d1124479473f319f4c6a2 + last_write_checksum: sha1:d3f2f1ce702e4af1b15b341af55755c5b223ec27 + pristine_git_object: dd9a5723fec6a01fb95c58824a18d3addc070fef docs/Models/Components/ProductUpdateMetadata.md: id: fb04fa2f0c64 last_write_checksum: sha1:6b9a5e70a599430aca94fb0867c519cda5b92c66 pristine_git_object: 8d6955924ec8149c090ce97110c1c2b634372b54 docs/Models/Components/ProductUpdatePrices.md: id: d07d4c117d3f - last_write_checksum: sha1:307172539d4ff90dd3922126e29f358a9753da01 - pristine_git_object: c16112193d23f5487e1a216cc1730834e000bc1c + last_write_checksum: sha1:e57cab2f6905ffe4f6d2c83048c39feb31fbc5c9 + pristine_git_object: fbd1056a82933b84d33168650f2fffad908eff25 docs/Models/Components/ProductVisibility.md: id: ece99a77a0af last_write_checksum: sha1:fac42b5ba412bd787c34422a7c36e067ffed7f67 pristine_git_object: 9a035c93dae9712eada78f0f6edea19e90490ba5 docs/Models/Components/Properties.md: id: 0a838cc79787 - last_write_checksum: sha1:56723b752af6b7146fc897070b1d1588c3910601 - pristine_git_object: c251bf1eb61f003f2baad76419e3df18b30ffb7c + last_write_checksum: sha1:bba380272e6bdd21b2fb6b3504e19cc19c836f80 + pristine_git_object: 4011b6c821bd0b5f9a45350335fc606fd35a3e54 docs/Models/Components/PropertyAggregation.md: id: a9f1c9343979 last_write_checksum: sha1:caa723fcbcdcfab61d692f9d6f323050bc5a1bf2 pristine_git_object: 042a579663c3dda431f27bf14a2f30b5f135af86 + docs/Models/Components/PublicSubscriptionProrationBehavior.md: + id: b426a56012bf + last_write_checksum: sha1:45ecc3ffdd818642dd651255dc9ab3aeafb0396e + pristine_git_object: c0a1d27c296124dfe1bc8041bbd6e53c5a8f4bf1 + docs/Models/Components/Reason.md: + id: a5b3aba0d303 + last_write_checksum: sha1:a19abe70894f73c50984edc5c16677b37a9fa536 + pristine_git_object: af2054f4bca38eb9ed2473db4307a663f663a10d + docs/Models/Components/RecurringInterval.md: + id: 43201163fcd0 + last_write_checksum: sha1:9abe0798c0b6d3d793aed79cc2bc1e78df293725 + pristine_git_object: 2308b32539f7aa745449b160dd14578dbbab03a2 docs/Models/Components/RefreshTokenRequest.md: id: 87d2ce88c236 last_write_checksum: sha1:248a9df67e6fd78d408e66618a56532308b01c71 @@ -2730,16 +2906,16 @@ trackedFiles: pristine_git_object: b917efe0dcffdef073e1bcc48bad887b12c220c8 docs/Models/Components/RefundCreate.md: id: 8cb8979e12ca - last_write_checksum: sha1:49edf728581260dc0c0a8219c6f50c716342c579 - pristine_git_object: d4c4f3f7397a19d5855c42e29002855488b99473 + last_write_checksum: sha1:9793f26a7fc1117f5183ddafe214d837abbb4faa + pristine_git_object: dcea6971743dcca0ec01dce704b9bc6c68d06804 docs/Models/Components/RefundCreateMetadata.md: id: 5eb69f30dc8a last_write_checksum: sha1:f990d46a0d08184549d541137ad3b9ab30df5971 pristine_git_object: d5819b3d6815f4d6b657750c7d7ae26d181b914b docs/Models/Components/RefundDispute.md: id: 142988ad037c - last_write_checksum: sha1:84f02826c31fc56b12121e2c7a1e73d4f78d9b1a - pristine_git_object: 4f5f4ace3d63ad71ce11136141f9c3374209cebd + last_write_checksum: sha1:378b2a1d1b6752fb9a9042c3b8260b108a307397 + pristine_git_object: 2d8c7597546d214963964c2642c0142c446b4b09 docs/Models/Components/RefundReason.md: id: 3ee4eeaa1a18 last_write_checksum: sha1:15467b62048c38846861d3db072881136b92382d @@ -2776,6 +2952,10 @@ trackedFiles: id: ae4aea6a4485 last_write_checksum: sha1:bda34ee9091039e3fb750fdad8a8324f9c35f701 pristine_git_object: e36e3ad6e2b1bf7f4db1826e994eb7dd3a30019d + docs/Models/Components/Role.md: + id: d4558c89db70 + last_write_checksum: sha1:91dac500543b24f6b78295a71ecc585449fb35b6 + pristine_git_object: 0d9375ba97cc2a1284d8342f4e5f4f0701586989 docs/Models/Components/S3DownloadURL.md: id: 722e560c07f8 last_write_checksum: sha1:eb186a3e5fd93ea19004fab5b98dd388d08a9dda @@ -2802,12 +2982,12 @@ trackedFiles: pristine_git_object: b984e14539ea25d004c0148e8710c17fce38de4f docs/Models/Components/Scope.md: id: eb3a9699fb4e - last_write_checksum: sha1:fe65c70d8457d27214560e5b72c49e73ef512825 - pristine_git_object: 9a4e9c58c8bb038c4d15861eefe98ab4d484efa4 + last_write_checksum: sha1:cb0557b0505673d7ac48cf078118bbd636257d22 + pristine_git_object: 440611fcf8841c8d10ed32f0df0f10ab76cf06d0 docs/Models/Components/SeatAssign.md: id: e7cf12abef7a - last_write_checksum: sha1:7fc0be5d65ca08ff3e0875cfd590b0fe7b747e45 - pristine_git_object: 174b4ec6daaa58a2f663bacf5eeb04d6f40ed218 + last_write_checksum: sha1:c6931f88ea7e4890be7947182ed961d77fdcd93f + pristine_git_object: 02b785ea78601f0735fb22b3f02ab9fc5ae31e60 docs/Models/Components/SeatClaim.md: id: 544112193bb0 last_write_checksum: sha1:118722f647300563f16ce6355df414312169db74 @@ -2816,6 +2996,10 @@ trackedFiles: id: 69f177c67080 last_write_checksum: sha1:9b055878186be34f56e6455c969a7af54d61f651 pristine_git_object: 7b175c34cac580b560900325ada75c80ff4ebe6b + docs/Models/Components/SeatCustomers.md: + id: 2a6e0b3593d5 + last_write_checksum: sha1:d8f98e16bb554b48a837750a9ea2b1d04b7a9361 + pristine_git_object: 770acdd15f786872b5a57c859d9200e3968efefc docs/Models/Components/SeatStatus.md: id: caa21adea810 last_write_checksum: sha1:0b4aecbc5e236c813e262b0fd3e5746b09ef9a9e @@ -2824,10 +3008,26 @@ trackedFiles: id: e56e39e582fe last_write_checksum: sha1:e4000b5518fb5d13b6d5a1663f35d262a270f748 pristine_git_object: eaf8f91cbc240b4646d41b16b99c8eb2674c190d + docs/Models/Components/SeatUtilizationRate.md: + id: 759c895bfbc8 + last_write_checksum: sha1:207e56235e850d58afd5c380f221ba032d82c13b + pristine_git_object: 61108d5d293471f9a835bbb41e8361a366b98dbf + docs/Models/Components/SeatsClaimed.md: + id: aa14d2d4abf9 + last_write_checksum: sha1:77291b5ae23f6aef9b17a5ffad23aa8179318fc8 + pristine_git_object: 85ffa25d1b708aebbdc6e605b4be062bb87c27b9 docs/Models/Components/SeatsList.md: id: a9bb80a59065 last_write_checksum: sha1:c5da6c2a91bbaeacefac6af8645fea73ad6bbdb9 pristine_git_object: 21ee0648f235f68660d2b30025bffa15e4a92e77 + docs/Models/Components/SeatsPending.md: + id: 768d4471b5cf + last_write_checksum: sha1:9eb16c763e0f127ded3ee01338f6de2537974d5f + pristine_git_object: 544c59d4bb77215746f524ba5c10124a1005466a + docs/Models/Components/SeatsTotal.md: + id: 7110e2776dd3 + last_write_checksum: sha1:edbc01cf06edb17273729cf6b5bbe6d0a45a3b2c + pristine_git_object: 0b1937c10ed44fb33802961b44ae4e628f6c3b5e docs/Models/Components/Security.md: id: 7bcd54fda13a last_write_checksum: sha1:8ed6146b4875d6fd167605b8fafcc5e384d52378 @@ -2842,8 +3042,8 @@ trackedFiles: pristine_git_object: 919d41479a696713c3920cb8fccd42b82c251972 docs/Models/Components/Subscription.md: id: d7cb80666bd2 - last_write_checksum: sha1:1ffadb3bc1f34a78ab1690828a6f739665223a19 - pristine_git_object: 48ebbfeed5fc5c3beccaab2959baf3c7024c8717 + last_write_checksum: sha1:4f343cfe6ce12a39898db62c6566f615728b92cc + pristine_git_object: 38287980488b2fa4614268e1c8628c3cfc6107c8 docs/Models/Components/SubscriptionBillingPeriodUpdatedEvent.md: id: d8670f735374 last_write_checksum: sha1:54bc0a263866dd0c7a0fb87138dda80931b5221d @@ -2886,8 +3086,8 @@ trackedFiles: pristine_git_object: bdeccbbc6d63ed4d79f79e1ec1bcd304526d5db8 docs/Models/Components/SubscriptionCustomer.md: id: 6ef5108b6780 - last_write_checksum: sha1:abd530c6fabe87a13d095134f16b139361a01c7a - pristine_git_object: 3bb37afb3246fe8b76b17ebf079e7244d5de7956 + last_write_checksum: sha1:e84121e487211c691180bb94f5f27ad6a8429ef0 + pristine_git_object: 7257be8707341c696a19741495cdc802ec8e22b7 docs/Models/Components/SubscriptionCycledEvent.md: id: b7c9c53dd6ee last_write_checksum: sha1:9b23f240cc07b1b028d8497effe5493a51bcac7c @@ -2904,10 +3104,30 @@ trackedFiles: id: 0e5d158a2290 last_write_checksum: sha1:a14ff6ae3ec7ce7882403d5498103a42ab554fb4 pristine_git_object: 308912887a01e89d34adba590fa588bbc1505344 + docs/Models/Components/SubscriptionPastDueEvent.md: + id: c7d5b5797b84 + last_write_checksum: sha1:680a5f21e7a7cae66b5bfdda75bf5f22ec8830d1 + pristine_git_object: 3cf876e4a9ba1a9c0dbd30459b93ab77fcdda0e7 + docs/Models/Components/SubscriptionPastDueMetadata.md: + id: e680515cfd6c + last_write_checksum: sha1:1269bb208b422f981ede2c8323c43c85e451042e + pristine_git_object: bc14728bf2768e653b13f5b5d8e8a8eea45dbc1d + docs/Models/Components/SubscriptionPause.md: + id: 8e46702acf67 + last_write_checksum: sha1:da125a23b56d5b2eb306ab30761edf7b502225a7 + pristine_git_object: 08af40667565baea7b337eacb7d7fb1c934e79ae + docs/Models/Components/SubscriptionPausedEvent.md: + id: c23c82f3e6fe + last_write_checksum: sha1:514a165c21e1445084ac07ce8aee34e1ea673dc7 + pristine_git_object: 6d287697557e567e1f2adc815c5250e2da6f3321 + docs/Models/Components/SubscriptionPausedMetadata.md: + id: 68b12dee1811 + last_write_checksum: sha1:2ca5f1b1652368a14720bf0d1784e935848378e6 + pristine_git_object: 62d4061c482ba11c7b7ba1f33bafbb67a3d0fe0f docs/Models/Components/SubscriptionPrices.md: id: 0cac478b5053 - last_write_checksum: sha1:852feab7cf694761c42263c2a904cb522d873eef - pristine_git_object: 6be4dabfe775bcea3613d2b9826385b8f4d5f661 + last_write_checksum: sha1:90d94433eb3660c9ac382e91aefd4285e68b1d8f + pristine_git_object: 161db292c287b0f1b7a41a780d02996d88a6dbc7 docs/Models/Components/SubscriptionProductUpdatedEvent.md: id: 6e5e3a74250a last_write_checksum: sha1:58b7fcc77708f4116eaa15b70f45e26425951291 @@ -2918,12 +3138,28 @@ trackedFiles: pristine_git_object: b14026ca492ddc27f31a3bba12f4cd1652c7dd1e docs/Models/Components/SubscriptionProrationBehavior.md: id: b1f2de707e4a - last_write_checksum: sha1:3060018c752f081298c9fa665a44cf1253e75c4e - pristine_git_object: 4b028b372d0d91710921bbd0bfac15314b04f0dd - docs/Models/Components/SubscriptionRecurringInterval.md: - id: 8ac9f7458f60 - last_write_checksum: sha1:379990c6e61f0ec000379dbb17e966c7c2615148 - pristine_git_object: d3a58a119ea7936ece5cb5ef89c517d1bfca4bc1 + last_write_checksum: sha1:2e8ee680807cf75be5b3d3723988172e5a7d659c + pristine_git_object: e58aee326d93d36bbba2af6908b55d89a7a54157 + docs/Models/Components/SubscriptionReactivatedEvent.md: + id: ac651a3a20c9 + last_write_checksum: sha1:559a9d147c6fa4ce895e0404bbea36144b644e28 + pristine_git_object: 927e7f1297b71ede2a9328f90baac8014280f1d7 + docs/Models/Components/SubscriptionReactivatedMetadata.md: + id: e01044568448 + last_write_checksum: sha1:f27dd5d7941ae898d2957649e2c607f963226c7c + pristine_git_object: dec9dcf657da44dda85f712c390018683e54fec0 + docs/Models/Components/SubscriptionResume.md: + id: ee62e7331ea6 + last_write_checksum: sha1:64982e7668ebe642c4d5ee8661333e5ed265f7c8 + pristine_git_object: 11781aa6a45025310bb178264d5a03be0fa82d1d + docs/Models/Components/SubscriptionResumedEvent.md: + id: fa175e1855cc + last_write_checksum: sha1:359ae0368fd4a4d581cc1973b25434e7f4855e44 + pristine_git_object: 978af9af9460505b9f5fad30303100435beb8ddb + docs/Models/Components/SubscriptionResumedMetadata.md: + id: d9415bb4ae4b + last_write_checksum: sha1:3c5eaaaa99423e76a53371d7accb29848d26ac05 + pristine_git_object: 23a9ea2f52ae334092edbcc128dbdb9580b97b05 docs/Models/Components/SubscriptionRevoke.md: id: 897ae3896003 last_write_checksum: sha1:13e32d41c73e884e1905bd7cff368c7c0133506d @@ -2950,8 +3186,8 @@ trackedFiles: pristine_git_object: b385735fcb4f9ba03bc194085eb48208a54e4b46 docs/Models/Components/SubscriptionStatus.md: id: f12eadda41f2 - last_write_checksum: sha1:782cd1f4573cecd4aa9a3efd18010cf215066496 - pristine_git_object: 545db47cf4ea88e65ca408dea36194dc694dfca4 + last_write_checksum: sha1:5819903e264d2c375a3f60514437bb8974d141d2 + pristine_git_object: 257158f6a4aa48869dc060e8af8e338642a39bc6 docs/Models/Components/SubscriptionUncanceledEvent.md: id: 8370ca873d9f last_write_checksum: sha1:60e11b0d2f7c1f3bd30ad6c2a233706c224bb07a @@ -2962,76 +3198,72 @@ trackedFiles: pristine_git_object: 52f6066423ec9def00eb9ef25363c0343d9c9016 docs/Models/Components/SubscriptionUpdate.md: id: 0a74ce98fa61 - last_write_checksum: sha1:92a5d64a31d3b70086d69ff5b31db96e42b2bc08 - pristine_git_object: 01951d7baf2d35c5b5e995068e4f867f99364533 + last_write_checksum: sha1:4cacaea9f71e2f090b6050b9012802666fd7d395 + pristine_git_object: d4ec8b475f4021c5fb03c79ed81908ef4bf53027 + docs/Models/Components/SubscriptionUpdateBase.md: + id: 4a82eea4ea45 + last_write_checksum: sha1:8989286ab09df45857465d4f4385c747eb4f913d + pristine_git_object: 4ccfdc6925edc6153dd35741a9b5655ecdab4aa9 docs/Models/Components/SubscriptionUpdateBillingPeriod.md: id: 69f4a6ad75ca - last_write_checksum: sha1:5bac773652172934dac11b798a31b426bb8f971a - pristine_git_object: 3bc92c9b55883f6110017af35eddae06c7876a29 - docs/Models/Components/SubscriptionUpdateDiscount.md: - id: 2fe680fa4fd0 - last_write_checksum: sha1:38c2a9cc602fcf37ca1a66e95b6410576a332af1 - pristine_git_object: 5742c40917ffefd8fa071bd78da120416be950a7 - docs/Models/Components/SubscriptionUpdateProduct.md: - id: 310091ffcbd0 - last_write_checksum: sha1:9cc9372d19c2f7a4316d41a57d4ec5307d4b3191 - pristine_git_object: 2d80c714a0981486c258a4be28fe308a0f4cb208 + last_write_checksum: sha1:99a6904ee8729e8f0ead6eaed5b728e7a89925d3 + pristine_git_object: e5e5cbf14ed7b451f4a7f45d2b93903b4313f775 + docs/Models/Components/SubscriptionUpdateClear.md: + id: c492662be7ee + last_write_checksum: sha1:2605fd99916a2c19cbd515a78aab4a1a283a4515 + pristine_git_object: 460bc8e344d40f1e2555fb0982fb8dd41b61d55c + docs/Models/Components/SubscriptionUpdateClearedEvent.md: + id: 4a5d16e8aafe + last_write_checksum: sha1:5e2f25fc9013461f68b6177464add920a609f9ad + pristine_git_object: 43ca38eca19dbad3f24669d0ee7293943dc57702 + docs/Models/Components/SubscriptionUpdateClearedMetadata.md: + id: b6501498bb6c + last_write_checksum: sha1:d6aa1d824f733727eefe1225664ef495f4bafc50 + pristine_git_object: 8a1463b131b9e0217c24338efed139d236801aee docs/Models/Components/SubscriptionUpdateSeats.md: id: ca8f82381e20 last_write_checksum: sha1:b010b970586a83d31fea74685a6ea120854f0d9e pristine_git_object: d3a785565df6434e99e8708d3f30e664dd30162e - docs/Models/Components/SubscriptionUpdateTrial.md: - id: e5ae6d1ce28d - last_write_checksum: sha1:3ebd122f0e2aa2fce297b9203582e7bc68e076dc - pristine_git_object: 8eb3eab2b739cd2fbc761484b6fa06726f2615d9 - docs/Models/Components/SubscriptionUpdatedBillingPeriodMetadata.md: - id: bd4d28dbfe26 - last_write_checksum: sha1:360385f28e5f0fc41eaf9f7940a439ca37b52a2c - pristine_git_object: ff53ba9b08cab12d5d22c1fb19366f641a588566 - docs/Models/Components/SubscriptionUpdatedDiscountMetadata.md: - id: d268f144ecb0 - last_write_checksum: sha1:3c0ac47e617c7d72e2910f7b254604dbc676186f - pristine_git_object: 957e29e4cd91fb3c46419e22ea511516e8f582f1 docs/Models/Components/SubscriptionUpdatedEvent.md: id: 718baabfe1eb - last_write_checksum: sha1:41a23142d65ce30ff7677f9e9f3131bf87be25e4 - pristine_git_object: e688651a55dc6945883416838c1eab71348f0094 - docs/Models/Components/SubscriptionUpdatedEventMetadata.md: - id: 0e53cf117d90 - last_write_checksum: sha1:b6a3dd46d05b2256e6215be73be41fe1235a9175 - pristine_git_object: 698a8265e322115ce4d56459be6fa783eefe2c23 - docs/Models/Components/SubscriptionUpdatedProductMetadata.md: - id: 2fa7a36e9f0d - last_write_checksum: sha1:943efebfeb7abc951f97d4254326b7515e78fca8 - pristine_git_object: be85979d8c9fa06edf6a304a75cf5c840847ed4d - docs/Models/Components/SubscriptionUpdatedSeatsMetadata.md: - id: 23684e42a30c - last_write_checksum: sha1:307cc5d611a05b73b7260dbee209a5f34da0a130 - pristine_git_object: 64726a2065532d3843c66a3797624d18d459c1cb - docs/Models/Components/SubscriptionUpdatedTrialMetadata.md: - id: 84740e896e18 - last_write_checksum: sha1:31c3f721e3c6b59eaad1295a559e40980a389e88 - pristine_git_object: e9d62aa6815446a54e46ba37fc8428e77e0812cb + last_write_checksum: sha1:656f991c710dd0c8c23747051df3865dd86335e4 + pristine_git_object: cd0f1594f4788d84b72b51bbae2e0f472d3ecea1 + docs/Models/Components/SubscriptionUpdatedMetadata.md: + id: 65526cbf3173 + last_write_checksum: sha1:56501f2501352d5922a04d9027ee09527c7fa3e4 + pristine_git_object: c87a8308e4919acab84a9b4dc34ffa7146860a32 docs/Models/Components/SucceededCheckouts.md: id: 713b3a1d9441 last_write_checksum: sha1:770c5a9aadf76343e838bcac33bf7f91dab75372 pristine_git_object: 2aa3e547bc35ca941a70167e7162f36a7fb4b492 + docs/Models/Components/SupportCaseAttachmentFileCreate.md: + id: e90d3f7621a7 + last_write_checksum: sha1:23bf910de0aa6db473e369c172342fcffe582902 + pristine_git_object: db0d4ee6e0a10e60ddce2fabffc3b4f638bbdff7 + docs/Models/Components/SupportCaseAttachmentFileRead.md: + id: 25a3fc3dc060 + last_write_checksum: sha1:05839e9d0116f3818f9b1896cea811a1ff1c6d6f + pristine_git_object: af22e4c4b57f86d3045dc3da25799ebd0ebfac63 docs/Models/Components/SwitchingFrom.md: id: 655eef2064b5 last_write_checksum: sha1:985fe64412a1ccdca6f935f0f758b0f194332e1b pristine_git_object: ff6cc3bf7494da6b51ed2edd8859a216f27c58ee docs/Models/Components/SystemEvent.md: id: f16f277be5e5 - last_write_checksum: sha1:946c225f58af899a25b534d33831d6df5625a25d - pristine_git_object: 7bc5cd72f492630dffc30c81219c17a6f2f301eb + last_write_checksum: sha1:f5dfb71e14b830e43ca22e5c83751f52f8a0511e + pristine_git_object: 0558d4add0539add9b45f0074aa2528cfd2f59c0 + docs/Models/Components/TaxBehavior.md: + id: 469101c9ee6e + last_write_checksum: sha1:e0cbadb2beb72a709a39d88742427d4ca1bd73cf + pristine_git_object: 973b5ad91e7aa8111f7dece2094b21e41b403143 docs/Models/Components/TaxBehaviorOption.md: id: 7ccfd80462aa last_write_checksum: sha1:a85b6fe35191eebc2e5f2b37edb63bb3ae89a92f pristine_git_object: 36d806221426bd3d6ab5fd9d0db3a1a532858a1f docs/Models/Components/TaxIDFormat.md: id: f12caaa28527 - last_write_checksum: sha1:197d8f962440bdd0be06327c8557d55b543a7a5c - pristine_git_object: ef8251019760371146d92a91f41717895f0822b4 + last_write_checksum: sha1:1204a442a0179d7ba9585b009f5dea3eff0a3706 + pristine_git_object: 03454095bb17b7b6da02270a4401cd0799c72120 docs/Models/Components/TaxId.md: id: 6886173dbe90 last_write_checksum: sha1:cc90e12f2a70e9925d8edd0ff833f390b5ed2dba @@ -3060,14 +3292,22 @@ trackedFiles: id: 04844f4dae8a last_write_checksum: sha1:cecf069c0546d498d3fd7067fad05a0f6930847b pristine_git_object: e537035d56d1b85ef49ca8906c5a38d2dca02c33 + docs/Models/Components/TrialCommittedMonthlyRecurringRevenue.md: + id: 84733e9ffc49 + last_write_checksum: sha1:8a8c1f39b8e33fcc74ca1e19a573498ce4b7ad60 + pristine_git_object: 8986e62f13f0c16bc6d5d59441958d00e2cecebf docs/Models/Components/TrialInterval.md: id: 365bb4a7724f last_write_checksum: sha1:edecd37e00d5a01b41a3e403ce961c35e457a68f pristine_git_object: 67f0d8df52da67e4c3b8ccd16303e438192f7f81 + docs/Models/Components/TrialMonthlyRecurringRevenue.md: + id: 4caba28d5364 + last_write_checksum: sha1:93cdd6f410cab111de616c309f31cabd8175f8f0 + pristine_git_object: 1f040cde9cfff4501dbaa2e661a97b6a7280026e docs/Models/Components/Two.md: id: 24784dbdaa65 - last_write_checksum: sha1:ae900e6cc0beac518592602cefd33bd943b26726 - pristine_git_object: ad628b5e90dfec4ad68c38ccc7d555027ece07ea + last_write_checksum: sha1:175fe9e25352f6ec9aa4b3c1306f2821b02b736e + pristine_git_object: 8fc48227729f15a1459fdba877a40e236b51c324 docs/Models/Components/UniqueAggregation.md: id: 335d8942cb2d last_write_checksum: sha1:8b695c3ced7e9974893daa0b6e5c8a58ffef98cf @@ -3110,28 +3350,28 @@ trackedFiles: pristine_git_object: 2e0b8e50a2642fa0929ef5ccc6cff7c4d73cf7e5 docs/Models/Components/WebhookBenefitCreatedPayload.md: id: d0e447347d53 - last_write_checksum: sha1:ded702f2252f56fd631c71f5f4abc85109fdafc7 - pristine_git_object: 5c1427f9ef30a270a89393072280bc494790e3ff + last_write_checksum: sha1:d99b47c129e4c0a0130ec3e28be44d8220f25225 + pristine_git_object: d802c309ae3bd2c5f1e9c1f895096616cee0adcc docs/Models/Components/WebhookBenefitGrantCreatedPayload.md: id: 00e1bdd67f7f - last_write_checksum: sha1:11a077f3be6f744bb3ae298aab556b867d96824b - pristine_git_object: 63e9bc9c38e3f5821c130aa6c347dab427eea4a9 + last_write_checksum: sha1:6d3b5f8dde8849adde302498cca03871303d3347 + pristine_git_object: 30cb6435829c67e5aaaeea6eadcc027d4a2f0d7d docs/Models/Components/WebhookBenefitGrantCycledPayload.md: id: b7817175f4d5 - last_write_checksum: sha1:a0cede3f6b151e3fe3e43b4448dea740f8e6ce3a - pristine_git_object: 69cda82434b885aafec74e7d245eb8c4c90241db + last_write_checksum: sha1:49a38f46aa7eb80a083a796ba88e9dbdff776599 + pristine_git_object: 34b2e42bd85b2307854f6f168706c96eebda5f31 docs/Models/Components/WebhookBenefitGrantRevokedPayload.md: id: 70780b847263 - last_write_checksum: sha1:0b7af1c61bef8f320fb9393abd4180c6701478ed - pristine_git_object: d802097c0a280693605b571a9e15b7fd7f042793 + last_write_checksum: sha1:be3b823037aa9549835fca9f78d9c167d32080a3 + pristine_git_object: 549b362f9b2308840c375969f23c707ed390ad17 docs/Models/Components/WebhookBenefitGrantUpdatedPayload.md: id: fc44852cf5b1 - last_write_checksum: sha1:20be41114c640311bdb6306507f7fe97ec4547bb - pristine_git_object: c58d4d5080b65572755eb4113a037108ba7a29c0 + last_write_checksum: sha1:054a93fa41331bb2e0cd5e31f8ecd1f7813a0083 + pristine_git_object: ab9ce2099abe12907a501a7c47b3810ede7be684 docs/Models/Components/WebhookBenefitUpdatedPayload.md: id: b58fc7858d25 - last_write_checksum: sha1:d775a7bb593c8ce796e81fc7e13b37bf576ad7f5 - pristine_git_object: 0c43cfb494797e4d4d062d490fc9d8349d762c1d + last_write_checksum: sha1:8f823d2d71ce27de22cbddb23390ce33cc47bfc4 + pristine_git_object: 0634d4ec1abcf1688e7c18e5ff6598056b0dc919 docs/Models/Components/WebhookCheckoutCreatedPayload.md: id: eec154f2b6ee last_write_checksum: sha1:a9b83e647302fcc8f7efae75113c5041b5050150 @@ -3178,8 +3418,8 @@ trackedFiles: pristine_git_object: abb69276d73e0a9884b839a36168ddc5b5766f29 docs/Models/Components/WebhookEndpoint.md: id: 979b44d75f23 - last_write_checksum: sha1:f2d2872719918fbba74e59db00736d07f5c927f6 - pristine_git_object: a0ffc5fd2ebc9990f0bc283e85e9e71d4b28effd + last_write_checksum: sha1:a6ad4936c33d66bd5b9556aa37dc13dc84e5975a + pristine_git_object: 286dc22a83541fae83b521690818281fe4bb58e6 docs/Models/Components/WebhookEndpointCreate.md: id: af56befab877 last_write_checksum: sha1:64a3735e1b253cb92291956947f697cddb8e668b @@ -3194,8 +3434,8 @@ trackedFiles: pristine_git_object: eb3f61fbd3dce2696a53bfd0c159b6edb511ced7 docs/Models/Components/WebhookEventType.md: id: 234a36136da0 - last_write_checksum: sha1:6fe8816996ce6446bba9d6bd5467e2d987f206da - pristine_git_object: 84ec779a89ff3fe2cc6020594ad4ef0f7f8bfbcf + last_write_checksum: sha1:11948191685a437fcf07f3dfbefed79d04b62e53 + pristine_git_object: 7722a4d6729fbeb9cf863a48b9682e80645a46f5 docs/Models/Components/WebhookFormat.md: id: 01a51ec8fd1f last_write_checksum: sha1:7d2e9cb2819939101df094c014f989715b3c11e7 @@ -3264,6 +3504,14 @@ trackedFiles: id: a85260257d64 last_write_checksum: sha1:348c52ba1f84bba6c7ef3a50618a113f321b0708 pristine_git_object: 203aedb8fc7955126be62764f4edb237b77d8678 + docs/Models/Components/WebhookSubscriptionPausedPayload.md: + id: d4a2640c189d + last_write_checksum: sha1:d9ce92366b473a469b5272dbe7518e410d4f76bc + pristine_git_object: 3bbf601220e641535889c59a6d432d2e2395e378 + docs/Models/Components/WebhookSubscriptionResumedPayload.md: + id: aebd371426d2 + last_write_checksum: sha1:56f17f5d006b19b58db960abdc6a935f930496fb + pristine_git_object: e85f95b73d35cf28cb39497798c9d6aecc309c5f docs/Models/Components/WebhookSubscriptionRevokedPayload.md: id: 80e18b99f257 last_write_checksum: sha1:3acc0d864f3e4afd4774d5721753c54948437382 @@ -3284,6 +3532,18 @@ trackedFiles: id: 98d41d0e0031 last_write_checksum: sha1:ab17fecc1ae6bac9745d55e9d942e2f771b621f8 pristine_git_object: 1bfbb7087c59559ee75c84917fbef7e568edd929 + docs/Models/Errors/AlreadyCanceledSubscription1.md: + id: c6bffabfaf73 + last_write_checksum: sha1:f56cf489f1151bd62f5ebad5ab9b25bfe5a80aa7 + pristine_git_object: 1d36b5755a824b844fc7b241570872eb5237bcc7 + docs/Models/Errors/AmbiguousExternalCustomerID.md: + id: ac484364f73a + last_write_checksum: sha1:07e250de8926e8ca9845f5a07db16aa87e849c23 + pristine_git_object: cf016dc3de00236022d786ca4557079616593ad8 + docs/Models/Errors/CannotCreateOrganizationError.md: + id: dccdca302ac3 + last_write_checksum: sha1:b1e2a7eb4e67f6ae2d70741a89049c1c12a22ecf + pristine_git_object: 886daadf309e0273e7876d6ba8ba29be2110a0c2 docs/Models/Errors/CheckoutForbiddenError.md: id: aae8985b02d8 last_write_checksum: sha1:4fdf1c3cf424d6e1a1baf549d55f609a094a790d @@ -3292,10 +3552,14 @@ trackedFiles: id: 10dde4657ba3 last_write_checksum: sha1:f82fb84cf405ffd7a5b9c19186a4ab8e70b903d0 pristine_git_object: 8c64ff5273a22e2e3eeac33a466948f5c30ff99b - docs/Models/Errors/CustomerPortalOrdersGenerateInvoiceResponse422CustomerPortalOrdersGenerateInvoice.md: - id: ea3ed146ed9a - last_write_checksum: sha1:f64a78e31dbb803f6ddb93bfa1dd8b351b59fff9 - pristine_git_object: 9ff0383ae3609fb6b5bffc5dc3ef1de0b32353a1 + docs/Models/Errors/CustomerPortalSubscriptionsUpdateResponse403CustomerPortalSubscriptionsUpdate.md: + id: b43ac3f44ba1 + last_write_checksum: sha1:b8412997e81f632d2800ff0097e743e6010fed1a + pristine_git_object: 967c85490881e0985ab6065f31c27a03afd49e87 + docs/Models/Errors/DisputeNotOpenError.md: + id: fd42840042a6 + last_write_checksum: sha1:4f1750e8262ff0f3c88873a7af979c1a06392a93 + pristine_git_object: 269eb88805c44791bbfe7d65821cd82feca62307 docs/Models/Errors/ExpiredCheckoutError.md: id: bf389e895190 last_write_checksum: sha1:a8762755d3a08d30d1cbbc9a98f2c52bc03d4efb @@ -3304,30 +3568,58 @@ trackedFiles: id: 72e6a49fa263 last_write_checksum: sha1:f5890d819bdb6e77b77b119abdfb440477bbcd17 pristine_git_object: 0823e63d71910708c81576a27dc084d209edcb47 + docs/Models/Errors/ManualRetryLimitExceeded.md: + id: 71d41b97945f + last_write_checksum: sha1:7e58d44d2f30aaac798d1fb07c86863967e6c79b + pristine_git_object: da9fba43bc6d9dd470e2fe91f49f75a9c80ae803 docs/Models/Errors/MissingInvoiceBillingDetails.md: id: 7bcef02540e0 - last_write_checksum: sha1:94627345cea9c1d416d8e4ca22dc2f84dbc287d7 - pristine_git_object: 788d5161b65cc9f1b03045f2cccc59ef8fba3b3e + last_write_checksum: sha1:e51773be84037c5700698704511f4d66ac1920e1 + pristine_git_object: acb2d7345672f6536f2b2a3d034d8467fe5239f0 docs/Models/Errors/NotOpenCheckout.md: id: c35c1f1bb29e last_write_checksum: sha1:a164b0a0fb6be6ff06f1c396b9b2c61ecb21f7cf pristine_git_object: ff8d34ef33fcc063521bb35704d7ef0489c6c58a - docs/Models/Errors/NotPaidOrder.md: - id: a2f1b4799c84 - last_write_checksum: sha1:e1682e2789fff3905acaf1e808493be513bf1bbf - pristine_git_object: 40e526d704989c5cd096b7d883874f444de28f76 docs/Models/Errors/NotPermitted.md: id: 4a01bc29d5da last_write_checksum: sha1:8803bed3d9cacbc51121a05e59dae2a8b25b4add pristine_git_object: 5c432d689b57a04b40693792cf59f9837aa63e81 + docs/Models/Errors/OffSessionChargesNotEnabled.md: + id: cfe9c4b68738 + last_write_checksum: sha1:a7047290489a57c0f5c6dc5e5b903a117ad0c409 + pristine_git_object: a5ef92269e578d19d46f9a4120deadc6af85d406 + docs/Models/Errors/OrderNotDraft.md: + id: 2b52a9852c13 + last_write_checksum: sha1:4e046fa3785b7d15bcf95bbfab6e75cf914d6871 + pristine_git_object: ed70c62b506642abd6f240f71cf122adb3a72ebb + docs/Models/Errors/OrderNotEligibleForInvoice.md: + id: bb0ef2dcc5f9 + last_write_checksum: sha1:01aed199739207d8cd49b959d7c29815d5b6914b + pristine_git_object: 80b182405726d93b93f20d9157fca102f43146c7 docs/Models/Errors/OrderNotEligibleForRetry.md: id: b3f2d4425a5a last_write_checksum: sha1:36d2c4a749962eda63663000abc8c7a80a649e39 pristine_git_object: 18d2333b7f42a5305a710583f8e4ec1a2fe2f7ec - docs/Models/Errors/OrdersGenerateInvoiceResponse422OrdersGenerateInvoice.md: - id: c63593787615 - last_write_checksum: sha1:5b9aa2831b6825bef4b702f5427b77b7d90419ba - pristine_git_object: ea3ce541364e88a238ff4115398fdf56f97ae5ce + docs/Models/Errors/OrdersFinalizeResponse402OrdersFinalize.md: + id: 1feed14fa0f4 + last_write_checksum: sha1:f445bdfa7e215c13a2ead4378c6b94cc7a16f169 + pristine_git_object: 76388a08f438f854f5db18f2d975055f41d62976 + docs/Models/Errors/OrdersFinalizeResponse403OrdersFinalize.md: + id: 1bd109c6ff31 + last_write_checksum: sha1:e126f83eda3257faeeca73ba2be7fa857c005007 + pristine_git_object: 368200735508054760446d447c350bd6670f1149 + docs/Models/Errors/OrganizationNotReadyForPayments.md: + id: 90a2a98b9932 + last_write_checksum: sha1:558c8deace8558948cc8d5b9579723952c916479 + pristine_git_object: 62b00a7827e2a87be1dae8e7d7c5ef8352f05481 + docs/Models/Errors/PauseResumeNotAllowed.md: + id: 805ac1d32472 + last_write_checksum: sha1:a84821ab87bd01b65650460dcd4b8a96a01f42a7 + pristine_git_object: e61972145937253fde0e6c1c5015e3f9a83c77fe + docs/Models/Errors/PaymentActionRequired.md: + id: 88118a065479 + last_write_checksum: sha1:7cf89f456b500c821d46dcac538195a2d24ec11f + pristine_git_object: 3683e130f7949aa954c654ca4cbd35e4183131e5 docs/Models/Errors/PaymentAlreadyInProgress.md: id: eed663aa5d5e last_write_checksum: sha1:766aff2b20c8b3b54b6b35cce6cd429632d01240 @@ -3340,10 +3632,18 @@ trackedFiles: id: ce45ee90c6e2 last_write_checksum: sha1:7bdc8a302a2f55a31da801bd5ac195578d0f7919 pristine_git_object: a344c030833cfb41dcc42a8daa64017109eafaef + docs/Models/Errors/PaymentFailed1.md: + id: e34ee032c57f + last_write_checksum: sha1:756266c245ecae32019cee236b3cb5e693ed349c + pristine_git_object: 67d803263a2b9114303460bfa89111d32dc924ea docs/Models/Errors/PaymentMethodInUseByActiveSubscription.md: id: bed17af472ee last_write_checksum: sha1:816257d15f142dad2cc7febb4fe662a034e98cf1 pristine_git_object: c56afbb74cdf0f8dc31be49c45f613f9871c7244 + docs/Models/Errors/PaymentMethodSetupFailed.md: + id: 3c4d6fbe41bb + last_write_checksum: sha1:fee80ee153d781119f1c06b903fc7c413612116a + pristine_git_object: d1ad042c3b029c90099335c6e727fe8406736fce docs/Models/Errors/PaymentNotReady.md: id: e92e1210f792 last_write_checksum: sha1:eebd46b7f614622bd1172b2398a540c52221becc @@ -3356,6 +3656,10 @@ trackedFiles: id: 9446add492d0 last_write_checksum: sha1:0976e49819f1019010fa004e97c5ec89ac67bf50 pristine_git_object: d679c895031b73732804d3cb6388c6ece24df198 + docs/Models/Errors/SSOEnforcementRequiresConnection.md: + id: 4ffdb97a7fbe + last_write_checksum: sha1:9fc2521a8c82567a9a4f2b45d3a691aac1b93477 + pristine_git_object: f968b0aba0fb364bf819c3cd99c65e7096e4de77 docs/Models/Errors/SubscriptionLocked.md: id: d1d0289b8edd last_write_checksum: sha1:b1d0d54971c80d4ffd6a9e52da86a7c128c5435f @@ -3394,8 +3698,8 @@ trackedFiles: pristine_git_object: 47d423bcfa4254e10bc9ff64bd941ed56bb5bd2f docs/Models/Operations/BenefitsCreateResponse.md: id: 61ad995b6f90 - last_write_checksum: sha1:80c987bcd0d34b9461ee6014c6d38e7b6db471c3 - pristine_git_object: 141af41acfcad8f0f6dc045f4d8d4023f605b33e + last_write_checksum: sha1:9969c8172895c6f368695015e5e5eb50f4661d8c + pristine_git_object: 81212e7f2850259d63375078f8dcd9e4bd7ab965 docs/Models/Operations/BenefitsDeleteRequest.md: id: 309ba3fd3888 last_write_checksum: sha1:afb3bd98d8712a963eed2fb8cb1326975ff963d3 @@ -3410,8 +3714,8 @@ trackedFiles: pristine_git_object: ebc5aeacf0914854f1f673b84bd8bdc6355d5480 docs/Models/Operations/BenefitsGetResponse.md: id: 2d1c43b11491 - last_write_checksum: sha1:e0b9d1b1f2349c39d9adc0cae002178593c840b7 - pristine_git_object: d0e93c026d4d1066647bc2486c45aff24b232933 + last_write_checksum: sha1:23767d78f00205fb8cd0251672512a63e1549820 + pristine_git_object: e468b706dcb5f20a1daa1b82b1787156911311f3 docs/Models/Operations/BenefitsGrantsRequest.md: id: 2a77185b39ef last_write_checksum: sha1:08cd19dba9454bed79f229e3d64734e663ba0341 @@ -3430,16 +3734,16 @@ trackedFiles: pristine_git_object: c0ebeb090ae676776aa2a4b63cdabb2742f9b83c docs/Models/Operations/BenefitsUpdateBenefitUpdate.md: id: 9ad15fe5d81d - last_write_checksum: sha1:8794a66d5dfbf11e0af23d56758a77e378bc20d4 - pristine_git_object: 9de8777c0737241fc31448e85d14ab579b38c5f2 + last_write_checksum: sha1:e6b931d6417c2e83b7c0e14448e3555407be8ab7 + pristine_git_object: 1709df2eb1497511f34c8d1f458ae98bd6672e9a docs/Models/Operations/BenefitsUpdateRequest.md: id: 2b3658628b4e - last_write_checksum: sha1:2610ec5e6997221a73c6cb46cc352523210e8512 - pristine_git_object: 33619ce10bbcc307a9b43199ae2581dbbf25bdc6 + last_write_checksum: sha1:c30878f8205abd780019a0d3fef21f1460034f98 + pristine_git_object: c47e67e3fa611c399089e548ce5c66b5ad94c3f1 docs/Models/Operations/BenefitsUpdateResponse.md: id: "069088262675" - last_write_checksum: sha1:3c0d3332cfc1b59f7b849d609cdd85e9fef8d543 - pristine_git_object: d211f6f8c5a1e478e95c5f49ba2b24a1279614eb + last_write_checksum: sha1:2c4c7af547d15c361c668d00fc8a2b78a5933ba3 + pristine_git_object: b6390036760d5502714d148b2ec853511cba3509 docs/Models/Operations/CheckoutIDFilter.md: id: 7f47a80d4663 last_write_checksum: sha1:d779538889f3b9b08404c4a686ac85050d622506 @@ -3540,10 +3844,14 @@ trackedFiles: id: a0c95fd481b9 last_write_checksum: sha1:5bb8e5a19fe9f92dd363510a8818f162207f0bb2 pristine_git_object: 8150213af014b2b8e2f3bc62dde0751c3220cdcf + docs/Models/Operations/CheckoutsListQueryParamStatusFilter.md: + id: 0c7be3409352 + last_write_checksum: sha1:cfb04e67f3fea93c1b6eb5f8b35d21be0ddc38ef + pristine_git_object: 8e1ce5d2f87368fcf48edd406e5375bd7b6c828b docs/Models/Operations/CheckoutsListRequest.md: id: 754201abf4ed - last_write_checksum: sha1:a7b2c988d686631c121e50e26fa6dac979bafc17 - pristine_git_object: 998baaab320c574c9dd6940edbe570a2b8d0cbe7 + last_write_checksum: sha1:99499a55a0e7e5f353ae8e0e7b857ab5c2413c53 + pristine_git_object: 0b9c4288e71be7ee0d8246dc2c6e0450440863f7 docs/Models/Operations/CheckoutsListResponse.md: id: f40d3ecd46ca last_write_checksum: sha1:5e16efcde08e8195d1556b8885a514525edb501d @@ -3646,8 +3954,8 @@ trackedFiles: pristine_git_object: de89340da896869817e3e011f4b8acd4c89e7977 docs/Models/Operations/CustomerPortalBenefitGrantsGetResponse.md: id: 7da41981569c - last_write_checksum: sha1:c78c61442dd14e33c528fa0b1de78d1765aaa42a - pristine_git_object: 846e1d0563e7290d0298de9c4dffe9b74a82d752 + last_write_checksum: sha1:9d549075131713b633e2befde927c378171295c9 + pristine_git_object: d230d988254ff7b611141cc1a460ad34cdc1fad8 docs/Models/Operations/CustomerPortalBenefitGrantsGetSecurity.md: id: 06ae9d9fca90 last_write_checksum: sha1:800f20fa23c02d5bcf23b784008eeb99bda4b137 @@ -3660,10 +3968,14 @@ trackedFiles: id: f41ae84f27db last_write_checksum: sha1:f760fc287da07554dc3a9afe4d278e73245009ee pristine_git_object: d53f73e7893a3cfa391c8cdd48b27c81601e9135 + docs/Models/Operations/CustomerPortalBenefitGrantsListQueryParamSubscriptionIDFilter.md: + id: ac383efbf234 + last_write_checksum: sha1:e27e717a0ca4235375f3c0d125ed3d09e841d4aa + pristine_git_object: b63776540685c750f4b34453acc9e92c9dd81bf6 docs/Models/Operations/CustomerPortalBenefitGrantsListRequest.md: id: 91bb8fd75d66 - last_write_checksum: sha1:604e8a1727dce34a7a311880d9259482b4376381 - pristine_git_object: 9d10b50f8f3144b66f2a72d98640dd773a01c1f7 + last_write_checksum: sha1:2ab2b4875fffb1d98537702f2c07ac14e35302db + pristine_git_object: eb3ed8fff35aae819da790e113ecbc53985ea61e docs/Models/Operations/CustomerPortalBenefitGrantsListResponse.md: id: 82d1c0e48747 last_write_checksum: sha1:d39a459389765f1d6fd9c643a5f22e5526cfd4c5 @@ -3674,12 +3986,12 @@ trackedFiles: pristine_git_object: ead20bd136c473895df16eafd57269b5339fed81 docs/Models/Operations/CustomerPortalBenefitGrantsUpdateRequest.md: id: 72d64ef66717 - last_write_checksum: sha1:c8954e5e9766d3840b8ca47e97e865378a7a102f - pristine_git_object: 124e288110ded158669d6b0163c024c0aaae9437 + last_write_checksum: sha1:61f56f038c6e5e9ccec8e1d2a95b32f706c00067 + pristine_git_object: f01d54523b702e0a3f464b1ed2a10625a84cd2c4 docs/Models/Operations/CustomerPortalBenefitGrantsUpdateResponse.md: id: 97a5416dc134 - last_write_checksum: sha1:f35a7d19816eed003b812495ab14aac6eb050ac3 - pristine_git_object: e02aeeb280884ed905e68e31961176833fa76060 + last_write_checksum: sha1:14a7049dbf39517564ab7a5977a6affacd781a98 + pristine_git_object: e0549cf43975f6bfb9f61d306afa7203ddb3a786 docs/Models/Operations/CustomerPortalBenefitGrantsUpdateSecurity.md: id: 824dcce700b4 last_write_checksum: sha1:0d5804576c7bb572a7a24ff947e09dc35b7a8c96 @@ -3732,6 +4044,14 @@ trackedFiles: id: 7d0f4d8d91de last_write_checksum: sha1:b6199c3f9348ab48aef95e9bdfb2704566365c65 pristine_git_object: ca6afc655fed13205c2bb0733d145883b5aa79f7 + docs/Models/Operations/CustomerPortalCustomersCheckEmailUpdateRequest.md: + id: b43301b254cb + last_write_checksum: sha1:7bf17a9c587c2002b2ebb60d5607ab3ead515b45 + pristine_git_object: 65cd320018ffff73d195b6e5a412cb2f92157a58 + docs/Models/Operations/CustomerPortalCustomersCheckEmailUpdateResponse.md: + id: 077906eb122e + last_write_checksum: sha1:250ad6ef7821b3f22cf4ea3adc9304da25ec19e8 + pristine_git_object: c6d25e3977741cbc800da454055bf8545e05a0ad docs/Models/Operations/CustomerPortalCustomersConfirmPaymentMethodResponse.md: id: 9a1e8d2f1b28 last_write_checksum: sha1:992c295ab04a0d60df8baa0a9d1d542959e75ca8 @@ -3772,6 +4092,14 @@ trackedFiles: id: 002a932d80d7 last_write_checksum: sha1:1068f20feb86bcc505fddc9abb28050bfab32663 pristine_git_object: ef02a249fe7367d04272511c7b7e3efeb232c8f6 + docs/Models/Operations/CustomerPortalCustomersRequestEmailUpdateResponse.md: + id: ab11c431382e + last_write_checksum: sha1:dd081150d618fe6776472f186ad271d05b768604 + pristine_git_object: b9daead8ab52fe37e6f911214ffb1ffde8b6d9b6 + docs/Models/Operations/CustomerPortalCustomersRequestEmailUpdateSecurity.md: + id: 1027f7039ac4 + last_write_checksum: sha1:89cc0069778bb5bedd61b5c9f95020b7fc3493b9 + pristine_git_object: 59c356e015312847319cf2f7395d1ae99bbd297b docs/Models/Operations/CustomerPortalCustomersUpdateResponse.md: id: 24ba9c7f4de9 last_write_checksum: sha1:c4962a1c9985e585e7962500c9d2a46b0569935a @@ -3780,6 +4108,10 @@ trackedFiles: id: 91767aaba618 last_write_checksum: sha1:9e103634abceaf82bdea6f2384ea31760673d3be pristine_git_object: a86406e5bb14212891af2b68d31085a89406d3a7 + docs/Models/Operations/CustomerPortalCustomersVerifyEmailUpdateResponse.md: + id: 6edee5ae3fff + last_write_checksum: sha1:db55369b7145fef5736d2b2423fad707cbeb2c27 + pristine_git_object: fc229166b079596c563704138bb7e802669b834c docs/Models/Operations/CustomerPortalDownloadablesListQueryParamBenefitIDFilter.md: id: c0545cbc0eea last_write_checksum: sha1:869f8f6074a5e90cd976b2ef4d7e439dec3c2d08 @@ -3944,6 +4276,18 @@ trackedFiles: id: f6c84afdac96 last_write_checksum: sha1:42f1b3ea4bdebdd9dcec3f49d43531e063e654f3 pristine_git_object: 27bf7d99f957a4d49301a173027d4cabee7c7e18 + docs/Models/Operations/CustomerPortalOrdersReceiptRequest.md: + id: 57de2cb8abe2 + last_write_checksum: sha1:abc515023e1f0772d30595761113a3dbd86031db + pristine_git_object: ddd22970f26de605e485ea3f38fd6375284f163c + docs/Models/Operations/CustomerPortalOrdersReceiptResponse.md: + id: 39fed3e06cdb + last_write_checksum: sha1:9dca4814756ef4a2fa520a7ca13e42244caac3cf + pristine_git_object: a679c6cb09ef28f58aee0662509bb63bffbaaaea + docs/Models/Operations/CustomerPortalOrdersReceiptSecurity.md: + id: 07c3d278ce94 + last_write_checksum: sha1:aaa2be83d45cf89aa9b94f45c02195e8840d1f5a + pristine_git_object: 8c027ab8c5a693aff472ad0e82cb959f4190b85a docs/Models/Operations/CustomerPortalOrdersUpdateRequest.md: id: 62a994350313 last_write_checksum: sha1:55bdd4a9c1dc1616075547d21247a7426d42fc5c @@ -4062,8 +4406,8 @@ trackedFiles: pristine_git_object: 2f5cce3ec1fc993ae23ac528bec2d1ca9bf9f950 docs/Models/Operations/CustomerPortalSubscriptionsUpdateRequest.md: id: cca1f9f81ea9 - last_write_checksum: sha1:3270a605d88fe96bebfeb8353ec8f4f9067c6282 - pristine_git_object: 413be930809451dd312578b40d4ef6d0080e2cb9 + last_write_checksum: sha1:79d2b98a2c86063ededad6c16bb9790fd0df7b95 + pristine_git_object: ed5ac376d42db92eaaf4ac782a1295042edf323f docs/Models/Operations/CustomerPortalSubscriptionsUpdateResponse.md: id: 9c88ea37fc29 last_write_checksum: sha1:b7b8a75bb51cf5053306f50133da844a98293301 @@ -4174,8 +4518,8 @@ trackedFiles: pristine_git_object: 5b62ac18629ebc7f8342c86f38240b3786827dd4 docs/Models/Operations/CustomersExportResponse.md: id: a2ce2c4eb798 - last_write_checksum: sha1:1190212b233df5bb3f43c1811403a9c22a768ebc - pristine_git_object: 9360789974f456ff0a6f737132a159ba731251e8 + last_write_checksum: sha1:0b2a1aae73263d25809cd2768fd289d0dd403d6b + pristine_git_object: b501e428b49330b99569e8a08a541ff15c0cf1d0 docs/Models/Operations/CustomersGetExternalRequest.md: id: 4acbfe4a338f last_write_checksum: sha1:a513bccb8c8e1de21efe0d765ce83045c9feae21 @@ -4208,18 +4552,98 @@ trackedFiles: id: a70efc4bf3da last_write_checksum: sha1:b4d513bb10a7e87b9bb28d351ed95fb61a91af5e pristine_git_object: 4d7db7bfa860482991249b75f23148f868935f5b + docs/Models/Operations/CustomersListPaymentMethodsExternalRequest.md: + id: fba2fd9f2e2e + last_write_checksum: sha1:b8416f1c3ae85836452c8d4ef06275565cde343a + pristine_git_object: 6573a235b2f2d24e9cadb163d0d9bd87f9745ce9 + docs/Models/Operations/CustomersListPaymentMethodsExternalResponse.md: + id: e54ca9ae5781 + last_write_checksum: sha1:520bcece42b901a0a6ae9ed6cb18ec0753fa549a + pristine_git_object: d73e378941ef594a04db0910441d1f291dadc2b7 + docs/Models/Operations/CustomersListPaymentMethodsRequest.md: + id: e180991fd793 + last_write_checksum: sha1:72ae8cca25ed880ebbc4e58c6ce7a8621883a998 + pristine_git_object: 2b13bec6b7653ff64ac193b84eede2ef7e87d37f + docs/Models/Operations/CustomersListPaymentMethodsResponse.md: + id: 15087ccd3b01 + last_write_checksum: sha1:2c49861c76cb61846cdbdcdb157a5e049cebed00 + pristine_git_object: cae0ca8811923e3bdcf4014c44fbde4f0c25dcc1 docs/Models/Operations/CustomersListQueryParamOrganizationIDFilter.md: id: d22f4da101c9 last_write_checksum: sha1:8367b2f3264262454e93268766314821351c01bb pristine_git_object: 6902b586cabcbc408bba91242648196f6da4d044 docs/Models/Operations/CustomersListRequest.md: id: d877c33ff449 - last_write_checksum: sha1:04ec55f444b239b7fac9b32a63dfe9e60b7b7b42 - pristine_git_object: 767302fcdf45acdb9874966a2ce29a25d5fc54b5 + last_write_checksum: sha1:8072bdad78b95d1345c43634567234261e60c459 + pristine_git_object: e3ea996bff2785c32f61a2aa630b024cb3150e6a docs/Models/Operations/CustomersListResponse.md: id: a737c2f7a1d3 last_write_checksum: sha1:2549ab71ed34bd2c72a2da7173c6127c8c60e9e1 pristine_git_object: 6861c077c4ab1cbbfa61b85b34eb3343a202478f + docs/Models/Operations/CustomersMembersCreateExternalRequest.md: + id: 87a03a601e5f + last_write_checksum: sha1:d606d915f16cc00869dc63abffbf4a2b324724b2 + pristine_git_object: 417e0bb5a7ff2a17116df0415bffe43494f985b6 + docs/Models/Operations/CustomersMembersCreateExternalResponse.md: + id: 08239f04d7ac + last_write_checksum: sha1:b2f39c626819f894808bb74a58329fbaf1841f9b + pristine_git_object: 72835f4d45f0848693a6fb10bb106e8cc74707b5 + docs/Models/Operations/CustomersMembersCreateRequest.md: + id: d40cbf938e5e + last_write_checksum: sha1:252b7f0fa3d31b7645b3e53c72dcf911bc3bcd2e + pristine_git_object: 615cb4134e2e77e537a2bd965f49de2e2e148688 + docs/Models/Operations/CustomersMembersCreateResponse.md: + id: fd8b98aef9ed + last_write_checksum: sha1:84dfb46bcc8238affab5efdb5a416b9933b97602 + pristine_git_object: 4b93d771a853bebb0116d23f9be9297412abd43c + docs/Models/Operations/CustomersMembersDeleteExternalRequest.md: + id: 1b9b5fd4d7ab + last_write_checksum: sha1:d676db062b061823c442c1ff9b4decdc4ad8475c + pristine_git_object: 7b2ade39412082f65a65a6a3e6596229bec314b8 + docs/Models/Operations/CustomersMembersDeleteExternalResponse.md: + id: b200f8d727e8 + last_write_checksum: sha1:0d5baf16ccee6758c7edf169f2eab95eb76d0be2 + pristine_git_object: e16da6d56892f4ea831580de38afa29082ddd046 + docs/Models/Operations/CustomersMembersDeleteRequest.md: + id: 4a6a7362370a + last_write_checksum: sha1:b93120441c79ca541d56e74139ea5ebad1224568 + pristine_git_object: 19d72fed673d99ab3b60e2cf0bed5fb79178a5d2 + docs/Models/Operations/CustomersMembersDeleteResponse.md: + id: 4fd5227e772a + last_write_checksum: sha1:1f3ad6c54e84d7d67111acfac02817894909255f + pristine_git_object: 17fa49bec1f2690c0a9a0731819f40b062e93487 + docs/Models/Operations/CustomersMembersGetExternalRequest.md: + id: 23acc87d8864 + last_write_checksum: sha1:3348f04d2d2b15fbe082c8ffbb7236c1b4a36259 + pristine_git_object: 48833547ecc755d9b5d7f05508f2b4df2a959222 + docs/Models/Operations/CustomersMembersGetExternalResponse.md: + id: e880914c7353 + last_write_checksum: sha1:aa20d629155ab7702c3c61a438110317c68cc004 + pristine_git_object: d6e753d9b1d8d67193dce299daf8700422c8fbae + docs/Models/Operations/CustomersMembersGetRequest.md: + id: e20b4132d33f + last_write_checksum: sha1:d07bc825acd4bc03d8eeb2a5100252363fa667ae + pristine_git_object: b917ac464b0c2c20275bdb7e233d28dc4ffcceb0 + docs/Models/Operations/CustomersMembersGetResponse.md: + id: 4ae245432d97 + last_write_checksum: sha1:6a34bf75417926dcefa13ddb7589cc839462a97f + pristine_git_object: 2c549c623032ad2df5b9dfef47305d9fe639e84a + docs/Models/Operations/CustomersMembersUpdateExternalRequest.md: + id: ac80d3048754 + last_write_checksum: sha1:60a33dff8ffd65efe46ea7db727dcd0d36d4009a + pristine_git_object: e5d4c5785eb0fd251aa9326a3641953a017cd294 + docs/Models/Operations/CustomersMembersUpdateExternalResponse.md: + id: 7834aeaf3282 + last_write_checksum: sha1:3981107e1b49968411fd684c96163c0218e27c4f + pristine_git_object: d190ab8fa3a5fd004b261b788fa6c52b9cf4cb10 + docs/Models/Operations/CustomersMembersUpdateRequest.md: + id: 050045c4a366 + last_write_checksum: sha1:0d3d347b73b7d433315fbcb8b5fe971cb3ed6ed6 + pristine_git_object: daf32740c2524cb8e105f79feea73f7620267b39 + docs/Models/Operations/CustomersMembersUpdateResponse.md: + id: 54486a479cb4 + last_write_checksum: sha1:501c7c55a1d002397066ee51da25bdfc74e50280 + pristine_git_object: 302b14709a4e00fc01582202f5458ce1bfb93d09 docs/Models/Operations/CustomersUpdateExternalRequest.md: id: dd8cdd469bcc last_write_checksum: sha1:39ea68a72fc9b7cd575a8cbadabf35f0d0e873b6 @@ -4280,6 +4704,14 @@ trackedFiles: id: 98f8be31fc7a last_write_checksum: sha1:1a1662cd60420ecad1e9a3e972d7ad5087c9cccb pristine_git_object: 1d0bcb6033293384b7ecc65facd494a0ffa956d0 + docs/Models/Operations/DisputesAcceptRequest.md: + id: 06c8c08512ab + last_write_checksum: sha1:e8a7ab54a9b63570992ebbb8935ba909279b20a5 + pristine_git_object: a75f78b0318e142e86e9f975513844cb76a26515 + docs/Models/Operations/DisputesAcceptResponse.md: + id: fd5264f05094 + last_write_checksum: sha1:9291977ff48025ecc46ac7e4c22004e8d7e2bdbf + pristine_git_object: 0281c147d377759ce47b0ec4d00d03f23b838210 docs/Models/Operations/DisputesGetRequest.md: id: 51dc1f948d39 last_write_checksum: sha1:76d62ce10b400c7f3050ae90a537dcf67764038f @@ -4294,8 +4726,8 @@ trackedFiles: pristine_git_object: 23f062cd580e41ac22533d14f0b6739992640ff7 docs/Models/Operations/DisputesListRequest.md: id: 7f3c2cb065a4 - last_write_checksum: sha1:53b1131984ec00f39f3c6f618b874128726428df - pristine_git_object: b7199c098eeea8194586467e19e82228b778664e + last_write_checksum: sha1:4d5d38f00896a8e7e24f0e894c6b71d60340d856 + pristine_git_object: 44e4701d8c93830e5564f0a82262b858f954f0a2 docs/Models/Operations/DisputesListResponse.md: id: c952f8496202 last_write_checksum: sha1:42defd508b252eaeb6674d10c84bcfc3ae954539 @@ -4342,8 +4774,8 @@ trackedFiles: pristine_git_object: 6862789151b3890d19dea0e6f07e502c0e1da57e docs/Models/Operations/EventsGetResponse.md: id: fc8ddd0a0125 - last_write_checksum: sha1:8ad7c52a4cf10d6c41f35ac6a067af2dcc7c2867 - pristine_git_object: 30165a9834092a4be14a3e45be1e86d73be6abb1 + last_write_checksum: sha1:1b5ea39f314e213370f4fef81b76b9cadf0c0a6c + pristine_git_object: 695ad47aa4e494e324e29fb04a88a4e93c2cf5a4 docs/Models/Operations/EventsIngestResponse.md: id: 47f17e79a8d1 last_write_checksum: sha1:2a1278e3f4509e1b265664f0985b03ca72e9f562 @@ -4434,24 +4866,16 @@ trackedFiles: pristine_git_object: 7ca9c9e7c707b1ceaadaadd99676e94311a82c26 docs/Models/Operations/FilesUpdateResponse.md: id: 1d3ba0e38b56 - last_write_checksum: sha1:a266a3188dd53e892c52f8bc12dec281e6db5405 - pristine_git_object: 4fda0a74af20c1680393e90cac0c3ebed04c9390 - docs/Models/Operations/FilesUpdateResponseFilesUpdate.md: - id: a0dc2504db9a - last_write_checksum: sha1:6420d490ec609d15c7aa62a6d10f4ac3d411625c - pristine_git_object: 5132562484b16609b6b80e5313dbbd590715f8f1 + last_write_checksum: sha1:c8111629f014ae141db9460e8fff90b4e587d97e + pristine_git_object: eb39090ee476c00a2cff83143f2bd9fdc318dc29 docs/Models/Operations/FilesUploadedRequest.md: id: 649f8c5adc38 last_write_checksum: sha1:9f8a348b36b731ba90fbe9ab9da387aaf7684bf1 pristine_git_object: 86e75349f2a22eac087659d93f779805379ac1d4 docs/Models/Operations/FilesUploadedResponse.md: id: b642bf686fd0 - last_write_checksum: sha1:26b461d696742184f273c01be40429286ae9951c - pristine_git_object: e76019f731d83db99bbc5f2f7415dd8bf8202a95 - docs/Models/Operations/FilesUploadedResponseFilesUploaded.md: - id: a6ba52da1718 - last_write_checksum: sha1:ba08bfcc1fdbef099426ef51376a60ff71dce813 - pristine_git_object: d19b61fbf8ccc394e9602f2b802ac79f09cddab1 + last_write_checksum: sha1:57ac63df90a26ca678c068cbf42343d7cf3f45f3 + pristine_git_object: ee6a46221c3efdfbabc9a547702c36ae8ba18c5c docs/Models/Operations/FilterIDs.md: id: 3be58cecf5d0 last_write_checksum: sha1:94fcfb8b2f6d8da8ba0b1fa8614f323926eb920d @@ -4460,6 +4884,10 @@ trackedFiles: id: b0570b630995 last_write_checksum: sha1:4beee7a0349c01f5620c928db2996191bbd98e02 pristine_git_object: f570b17e5296310e478b150c0526d957815b5af0 + docs/Models/Operations/LicenseKeyStatusFilter.md: + id: f7eda2337e63 + last_write_checksum: sha1:36b870c6671b67f818b6114891dbc0d5a0f2319b + pristine_git_object: e737d6e39f2481942541cd2d1b006d0a4acc9035 docs/Models/Operations/LicenseKeysActivateResponse.md: id: 44ab63d4c85c last_write_checksum: sha1:c64bb533a7c5779d1eff8fd1294d3356f97d7241 @@ -4490,8 +4918,8 @@ trackedFiles: pristine_git_object: 056e9286b28074325a0557b78d91ec0d1766432d docs/Models/Operations/LicenseKeysListRequest.md: id: 054a26b95134 - last_write_checksum: sha1:e530e7a9eda8bc6afc49c72238ab6018221083e8 - pristine_git_object: 0b5afc7aa1a6908b106f0b9f3b07e42f39727143 + last_write_checksum: sha1:e988f8afe328c46838afa7d052064c9510913e77 + pristine_git_object: cdbb7f20b57b8f816a7ec76f154cff540f64764b docs/Models/Operations/LicenseKeysListResponse.md: id: 3e7a93b5428c last_write_checksum: sha1:848fa8c0f5837c34f8c8d1891356b3395deb663c @@ -4512,26 +4940,6 @@ trackedFiles: id: 96946d3671a6 last_write_checksum: sha1:44f732bfa8abbb5455e11654ca2775cc488fe257 pristine_git_object: b3cba2b5e2f4f5df21356314b80fde8930e6695b - docs/Models/Operations/MembersCreateMemberResponse.md: - id: 423ec0c4f2fb - last_write_checksum: sha1:5d87c6601381e1b84580daccbfdf292149d5ec58 - pristine_git_object: bee2d70ecb48084180492e054f690435042f91f2 - docs/Models/Operations/MembersDeleteMemberRequest.md: - id: 31c867501279 - last_write_checksum: sha1:8655aa3be2bb110f15b5ad68329e9cf09154ad42 - pristine_git_object: d6ea1c57e2a7bb8d636904c6affc473395728425 - docs/Models/Operations/MembersDeleteMemberResponse.md: - id: a90f098a0fc0 - last_write_checksum: sha1:8beb6b46d1c9e403723008fc2539a0988919ef1d - pristine_git_object: faa545b83a1f155f52bb9802d394f38133347b63 - docs/Models/Operations/MembersGetMemberRequest.md: - id: 60d03ed6a0a9 - last_write_checksum: sha1:4b043d914ce52e523e68be71d26a225dd49cf1e2 - pristine_git_object: 99c3b92b89a2c386947fe69d340013c80872ec57 - docs/Models/Operations/MembersGetMemberResponse.md: - id: "320224474794" - last_write_checksum: sha1:04cc6eab94b268cacc13236ef2974895f98c81ae - pristine_git_object: ecd8d84ce28de01339e8912a275cd0ca94bc9d84 docs/Models/Operations/MembersListMembersRequest.md: id: e08bc6a39b5a last_write_checksum: sha1:b556abbf40e6da90c09556167f992e0b67e87095 @@ -4540,14 +4948,6 @@ trackedFiles: id: 12d4bd67c7dc last_write_checksum: sha1:5efae57ca5add0dfe03a1b1407d0e3e647790b86 pristine_git_object: e8b0f938326a1a0886473f30c7f37d404e3af7cf - docs/Models/Operations/MembersUpdateMemberRequest.md: - id: ec225cfec836 - last_write_checksum: sha1:e814888c8ec0bdb0045d7792955ecbfd0555327d - pristine_git_object: 4ec7a40ad97f1f8bb3871dfcffc33900192d72a9 - docs/Models/Operations/MembersUpdateMemberResponse.md: - id: 1d6bfdf264ae - last_write_checksum: sha1:0887e157e2bedefba1be7850f0b64d66ec5fa6b7 - pristine_git_object: bb17fe66846f7487ead3be6f8373475e57fa226f docs/Models/Operations/MeterIDFilter.md: id: 57f9af639546 last_write_checksum: sha1:eaba9a44b8b6d6d66126ae450c63efb79517914d @@ -4616,6 +5016,30 @@ trackedFiles: id: 4695881cf2bc last_write_checksum: sha1:b9dca790e41c9368098b0701c1f2103c611f0c00 pristine_git_object: 161a5622f97d6d007b5a05682a19915c691742aa + docs/Models/Operations/MetricsExportQueryParamCustomerIDFilter.md: + id: 472e587777a0 + last_write_checksum: sha1:703bce78bf45646ac595688cdc488346b43590cf + pristine_git_object: 94ff9113614ac1ee9ccf5bc65d88b08fde0514b7 + docs/Models/Operations/MetricsExportQueryParamOrganizationIDFilter.md: + id: 3a11dfe9c1c9 + last_write_checksum: sha1:b16f55c8e9d9c10fa082d2074cfcb0b880c82ee0 + pristine_git_object: 1fa5477b0a472f24bdb14c7487a9475e9223ed82 + docs/Models/Operations/MetricsExportQueryParamProductBillingTypeFilter.md: + id: 05b8dfa2c0af + last_write_checksum: sha1:d0d88e0da73771812c451aaad71352dae2aa809f + pristine_git_object: 3ec745f81324bc6fda7bb2a527ccddccc7599edf + docs/Models/Operations/MetricsExportQueryParamProductIDFilter.md: + id: 535115fb6d35 + last_write_checksum: sha1:cb9e451bceb180ac58f7d21fe0b46c0c74f62018 + pristine_git_object: 91143682a15257743391bc8f1b65b03cc3fd14d1 + docs/Models/Operations/MetricsExportRequest.md: + id: 0b7af5c662ca + last_write_checksum: sha1:5682db6634341096a10941335c6604a32c4552bc + pristine_git_object: ec16354abca64f44006dabb5f2bd6ce026d3757b + docs/Models/Operations/MetricsExportResponse.md: + id: db229ca18ba2 + last_write_checksum: sha1:76e1ba53a266cf75759790e1f0cd6bca28d56131 + pristine_git_object: f4345c99183637742b80cddd3c3c2d0283df1a34 docs/Models/Operations/MetricsGetDashboardRequest.md: id: c590a9ce05bf last_write_checksum: sha1:c914d7a5550ce4680138613ac3638a539cf0f3c8 @@ -4690,8 +5114,8 @@ trackedFiles: pristine_git_object: 9795b9d2b4142e946e539f190cd6040cd0cbc9a5 docs/Models/Operations/Oauth2ClientsOauth2DeleteClientResponse.md: id: af33a5ade58d - last_write_checksum: sha1:284b9435d86286a09d16ee9dd1a285a4b01d6e4b - pristine_git_object: 7d59e499aab6f1cb657fef9aa607b76bd587a188 + last_write_checksum: sha1:45af86910dfd7421c5e713b9b49115eba0094930 + pristine_git_object: 2debde2a2794260de039157b0abf4ac3b3126929 docs/Models/Operations/Oauth2ClientsOauth2GetClientRequest.md: id: b0c2fd70d642 last_write_checksum: sha1:9d8e24ea86e7115393d2e197c727d1c83977e21e @@ -4736,6 +5160,10 @@ trackedFiles: id: f066a16fb07d last_write_checksum: sha1:8884953cdf903d7ffe84983c883a3ae1342461ea pristine_git_object: a00b70a71a96e9372bb54c5ced329357dea16510 + docs/Models/Operations/OrdersCreateResponse.md: + id: 3da26a307ae5 + last_write_checksum: sha1:05d0cb5e4606bf247ac96c133175f987e81a0615 + pristine_git_object: 91d769fbfe65b1c37249423c6b811d0a76d3837a docs/Models/Operations/OrdersExportQueryParamOrganizationIDFilter.md: id: f60b85b24f76 last_write_checksum: sha1:dbda8c769ae8a7dc2df28c29b4e54ebf988e50c9 @@ -4750,8 +5178,16 @@ trackedFiles: pristine_git_object: 77e0097ba45245772de068f871acf08f95a5cc18 docs/Models/Operations/OrdersExportResponse.md: id: 9d4a9ef89782 - last_write_checksum: sha1:bd113bd78a6fa931a7cb8f75e845e8fb61bec28c - pristine_git_object: d6e0e2c6e1b368b11bf804f9c9cc1a2bf70cb9fe + last_write_checksum: sha1:9df1049f4f703b649cbd0d46df8c345e44eea666 + pristine_git_object: 2c205f1cfaba4847c05776088cf692ac82ddcfe5 + docs/Models/Operations/OrdersFinalizeRequest.md: + id: 15c0e35a9fc5 + last_write_checksum: sha1:26e7e247409775fbc8c72feb28188357f8ac24d2 + pristine_git_object: 93d1004f00be245d3bc1451179cdab8a83e20b9f + docs/Models/Operations/OrdersFinalizeResponse.md: + id: 02d67f997ed9 + last_write_checksum: sha1:a987231fa5a1b5b6e6ba5c8e59101018b2d5dd47 + pristine_git_object: b316dd2b360d77ad83d5192cb5f269aa05b100fd docs/Models/Operations/OrdersGenerateInvoiceRequest.md: id: 7e0bd18a33b7 last_write_checksum: sha1:c2b07594331320e0b39f8b3d28e5dbc8fae30901 @@ -4794,12 +5230,20 @@ trackedFiles: pristine_git_object: 74472216aaf8bce0942fd2fb81209c6f5d775f4b docs/Models/Operations/OrdersListRequest.md: id: 2659e1e45080 - last_write_checksum: sha1:53c3d5190f01185c3468def2172e43fb3e65ef0a - pristine_git_object: 8a954c084e1eb011a481b10f6db6844a9d3dc37e + last_write_checksum: sha1:1a1725cd5b006d265bca205091eaf745dfd87815 + pristine_git_object: b2516113cccf1e9ff59de3d118da37476b4e1ced docs/Models/Operations/OrdersListResponse.md: id: 8445ad833ca1 last_write_checksum: sha1:e05a21805d5c87f0f97988c7914906b977de7ad6 pristine_git_object: 655682d558d10f0f238f2d855efdeaf8160cc839 + docs/Models/Operations/OrdersReceiptRequest.md: + id: 04eb42daba80 + last_write_checksum: sha1:daff5e29863bd31afdb336f40276f63775633424 + pristine_git_object: 06ccad0924155cae16e5a9718136aba1c39e7532 + docs/Models/Operations/OrdersReceiptResponse.md: + id: e9cb20e0f51d + last_write_checksum: sha1:3f9eddd9614b431820bbe113d9356b65b126d12f + pristine_git_object: d5a31f4ac715dc81211a5c0d0158992bca3cac2f docs/Models/Operations/OrdersUpdateRequest.md: id: 3ea31d0deadf last_write_checksum: sha1:9b2e8ea285de1abc9111ed0a347d156007fee720 @@ -4808,38 +5252,6 @@ trackedFiles: id: 604cc13fd8e6 last_write_checksum: sha1:de4831d524b089b20ac24944c43ed32bd4aec91d pristine_git_object: 7f599cb766ebbcfde8576383fd7385fb2eafbb55 - docs/Models/Operations/OrganizationAccessTokensCreateResponse.md: - id: 2ad85f51dd91 - last_write_checksum: sha1:917d761714383360e6c7ed53f75715785c37c4d8 - pristine_git_object: d42c1574759c8b17c2eaa4421b78f5dcdc918f00 - docs/Models/Operations/OrganizationAccessTokensDeleteRequest.md: - id: 1278dfdfe27a - last_write_checksum: sha1:93d252ae4d9a7ba7ff94cab6e59b6512df62ed1b - pristine_git_object: 300c6affc0669ea243eb0cb3e377acaae61f35c5 - docs/Models/Operations/OrganizationAccessTokensDeleteResponse.md: - id: e57d3670e5d7 - last_write_checksum: sha1:6fb25a75030923e9bd81e7ca92e2ddc68d7e72cf - pristine_git_object: 62d1f83fef672457c61763688cf912e004d61757 - docs/Models/Operations/OrganizationAccessTokensListQueryParamOrganizationIDFilter.md: - id: 0c58b957bcca - last_write_checksum: sha1:4d03c653f30d6e658c82654132c5641e4f77a174 - pristine_git_object: 63d4d06c1addbc3314cab946e3fa4f3282d97c5b - docs/Models/Operations/OrganizationAccessTokensListRequest.md: - id: aa6b1fb6e901 - last_write_checksum: sha1:c2cbeece7445ae8b5b38ba7c81d3b51c1e03887a - pristine_git_object: 555803e810d7fae1a4871dafe5d2b52ff7fcaf17 - docs/Models/Operations/OrganizationAccessTokensListResponse.md: - id: 2407f0b22859 - last_write_checksum: sha1:a149d162cf92e221e903623804fd8a6f15d9281f - pristine_git_object: 7ca2ba34bafba1367b0dc8407c144162b32f45d0 - docs/Models/Operations/OrganizationAccessTokensUpdateRequest.md: - id: 96db2e532403 - last_write_checksum: sha1:d61f74af056ef53f4d24c3f6d4705b635f5b348f - pristine_git_object: 0375f57f95b765a9e04ade46e9c986e47147b8c6 - docs/Models/Operations/OrganizationAccessTokensUpdateResponse.md: - id: 3aaa39a6db8d - last_write_checksum: sha1:fd266e98d3114b610ebc41f0b3e1d98342032883 - pristine_git_object: 2485ab3a949ea40871d2eb0c7aa572706f22067f docs/Models/Operations/OrganizationIDFilter.md: id: bee12512dbbd last_write_checksum: sha1:99207c8f36f72da41f925f50f153746db23c2877 @@ -4888,6 +5300,10 @@ trackedFiles: id: df9613ab1ae5 last_write_checksum: sha1:e3a5a15e43b04f4506b8885502fdeb771b6dda61 pristine_git_object: 487be2f778448927f5f36292232812fe86d12a39 + docs/Models/Operations/PaymentsListQueryParamCustomerIDFilter.md: + id: 11cc5a933cbe + last_write_checksum: sha1:06d1c4bc51c84d8698dcca1c1a1b21ddcf3a5af9 + pristine_git_object: 910d043d7bcfedbfeebf941093c529afb9dcd0da docs/Models/Operations/PaymentsListQueryParamOrderIDFilter.md: id: 61759eb96df5 last_write_checksum: sha1:7fa477032a31767220d97ba5f143e058e0790a1d @@ -4902,8 +5318,8 @@ trackedFiles: pristine_git_object: c45d417be7696f55ce9ec9d451bb0679feab8df4 docs/Models/Operations/PaymentsListRequest.md: id: a85197d104fd - last_write_checksum: sha1:8b3af66f8a4c1805e11701743d747fd2cb9930ee - pristine_git_object: e4cfd01afd5f9313861f3689af399491de4d7c19 + last_write_checksum: sha1:dc687d8003ce213d9c3d264d1d617460cce0b3ee + pristine_git_object: 708d4098a1bf35c38a97044013f0fa34fc1ac09f docs/Models/Operations/PaymentsListResponse.md: id: cdc52ae7a8cf last_write_checksum: sha1:0761601d782f3e0a6487b460504f71e4beeba7af @@ -5014,8 +5430,8 @@ trackedFiles: pristine_git_object: 8a3e8f0b2f6af6747701dd85b37b5ba74f6f4644 docs/Models/Operations/QueryParamStatusFilter.md: id: dc6d63fa9dc0 - last_write_checksum: sha1:d4c5ac5054c92db7bf36236c0171538e146212e5 - pristine_git_object: 97c74c5dec62df9493e07e1d52f5161b3cfea5d7 + last_write_checksum: sha1:1c964281107e23adb5e5d9a1cb1eacc2fb088192 + pristine_git_object: 603e08ffdcc1500bf5812f1b706ac7f5a27090b1 docs/Models/Operations/QueryParamSubscriptionIDFilter.md: id: d89fe375d72e last_write_checksum: sha1:796410a5ccf3070f1d2e49224286194f2a565cd6 @@ -5042,8 +5458,8 @@ trackedFiles: pristine_git_object: 94130d12560b0984b0e22381ec784fee0678adb9 docs/Models/Operations/RefundsListRequest.md: id: 06dd9b075fda - last_write_checksum: sha1:1d9a959c38211ccad81d7dde8cad4f06997c7ff1 - pristine_git_object: e65493999c60b049f8f60f111ff1589d29133dbd + last_write_checksum: sha1:2215bfdb64a083ba10985490667f9d5320e1a2e7 + pristine_git_object: 3d15d34e1a3fe150932a53bd520b50ce37cc8a98 docs/Models/Operations/RefundsListResponse.md: id: bd297426fd5d last_write_checksum: sha1:01d63e9621bf00f5421896952c76ed8e69b0359b @@ -5054,8 +5470,8 @@ trackedFiles: pristine_git_object: 986bb067124aa43e784af0d69d75cd67801bde7b docs/Models/Operations/StatusFilter.md: id: 4bbec4567062 - last_write_checksum: sha1:fccd710dd4bdc87743b39198aea922b3c3e55cd9 - pristine_git_object: d702f67148af1269109dbab333b4f7de7c30e885 + last_write_checksum: sha1:dd81c6355c28960f16520b16b6fa85f99fc3ca27 + pristine_git_object: ff950b7307bbefb0ed8fb1af30b601156c12e68f docs/Models/Operations/SubscriptionIDFilter.md: id: a580e21e6d18 last_write_checksum: sha1:8a2727d602d4f6cdfd5e086dc68a8d1b39300dc0 @@ -5074,8 +5490,8 @@ trackedFiles: pristine_git_object: 7df0df7b9d15e8eeb892832e83d3aaf1208fd28f docs/Models/Operations/SubscriptionsExportResponse.md: id: 46d80ba3bbe4 - last_write_checksum: sha1:996208611110033454211cdbd8a59a661d523094 - pristine_git_object: 155ab1368f125aaf006ae18ee4c477c5fee5744a + last_write_checksum: sha1:56944d5e249c04578942ce781aab77f6b63c6bf4 + pristine_git_object: 8ef040cb0df738bfd2c43f5995ed0b20195a21e8 docs/Models/Operations/SubscriptionsGetRequest.md: id: f195180bb30d last_write_checksum: sha1:bba528bb9c36478b58193a33878d52322dcad699 @@ -5086,8 +5502,8 @@ trackedFiles: pristine_git_object: 30469129c270268fb23e55144a212c27abac227b docs/Models/Operations/SubscriptionsListRequest.md: id: 8fb9ac22ef91 - last_write_checksum: sha1:762f3f9cc931b1b8f1deb9e2f3b5c48f39e31bd4 - pristine_git_object: 25bd1d9d070c073dbc505bc94dac5e3c50075040 + last_write_checksum: sha1:63535cef80adfe00b81abcc64c3c30efa52c29ae + pristine_git_object: 6feb134e9887817c91f47eb3261f3f94f504d973 docs/Models/Operations/SubscriptionsListResponse.md: id: e42ca07e827c last_write_checksum: sha1:ea561c9a098589fe826688123d1ca702215f96b3 @@ -5102,8 +5518,8 @@ trackedFiles: pristine_git_object: f4f87cd8ee6aca7e58864f2850392ab4cfd0ff8a docs/Models/Operations/SubscriptionsUpdateRequest.md: id: cab7fc6c2939 - last_write_checksum: sha1:576aa1dad621f7818f434dc245697de2f96bf38b - pristine_git_object: 499196204dff5150171ccc6b1d63ed4699b12281 + last_write_checksum: sha1:0cd5881a7692b90a626e446a0c95fcab7741c6ec + pristine_git_object: f159a2c9592ff2d9965917319c01cbc386aec09a docs/Models/Operations/SubscriptionsUpdateResponse.md: id: 364c71dff2ee last_write_checksum: sha1:9f1625033d38882b8fcb39ae985a083ce98b4a82 @@ -5296,6 +5712,14 @@ trackedFiles: id: 6db148226e73 last_write_checksum: sha1:80bdb1f688dbe754f833546e21e0306562a42a04 pristine_git_object: bf346d280f4a2253907200beec726aa72975bfaf + docs/Models/Webhooks/EndpointsubscriptionPausedPostResponse.md: + id: d843a05ad7a0 + last_write_checksum: sha1:d50ce27003a83d7f10e53bb163e1ee09802c3e10 + pristine_git_object: 7c8b40056e5cc3e7a7888365cd399d4353302088 + docs/Models/Webhooks/EndpointsubscriptionResumedPostResponse.md: + id: 48c4c604cfe6 + last_write_checksum: sha1:064e7113a66e1f157c09e647bc89b7dd9dd52cbc + pristine_git_object: 4835807b90bc1d23a6121f4f20e569055932f323 docs/Models/Webhooks/EndpointsubscriptionRevokedPostResponse.md: id: 0e38029d21a2 last_write_checksum: sha1:45b500d26622f37e6b7f460a34aa7ee9f9278231 @@ -5310,12 +5734,12 @@ trackedFiles: pristine_git_object: 8e1fc41d52485607c27faef9dcc60d0a90699dc9 docs/sdks/benefitgrants/README.md: id: 2c33ee9f89c4 - last_write_checksum: sha1:5d62ae914e612d525c984d6a462ecbe0ad56b75f - pristine_git_object: c59ba7ec053e56b95e1acc405d2bb51c3296ae0d + last_write_checksum: sha1:68827c547ece1b8463cede377c4069ed77dd6267 + pristine_git_object: ab9338f119a8c1ac8c663bd5bbfef725ab042927 docs/sdks/benefits/README.md: id: 0cec85e08d49 - last_write_checksum: sha1:1c6994321cff3827b35eb5b978ddbfe6772d8701 - pristine_git_object: 98765108ae34e24ed674626e62f897a998c9ce13 + last_write_checksum: sha1:b08114433ee90082b3d1d33d97af5eb77f2ccf87 + pristine_git_object: d6ff9aaedf19212910f2eab454fde73f08bdc2c5 docs/sdks/checkoutlinks/README.md: id: 728253d63ddd last_write_checksum: sha1:38f6177f8ba9ddfb1e0c079950424cb7d8165897 @@ -5326,20 +5750,20 @@ trackedFiles: pristine_git_object: 18c5e24c596743e9a4e03b356eaf528752037424 docs/sdks/clients/README.md: id: ba883fd0c1cf - last_write_checksum: sha1:16b2b1393a1be0bb67f9377550e76648b4fcfc25 - pristine_git_object: f4a7382c56c366ae54371833d9217e09dde22e2c + last_write_checksum: sha1:e7e079e6d6362d90d69fa1aedba1a734d8945dfd + pristine_git_object: cd6a12d5c71fa711cf1dc0c6ab339c11f7862b9a docs/sdks/customermeters/README.md: id: 0096a6ddc6e7 last_write_checksum: sha1:7d820ca433f5d4bcbf26e84f01e4112e5ebed08a pristine_git_object: b835fbf2f151b79b6b6400a295e00578d696fab7 docs/sdks/customers/README.md: id: 9332759cffc2 - last_write_checksum: sha1:ac9aeef383af6b0e4652466b6687f9fb8abcc81d - pristine_git_object: 6eb76788c527f05c3cc6d972c2ce26f4a6f40bd8 + last_write_checksum: sha1:afc45d050b63b0a4b1b22fac360b21194119032a + pristine_git_object: 1c2dbceaddd6d52d1f5e1dc8c9c3a69bfa39543a docs/sdks/customerseats/README.md: id: fbb862af52f5 - last_write_checksum: sha1:bbd745828398753959212fb58f26320dc5922cb9 - pristine_git_object: bf26f33469e20514dcf45b7ec021edabdb98927e + last_write_checksum: sha1:a24a377f03e161cb475c3c4f376df23feebc8cbd + pristine_git_object: 8e7788f69496639c704c8fc2e62692f9add373e9 docs/sdks/customersession/README.md: id: 9db9c5c50c1d last_write_checksum: sha1:704dcf68682e86fd76e69e9e0ab45831caffedd7 @@ -5354,12 +5778,12 @@ trackedFiles: pristine_git_object: 90dc6aaae82460c67a6edfdbd9059185f276d8bc docs/sdks/discounts/README.md: id: "000723261694" - last_write_checksum: sha1:21932015b3fa813296671502f70c250fbedbbfb0 - pristine_git_object: 645b42dd1b4aec81af18b3e2ab8f72409fe5c3ef + last_write_checksum: sha1:14a0e1b628a4a06a7fb3da2b41a4803e0fcf4897 + pristine_git_object: 69eed0d82bec1e22a0e8ca7cf2189ed1764611a9 docs/sdks/disputes/README.md: id: 5b14d189cefd - last_write_checksum: sha1:e76e64ed71258f4708457b4d369fa9a01d072e3c - pristine_git_object: 33a53419ece285dbd1c02aa4185cac641c65b259 + last_write_checksum: sha1:be1ff2ca2fd7e0c99cf914123da1ba9dcb211d63 + pristine_git_object: 4b709c617dc31a5eca8ab297fa704c882b86b25f docs/sdks/downloadables/README.md: id: 72073854b1ac last_write_checksum: sha1:5a9920c4cce980615dd56ee68820f9ac00b53bd6 @@ -5370,96 +5794,96 @@ trackedFiles: pristine_git_object: 27d8bae694504facee1593e4a7d35d781ce72d0a docs/sdks/eventtypes/README.md: id: e3c4448534b1 - last_write_checksum: sha1:cc45a759421c574e4a607f0ac47c4100dfc0cfa2 - pristine_git_object: ec9aaaccb37807d9d1f9a2e9333860559c7b411e + last_write_checksum: sha1:4e8d44fd7f49a8ec01cc89ab7c063dde73b48108 + pristine_git_object: 589f4d18204c2ea2a69e0faa4a353c7b6e5b4dc5 docs/sdks/files/README.md: id: e576d7a117f0 - last_write_checksum: sha1:01725b5f8fcfc84c906ba0e5ad80a8735df973b1 - pristine_git_object: 88df79edc5be74e70d16b84f4030a5e81e6ac327 + last_write_checksum: sha1:2b1041219e3761dff69e86cbade9292d75941e72 + pristine_git_object: 203847749896ed7dffcb67c62b91923fbe2eb0a9 docs/sdks/licensekeys/README.md: id: 119117936b1b - last_write_checksum: sha1:039535c6829aa762f76b8d9668b822667377b862 - pristine_git_object: b8f20eba7ba919d6e83d02f34bc9fd98f2f6378f + last_write_checksum: sha1:8efbe494cd340525ea7c1861da3252c0a49bfb1a + pristine_git_object: d19e499a6f89b7af876639622d3538589930d242 docs/sdks/members/README.md: id: efb92d440525 - last_write_checksum: sha1:0d40bb5f6b535120cb87b5523f75d872807eb9e2 - pristine_git_object: d2c4c618c167572cb288cd5ff38f3a09a175f14e + last_write_checksum: sha1:ef0721d2bae744d9fd8c5ab04d12510da314b5bc + pristine_git_object: 5ae01ddf75d00d8fa1001a64a0e0fac4259b9dfb docs/sdks/meters/README.md: id: 2d725619329c last_write_checksum: sha1:f5b57da10c9f6ddd5e66e22fac8212f29e85f379 pristine_git_object: 8e8069f27f8f5473a2dfa7b26cc765588db711c1 docs/sdks/metrics/README.md: id: a8545d964e21 - last_write_checksum: sha1:cfa9e27b59499093510a8818371088dc567e2899 - pristine_git_object: 132508906dc3630f9a6cdebbb8b21bce050af4b5 + last_write_checksum: sha1:3a247fbf70714da8f09425747466039a1afe1277 + pristine_git_object: 8736f5481d738b0421992559971b736907ae304e docs/sdks/oauth2/README.md: id: 0d3d581bbf0f last_write_checksum: sha1:218f6c9776b9fc2d148634ba1a2d04ab11bc683a pristine_git_object: 03915f2ab61081400c3ca5c99597241d23da8172 docs/sdks/orders/README.md: id: fc5b2caf3cb2 - last_write_checksum: sha1:06ad4b03aef1a4159d35be578b03693c5b81fd43 - pristine_git_object: 1eb34806fd52a60394633a8001c78eb888148d3a - docs/sdks/organizationaccesstokens/README.md: - id: cbc02666c2db - last_write_checksum: sha1:9e663c17118d39bd967c37f9f828cb7137100ca4 - pristine_git_object: f0daa558866b4864e10a9ab4006e559d319d76de + last_write_checksum: sha1:deb5c416b0a2d9c3e96bb3c102b5b529adbe7ced + pristine_git_object: 89360fa70a67a642ff551401f8ec5008f2f2d50f docs/sdks/organizations/README.md: id: 3425667a2db5 - last_write_checksum: sha1:73013b8d463b47524dd320d618088f6cf3b345b8 - pristine_git_object: 8a30741820ba1a9d9a8d3caa647e3e43037caf76 + last_write_checksum: sha1:3b77d0bf6bb8430d01f8e594af9ac565a1c8eb0b + pristine_git_object: d01e5975f8cdad3c2fff150fb349b306fe6f4831 docs/sdks/payments/README.md: id: 0ddb15ec8c20 last_write_checksum: sha1:b21907e689bd154a04c168ba49cd99ed998e8b81 pristine_git_object: 1a06450817cb03f1074ea194a4dfe61c61cc3720 docs/sdks/polarbenefitgrants/README.md: id: 895344203d7d - last_write_checksum: sha1:326d226475e35251bd7df2cdd03f9271fa8ebcc9 - pristine_git_object: 1df9ded2cf47428225bbb453552fdada34c0fba5 + last_write_checksum: sha1:8e9c3490301657ba07fdc50b9b321456692cbbab + pristine_git_object: d1d29c59ea010a05b183a8f69040c35e3c292663 docs/sdks/polarcustomermeters/README.md: id: 5218e3eccdc2 last_write_checksum: sha1:03ef1e8ab24e5e3ee8d3d4da7aa15ee954a0fb0f pristine_git_object: 38c2317313345f6648056c9bfd2458620be5bf05 + docs/sdks/polarcustomerportalmembers/README.md: + id: 663697e96c23 + last_write_checksum: sha1:40098bcd369ca65739c59f0be703ebcb8f09c4d8 + pristine_git_object: d46b1d575cbf2a3ff0b8de2792e01d15ac275e78 docs/sdks/polarcustomers/README.md: id: 0bcbb3daaedd - last_write_checksum: sha1:24c64c740ea3d1bdad46786b989290cfd5c1c34c - pristine_git_object: bea001fa7516ab6b53afebda5e74f4e00b51d279 + last_write_checksum: sha1:5658421288fe852f8a1dfc1eac54af100c355540 + pristine_git_object: 9bd3944468129435aa4f19726c82cff19900a1c3 docs/sdks/polarlicensekeys/README.md: id: 7f322ca756f0 last_write_checksum: sha1:665560069078c9435a6f6473f9ed8eb534a7763a pristine_git_object: 69f4425d0e5862119d8894c9a7cfd812b8d4c4c6 docs/sdks/polarmembers/README.md: id: ee91b666a0ed - last_write_checksum: sha1:c6af30273cdfc58c3a519ed339834dadc3886401 - pristine_git_object: ed85f7d19566ff195b2eb5898b58854d400f39eb + last_write_checksum: sha1:878e397d8717120a873e2901da62239f584d4985 + pristine_git_object: 93471d499844283d303404eb4ff9ca0b9f4d2fb0 docs/sdks/polarorders/README.md: id: aa45777cefd6 - last_write_checksum: sha1:d12190e3284bf5d7e051bba18efba51672444f97 - pristine_git_object: effce1f87992062f2a66f42343c66f7411c63db1 + last_write_checksum: sha1:30897b312ea72c7ffda17ac7e30c02edbd7b6bbd + pristine_git_object: 806fb74cdd1e66471793aa2707e3f761350af216 docs/sdks/polarorganizations/README.md: id: 6e664ebeb7a9 last_write_checksum: sha1:90ff661c55df51cdbe39e0a9fb57e87d4b326e1e pristine_git_object: ae301121263c3b218f0199090b3f4c0c9eeb43eb docs/sdks/polarsubscriptions/README.md: id: 3baeb6932bf4 - last_write_checksum: sha1:c540e3c518f8fa7f45bd7cf5f2da43ceb8ef0734 - pristine_git_object: 36f8c5ad4de064f6dbd18f3038e9a3ed18a2ca43 + last_write_checksum: sha1:e4781e35330915336b87291a209e1be987322f19 + pristine_git_object: 389b1c646b1aab8f2e95185644a080d0683bfdd8 docs/sdks/products/README.md: id: af06255e12ab last_write_checksum: sha1:395537a350debb2721cb7c3b7017bb96a3f77868 pristine_git_object: 6fda8f62eb5c92cda0f2094a2b98e411ae1c5c36 docs/sdks/refunds/README.md: id: 451a9838a921 - last_write_checksum: sha1:29b102b14b816244bdf0ddec68c94208e15808ce - pristine_git_object: e43d6ac4869f35089f4859da72b64b2030466726 + last_write_checksum: sha1:303fc242cda8466c182673f4e88c99321fd4181b + pristine_git_object: f3f6c1b1e0fcd9b2228f89c4e0dcb9bb3d5d6fc9 docs/sdks/seats/README.md: id: 5dd624f51870 - last_write_checksum: sha1:c267f221bdeed91db763fafc411c6ddb33362606 - pristine_git_object: 956b19f1645cf53ab6ea403e70122047d8d2d614 + last_write_checksum: sha1:863b4d8d91cb6a84a5a8938b25c7ee044c5d0509 + pristine_git_object: 5c632d9f00102abbc90b17ce848852dddc92668d docs/sdks/subscriptions/README.md: id: 298b9ab3c3e0 - last_write_checksum: sha1:f1f190901d27ec73efe477e7e8083ae35a569395 - pristine_git_object: 697cd3eb08f7400c46cb92b2e96a79f01315ee69 + last_write_checksum: sha1:6f4c4c177e7e83f3f3fee53a913b6235af995b12 + pristine_git_object: 66d83facc851dcf513df67b0bdc644bf24307aa0 docs/sdks/wallets/README.md: id: d9388c541e1a last_write_checksum: sha1:105c6aa09aa8bb5bf7c5e87c7ef6af59fddb97c9 @@ -5486,76 +5910,76 @@ trackedFiles: pristine_git_object: 40eb9bfbea10383ae16ce195da9113bb2abfc586 src/BenefitGrants.php: id: 5019ffab0b68 - last_write_checksum: sha1:04226e965a3181839d5a2b5a0a2d53ee731977ca - pristine_git_object: 16e42f4d5480e2da972b99f45a88f33a5462b56a + last_write_checksum: sha1:c44d79ae702e2c618f553f60dc0a99ca13683aa9 + pristine_git_object: 142ad192d4b53faed9ad2ad6e742ae0968f030c6 src/Benefits.php: id: 21c205afb435 - last_write_checksum: sha1:5d0aab8e97cd7039aa6f2766f466449d8904f835 - pristine_git_object: 8c584d574e973b21ca4672305cc5364e60658e39 + last_write_checksum: sha1:04c08a6cfd2d404ce61b4317c1516fb20588eba5 + pristine_git_object: d3aa9d86de47d08a5895b454aca0f1c6b3223666 src/CheckoutLinks.php: id: e2f70e8a49ae - last_write_checksum: sha1:66b404f277bd61c18b34e5ec6f2875aa353bb456 - pristine_git_object: 551bc52aa843ffaa2907547081f9fca2ef4514a1 + last_write_checksum: sha1:40ca8615a677d684b9105ea10aabae7ca87237b7 + pristine_git_object: 79feba7c5addf515be7a02ad0f6375dd8e47f6db src/Checkouts.php: id: 5c44146ec221 - last_write_checksum: sha1:16f25966c4b9ac41b8d3b46e00a0a05ffa36dab3 - pristine_git_object: 9976d01b42dd1c980ae4c2377bf832f996c72321 + last_write_checksum: sha1:6d9927a9806e268bd2aad411e56409ca4b30212f + pristine_git_object: bde2a796298940f26fcff4a061fe76fbae81e92f src/Clients.php: id: e778356f2ab3 - last_write_checksum: sha1:116db81e1bef136ba2fb4b4b6cebf5a8509acbed - pristine_git_object: d344e3034d0038a90f3caa4d74cbdb3339ef9d2a + last_write_checksum: sha1:bc915cdda64c2bd1a2de0df9a6154256717e6d6d + pristine_git_object: d6741ebd390a00fcaa24edfef4b256412d740712 src/CustomFields.php: id: 46702472d9f6 - last_write_checksum: sha1:bb0fb0ff11b88030cefb97afb9b682304d8f4ae1 - pristine_git_object: 60533f8b50e8afe217b6254c9bf6187adf1b8109 + last_write_checksum: sha1:622a9d2619c13dccfba7d2070f73bc4da45d8a81 + pristine_git_object: 74fc541ee913b612b21bf0e21b6d43a29f03f87a src/CustomerMeters.php: id: 09bbd5e449d0 - last_write_checksum: sha1:c124d137e1f5b87ef7386b694f6d46851942a419 - pristine_git_object: 39521967eb9182e9d2851233ea5c85eb99c5af53 + last_write_checksum: sha1:4a3c744aa056cc436f3cd1b8d2ecd8f5939baf49 + pristine_git_object: 6d28879dd5bd0fb236b07e84d5837a09397c05f7 src/CustomerPortal.php: id: ac0f0690b80f - last_write_checksum: sha1:b0b61d46863425b7b43d3acb4ef54aa533eb1aa0 - pristine_git_object: 430dfbab1304ab24e2532311b563d427db60e23e + last_write_checksum: sha1:c5069d6ff2d991025347de391e48b6a5de3d469e + pristine_git_object: 9c2ef44413c7d27557a35928df1ef0b3f96fa2a1 src/CustomerSeats.php: id: 91108a5ef49a - last_write_checksum: sha1:d7c9ab1a5c647cc7143dae07da4dba4757419989 - pristine_git_object: 10e3692fd6f3b76c187b2eb488ec4a0a629cb47a + last_write_checksum: sha1:b624123dbf811d4a4979e5f35432e62c9ae2443b + pristine_git_object: 087fd2b409cbc4641dfe9337d05dfdcd4d9eff5c src/CustomerSession.php: id: be609051c1e5 - last_write_checksum: sha1:927ee3c4a33e5f8311c46509fb92f1d352f308f3 - pristine_git_object: b5fab2ae560e1841690e0305d830fb8c1c06e559 + last_write_checksum: sha1:be0e57ba9d0f26255ef01b65c1c0a06d33912146 + pristine_git_object: a2aa5a35fa2f11586ec64e0e7a1eede7838f9e92 src/CustomerSessions.php: id: 0e15f60ed50b - last_write_checksum: sha1:4ddf37c3ef3c837cbd521a63e663fe89f7a5e447 - pristine_git_object: bb848b42393b106b78de7bcef57b4f22bab80291 + last_write_checksum: sha1:8bb6d46550a22ade539e2aac20e1499a10381395 + pristine_git_object: cc4dd8a9b6361cf33b201ff8d56dcb0661a10199 src/Customers.php: id: e30600fa045b - last_write_checksum: sha1:4315a6e6989301f6c10c60a813d351abf30aec2d - pristine_git_object: 1dd2f497a1b18ee1c5a8d29df6c5f6d08ea28966 + last_write_checksum: sha1:0acb3f9338520a0604d5bd3050f1812213be49d3 + pristine_git_object: 1c01c53a1dc41cfe09c2efafc9cdadd6ecee38ca src/Discounts.php: id: b069979cc4e3 - last_write_checksum: sha1:68f74f1432c10e9a3b5dda83eb77956d2d2d77c0 - pristine_git_object: 87414a0a888efd47ed8ef3f779d3a8fe3c9a5961 + last_write_checksum: sha1:65b373afcc4bd3f4ee475f9088c3b231dc186b56 + pristine_git_object: ea817113a35a3179b9184e03dd752a7081b44dc3 src/Disputes.php: id: f473bde79761 - last_write_checksum: sha1:70ff36d34f960d44e128aa7c6914100c2d075733 - pristine_git_object: d305b3a7fa350585a13adbf3b8ba9295974b95b1 + last_write_checksum: sha1:101914f5155141c8c7905cf15f7a1b12b643839a + pristine_git_object: a7f4efbcd49191ead28859351e9ea737b5cb55ab src/Downloadables.php: id: e0cd6fa5a3af - last_write_checksum: sha1:c9971fb2fe7d15000c50bc7b3c40620d5214057a - pristine_git_object: f28040ab09f9ae3c05db7cd76682f5ae4360e07e + last_write_checksum: sha1:439ec3b7003589da7494dcada41b5aaa8e5a9bf9 + pristine_git_object: 2723e1894b86338ad37a2d85160d6bb00962eede src/EventTypes.php: id: 5845377e86ec - last_write_checksum: sha1:80ef1eb5dfd5ff9062cf11a21c44e7adacd8cbbb - pristine_git_object: 3aacf24f09363f31e465e1687efdd78ea20f3a67 + last_write_checksum: sha1:0cf187b32d860e97a8bbf6dfd2e9c826d6f9e028 + pristine_git_object: 557c50ec16a29ba6fbd4a31d42bcd0ac317cab31 src/Events.php: id: 0907f840e896 - last_write_checksum: sha1:093f10a89ee88f04b180208ec4390f42d947302e - pristine_git_object: c365b07a9e50a8b924f3128126ff53971ca1003c + last_write_checksum: sha1:6c100f12734ef4708435fd55db844b67ba083ae2 + pristine_git_object: 1139eb7ca053cfa2d38461f89430f6ed7562cabf src/Files.php: id: ad1a49e101d7 - last_write_checksum: sha1:e767e40f69c72a9928c4159401f0713c0247715a - pristine_git_object: 0e38b892c179208c5dadc4c0165cac5f96e4ae00 + last_write_checksum: sha1:dfab95ce0a374253ff8cd0202ec448eb05404c87 + pristine_git_object: cfa95b06f430e56ae77558893c7de19eaf1573af src/Hooks/AfterErrorContext.php: id: d3767eb93096 last_write_checksum: sha1:4aa2e8fa3093ef72cb90e7542ffa1973bf2b4f7a @@ -5622,20 +6046,20 @@ trackedFiles: pristine_git_object: bdb300b0a2d3fdda4fec6db7465297005f232015 src/LicenseKeys.php: id: 01f70c1c21fa - last_write_checksum: sha1:091d672bc2a71d5f577af9015dbd2df8c5be1559 - pristine_git_object: c68c6d8ee7ab6cf2c12bcd73c8f9687163bff432 + last_write_checksum: sha1:0c54c300b34a0efc14f97b8b7426577c9f26efa8 + pristine_git_object: dfa116ac84266b26af024f6b69af0d95e8233277 src/Members.php: id: 266c54bb33a3 - last_write_checksum: sha1:c30fb6875979067a811aa3431127f6d7261f6247 - pristine_git_object: 86e9010ec27e80b54f50e0923cc0ebc9e8d88f06 + last_write_checksum: sha1:2321f21dfce576202882af33d88b4604dbd9d90d + pristine_git_object: bd716fda8ef339c5635b1e757cf032b1336dd626 src/Meters.php: id: 574ccdd96d36 - last_write_checksum: sha1:d1db905392d068fffb637bd504e5d83a204e4770 - pristine_git_object: 142395a695776e58d62e79bf65c31ac771610dea + last_write_checksum: sha1:f6f4f3a4a7dc22fed723f56d648bbacfc90d725b + pristine_git_object: ff2e605716c90a97709c4dd2848e99cfff289952 src/Metrics.php: id: 0b9fa7d88c03 - last_write_checksum: sha1:b6a6f7c317d442f76f97bdf33b4737251bd6dd17 - pristine_git_object: 15b60f88b3eefac33793dbda5bfd9dbadc015c3e + last_write_checksum: sha1:a50315feb5db93f05fdab9328ea7844271ae81a1 + pristine_git_object: 4ca6ca7fffd8c040269895134d6add707fe215df src/Models/Components/Address.php: id: 53caf55d71e8 last_write_checksum: sha1:7718deba2a8dc5bb6eb37d13a74232b6e473ef9c @@ -5678,28 +6102,24 @@ trackedFiles: pristine_git_object: 09a8dbd3406ea21c3aa55f0c9c31e17eb2811f45 src/Models/Components/AuthorizeResponseOrganization.php: id: 415815f93b1c - last_write_checksum: sha1:13f429f68666e3956afc0f35764f7355d7e1f84d - pristine_git_object: 10d11ce3a6ea1d614785135620591eb7d20b7ecf + last_write_checksum: sha1:df86363ebe0ce6adb08cfd04fc134494ac2c5e7d + pristine_git_object: 2a6bdd6f49811f737f68d068982bfa2f64a4ea00 src/Models/Components/AuthorizeResponseUser.php: id: e0d268103a4c - last_write_checksum: sha1:9b4e2fb01869069c9cf9b5f9061504804a759a73 - pristine_git_object: 6e05a29a7856134e7e2f0b17b949d5e676fabc34 + last_write_checksum: sha1:4d8b5b89bbaf08dc44081cfe25e58819a2776324 + pristine_git_object: 8d51648820500e3dfb16a68a30dd81617a16fa7f src/Models/Components/AuthorizeUser.php: id: 5f8878b02000 last_write_checksum: sha1:659273c10076ce782709943ae3cb225cf4d4b64f pristine_git_object: f7d691bc3268f1ebf9275f7e4155c290a9d5301d - src/Models/Components/AvailableScope.php: - id: eca70d9693c1 - last_write_checksum: sha1:f243ea0bd0b8738e0cf8d414d4685d05fa4a82b9 - pristine_git_object: 4bb6301fef19a58c1bd120eba5a96897ed9cd90f src/Models/Components/BalanceCreditOrderEvent.php: id: 972ec2c572ab last_write_checksum: sha1:8c90861a7c759133231da1719516f2c511e65930 pristine_git_object: 23473ce9d9eaf5c2e4f3b3835d7c23a4cf2b159d src/Models/Components/BalanceCreditOrderMetadata.php: id: bcb51c1fe735 - last_write_checksum: sha1:3f1b221ff660a08d0e35ce45a61b3bf97d61e924 - pristine_git_object: 0e937aaf5868524bb502e36bd0c8ceda56f682c4 + last_write_checksum: sha1:bdc7268dd4d28a45e9455655c8d4cd2c28cdc723 + pristine_git_object: b1a23acc58321678832292c78b1ecf7658d4bb9a src/Models/Components/BalanceDisputeEvent.php: id: 7370b557a8a3 last_write_checksum: sha1:169c01c4259593fe10a2e4475e093bde6c1060c1 @@ -5734,12 +6154,12 @@ trackedFiles: pristine_git_object: a0ea2ac98e77bdffc431028eddd30eb36c53f309 src/Models/Components/BenefitCustom.php: id: 33c4141274d2 - last_write_checksum: sha1:9b9a779b351e3b39128d0bfd653ad63379be0598 - pristine_git_object: 8b2c3f095b587185f966bdcf1424f9a8a6bf19b7 + last_write_checksum: sha1:4f9a18f5b51351f4ac580bad32c4e5e098ab7a50 + pristine_git_object: 38f6ba0a9d777707cdea540ce9d70ce23f57b4f1 src/Models/Components/BenefitCustomCreate.php: id: 238c0ca56f5f - last_write_checksum: sha1:512d4ec29c98f0fba0c1a10cba051cdd7ff856a9 - pristine_git_object: 5a14d5a67ed8cd41cf1065ad91e649e8100f841f + last_write_checksum: sha1:55bb37bc4800282ca175267938f9ef5fd8b97383 + pristine_git_object: 9e82235e3247d5daf742bc8ac16ba14e516e26c5 src/Models/Components/BenefitCustomCreateProperties.php: id: 9e96c36945c1 last_write_checksum: sha1:c0faafe3522d634180a2651cc759604755ece77e @@ -5750,28 +6170,28 @@ trackedFiles: pristine_git_object: 8c2b13a8034dc15049e734e08dd24a8f7eb75549 src/Models/Components/BenefitCustomSubscriber.php: id: 8cb6ea399323 - last_write_checksum: sha1:4cc19a4436b41f3e68c6e59a5c6c37df3361a72c - pristine_git_object: 587c50d952c8101d427bf50e828c3555795faf80 + last_write_checksum: sha1:d052c462e1c7bb33fe99f00ad25329645a81a182 + pristine_git_object: 21924e2f4e75b82976a49e8f13bd86e9e6733103 src/Models/Components/BenefitCustomSubscriberProperties.php: id: 8884fdc5b636 last_write_checksum: sha1:7422e34175e58e2bcfca2ae2388eec005edbcaa5 pristine_git_object: beeeb3d083a94c464bc098d9c29af68275470347 src/Models/Components/BenefitCustomUpdate.php: id: d411fba9b044 - last_write_checksum: sha1:8c323fc612abad7b526a0d3fa0dba4d3b7673f3e - pristine_git_object: e233534e1edf8600c7b4c1125455eb0489fd10a5 + last_write_checksum: sha1:236e313e0691dde999e70e1af5332bd926d381e2 + pristine_git_object: 70aa2701f0e8e4b00b9a257609ce9b01f0986d1b src/Models/Components/BenefitCycledEvent.php: id: db577761c132 last_write_checksum: sha1:a19f4da7558595423af1d16a5b766839eeb74b79 pristine_git_object: 95889246a13e53954d3008eb1a274a76b2d8a979 src/Models/Components/BenefitDiscord.php: id: 364b69aaeb4d - last_write_checksum: sha1:d0cee0c48c9e55c97759371c24529cad96b5c52d - pristine_git_object: e601d0dc097fd134d75cfe8d4e313d5e78083713 + last_write_checksum: sha1:e04870f0c9e947d96e5ad4b4aca5910788b7ba23 + pristine_git_object: 7cb117688262973b423353d93689f212e8e6ffee src/Models/Components/BenefitDiscordCreate.php: id: 11d179837c09 - last_write_checksum: sha1:d04259b2ebce74aa5ab61b5c5ad1cd667ac3aba1 - pristine_git_object: 90e1b77a71d29054bd2069c57b7d674617b55a59 + last_write_checksum: sha1:355320b223131be6b87f17b7c5e6f82c4d44ad9d + pristine_git_object: ef00ae9b455fcc89bb4b0ac1e4603cc68f1d0397 src/Models/Components/BenefitDiscordCreateProperties.php: id: af399e8eb7af last_write_checksum: sha1:82ec07e09dad3ee610c51c179cdff37a6220e730 @@ -5782,8 +6202,8 @@ trackedFiles: pristine_git_object: e329490c4de31a2474157bc4f42dbbb19e15789d src/Models/Components/BenefitDiscordSubscriber.php: id: ad54306b7cf3 - last_write_checksum: sha1:e380521293c4f7e65182ab318d896405ea597cc5 - pristine_git_object: 3777aff788ba9d517612d439b3b8ca816ab8b150 + last_write_checksum: sha1:0ebb0789ef7644f78488adde47446a565f9218a1 + pristine_git_object: 91420de490e96e1482a70222c7fff08ef3891518 src/Models/Components/BenefitDiscordSubscriberProperties.php: id: 4eaba8778c9a last_write_checksum: sha1:eba70ead9d86f8838dc138863fdd789b4039fe2e @@ -5794,12 +6214,12 @@ trackedFiles: pristine_git_object: af36d743cd519e9402b37999790e7797d47e1fcb src/Models/Components/BenefitDownloadables.php: id: cf48da68a96a - last_write_checksum: sha1:8f60d2297ef8c031ade293477f9bb821f0d89381 - pristine_git_object: b4d003202a4d460ec02051efb0a009194fa73dd9 + last_write_checksum: sha1:59c8b1576ab95adcdd167769835f264ea9f01b96 + pristine_git_object: e0ed715b3de513d12b4bc1b6f63c3e28fed990e2 src/Models/Components/BenefitDownloadablesCreate.php: id: f52c9652952a - last_write_checksum: sha1:616401eaad99cd670e1a4e924f1bab5d8c43146f - pristine_git_object: dd1be2a44333edd7c39866cd91b2dcf36e71c72c + last_write_checksum: sha1:397696e3121bf9626be6dd47f558dd6d7f491d6b + pristine_git_object: c53073320ed05627bcd78da8f4cdf2ef52c683ca src/Models/Components/BenefitDownloadablesCreateProperties.php: id: e02d8cc33bbc last_write_checksum: sha1:60dcd97751d6987de212bf78187bdc327624bc74 @@ -5810,8 +6230,8 @@ trackedFiles: pristine_git_object: 4461afab226544020349c01ecc15d92880c3169d src/Models/Components/BenefitDownloadablesSubscriber.php: id: 6975537ed5fb - last_write_checksum: sha1:b91bd5bcceac9a0b6cec72bf217c3a427018d07a - pristine_git_object: dbe989ba87aff03adeabd26e252b0fdf215278f6 + last_write_checksum: sha1:733d12818443418f3877d0788b5f729d94d087c6 + pristine_git_object: aebaff052fbe927eee69e70d2db8e63e0e707709 src/Models/Components/BenefitDownloadablesSubscriberProperties.php: id: ccb87b01e8a4 last_write_checksum: sha1:ac4d33b89bfdebd1d200eb027a3c2d2b26f985dc @@ -5822,12 +6242,12 @@ trackedFiles: pristine_git_object: b2b1756817660606819b472cd856d936e35e6573 src/Models/Components/BenefitFeatureFlag.php: id: 1dbc5ef709f5 - last_write_checksum: sha1:554a436c54a79ac956421be4e247935f9a0b6a2c - pristine_git_object: a6db979c7f8f32d879e6f91e708a4d2825ba0e1e + last_write_checksum: sha1:f67418d1f03f42e38776feb0c85ecadae0646076 + pristine_git_object: f4095bae856582683f2aa14faab2da9a77db7d1a src/Models/Components/BenefitFeatureFlagCreate.php: id: a58dcb514d22 - last_write_checksum: sha1:e9f27f7367ecb2db6b2c059c82af420f0aeaf813 - pristine_git_object: 8816454f3ea2c5869d046b18cd3316ba6ca651ff + last_write_checksum: sha1:ce78e78667d9c34f9fd0f11f9d2c7f60f7800813 + pristine_git_object: 27b1cc60737cbb2b6284384722e7556f667dde30 src/Models/Components/BenefitFeatureFlagCreateProperties.php: id: c36d8302ec6c last_write_checksum: sha1:e3e2d335c0870a6684393a963b73188ad939882b @@ -5838,24 +6258,24 @@ trackedFiles: pristine_git_object: a35973c14f9244ce367d221ce290c87776be3c41 src/Models/Components/BenefitFeatureFlagSubscriber.php: id: f778f5e5ae87 - last_write_checksum: sha1:0c3e06153c84ba003b9f2dd9e76cf055a28d307a - pristine_git_object: d10336e5cec2c793daa91ee69f62e1bdc3df748b + last_write_checksum: sha1:f7259e66e8ede3a3bb8ab0e7c7a731116d4c0d6f + pristine_git_object: 82edcc3509abb99e3b40aed141e5119e3638acd1 src/Models/Components/BenefitFeatureFlagSubscriberProperties.php: id: 98ffce116693 last_write_checksum: sha1:efd31b8d3c4c487c8eeac515eacdc8946e5e3279 pristine_git_object: cb7f9655b022cc5ca7c745b2ff446fe5c158a2b6 src/Models/Components/BenefitFeatureFlagUpdate.php: id: 04d55963b976 - last_write_checksum: sha1:fcc97d38bedad2b6e83b49f2cb7b6d83df09ca7a - pristine_git_object: c8a6701045b4bb61fda0c5543f73c26ed8cc8909 + last_write_checksum: sha1:b462d0623a4f6333c790ee9a19e761b322f93960 + pristine_git_object: cde5957fb978f0de0d869100673ebc412034371e src/Models/Components/BenefitGitHubRepository.php: id: 2cf79e95fa2b - last_write_checksum: sha1:e777b109dd1e1db7aebbf42eb86e029558ed3740 - pristine_git_object: 117625c0cce28b87f4f7cf6510d32422b0f7819d + last_write_checksum: sha1:bbec0bc11e3f7461e9dccfc6a8ccec32c2b6b982 + pristine_git_object: ab0578b954df47685274de30582252c743f95bea src/Models/Components/BenefitGitHubRepositoryCreate.php: id: 1b5b26a5e210 - last_write_checksum: sha1:521e962dcc5624c2cf837ff2fa380d482e5b555a - pristine_git_object: ecb2efc811d1b307e6a15738b30cc67ad9a06f32 + last_write_checksum: sha1:c141d12d6b0c7c23e7b6728e0cdc77fc9e89a24c + pristine_git_object: 6b77ede46372ab5434993c88530b1aca5e9b0b08 src/Models/Components/BenefitGitHubRepositoryCreateProperties.php: id: d477c9c01ef5 last_write_checksum: sha1:e19916152abf9d83a149de7561adf8182d06fb74 @@ -5870,8 +6290,8 @@ trackedFiles: pristine_git_object: fcc1e6616e391af7ad29f359abadf3aa77ee5a3b src/Models/Components/BenefitGitHubRepositorySubscriber.php: id: fa72b15f6ad7 - last_write_checksum: sha1:1e415eea117278c5cf4682feb720974f6ba1d4b6 - pristine_git_object: e925b87789df7c9a6af956d35cc6b7a0a9d233a4 + last_write_checksum: sha1:bd70403b6bc8244bd9a83da093e8565601bf0cab + pristine_git_object: d1a8bfea77580d5b30ffa71811f4d5ff228c3c1c src/Models/Components/BenefitGitHubRepositorySubscriberProperties.php: id: 790ae130bb6f last_write_checksum: sha1:61a5a4dcd17eadb1944c2d0b2226402d65072741 @@ -5882,8 +6302,8 @@ trackedFiles: pristine_git_object: 7f874a388219c20b744067c608a4df771a32988a src/Models/Components/BenefitGrant.php: id: d4972e954fe3 - last_write_checksum: sha1:917e6dbd31225d502c9459c1803ddaebc485ebd6 - pristine_git_object: 6bfe267864d3e93acb1bf20dc71e824630b85500 + last_write_checksum: sha1:8374ffd610634bf5b0b7ef6ed4e0952cb7066061 + pristine_git_object: a4c9e8d0c95b8427e64b99fff079aef88e86fd41 src/Models/Components/BenefitGrantCustomProperties.php: id: 5bd525dc48e7 last_write_checksum: sha1:899e649d2b7e2957839d14ccd2cfdad70d4db6c2 @@ -5952,6 +6372,14 @@ trackedFiles: id: 6ee7577b93ed last_write_checksum: sha1:16e62b41a2ae5a82cefa16ae0f75d57257018359 pristine_git_object: d66df9f7ada0f24c94b4701492a6d3fc5c057b50 + src/Models/Components/BenefitGrantSlackSharedChannelProperties.php: + id: 56c218c7391a + last_write_checksum: sha1:370e0f85d9ebded29bdfa03923601a1c1ec41859 + pristine_git_object: edeb89d0d47b01654e3a8b9797cf1c3d7cbf357e + src/Models/Components/BenefitGrantSlackSharedChannelWebhook.php: + id: ef855b5eb2f3 + last_write_checksum: sha1:171c756518eff59bb243204e3a41053345345326 + pristine_git_object: 1e9d09c019de23084092ecd24d3036e8b8e7f56e src/Models/Components/BenefitGrantSortProperty.php: id: 2e56c865702c last_write_checksum: sha1:1968717127b4abf8afd7077d808f0f3a8b2c5d2d @@ -5974,12 +6402,12 @@ trackedFiles: pristine_git_object: 1c73479cd08fae526f4a5a500b73a6bc33ea1e3a src/Models/Components/BenefitLicenseKeys.php: id: 8050c3cbaddf - last_write_checksum: sha1:079f804d29de623958122a2d9d4b238db466861d - pristine_git_object: a2f8305bb5c7d2b8c073044f8ca459aba6d8a2ab + last_write_checksum: sha1:fc3077d511278355b4d327c780d7fc02e1d2311a + pristine_git_object: 8b9c9c657e0ad2e2f3b05cd6a99e186cc8e71660 src/Models/Components/BenefitLicenseKeysCreate.php: id: 96625b140dff - last_write_checksum: sha1:6468ae6c7c1909a62114bf07882b3dd806698e46 - pristine_git_object: fb8af515c193dd49e2f261db7605ed164b5a115e + last_write_checksum: sha1:d658701d61768fd14927a5ad1aabdd5620cdf275 + pristine_git_object: cb4b21977286f94ed7335ea5956167f92f050d59 src/Models/Components/BenefitLicenseKeysCreateProperties.php: id: fe11bb5eac39 last_write_checksum: sha1:2ea7c9c1780568749c8e707cef8a8d8602ace5c8 @@ -5990,24 +6418,24 @@ trackedFiles: pristine_git_object: 6d1f942cecb65176041e983c1b3f359adc218ee1 src/Models/Components/BenefitLicenseKeysSubscriber.php: id: 07b11582be0b - last_write_checksum: sha1:b235fb4f44c18461083feae586578e7110e57324 - pristine_git_object: 139a6227ef913b8c8af52965569763dd020607b8 + last_write_checksum: sha1:28f2e72e2904d6298d3631bfccda91dffebf494f + pristine_git_object: fbb6934c764604f94264ab5b227123b333f27497 src/Models/Components/BenefitLicenseKeysSubscriberProperties.php: id: 6a210c233b0e last_write_checksum: sha1:91b4ee34c347d69342799ec86195564d5dcd8500 pristine_git_object: ad42e0f5321d40b534e237898ef0f2f246945e1a src/Models/Components/BenefitLicenseKeysUpdate.php: id: 45ec9d95967c - last_write_checksum: sha1:ef2cd518631c2b095917a73a5be7a81b59719e3c - pristine_git_object: 36f71d610bfc62b91aba764a591bc42b4c93abeb + last_write_checksum: sha1:dae3d68752b9286c216186bea3eb616c7b57f773 + pristine_git_object: f73cb21595d3f91154d416f74e4b8308e397cec5 src/Models/Components/BenefitMeterCredit.php: id: 814625b3c73d - last_write_checksum: sha1:407b9fa8f1dab80defa0e5f6025de452c5d1cbf8 - pristine_git_object: a52e4e07dc635a86383529ff8c2e48bc9bae65a5 + last_write_checksum: sha1:68c23294db65ab38f0b3f21f18d0674eb6bd7599 + pristine_git_object: 220bfd7c816d3f3f4370412486743e98b64b6b9c src/Models/Components/BenefitMeterCreditCreate.php: id: 9a6cc0091a98 - last_write_checksum: sha1:d861da3b10a98e750da78c2f52e4e13d7af4f693 - pristine_git_object: 36efd02057f4a6576e7b96e148cb1b385fcbb843 + last_write_checksum: sha1:9a304e83bfcf11c256c2ae6f668a12b9f50d17b5 + pristine_git_object: 322ff434eec9decac2013e9fb7904360f2a73e80 src/Models/Components/BenefitMeterCreditCreateProperties.php: id: 4ee5b67c0371 last_write_checksum: sha1:6343fb14420a41e51848693a421ea3dcd3cb2613 @@ -6018,24 +6446,52 @@ trackedFiles: pristine_git_object: 11da9521555e1ef59c81ea51f1f0c76a781fb6e2 src/Models/Components/BenefitMeterCreditSubscriber.php: id: f447c1d166ed - last_write_checksum: sha1:573a95f2c9e9c0943bfde836d825b7c90d028f60 - pristine_git_object: ddfd71b8765b0038ad08c7643dc2eb50e72ec568 + last_write_checksum: sha1:66b034a7442a584d2893678adb37062c8b3942bc + pristine_git_object: 2cdd74137032b61e9799faa78d11b36912cbd8e8 src/Models/Components/BenefitMeterCreditSubscriberProperties.php: id: e7765574bcd7 last_write_checksum: sha1:754cc6ca8881ade7d28a9cb12c679775c1ac02d5 pristine_git_object: ba1611b1be5148cec8c4e7da9fe76daeba41a42e src/Models/Components/BenefitMeterCreditUpdate.php: id: 724e0ad4d4df - last_write_checksum: sha1:1ef88c3fc53c57bfa6e51e4daa0eebade08a679a - pristine_git_object: 5f4cfccb2e38ed9ff843350ea489a85486d2d47c + last_write_checksum: sha1:d033589df15211a97aca45d0c82d366c39144cfd + pristine_git_object: dfa6b1f2f1e8db54accd70c335d54f0c1ae44b1b src/Models/Components/BenefitPublic.php: id: cba491530856 - last_write_checksum: sha1:895c0f19311599ee6ddccd8d99539be0e141e8c9 - pristine_git_object: 45c704a18c8761f3d36b29136c66f73d4fb78176 + last_write_checksum: sha1:9e85d2d42ef581943f82aec8ec81a94dd6609312 + pristine_git_object: 06400b110d563b7c57f94f9315c5354f60a80a20 src/Models/Components/BenefitRevokedEvent.php: id: 5857caa1c9df last_write_checksum: sha1:17bebc52e8b980f2acc3f267f6e4a50c65522560 pristine_git_object: 894c6d89f484a8b133ca4a4e62c759afa4ba32c4 + src/Models/Components/BenefitSlackSharedChannel.php: + id: bc5c009d7508 + last_write_checksum: sha1:be07b10ae5a7a74aa0b1aa772d44e8aa5aa3f86b + pristine_git_object: 0dac96fda55943564a31585f9ca2d1fe022cbe88 + src/Models/Components/BenefitSlackSharedChannelCreate.php: + id: 7c45f8831e5a + last_write_checksum: sha1:3e9123bf5aa2c0ed2d616d5295147fc665b6f884 + pristine_git_object: 2a4d54e394d78cf57036da645b3297289f2da61c + src/Models/Components/BenefitSlackSharedChannelCreateProperties.php: + id: 31aba0dbe48a + last_write_checksum: sha1:b8772fa0083f1e7ee72feb942194f5c029c6dd60 + pristine_git_object: e1b0011137ba4fd5d32b391df5c3a19b31629f7e + src/Models/Components/BenefitSlackSharedChannelProperties.php: + id: 39d2eaa7c096 + last_write_checksum: sha1:63a7d1eda94f4082676370e8b80ce9f9d058d763 + pristine_git_object: 806a2ded28b6f89014866c5af9c305840285b980 + src/Models/Components/BenefitSlackSharedChannelSubscriber.php: + id: 2908cafa25b1 + last_write_checksum: sha1:f68ca96609228feb9e676cd8d43dad79e63f6819 + pristine_git_object: 715fb579dfd6d2ae61c5a4c57868e6fb114d1935 + src/Models/Components/BenefitSlackSharedChannelSubscriberProperties.php: + id: 0dba8c40915f + last_write_checksum: sha1:a08f029e8f870a444c47d3f0d1f24d9bc58ed783 + pristine_git_object: 6d45c8ac80808c8f2cf1d30ef04c4f393f317e8e + src/Models/Components/BenefitSlackSharedChannelUpdate.php: + id: a2905a2a4b82 + last_write_checksum: sha1:be9c3150d355f459adea301ff5483b54011d81e8 + pristine_git_object: b0b8866663b67abc23f0196307ec3a73da04f18f src/Models/Components/BenefitSortProperty.php: id: c7e3d90c6a4e last_write_checksum: sha1:e8aac267441de6dbf209804d9718b0945233e7b4 @@ -6046,28 +6502,32 @@ trackedFiles: pristine_git_object: 7213c85b5d3b53739aa36707102cdaf20d2fe64f src/Models/Components/BenefitType.php: id: 80a936ab3116 - last_write_checksum: sha1:73066dfd6ec16c519fe09bfbf1794c1632d0e244 - pristine_git_object: 085a5aaa07fe91521b76bcbfdbeff22781bef049 + last_write_checksum: sha1:5248f1f97d21bc85839d26a469418faf1dc0361a + pristine_git_object: 1be7e285f8d5dc8976b9d0b3f1ab4f0796d2e7a4 src/Models/Components/BenefitUpdatedEvent.php: id: cb602ae60e12 last_write_checksum: sha1:9202a1c91f82186596fe6c9c005328887ce14eb2 pristine_git_object: 4d6e2dda33bbd21972c57b93966d149830bfcb82 + src/Models/Components/BenefitVisibility.php: + id: 2304eac4552c + last_write_checksum: sha1:96fba7b8eb0097b422ceb38b36bbcaf6b6443c93 + pristine_git_object: 2c74e8bb0d30963af7992ef02997753422892ec5 src/Models/Components/BillingAddressFieldMode.php: id: 28befb36855a last_write_checksum: sha1:a2738b98b29922d8fc81e382ded37cbd582ef601 pristine_git_object: ab6e8d6f609d212820864da34e5096f8a1972bf3 src/Models/Components/CardPayment.php: id: 521c29fae2f5 - last_write_checksum: sha1:99fc14047f3622a3ee18b3e74393705bc2fa2b31 - pristine_git_object: 1234eb9e82318f368c63ebc8be3c98e1d8d7c3df + last_write_checksum: sha1:88fe7cb229fe12e0f635d3ce68f9a2cd2848e4d0 + pristine_git_object: eef733eb142ed83252c272f4b15b0cdf8eb3f3a5 src/Models/Components/CardPaymentMetadata.php: id: d9cce8ef15ff last_write_checksum: sha1:38df32b56dadb80cf86e5f717cae856a95f4a8d9 pristine_git_object: f14e2d8f8d98c8a8ded0b56a63c135a3c7aaa890 src/Models/Components/Checkout.php: id: a3f6621ec284 - last_write_checksum: sha1:fbb330ba5596ff52456f0e2e39858d3824b9c8cc - pristine_git_object: cb1f2626de1483b4650eacfa4692b436b14c6de4 + last_write_checksum: sha1:7a2446e2d5c179026cfeb2d89b18ccc0c1326076 + pristine_git_object: 5eb531b68cae30d4cdf8271d765430d5079650a6 src/Models/Components/CheckoutBillingAddressFields.php: id: 82ffaaa24fef last_write_checksum: sha1:62aa0d8fbd5dec0a4b731d2405061185048aedf4 @@ -6078,8 +6538,8 @@ trackedFiles: pristine_git_object: 7430fb023352da01e9b7c15244e4fd97bdcf590e src/Models/Components/CheckoutCreate.php: id: e55c07ced6db - last_write_checksum: sha1:03e907d79d471bb8570cc7c08f07c4f10e4b1c13 - pristine_git_object: 199bfb929c80e239654b70e7d8a27a3f50a1d999 + last_write_checksum: sha1:30a04e50673812234f085e140f71a8f61acdbe29 + pristine_git_object: 827a094a0e6424cb889f83099be92d0520f5a3b3 src/Models/Components/CheckoutCreatedEvent.php: id: 52596c5450fe last_write_checksum: sha1:e1794a004c730f19b3fcf8b47f1c4f7d6d55ada0 @@ -6106,48 +6566,48 @@ trackedFiles: pristine_git_object: c4fec0da611b89681c237a0d6bd722d335353f4f src/Models/Components/CheckoutLink.php: id: 4f0c406c587e - last_write_checksum: sha1:9d21d6bd93e8faa223781f373d9ad6d883d49e41 - pristine_git_object: 84d7af8cff1513f1ceccfaa6caeea10387aa6a53 + last_write_checksum: sha1:df3baab944e28327ab1d774d8ea6d1e17519ab67 + pristine_git_object: 2f87b4ea885c6ba5b6fe43f576c9dc2d2f299752 src/Models/Components/CheckoutLinkCreateProduct.php: id: fcb54c798998 - last_write_checksum: sha1:ed5e08189d97510532c2793345586ec608cd016d - pristine_git_object: 6ea4f2b4a9509b27863307473a9b569445b56735 + last_write_checksum: sha1:5f78a6cc69b0d052cc74e27f52d5c7f4a6b37fb8 + pristine_git_object: e5a8fd484c67a74015882e224b7e82b0e1424510 src/Models/Components/CheckoutLinkCreateProductPrice.php: id: 2ebe6cf2a439 - last_write_checksum: sha1:e34560dc534554558e905fae3773c36413ff78f3 - pristine_git_object: f31b398f09a584da4e20585f59fcdf068bcc3d70 + last_write_checksum: sha1:71eb96c3626fa92c753a70d1e82dec5595efc3e8 + pristine_git_object: a7c226fd06379193b4137f24edfc65d0dac8cacf src/Models/Components/CheckoutLinkCreateProducts.php: id: 8164fea62eb7 - last_write_checksum: sha1:6e51a851e18c73695cbea3686816c74f94ac4f15 - pristine_git_object: 0afac8ce28e9845345a60e2a483dcab105b28e6c + last_write_checksum: sha1:db3a50b62375b8480642e5fa67ff1d2ef6b83f00 + pristine_git_object: 853ca1bdc5dea5cad2afb14c2e95dbef21603928 src/Models/Components/CheckoutLinkProduct.php: id: c23b9fbb07a7 - last_write_checksum: sha1:4369cb530c10c941b6af683b7ddf06ce0316bff3 - pristine_git_object: cec9c908fc54377be6d05122f111cc32dbfc6742 + last_write_checksum: sha1:19efb10167316212e19b3ca42e4f9c21579737ea + pristine_git_object: 1b8584aa38700b61034ec16534107fd82db39b63 src/Models/Components/CheckoutLinkSortProperty.php: id: 87d406c36045 last_write_checksum: sha1:ea2eb563af1eb17fb4b33fb59328aa8478c73d36 pristine_git_object: 9ac7701680312e2038021a4ba73492830a7d6e50 src/Models/Components/CheckoutLinkUpdate.php: id: 75f302311a2a - last_write_checksum: sha1:6ec000c6228c9384f2d4da54e319e68b44186e7f - pristine_git_object: 31a5084648096f26561f822bb0c353f37d6566da + last_write_checksum: sha1:e775f213a4be79a584c45a14590f121f88762ef7 + pristine_git_object: 880003e54b9c5f0a7c983d16ad531fbdbb6c46bb src/Models/Components/CheckoutOrganization.php: id: bedd7692e9ac last_write_checksum: sha1:cfc5e5568c3fbf9157939965a7ae995f2798f7cb pristine_git_object: 998634f6653efee23893e8e48b7f30265a948f08 src/Models/Components/CheckoutProduct.php: id: 19ce3cf4bb10 - last_write_checksum: sha1:c28a6d888fd978e9993fe332fc547d4bbc145283 - pristine_git_object: 74d19ffee5bbd6e0e7b8fbec2680099780d9a429 + last_write_checksum: sha1:3807fab20255a065194a1adc9ae6b425e4c206f7 + pristine_git_object: 778408889af8b67878936469e427c42ca4c65a5e src/Models/Components/CheckoutPublic.php: id: bb72d55cf224 - last_write_checksum: sha1:d8d73dacceffff789a9eea0e94f4b732c0fca78c - pristine_git_object: 57207a925298817bca686b4c5d0419d89435d221 + last_write_checksum: sha1:e0c04f65330b829f8e8a349f7ad42e826e4d50d1 + pristine_git_object: c039b01b1ee85e052734ab25bf1e7e0baac84de0 src/Models/Components/CheckoutPublicConfirmed.php: id: dea0fcff8552 - last_write_checksum: sha1:491c42e9e10291b6ead12c39ef7b4e71b1b297ed - pristine_git_object: 31e8ab704e388683a39cee0b2d353c0aca0916a6 + last_write_checksum: sha1:2dffded4252b1cc00674255369f57e057713d3c5 + pristine_git_object: e64901366186310c2840cd7128e140aa0459767a src/Models/Components/CheckoutSortProperty.php: id: ea6bd50d2f34 last_write_checksum: sha1:1b5f7f27d4bd8f22a229b69e730e2d4d24f1ef76 @@ -6352,6 +6812,18 @@ trackedFiles: id: 9d3295bae08c last_write_checksum: sha1:1874df06a9c8b04fab0f1e09497be05cfbd7d882 pristine_git_object: 37417d545588a700cb2b9b5176741d5959c65701 + src/Models/Components/CustomerBenefitGrantSlackSharedChannel.php: + id: 0257aa3b0c60 + last_write_checksum: sha1:1b3802adedfa91d4a74ff9311431cc043bb4fc3f + pristine_git_object: 793415b08a495d7623f1d09b0e6b82dd85ae6ce7 + src/Models/Components/CustomerBenefitGrantSlackSharedChannelPropertiesUpdate.php: + id: 92dd89a1c4bf + last_write_checksum: sha1:6f44e63e8ce5f5704856f7ab3a5e32179a1f1fc2 + pristine_git_object: 4fc7f8794896281aaa5202ea4b99a984ce8b9134 + src/Models/Components/CustomerBenefitGrantSlackSharedChannelUpdate.php: + id: 06a0c4af831c + last_write_checksum: sha1:e1e9fdd21fba54d66849e07ca16931642585e90d + pristine_git_object: 25158a435f06efa64542bbb0a95afa2dae94e11d src/Models/Components/CustomerBenefitGrantSortProperty.php: id: 9e56bd714d3f last_write_checksum: sha1:e1003cc3bca07b73275b3002ec1c9662dd0a50a7 @@ -6392,10 +6864,22 @@ trackedFiles: id: 4d5abb98dfe4 last_write_checksum: sha1:fdef7d909a905e6a5f62225e1d19063ea2aaa877 pristine_git_object: bd3ff0dc5c7ca290644a30230fa38b3278cb32d0 + src/Models/Components/CustomerEmailUpdateRequest.php: + id: 2a29fcbd2662 + last_write_checksum: sha1:e39d13d5847cf6b2f96a9666c7a6d0b242ec2be3 + pristine_git_object: e9eab803755a2dee30ecccf49257ffaa9f137f8a + src/Models/Components/CustomerEmailUpdateVerifyRequest.php: + id: aba8e3d50938 + last_write_checksum: sha1:70a5c6110171916f3434da2a5bbe9e9b056059e1 + pristine_git_object: d5bed7b465477543a9174739fe5fec5a989c86c2 + src/Models/Components/CustomerEmailUpdateVerifyResponse.php: + id: f5c135143155 + last_write_checksum: sha1:a5c2a6b5e68422a26d1f0305093174de8ad73c68 + pristine_git_object: 9e94a57536281a33b36e60fa740bb335095d2cd6 src/Models/Components/CustomerIndividual.php: id: 05f82c671b80 - last_write_checksum: sha1:d0e5ee4a668959c405e25e8bdfe6e0633e70185b - pristine_git_object: 0cb4be0de4b0875a5b139239d36fb6c310cda63e + last_write_checksum: sha1:873f3324a87f9faa5645c2d0db9d8a3ede1f6a65 + pristine_git_object: 71ef7cf4d7a2ab6666304437e058ff78f62ff37e src/Models/Components/CustomerIndividualCreate.php: id: 0255f5708edc last_write_checksum: sha1:07664eaf9b390253582dfa9520bfa73ded7a2d69 @@ -6410,8 +6894,8 @@ trackedFiles: pristine_git_object: c16969ca44f003785d273642d1287f604215a3d8 src/Models/Components/CustomerOrder.php: id: 02678346f2de - last_write_checksum: sha1:695097d1e683b320fdeb20a4965b556afbacf643 - pristine_git_object: a96fde47a5a459436c3657db17615763745fb061 + last_write_checksum: sha1:1b49ea477b8b4b13cd6ec3f8246ef776e3212fa2 + pristine_git_object: e76e72335ae0a620cc4a812fee174579f1c81366 src/Models/Components/CustomerOrderConfirmPayment.php: id: 272ba595e076 last_write_checksum: sha1:cc1dd284b0f614bdee32c45cc7eefa856f924dac @@ -6430,16 +6914,20 @@ trackedFiles: pristine_git_object: 1c0d6a42654267e383dbacc544900d6d6f266c52 src/Models/Components/CustomerOrderProduct.php: id: 346cf1d3c7d5 - last_write_checksum: sha1:364d176508c0818c427c76f6944cbd8e7a2dec28 - pristine_git_object: ef3744ad9218caec0145e266714646b49d6c0ede + last_write_checksum: sha1:1896800dbb91a858b98e942eeda3934ff15de65c + pristine_git_object: 1b8cc1bae467991b025ebf16a3267a6b8b93dbac + src/Models/Components/CustomerOrderReceipt.php: + id: 469e292c396f + last_write_checksum: sha1:833b4757bac2829855d888872e93eb9227ce6f23 + pristine_git_object: 954d067b567067bcd92bba7ad6c49d851e1e6200 src/Models/Components/CustomerOrderSortProperty.php: id: 6f9f22604a3a last_write_checksum: sha1:e8826b8bb40bbffc9fb3b291a69b66efd0eded7b pristine_git_object: 3a06ebe645b3817d4818404a7c40e0424aec217c src/Models/Components/CustomerOrderSubscription.php: id: e4085f9fe619 - last_write_checksum: sha1:55985b1ecbe3e717542ff89b142286db8851f014 - pristine_git_object: 548e698f6862f7934ef3d304a118141ae5f306a7 + last_write_checksum: sha1:a4a91a3cb1fa287248a6bf9a095fbfe0335d207a + pristine_git_object: 71ac8608874490d29f261da199414d595988a5a7 src/Models/Components/CustomerOrderUpdate.php: id: 6ef851fb1e91 last_write_checksum: sha1:b1b6fc49f84eaf0181e1691eedbb47b846ab9a7f @@ -6454,8 +6942,12 @@ trackedFiles: pristine_git_object: 4128fe722fd2489ac3af8941a65a263f8c11f719 src/Models/Components/CustomerOrganizationFeatureSettings.php: id: eca144fd5715 - last_write_checksum: sha1:21f5a7c7a2dfff8bde53ac11556f88508b949378 - pristine_git_object: eead65e2f5ff6dbacdb382669d9a14b91e3f04c5 + last_write_checksum: sha1:953b8c73e62fc290cf8b9dc01973507290b93b5f + pristine_git_object: 74c3a37f0c80baa9a48ebc10008fca9e52af6e15 + src/Models/Components/CustomerPaymentMethodCard.php: + id: aac8afc92dd5 + last_write_checksum: sha1:38fe1ec65e292ae96193a803ebd1f57324de4d6d + pristine_git_object: 0be415ea220b6542fc5dbb50b2a4565d0d04cb6f src/Models/Components/CustomerPaymentMethodConfirm.php: id: 89f6335cd394 last_write_checksum: sha1:9a5a1fedf0c619deb3b12937b7a99ef50bba0cb8 @@ -6472,14 +6964,22 @@ trackedFiles: id: ce1d204c6e01 last_write_checksum: sha1:979c406c279a748c61ccce0ddb16bffeb0d6e4d0 pristine_git_object: ab7b31d333b8cbd4cd73ff2a66c9c973ab311227 + src/Models/Components/CustomerPaymentMethodGeneric.php: + id: 50379684a821 + last_write_checksum: sha1:d91d37d4fabf1b66a49248456b23b9975b66570f + pristine_git_object: 9ed6fc4f70c305977f0025546ca7dd0cd5688619 src/Models/Components/CustomerPortalCustomer.php: id: 252b3da206c8 - last_write_checksum: sha1:7d224501af83bccdee0b6e61b4a951d9a7c8978b - pristine_git_object: 60de1f9c0fd1427b3f33d05d647ffcc88fe9e548 + last_write_checksum: sha1:b698bb4a9d73cbbd04a0bb4a59c0546fcfc822e1 + pristine_git_object: bf1d4ec9c42dc9ecee43a8d9f5d9ace6b04808bb + src/Models/Components/CustomerPortalCustomerSettings.php: + id: 8ca669a0406f + last_write_checksum: sha1:1eb5540015c14bc113349b5188881a3df890f489 + pristine_git_object: 5e7c8b36859dfd476fb3b0b671ea5687727f5b85 src/Models/Components/CustomerPortalCustomerUpdate.php: id: fb3a9dd1d99a - last_write_checksum: sha1:c4798497587e45f08a8ef609f5d22882b14afc3a - pristine_git_object: ba0273754cf540bd384f0e190f86f4fa5754dee3 + last_write_checksum: sha1:7c8f00acdc8cb115f288430738a991a592df63a0 + pristine_git_object: a4d388f652643ae890d4e83456427b8c5d95249e src/Models/Components/CustomerPortalMember.php: id: 65d3f0862738 last_write_checksum: sha1:04a1b84e6c20c0411534ad88ff800066754b05c4 @@ -6490,28 +6990,32 @@ trackedFiles: pristine_git_object: 518ea298a3f0aa791f21e27bff6ff2ddae435b50 src/Models/Components/CustomerPortalMemberUpdate.php: id: aeb408f36a6b - last_write_checksum: sha1:49763f89d9ec866a05b2c4a8b7838dd234a51a27 - pristine_git_object: 7e656fed5ad442e83bb3f88888afa00525fc822b + last_write_checksum: sha1:c64f7d168309fb41d283470de886d3b120826e6c + pristine_git_object: e490a2812ec42359b559fe38d229576a92cbfcff src/Models/Components/CustomerPortalOAuthAccount.php: id: 04fa21d729f9 last_write_checksum: sha1:fbbb64448b4ca0f850c5d5b39115e8a26dbaaaec pristine_git_object: add018d1650bb259ac354a2ee246c097160866c3 src/Models/Components/CustomerPortalSubscriptionSettings.php: id: de02efaa34d4 - last_write_checksum: sha1:0aaf1bc1d283ad6fdd91e4d130b364737d65a827 - pristine_git_object: 72d5dba738fbc58a3e962e5016c18313b7a00e2e + last_write_checksum: sha1:08dcb9643636833c4861ad56be8e8ff59a3940bc + pristine_git_object: b41fa79eaa0debc725dd628a1be9b16006046468 src/Models/Components/CustomerPortalUsageSettings.php: id: bfb16a35b69a last_write_checksum: sha1:11e30cefea59c82ecf78b0aded5147c9b0335919 pristine_git_object: 6eaca18b97027168f5614b908256e703f03b0b52 src/Models/Components/CustomerProduct.php: id: 799681f5ec06 - last_write_checksum: sha1:1ac89da2de41317ecfbdfa025384c1c7c023a093 - pristine_git_object: d340e473b637facd07613abba0dd5cbb9a6fc22d + last_write_checksum: sha1:7d794f0719aba7f8e6a134adc56037f3bba8b2c0 + pristine_git_object: d35e6c3baeed8449a16fa53333dc813a2a38bfec src/Models/Components/CustomerSeat.php: id: 23342b553586 - last_write_checksum: sha1:51aa72dccfb4e3b6213a28395240b18603e07a85 - pristine_git_object: 4909ccc4d631267b0e3a10a32f827940e7add170 + last_write_checksum: sha1:855a3701aac16d3982f910942966aa2efd06b248 + pristine_git_object: 63310a2e24bd822911b9f1564c7117b291eea4e1 + src/Models/Components/CustomerSeatAssign.php: + id: ac7395d7bba6 + last_write_checksum: sha1:1e721e04ebe8c1e35fe19f99aad2f99f66ca73b5 + pristine_git_object: 07620d526b89e6296927314bb6dfeb8902fee1cd src/Models/Components/CustomerSeatClaimResponse.php: id: 644a7305b53a last_write_checksum: sha1:97ad7512f84ebcb0be7a9ce664c3b6b5f4215797 @@ -6534,32 +7038,32 @@ trackedFiles: pristine_git_object: 0833fa61c0a0b4ad055995d7672704ccd9cfe6c1 src/Models/Components/CustomerStateBenefitGrant.php: id: 3b7830716eda - last_write_checksum: sha1:a9dbd85884e75312ac690ce79ae20a19bf7fae11 - pristine_git_object: 054719b4a281249b018f60fef7845a4a23c8308a + last_write_checksum: sha1:d6169f4524ddef118e78689929ee2519ab9674bf + pristine_git_object: 9e91c3ada16411c3f439e845f613be7860bfad32 src/Models/Components/CustomerStateIndividual.php: id: 534f6fc6b9ab - last_write_checksum: sha1:bf3abf0284daf0307a23a2aa445fbf3b9095ccc4 - pristine_git_object: e4048870317df2ea348597a4d884b9c80526d780 + last_write_checksum: sha1:329b716ee614533ef0067aa851928bb38f53cc4f + pristine_git_object: e2127cc1bc42044d3f1e604b5ec85ef7d66560a0 src/Models/Components/CustomerStateMeter.php: id: ef50e01e6f60 last_write_checksum: sha1:1c094c4147dc7d1d22cd1caf38e5f6a9a6f26369 pristine_git_object: 6cf84b351c7dbbc7a3a6bbd5bcf5c0dc505697c9 src/Models/Components/CustomerStateSubscription.php: id: 01ec4957631e - last_write_checksum: sha1:cf403598feaed8b017aa604cc895c8986e034178 - pristine_git_object: 7036889db6d656615d226e6a2e834731e47eb306 + last_write_checksum: sha1:9c426d7dcfa1c4a3a63b2cb6c99ff7a56c714a66 + pristine_git_object: 100887741ebd0d5d316b2621efb11ddd911c0dd0 src/Models/Components/CustomerStateSubscriptionMeter.php: id: a14098d2cc8b last_write_checksum: sha1:eff069096db0b78433973162bc5adef9a401568a pristine_git_object: b0462bef4b17d5cf4179bb1692843a2526ba1347 src/Models/Components/CustomerStateTeam.php: id: 3ff460356556 - last_write_checksum: sha1:95a0b5094084d2da45aacf4b365b6a0634df00e5 - pristine_git_object: a59c25e35f6224e0d2dc9e3bd5420b7fbf7ad749 + last_write_checksum: sha1:487fb45471df24457ea4e10501dee093d45207c2 + pristine_git_object: f4fc0e9dd234251328a888f48ac9cdbd63f7c54c src/Models/Components/CustomerSubscription.php: id: b73d5c12fb1b - last_write_checksum: sha1:6c036c021b916d00654da3ae2060a3be355145e2 - pristine_git_object: 231ce2739bd18735262b6ba57ee2eec682be8c0f + last_write_checksum: sha1:6520d5b1fbb5eb16c62190f2a1845dbf71b0ae89 + pristine_git_object: de26f120771d4f0443da789f2b3aa3070d617b1c src/Models/Components/CustomerSubscriptionCancel.php: id: 45de756e1d78 last_write_checksum: sha1:7ef9a46ec537eb99073c1771cd53b76854abbea0 @@ -6572,26 +7076,38 @@ trackedFiles: id: 9c7ef9e7e09f last_write_checksum: sha1:1ed6043b9fb7374240374d2348d90fcbf84a6e6b pristine_git_object: d9c011fff501ff9cdea3d9dca942f44dd327a312 + src/Models/Components/CustomerSubscriptionPause.php: + id: cf810ac94034 + last_write_checksum: sha1:3132224610496cbd9ab02cf1acff5c75a32bcf36 + pristine_git_object: 919c265c3dbc33d0a794b8d1e206c3cf65eab1aa src/Models/Components/CustomerSubscriptionProduct.php: id: 6458b12afba6 - last_write_checksum: sha1:869b04ecd899232019e15c0d3e32cbd7d94fb308 - pristine_git_object: 7542cd36a42cce4425b42348294473617d62e5e4 + last_write_checksum: sha1:5f3076f421eb0b575340aa61c843bed6dfc6f644 + pristine_git_object: 2b8d5de50113ffbbd7c9cbdf338f09a61ef1d2aa + src/Models/Components/CustomerSubscriptionResume.php: + id: 22135731d3e6 + last_write_checksum: sha1:27f100a8a33cb4e8258c87ffccaca57f34329882 + pristine_git_object: d45979c9a1657dd217821765fd0125547e167f6f src/Models/Components/CustomerSubscriptionSortProperty.php: id: 1f5ffcfa8384 last_write_checksum: sha1:26694520d85a46c05e6c7dbbd8afbd3fcdf532f4 pristine_git_object: f15a58b2d894b87f323da329e31717ffe259f195 + src/Models/Components/CustomerSubscriptionUpdateClear.php: + id: 38e7fab69386 + last_write_checksum: sha1:cf8c375d951dff41965cfa5a2c5391675df5e7ea + pristine_git_object: 92d32ce7a95f101c1a024e6001fbf64c8bff54fc src/Models/Components/CustomerSubscriptionUpdateProduct.php: id: 08134d64ae01 last_write_checksum: sha1:0febf30ba96e18b96c21aeb6ac0b33c0d713d0aa pristine_git_object: a84a3f3871b8b971f2070f4101a77eb66da129d4 src/Models/Components/CustomerSubscriptionUpdateSeats.php: id: 3f32cf3b72b8 - last_write_checksum: sha1:d9daa4ed2316716189eff403b3a81a7bd8453090 - pristine_git_object: 89efc799b60002a1fe36608fcfcf8cf4a5a376fb + last_write_checksum: sha1:ae04ba0973909a6b677183c1cce0406defc8f6bd + pristine_git_object: f69f320db56bc4afa685efa747ceb688c45bbae9 src/Models/Components/CustomerTeam.php: id: 1ae7387a7a21 - last_write_checksum: sha1:8c02db63713ac849c5c419e3c2bf459748bcb81d - pristine_git_object: fa0713a70fa485727ec48a26b4f782cf59c61a0c + last_write_checksum: sha1:32bdd39205ad5b1f8d09efcbf95a141857958509 + pristine_git_object: 35d604a16c2e0f3fb166d02a5af96c1a6d5d48cc src/Models/Components/CustomerTeamCreate.php: id: fcbab608037e last_write_checksum: sha1:a229ecfacd3ec076feaa4594bca61aa876289488 @@ -6614,8 +7130,8 @@ trackedFiles: pristine_git_object: 543b06a833e613dc07b3876575be958032325a86 src/Models/Components/CustomerUpdatedFields.php: id: 58de20ac68f6 - last_write_checksum: sha1:34d7d80368b50d2cd02381287c46e8062e876b39 - pristine_git_object: a124ab29f6b03456e55424a13d9289f9f406b047 + last_write_checksum: sha1:68707960889e7bee4120991d8d75ec35da16b34d + pristine_git_object: 6922cc8dd379c67c88134aec026f9ab342f47529 src/Models/Components/CustomerUpdatedMetadata.php: id: 2b2ca7a26363 last_write_checksum: sha1:efe123ea48a8823872b792d08543f75350c73034 @@ -6632,6 +7148,10 @@ trackedFiles: id: fb0113e7c61a last_write_checksum: sha1:be819bfe853697eafa9d7918c3f005c348ab795b pristine_git_object: 069497917b6bcc58ef58c59de60add5459a2f6d1 + src/Models/Components/DiscountFixedCreate.php: + id: "271405570751" + last_write_checksum: sha1:2aebecd8f3fcedbf17b86be9aaf89854691bae74 + pristine_git_object: b0e310385cf5b92120a2996ef4df89c000de1d4a src/Models/Components/DiscountFixedOnceForeverDuration.php: id: b5e11d660b11 last_write_checksum: sha1:414d46da86e29dcded8dfdb975a920de8bf1ec4d @@ -6640,10 +7160,6 @@ trackedFiles: id: 695c878a3acf last_write_checksum: sha1:1097d68dcfd0826beec0c160b2cda3193373c168 pristine_git_object: 7e0fbdcb13ceac05570aba67e5dcea4b7363fc38 - src/Models/Components/DiscountFixedOnceForeverDurationCreate.php: - id: 44288b47147b - last_write_checksum: sha1:864acf221c54847dd56a744982f2a7d35ffcb871 - pristine_git_object: b149f17e94482001c57be5e6c661a83a8e181892 src/Models/Components/DiscountFixedRepeatDuration.php: id: e3af7863ff12 last_write_checksum: sha1:07bae6b0aaa509185c787f313bfed8a9b1d9fe68 @@ -6652,10 +7168,10 @@ trackedFiles: id: c7f5c244084b last_write_checksum: sha1:fbbf7b6af9e386772488a7a531866742e6834894 pristine_git_object: e519ac202300df7e961fd35cdb29063d731359d6 - src/Models/Components/DiscountFixedRepeatDurationCreate.php: - id: 8bf45c2e5f51 - last_write_checksum: sha1:2e7b0e71b124def61584046e0b26a3f1489af56c - pristine_git_object: dc8939a68db1ef3ac4d785078f91c4013314cd3b + src/Models/Components/DiscountPercentageCreate.php: + id: 1caed1a0919f + last_write_checksum: sha1:eff5d6b88e160d701d75265706ebe98e429961ab + pristine_git_object: f767a6ce282ea33ff46631753a0126ba39973547 src/Models/Components/DiscountPercentageOnceForeverDuration.php: id: d584c813a3ed last_write_checksum: sha1:d284a8ad5c8229b63f7a457632fbdf5476f11106 @@ -6664,10 +7180,6 @@ trackedFiles: id: c54576211ba1 last_write_checksum: sha1:e741245d9f92a80581a1ec455b350d91b35cbc82 pristine_git_object: 02af5ada2a2ffe264ec40c8907792b0fea6748c1 - src/Models/Components/DiscountPercentageOnceForeverDurationCreate.php: - id: 88e8d85f23a5 - last_write_checksum: sha1:fd95224c7212dd22b1fcc46489ad7819818543b9 - pristine_git_object: d8aff5ca3ee7626bef1f2e33ecc35054a1cdf281 src/Models/Components/DiscountPercentageRepeatDuration.php: id: 3fd1f16be09b last_write_checksum: sha1:b4939d4a793a72fd590fcc92f7d8594f815bd2e5 @@ -6676,14 +7188,10 @@ trackedFiles: id: 47071191327b last_write_checksum: sha1:336ba67ae4ae1fc288e4768cb7fc2ea2f4c5b6b4 pristine_git_object: d5fe0838b9efa362cb8c5bfa6c65525c476d0572 - src/Models/Components/DiscountPercentageRepeatDurationCreate.php: - id: fa0d2f569643 - last_write_checksum: sha1:824325e428ee29b631f1ab505004686d506e3ec9 - pristine_git_object: e9b559cf3812f7b76f5f4a5c9b0dd67498ff67b7 src/Models/Components/DiscountProduct.php: id: 6bf87e0fe37d - last_write_checksum: sha1:3c2ea828191ba63cc349654f257cf08ad9cda1ce - pristine_git_object: c0105f0410efdf3b6324c36a86428ab5eac96ec2 + last_write_checksum: sha1:5ef64da209ccc447a671f448f0a95e35f1bc466b + pristine_git_object: e3e4870f7fd1e351b57abac969b4935929116a10 src/Models/Components/DiscountSortProperty.php: id: bd3bf109e669 last_write_checksum: sha1:1293f57afa993a84f5b5cbffbd5f800ef2543681 @@ -6698,8 +7206,12 @@ trackedFiles: pristine_git_object: 18c0861ea43418e12fa3099d0813523689a533e8 src/Models/Components/Dispute.php: id: d5241775d35c - last_write_checksum: sha1:7257a5fb1bc07cbc854009499b7a1ccf25e04b93 - pristine_git_object: 9adb2a7a65e8380d760d1a50b462770b4cf9fe53 + last_write_checksum: sha1:ed5668879ad1827002507851f8d4e29838a05f4d + pristine_git_object: 123578a7eb7e8a1fbb7b3ef797312ba3de6e4341 + src/Models/Components/DisputeCustomer.php: + id: d1976ec5c2dd + last_write_checksum: sha1:d3d389b6ba8701d6e9c84e4d2a5f42af4f7dbb16 + pristine_git_object: 84c43b4d6dee2d85e5bd215d8cd495543b3f0546 src/Models/Components/DisputeSortProperty.php: id: b39994c9e2a2 last_write_checksum: sha1:2de7b8aaef2484bf041856741ba90000c9374c96 @@ -6730,8 +7242,8 @@ trackedFiles: pristine_git_object: a961af137b6a0d6f02b8d484bea856903486042d src/Models/Components/EventName.php: id: 1d7cdffd620d - last_write_checksum: sha1:ac911cd8a4d7946aa340df84b7c5a652ca84421b - pristine_git_object: 490da517ac767443244e6667d2cd720e7e3964ca + last_write_checksum: sha1:5ff7e6cdcc5f88a41601cae8de552e281e1ef471 + pristine_git_object: c8d918ff4056d7f97014e32bc95d0cc3f80470eb src/Models/Components/EventNamesSortProperty.php: id: 2746ea6a6f26 last_write_checksum: sha1:f92e0a571fcbb2838dee98ddc036d2375724c167 @@ -6754,8 +7266,8 @@ trackedFiles: pristine_git_object: e9e3e756e30eb0cea93dae724831b0f9837391df src/Models/Components/EventTypeWithStats.php: id: 3ac2794d7eae - last_write_checksum: sha1:8e99174774fbe3f5645af4c602de0fbeabc74570 - pristine_git_object: 665e78975108e22d7918b541efb9e66b9f3c249c + last_write_checksum: sha1:a285e44cbefd98eff31424559cb71cce025bd7e6 + pristine_git_object: f6fbedd82e191e83674e4b17baaa03c24f2d4a7e src/Models/Components/EventTypesSortProperty.php: id: ba277e11881c last_write_checksum: sha1:4f80497856f0f3dfa7ebeb4c37378abdb35b58cd @@ -6782,8 +7294,8 @@ trackedFiles: pristine_git_object: 0aa0c34c52ce2509ede01efb3beb61662ead285c src/Models/Components/FileServiceTypes.php: id: c582ce0ef457 - last_write_checksum: sha1:41b2c3e05105753640bc5e5e16e244ba7f59550c - pristine_git_object: 5bf8323db5f5a13582ce03d08b273789588fb376 + last_write_checksum: sha1:815cf0100b064928fcb5058f51eef93bfcbc4d49 + pristine_git_object: 526bd2ddab143fc0c2088a68bc4b4a856f155a40 src/Models/Components/FileUpload.php: id: 5350ae3fc140 last_write_checksum: sha1:c8db83a512832f36fd38ca85f631a2aafca17322 @@ -6814,8 +7326,8 @@ trackedFiles: pristine_git_object: fe456fa9cee2f8e76662c55c31d580e87a981d37 src/Models/Components/GenericPayment.php: id: b2e700a2ab8d - last_write_checksum: sha1:953870776c9462bfd72bbddce0b52c1f8869da6c - pristine_git_object: bf53b524a0b421161dfb947f33b988b5306cd972 + last_write_checksum: sha1:dc72144ebbed555fe8ef68699a56191b5e3a897b + pristine_git_object: 5c1f7469e2ab8e96d85ebba5c0007bc650370f75 src/Models/Components/GrantTypes.php: id: 319cf1470440 last_write_checksum: sha1:ddfda2a4149f8ea8953e3e1ef743fbb9e249462a @@ -6830,24 +7342,20 @@ trackedFiles: pristine_git_object: ff78ee817e826ae00fa186875282c3a8bd725d73 src/Models/Components/IntrospectTokenResponse.php: id: 831d07c8ae02 - last_write_checksum: sha1:60afa8b9582d07568b11c163dfea7e918857f6ab - pristine_git_object: d88fe56465cfc979acc3494bb1137c174158ee48 + last_write_checksum: sha1:1c00581972ca87a03854cca68103fca27e19aa6a + pristine_git_object: 925eca238f2d9ef57ea7e3c12afec2309191f3ba src/Models/Components/LLMMetadata.php: id: e132994a9270 last_write_checksum: sha1:d782651df7e3794536ddd24c2a5d809e4bff3c8a pristine_git_object: c9a5d863f283dc2914e0fea454e14c10d40fd4aa src/Models/Components/LegacyRecurringProductPriceCustom.php: id: 92632f581337 - last_write_checksum: sha1:a08bb2ba7f4287b832ee0d2512cb2b8b64949743 - pristine_git_object: 49c8e2dc9f5f368d8a9a3ce8f32b73fedb84baf2 + last_write_checksum: sha1:ebf04fdf7dacada6ffd093df851d89735b58e4d3 + pristine_git_object: e435808c1a9c91ade4e00f1da42ff0857721a990 src/Models/Components/LegacyRecurringProductPriceFixed.php: id: 4a6b4ba117ab - last_write_checksum: sha1:f93be5c687d60862fb4c7fc1b8db12ce67427077 - pristine_git_object: 0342ea3fb452561e9e3594ef9a02dcc592e03760 - src/Models/Components/LegacyRecurringProductPriceFree.php: - id: ca37056b7fbf - last_write_checksum: sha1:24792d8b86c2b758e0d491c2ba6eb804c4f9b07d - pristine_git_object: 9fd445beca63e6fa7ba7746befb7ee3e528c7fd7 + last_write_checksum: sha1:6c85f208cc12d478aae1d461443cbd47b916250a + pristine_git_object: 480682892c2b8286409c52f569e1d9965759060a src/Models/Components/LicenseKeyActivate.php: id: 6efeff5b160a last_write_checksum: sha1:9f8b00bea18b91c1a9c701171d9e6f6d503575b0 @@ -6862,8 +7370,8 @@ trackedFiles: pristine_git_object: bbfe205278fa57ab460eb24b6912b2657bd0aa32 src/Models/Components/LicenseKeyCustomer.php: id: 9a12a5c3501f - last_write_checksum: sha1:5b0f3e7723079647a29d7b33c4a2c35e520d6253 - pristine_git_object: 2dfcef7e7da53241805b9f265d6d25239cd97121 + last_write_checksum: sha1:4f557a972fced9202f6abdf23ae7c2865fd6e9f8 + pristine_git_object: 863c62e9322529e6e8d4a58760834c1a4b7a7ea6 src/Models/Components/LicenseKeyDeactivate.php: id: 567b69493447 last_write_checksum: sha1:dea791acb6416b6821263a3fa159043115893903 @@ -6890,8 +7398,8 @@ trackedFiles: pristine_git_object: 0b70fb9c882f9f5b0f9a429c59469e3f04c1dab3 src/Models/Components/ListResourceBenefit.php: id: 284eb86ed530 - last_write_checksum: sha1:28d63eaa3349207a030042986d51f37a866726b3 - pristine_git_object: 8a08bc7b2c59ae7e9345fc32613ed001254553d9 + last_write_checksum: sha1:87f83949ab4fc626b7b2bb7bc62bc1cf0a9ab482 + pristine_git_object: 70909ed5f1b659f79b643d28ed86d6c4fab26814 src/Models/Components/ListResourceBenefitGrant.php: id: 5ff7cd05dd6b last_write_checksum: sha1:eee6dd60621d8bc1518a7f644278929029961e0c @@ -6914,8 +7422,8 @@ trackedFiles: pristine_git_object: 19373595ffdb7bbcf8eed78281bb0da49214eb58 src/Models/Components/ListResourceCustomerBenefitGrant.php: id: 836844a639bc - last_write_checksum: sha1:108c61e5db340eb34a5a67426e1f1f3b0d604684 - pristine_git_object: 69121db43feed1b1706741b66ba10c2b8ed66786 + last_write_checksum: sha1:ffd8845246873c4ee1f44ef4ac9968a0d6678431 + pristine_git_object: f956fbe383886d87d63ae10f1a91af3417ee59a7 src/Models/Components/ListResourceCustomerCustomerMeter.php: id: d6dc54aab4ec last_write_checksum: sha1:0f6309492cfb6d7416cc7cbc3996edfc22dee550 @@ -6958,8 +7466,8 @@ trackedFiles: pristine_git_object: e6cbb0ab1e3789c1545e3cd6c065c69d5d183c3a src/Models/Components/ListResourceEvent.php: id: 17735ccdec88 - last_write_checksum: sha1:2ca63a72951512c57b21e2d8f5dfb70cf6a452c8 - pristine_git_object: 1b4115fbfb8f6b73cb869db4b7371b2626ded2fa + last_write_checksum: sha1:e798c6bcf164c6e733d282edf3125be96e06e369 + pristine_git_object: c20d18f1d51f6da31e471e749b5f02a218fa3d8a src/Models/Components/ListResourceEventName.php: id: b83650311833 last_write_checksum: sha1:e4148642e99e5894902101c3ad91d67f38a34a57 @@ -6970,8 +7478,8 @@ trackedFiles: pristine_git_object: 0b1d16d17e6d2ace2dc15efae066d66ed130b866 src/Models/Components/ListResourceFileRead.php: id: 9747270ef728 - last_write_checksum: sha1:bc82620394e6221d82c14c919694f7254fb7afd9 - pristine_git_object: a92b13329a9a2ce4f15f8ac73880c2169a150fdd + last_write_checksum: sha1:667ef50852771667b547684b8f5ad81b520d23e3 + pristine_git_object: f1b2527b06da1516546359a9cd07805e704558e1 src/Models/Components/ListResourceLicenseKeyRead.php: id: 5d9f95b621ad last_write_checksum: sha1:2bd5d8757fa3cd69611ae69a5a2f107bee9ed031 @@ -6992,14 +7500,14 @@ trackedFiles: id: 0daefb11071a last_write_checksum: sha1:71f519f4fc564238df00caaac7aa3bcb0f8afbd3 pristine_git_object: 1c86da21a52d3086acad0c945dad4525bb3eb98c - src/Models/Components/ListResourceOrganizationAccessToken.php: - id: 1079cf0edc72 - last_write_checksum: sha1:559d86fe0c6f67a6db003c45e7f9e216dbd3e7d6 - pristine_git_object: 380de0e1f8b3d3797cc7f21576dd4c54f6662c07 src/Models/Components/ListResourcePayment.php: id: ae0940fb12fb last_write_checksum: sha1:78d10ed8a2196d5cd6e5d247237b3e73848aec18 pristine_git_object: 970271efe0534659836d55fcc9f40404235985a3 + src/Models/Components/ListResourcePaymentMethod.php: + id: 47c52002bb84 + last_write_checksum: sha1:83813c0ca7f40a0424ced8c237dbd547482e37fb + pristine_git_object: ebb98d15313a32fe3980a581cba26ae04fd1b673 src/Models/Components/ListResourceProduct.php: id: 8aeefc21ad24 last_write_checksum: sha1:e2834275f75ee1cc91f990a6a517d6920f8e394a @@ -7022,16 +7530,16 @@ trackedFiles: pristine_git_object: 9d94e3421a0a2acc81d8d64e9d05fcb2f3bab3af src/Models/Components/ListResourceWithCursorPaginationEvent.php: id: 420141fa898d - last_write_checksum: sha1:1beb89ae1feea40b43cddc6098c100c9a5b8003f - pristine_git_object: 19c1400258f70e05b5ef8c42b6302978354e0340 + last_write_checksum: sha1:5c79c1d150a60a826f987fa059fa4160397e0076 + pristine_git_object: e7d4bc1b9b6d0bc80d595c1da8a85a5af7d90f4d src/Models/Components/Member.php: id: 0c37051cae93 last_write_checksum: sha1:9b99982f6f2e04f0bbc8ff41ef5d82b4664fdee7 pristine_git_object: a5f00e6d8302022c7ef960387c83255a90a84ee5 - src/Models/Components/MemberCreate.php: - id: b598f4cc3d93 - last_write_checksum: sha1:d983de36c42a9269605303c13327e0f6a8dfb164 - pristine_git_object: a1b17f7baf92ddc6d74c1f89232fb2f4af8c9aa2 + src/Models/Components/MemberCreateFromCustomer.php: + id: 9702c4292e8f + last_write_checksum: sha1:74f93005644b046be9b47d5a2d6fde6d9d5114fd + pristine_git_object: 0180356ef4f9cdbb19f9d13f509d1187e95012d0 src/Models/Components/MemberOwnerCreate.php: id: 002eddf8cacf last_write_checksum: sha1:6b6448d1b0b82c8d672708acdefd416face5e964 @@ -7046,16 +7554,16 @@ trackedFiles: pristine_git_object: 5067c2a7ac7806af257be7749efc3b57918e3f4f src/Models/Components/MemberUpdate.php: id: 0dbb2b971bf7 - last_write_checksum: sha1:1bea22622db2d8fe104b5fefd9dc9042cac72180 - pristine_git_object: 5a686ae41062065a86b45e2ceea675e8fe5e86d8 + last_write_checksum: sha1:9d35f333726564f49e14742de34c42eeb3b82ba6 + pristine_git_object: ba7fbfa279bf6ac2ee7171cfc24528fe415c25c3 src/Models/Components/Meter.php: id: b4e9621c6762 - last_write_checksum: sha1:c9d77c1ffb282805e4426fd0c9f850e90a889d06 - pristine_git_object: dac33c726ed651d3efbb0fcf1941a672b8577ec6 + last_write_checksum: sha1:554c936408a14d16092d3e3d9d2075890b6bc6de + pristine_git_object: 701344003a68a024ef1af0a9732246a6774310f3 src/Models/Components/MeterCreate.php: id: 9c683c1c6f12 - last_write_checksum: sha1:3028a5c6d153f3204cb8a894fcf3e8e9ea237c1e - pristine_git_object: 7cf61917da25ae8eaaf45d877fd5443195a281a6 + last_write_checksum: sha1:a5976276d663699dbd41a2e53be1941c1e5850ae + pristine_git_object: d95fb5fa4bfb572d2dfb3566f862f7064501b0e6 src/Models/Components/MeterCreditEvent.php: id: 4752801600eb last_write_checksum: sha1:95300b941fc575b7744cb07532f6b73746493221 @@ -7084,10 +7592,14 @@ trackedFiles: id: 9f993f538007 last_write_checksum: sha1:f0cdd5599f8d91f30e179d119e4ddf5125a921b6 pristine_git_object: 855cd466e7885cfecea47c92630ea52fbeed8c8a + src/Models/Components/MeterUnit.php: + id: cdd8f845184c + last_write_checksum: sha1:3c7c1cc424ff931e288b2d4acd0c4cc99b71537a + pristine_git_object: 8dfa73143233a2327bf65ed404b5d7ef5e7ac58b src/Models/Components/MeterUpdate.php: id: c979b8d2702f - last_write_checksum: sha1:37f27558c6e57f89e281ff1fdcdcf7fdac379530 - pristine_git_object: 013f10f5198001b47c23498ba201ecbde40966a4 + last_write_checksum: sha1:91162be408fded45c322c47931673d276bbfc456 + pristine_git_object: b04c203357b27a6fd81fc4b457fd608c10f171ba src/Models/Components/Metric.php: id: 5f9254973fee last_write_checksum: sha1:b913c9b7f57232a0b6141f94f49e7ba6883dd4d2 @@ -7106,16 +7618,16 @@ trackedFiles: pristine_git_object: 9a7eaa47fe76cabcc665b3559d87684bbc3a5fd3 src/Models/Components/MetricPeriod.php: id: 2e7f0a5fe6a3 - last_write_checksum: sha1:412b4e7cbee1ed4145ab02fd46c89d667bdf0bad - pristine_git_object: 2a4d9b4f75913cc7430e7cb048393b4541220385 + last_write_checksum: sha1:f29a02f95c92a44ffd0cd33ad401cf271bd025bb + pristine_git_object: 4459dfa3326a7dacc78df6594d7e7a47c8648979 src/Models/Components/MetricType.php: id: f104d56186f8 last_write_checksum: sha1:6a921ac334329d06f397241209a4344712e9df1f pristine_git_object: 247fefb8c6f69319edf5db28818f8d00a32b5dbd src/Models/Components/Metrics.php: id: e2c44bd13db0 - last_write_checksum: sha1:e2eeb2db5e9993a4b7c2d8ee71f67a5a1c27b320 - pristine_git_object: 478a4ddfd69bb76d5295395a7fc0020ffd8fa447 + last_write_checksum: sha1:828200070489dd9a75ba578085e2e9ab2c8fe499 + pristine_git_object: 47abd588b296023413762372041600a62358bcc9 src/Models/Components/MetricsIntervalLimit.php: id: f1c7f4e6d837 last_write_checksum: sha1:ddbd7f433cdc4699ade88216be349d15359ff630 @@ -7134,16 +7646,16 @@ trackedFiles: pristine_git_object: f2a3732d1a90184781a78ad61bba8443f9f29ee7 src/Models/Components/MetricsTotals.php: id: 88dacf84cfec - last_write_checksum: sha1:0b80fb2fdb72d0e639e1afdf071beb34a742dd0f - pristine_git_object: 64b6f9f12f441fb7070828fd3086f63ab45ab827 + last_write_checksum: sha1:ef4f715bc742471ebbe0503e2df469facf7f3c7c + pristine_git_object: ab45eca247cfa1a177610edd97c3e564142ec861 src/Models/Components/OAuth2ClientConfiguration.php: id: 50e22b794ded - last_write_checksum: sha1:a4bc358871c12bca834f1bd9da426ba89fa13a31 - pristine_git_object: da71c649f54cf48f6586b6fbcc38e1a4a77aa972 + last_write_checksum: sha1:580452ab8b36f823d0b04e6a68664ff609544dca + pristine_git_object: 32a199cb1a56b6087ed8cf843b006918873c147c src/Models/Components/OAuth2ClientConfigurationUpdate.php: id: e76c6f66b784 - last_write_checksum: sha1:e256ad4a97fd0380a7d946c2dc2a77f55cab0140 - pristine_git_object: 13a9cd517fc521a8adcfa38b96dbf5c589619bee + last_write_checksum: sha1:3b8a7261a7a81f7c656c55349bf39ad0e74a0cbb + pristine_git_object: 9e46e11abe39ea5fdbd29bf5413abc9f13cfeee2 src/Models/Components/OAuth2ClientConfigurationUpdateGrantTypes.php: id: 222bd1229a49 last_write_checksum: sha1:289cf7af412003176be942a415adbff18f4ddd89 @@ -7158,16 +7670,24 @@ trackedFiles: pristine_git_object: 2fc31afd68839ff8a0d91e7ab4281ad57830e0b8 src/Models/Components/Order.php: id: b4539a757b61 - last_write_checksum: sha1:1aeddc91061da60e02722ef1c74c980392d060b0 - pristine_git_object: df3eb981d864b1c89fcf9c90781893cae8d36c55 + last_write_checksum: sha1:75f46e47f5118dc24c12a8cb3305803629d40cc8 + pristine_git_object: 4c3f2d4ccfba1ddfa1baf07e82dfe51caf84bd72 src/Models/Components/OrderBillingReason.php: id: 07f3b376015d last_write_checksum: sha1:3640b0e59ea7fdd64b940a7495fed8bc506767d5 pristine_git_object: 62bbf956f0078b24604f3fef7e22cbd26e67608b + src/Models/Components/OrderCreate.php: + id: 122f31981960 + last_write_checksum: sha1:8b26829153995f81cc307c981891ad61182fbe2d + pristine_git_object: 23c24f45e72a867125c2b0c750e80db552953e0e src/Models/Components/OrderCustomer.php: id: dc7d70f6b16d - last_write_checksum: sha1:081499170d26d381491ebf149de2a8451039ab98 - pristine_git_object: cb65958d021079386f32ed8c009177708b742c7e + last_write_checksum: sha1:8b331068ff740d929ea3e5e4753989879d77b81e + pristine_git_object: 32dd4b802ce8539178fb319bc588430b00a101fa + src/Models/Components/OrderFinalize.php: + id: 7f3ceb1be459 + last_write_checksum: sha1:820651422ed8b235a86fae560ecc996d6ce9a2cf + pristine_git_object: 1d62896c44786b2e82f0290b09ac8e566d7acef6 src/Models/Components/OrderInvoice.php: id: ae195a7af042 last_write_checksum: sha1:7f4d24d6ce1ab547ba3e53184d5287909b4f30e3 @@ -7186,8 +7706,12 @@ trackedFiles: pristine_git_object: 3a89db4155bec757762cc81a0fcee70bbcb1b2b0 src/Models/Components/OrderProduct.php: id: ab5d210d6aae - last_write_checksum: sha1:b1c7186ee03a1e3416c3bede1267c56014e3ee5b - pristine_git_object: 266227a58819fc3b578221cf7925b2d61c8ac78d + last_write_checksum: sha1:92ab7510c57eaa1affbd16f82505106517ce3bca + pristine_git_object: 4bb82572173636dfcf20eb8c5896dc9f8ce345a3 + src/Models/Components/OrderReceipt.php: + id: 64bbf78a686e + last_write_checksum: sha1:dcabc2cdf066f5f5bcb49b951b81d0b3904466d4 + pristine_git_object: 89a37c051b101cf718a37074e10ce5b4f8a04e9e src/Models/Components/OrderRefundedEvent.php: id: 345f0de7bd8a last_write_checksum: sha1:92388da914a7345f34c16767016f9273d40d7f19 @@ -7202,12 +7726,12 @@ trackedFiles: pristine_git_object: 1482a5cb94fee53549418689e75f2456eea051bb src/Models/Components/OrderStatus.php: id: b2fdbdd35c8d - last_write_checksum: sha1:c35040dfe82441444bba76595344c7989de49c7e - pristine_git_object: 2fc4d4dd6d94342200e46f5b603d53bdabc9b52a + last_write_checksum: sha1:7a3a7f8d8e35a2281e7e492bf35fa9633ea1b5f8 + pristine_git_object: cfdce38cc44387f9b1f3da8350ba7c621a17ffa4 src/Models/Components/OrderSubscription.php: id: 97a2745c6071 - last_write_checksum: sha1:c1e4446b55340433c3694f53d367641a759767e3 - pristine_git_object: 163db357169abaff613c0c5e2e9eb421f9fdf2c1 + last_write_checksum: sha1:ce66848647c8af21cc4b6661035863be0153b12d + pristine_git_object: 9e52dc53414403b413704e0c3a31b57356068533 src/Models/Components/OrderUpdate.php: id: 806d8bc6dd91 last_write_checksum: sha1:22584b24236bb0586141470355c68b81ed12ed4c @@ -7222,28 +7746,8 @@ trackedFiles: pristine_git_object: 20cfed0b5dd39e6cb8c6928d7c43d2083f136b0e src/Models/Components/Organization.php: id: c7417346b9ba - last_write_checksum: sha1:fb9089aa1f44b07477e965aaa93bfbf86bf328c6 - pristine_git_object: d0cf461eff6790ecf45e2ec4c49ada1ae6b39b35 - src/Models/Components/OrganizationAccessToken.php: - id: cb0ed6fb17da - last_write_checksum: sha1:2b5946895c334162d53597dabe00f0eb7bab1bcc - pristine_git_object: c315ee4941d5c8b97208a7ee818da2a8291dc4a5 - src/Models/Components/OrganizationAccessTokenCreate.php: - id: 20c9f6c2f207 - last_write_checksum: sha1:00e6b7115eed71bd1f7621e3a63fb2462eb3d55f - pristine_git_object: c07baf2a1339755c309abb10d40d811753bfd7c0 - src/Models/Components/OrganizationAccessTokenCreateResponse.php: - id: 202220088c9b - last_write_checksum: sha1:198791390ada97f3a3a5f365a45be0cded302645 - pristine_git_object: d1960d7452b2adc8860b11996cf676f69bf90f5b - src/Models/Components/OrganizationAccessTokenSortProperty.php: - id: bb5b187a9c82 - last_write_checksum: sha1:4a6d8619ba39004599acddc66d78745d1b85358b - pristine_git_object: 0d52fc39dd5252c8eb2f376258a4f28b920547f8 - src/Models/Components/OrganizationAccessTokenUpdate.php: - id: acdaef5ce38f - last_write_checksum: sha1:8fc697868a0b5923c59726215d752981e20950aa - pristine_git_object: 9e7edbeaf61eec5b5ee94fa44e22a2aed8588670 + last_write_checksum: sha1:0bdc9e0c32a934c1564e1fd209bd35f3cebb9f24 + pristine_git_object: 97582f50ba5aa49144f683b0a6f7379b771ebb2e src/Models/Components/OrganizationAvatarFileCreate.php: id: ec95486c25d9 last_write_checksum: sha1:a1d1ac12e6f0ce681a734bfeecdd8d78d2f8ac2f @@ -7252,38 +7756,42 @@ trackedFiles: id: e5465301969f last_write_checksum: sha1:a2f15c137149a1b3b8314fb490ca210ad9590750 pristine_git_object: cf036df3fb95671ff772749ba3a37a8d279469f3 + src/Models/Components/OrganizationCapabilities.php: + id: 9b404513fc03 + last_write_checksum: sha1:9eec845a4990311e36039905e85e8e55dca6f128 + pristine_git_object: 99badaeba12ab79d66be7278b034e0e9901af9f3 src/Models/Components/OrganizationCompanyLegalEntitySchema.php: id: 9ee263725919 last_write_checksum: sha1:59bd2e06c959d5848e6d63f813f49d60bb9bb80a pristine_git_object: 7b58769a951f6dd1bd5d1097fe731d362ee903e7 src/Models/Components/OrganizationCreate.php: id: f1512a3f20c7 - last_write_checksum: sha1:a7f2e119e4e50ef598c46179a2a2ba1321d7d151 - pristine_git_object: 68637f27460a042f88c593342e95a2fd5e7515bf + last_write_checksum: sha1:5208110dc659114195d881a505e9f98f501c6df6 + pristine_git_object: 02ac2137f2aa30b3e53982f0abb48bb4f37b2f09 src/Models/Components/OrganizationCustomerEmailSettings.php: id: 428de88a6aed - last_write_checksum: sha1:2cee136fd974237bd8c5aa550b8f77481faa6ddb - pristine_git_object: abfec091d265129558d557d19670784f9490c887 + last_write_checksum: sha1:c56dda0fed92cdda78fe45b691198b9b09115487 + pristine_git_object: 67f2458c9fe465fed97170c3d5867716cc90b5f3 src/Models/Components/OrganizationCustomerPortalSettings.php: id: 124fc9ee3598 - last_write_checksum: sha1:084248f87dbe75853a4ff32bfd96f1e6acaa095e - pristine_git_object: eb962cc6b5ce60b4766a928989047b79cd674e15 + last_write_checksum: sha1:ae666a2be8d965c28dccfe8f390e6be83acc6aa8 + pristine_git_object: 60130efeb11ce7b0d5b1c11eecb3e9231bcf37eb src/Models/Components/OrganizationDetails.php: id: 7e50ff370710 last_write_checksum: sha1:0a671255a8302566f7e42fad3e81a3ff238767aa pristine_git_object: 55f5b4e3b8d36b2d13525860b86c9666ad555496 src/Models/Components/OrganizationFeatureSettings.php: id: 323fb7336dca - last_write_checksum: sha1:c345f3df29757f827a816c5643ee6d8e1f459f79 - pristine_git_object: 2cf64aad888115d48689c19c8381d29f4a0b8d73 + last_write_checksum: sha1:a136517c15433a3eb8e0a28ab313dc9c4ab7cda1 + pristine_git_object: 70e4c96f291adb7484bb3bb6e5c77689e19c18a6 + src/Models/Components/OrganizationFeatureSettingsUpdate.php: + id: aeecf44a89c7 + last_write_checksum: sha1:e521281286057e6a1a4ce7065f868894660b4f55 + pristine_git_object: 7ac320d17779437780e4432a88315e24686cae13 src/Models/Components/OrganizationIndividualLegalEntitySchema.php: id: f18a2135b5b7 last_write_checksum: sha1:e7c4a49b7c6d601824ec97efe0a06222c7dd8531 pristine_git_object: bc62e349ed27b1713f9872ee210be7be4b752c4f - src/Models/Components/OrganizationNotificationSettings.php: - id: a08e8c1a1211 - last_write_checksum: sha1:e2cd1cba7992703e5ad92f0f9d79dc27265d7916 - pristine_git_object: 8bbedba12aa67d5986e50823f7c11c54604918b4 src/Models/Components/OrganizationSocialLink.php: id: 2e5e973bbc6b last_write_checksum: sha1:3ef4039a3ee5c823bedb94a1530dbf2ddfc1eced @@ -7298,16 +7806,16 @@ trackedFiles: pristine_git_object: 4c7b567e9bc6cadb36210b60a519bcaa277d342c src/Models/Components/OrganizationStatus.php: id: e8147cdf0d9f - last_write_checksum: sha1:9224405047862d72deb10cd6b766d5d5eba787b2 - pristine_git_object: 2be1271651fee7d44f61341f76eec2255517a769 + last_write_checksum: sha1:83d040a0d2c1520f599ece1dc5087bd797a53efe + pristine_git_object: d1de867abde2544b679ec24efaf665837d63f9df src/Models/Components/OrganizationSubscriptionSettings.php: id: a679ffcd1897 - last_write_checksum: sha1:83b9c8ce493b10d45a635453acc7c9f8b4af2364 - pristine_git_object: 910f4fd3957aeff6de745c18d096054fb5d9073b + last_write_checksum: sha1:c3f1c2d3fac57273431af9b4ad6cbac82b38b065 + pristine_git_object: 08cc41cc79b5a23c0b7e7f2af4dd2c6cdff1aa0e src/Models/Components/OrganizationUpdate.php: id: ee7171f9eee1 - last_write_checksum: sha1:5e4c7dcb1713186cea81c3c2d68f1400058bd049 - pristine_git_object: 88e8139cfefb3352e274f89689df255d86d855ab + last_write_checksum: sha1:210293733eca77865c805bf80befe37abf96b5ac + pristine_git_object: 1e6f547390112a52fd20e88e3fe04c5397e46cd6 src/Models/Components/Pagination.php: id: d236c6cb3209 last_write_checksum: sha1:93f8baa6d5ef69f7ee9607761fdeb418f318d0f7 @@ -7336,6 +7844,10 @@ trackedFiles: id: 08dc24a5df4f last_write_checksum: sha1:36412160f9eef3ab61a5afd6bd15665599982ef4 pristine_git_object: 42bb9165d2a2374352d6434d79893a641c203ae6 + src/Models/Components/PaymentTrigger.php: + id: 136b0d33ce04 + last_write_checksum: sha1:ce4c6c7ae1d68848d4b627cfa490cae7fb90b862 + pristine_git_object: 8724ada29ae85f5c874b382df96312cef69b939e src/Models/Components/PendingSubscriptionUpdate.php: id: 59d20d003990 last_write_checksum: sha1:33639a7857e38319293eb6fc5dad0d1b655c847a @@ -7350,12 +7862,12 @@ trackedFiles: pristine_git_object: 1bf59617f460dbe553119cca07fd1547683f594e src/Models/Components/PresentmentCurrency.php: id: 6a5288741fb3 - last_write_checksum: sha1:cb7541a062bc4be994e8eb50119e9d29989768fc - pristine_git_object: cc4082afedd2d63ef422e03bdcfd8141ef2724ca + last_write_checksum: sha1:8c2768a2f1bf09b12505ec42cc1f17e669a8239a + pristine_git_object: abf4bab59133360e98361d55d05dd4ec8aa2b1eb src/Models/Components/Product.php: id: 0f3be372058e - last_write_checksum: sha1:4d9bd11562eebe420980806faa109f87be9784f3 - pristine_git_object: f9685a6c1096edff8c112c32cfcb70c8fd764ed1 + last_write_checksum: sha1:fcaaf916a55feaec8aef026b8f97d2fef5537a79 + pristine_git_object: 68a42716a1d0bf5d0c2ad1cd9c23fb028b72d333 src/Models/Components/ProductBenefitsUpdate.php: id: 97e58cc10328 last_write_checksum: sha1:654af21c8518751e1bd8fd14dc9727f3d7970dd7 @@ -7366,12 +7878,12 @@ trackedFiles: pristine_git_object: eced2a35de0ab584eae8282875f7147d6111193f src/Models/Components/ProductCreateOneTime.php: id: 7e708e74b88e - last_write_checksum: sha1:975fdae51ac3fa194c42e5f710fb32f989e25bad - pristine_git_object: fe2cf5910c9fbea501877f1db2428916e2843883 + last_write_checksum: sha1:151a08926f16678e2921738e125056aa4bbc8c53 + pristine_git_object: 1046ffe7255d2296bc7d973dc42fe7a886f256a4 src/Models/Components/ProductCreateRecurring.php: id: 0f7378397ecc - last_write_checksum: sha1:3ccd54a4dc6ff735bcd9e8815932d3f422551921 - pristine_git_object: d95f638119f7bd0a7e69273441badd2c595e4e56 + last_write_checksum: sha1:a1ebe9bd90834d94fe5a20535eba89eac901f9f0 + pristine_git_object: 34cfd322f848276dfb74727940fa32789b626a17 src/Models/Components/ProductMediaFileCreate.php: id: b515cc4410c9 last_write_checksum: sha1:442d3ea72cb86bf13b04684d5b798424d75a5a01 @@ -7382,32 +7894,24 @@ trackedFiles: pristine_git_object: 5f4a37c1d165df64c6bb801226f49129ebe4160d src/Models/Components/ProductPriceCustom.php: id: c591e7945a19 - last_write_checksum: sha1:2e83f2ebce16fc55619072a540334ed6041865f4 - pristine_git_object: 9107eda72fb61bdf659c4daf56f7941dfa8299cb + last_write_checksum: sha1:f0ffc7bf9b1e2842dd4982c512844824159ac29f + pristine_git_object: f1eb305acfcdf3ac5afaa927ef74d1cbb709e851 src/Models/Components/ProductPriceCustomCreate.php: id: 3884fb5bf136 - last_write_checksum: sha1:45cb829bda9cb8265b0534854cfb018746147086 - pristine_git_object: 7690a2ba8e4a4936275a7462fa7f1efd6337053f + last_write_checksum: sha1:b62dcc83c1a1148c8b2a9e44ec13d6e7a8c14ff0 + pristine_git_object: 4f10cbc1fc1959ce6c18062acbaecec9912b43e7 src/Models/Components/ProductPriceFixed.php: id: 5dfe5368049b last_write_checksum: sha1:07b437015d1321f7a0e302de6112ff014ef965c2 pristine_git_object: 284600c72a0ee550f1ffeb23f7b0000e1f5eaa85 src/Models/Components/ProductPriceFixedCreate.php: id: e037208c7cb6 - last_write_checksum: sha1:3459ade7573284c800f204d9ace0e5ab26abff41 - pristine_git_object: 03d9cfad2100f4d6fc5d607cfb73dde46bee7ca4 - src/Models/Components/ProductPriceFree.php: - id: 63b84392e7fc - last_write_checksum: sha1:8fbd5d704c0a985f0e52cb682a6a50f665b0b4bc - pristine_git_object: 26a1146cc5111779b0e2eeb277a2f0d014b1d6b0 - src/Models/Components/ProductPriceFreeCreate.php: - id: d8b4b7fbe4be - last_write_checksum: sha1:922cd6242aab82e6e9d6b8f2fe00b766cdc19ff0 - pristine_git_object: 58b19edc6f3eba7e07a8e629c4a445f4a5ce7971 + last_write_checksum: sha1:c0d3a10ff173dfad71df6716a661630ab9119cc0 + pristine_git_object: ec1fadaa1fec57597fea5c7cfe67399912a41f8d src/Models/Components/ProductPriceMeter.php: id: 9e46c4cdc201 - last_write_checksum: sha1:ab6487ee94ce2e17fb5bfd33d7d1d3c19f3e4dbb - pristine_git_object: f43fb83cfbc9a469f1dc090d3d979b5f81a47a20 + last_write_checksum: sha1:87803f6c3c37b8d20fa6f865a043c5275b6b92b3 + pristine_git_object: c493d2e96ad5c86c9b841580540ff353a849a4ed src/Models/Components/ProductPriceMeteredUnit.php: id: fbe77f682182 last_write_checksum: sha1:ca9fa8e111c511106345797760722b6a6255ef13 @@ -7446,8 +7950,8 @@ trackedFiles: pristine_git_object: bcf6dec1c9b0aa0ce6530e4605a2e1109781e9db src/Models/Components/ProductUpdate.php: id: 5510f4106d48 - last_write_checksum: sha1:4f42286518b9f49ed89133595df6469657ae494b - pristine_git_object: f808d9117fd8161088655fb98ee45dc48c67e1f2 + last_write_checksum: sha1:dc202a203ccdca6a1189d974f1cd6e23a8fdbf82 + pristine_git_object: 448940c40e0dcf5ece0bb8e1ad03f107660369c2 src/Models/Components/ProductVisibility.php: id: e070ee54ca4f last_write_checksum: sha1:c2fe0e56ae0252e831cbafdd733032b95705ee39 @@ -7456,6 +7960,18 @@ trackedFiles: id: 5f69fc5f2415 last_write_checksum: sha1:220d0ed5f36b357ef22916978521d9a70cafe04d pristine_git_object: 02142000dfefe2facf32a82fd9665af4cf68bba7 + src/Models/Components/PublicSubscriptionProrationBehavior.php: + id: 71a51fba5c0d + last_write_checksum: sha1:48b4764b1db8de6635d54c7fc539a33f17830c61 + pristine_git_object: fda5213cd6da88d60f9d4e463917ef33642347f4 + src/Models/Components/Reason.php: + id: 69db42abd4df + last_write_checksum: sha1:3d2b3eae75b3b0c1cdd64692b012fba248626766 + pristine_git_object: ca9f4e2eb1279d7718625d3fdc56456161171d57 + src/Models/Components/RecurringInterval.php: + id: 47548566e9b2 + last_write_checksum: sha1:53d0ffcd8f3946e48539327c216d0d7e66a90c9a + pristine_git_object: 9e857ad2e74b081dbc35a2980082b2966b022b3a src/Models/Components/RefreshTokenRequest.php: id: 1861983d4c2f last_write_checksum: sha1:77ba6396d09db2ff25fc3992ec66b2a07c3df766 @@ -7466,12 +7982,12 @@ trackedFiles: pristine_git_object: 73459e4fa30ff0270e8d9d5aa0a9d2e847a598ad src/Models/Components/RefundCreate.php: id: 1a9eccf11767 - last_write_checksum: sha1:455a47912d6856b13f67488d43aed1eac390aea3 - pristine_git_object: 7fd21201041e78b32a4cb3807dbfb64b425b4ea5 + last_write_checksum: sha1:341447391a2f20e6e4de146b37adb38061cf8fd7 + pristine_git_object: 931bd345b232b0786a8b04cd35d3e43952eac204 src/Models/Components/RefundDispute.php: id: e9c441eb7b9c - last_write_checksum: sha1:67262f313558e5ecb7e145d916ec7f5370857c7d - pristine_git_object: 10a3ac76ffa72077538b0c604cd00dd1c10206c8 + last_write_checksum: sha1:cb6c948cbe0411f7b709fae672830f118cd7a541 + pristine_git_object: f7b39772c11968f6616d48fb4d18f6da147eb857 src/Models/Components/RefundReason.php: id: 06fd108e3788 last_write_checksum: sha1:dc6617e04c2abefdd41586b3b4cce84281a545c5 @@ -7492,6 +8008,10 @@ trackedFiles: id: 51d6bf94bbb3 last_write_checksum: sha1:1be6008064b807f222b8758709de33ce32065389 pristine_git_object: f63fb26c0a91fd0f3ff846b01efad086aea3e5c2 + src/Models/Components/Role.php: + id: 62076282c586 + last_write_checksum: sha1:c126e4e52c255fa2af276faa8494e39760b6a606 + pristine_git_object: c7e7e2449f47423e7389b4ad3482dbc7941d7661 src/Models/Components/S3DownloadURL.php: id: e147f271c0ea last_write_checksum: sha1:a88a3c8fe1d645fb92bfd6b80f1c2ff44224a471 @@ -7518,12 +8038,12 @@ trackedFiles: pristine_git_object: f8237c2412c31a9806d05d2ea1451f92858788ae src/Models/Components/Scope.php: id: 9157e773608d - last_write_checksum: sha1:c2cc31b7a9e1c142a67ab4249a6f8dd31d3c36d4 - pristine_git_object: 3fe20e33bf477c8741a5aba9e5a804cefe88d0af + last_write_checksum: sha1:661ef70456ee023481c73c0473fb45e1e9a30bd4 + pristine_git_object: 9bce520898bd303df520e8b3f58ae05d96b80e44 src/Models/Components/SeatAssign.php: id: a9cb789315ec - last_write_checksum: sha1:94b702e573391c80df3a39eae17e481ddd75a8c6 - pristine_git_object: 545cd9dc93af57666b6abcf568f6c8717d944cb1 + last_write_checksum: sha1:934aa10fe7a2c38c6a6cbcb4967fe3d1a5118ee1 + pristine_git_object: 521b43e9bc06b821435b556b18b924e9b6e26ba9 src/Models/Components/SeatClaim.php: id: 8a79b54e51af last_write_checksum: sha1:60b48f0437ff819c57d0eab5922b73a7a6de7799 @@ -7558,8 +8078,8 @@ trackedFiles: pristine_git_object: 52f4c8037626bcdc9d8b3907c34e62709dba1944 src/Models/Components/Subscription.php: id: fc7cd3ab1b6e - last_write_checksum: sha1:bc776553d127def94ee3d7ecae9d88f0eab78e38 - pristine_git_object: 714a799fed373839aeacc62fa35856923f8068c9 + last_write_checksum: sha1:2f8b7742dd96336fd23216a36a912a91f1c7eb1e + pristine_git_object: 387592e790858562cbec3ab931aa37c3d25c90c9 src/Models/Components/SubscriptionBillingPeriodUpdatedEvent.php: id: e7b4e4e7e5e3 last_write_checksum: sha1:c6ecf47383e20513a38283cbeb45042d42364065 @@ -7598,8 +8118,8 @@ trackedFiles: pristine_git_object: 44f8b15aa5c644d4396b6d0d3dd0db5b13ad712a src/Models/Components/SubscriptionCustomer.php: id: f7541c594854 - last_write_checksum: sha1:e88c5507ec2b35b3d928b215abc2a7fcde011dd2 - pristine_git_object: 579a46051815570b5721129660178eeed2c42f20 + last_write_checksum: sha1:f9aede0c0410f13c5c1f9b77b23774f5ab001262 + pristine_git_object: 80c0d8d731b2f3f49c77a26baff740ba5988e1a5 src/Models/Components/SubscriptionCycledEvent.php: id: 77a93d86103c last_write_checksum: sha1:8dae5ebd195fdd3596e15ee8463dc9503d008bc5 @@ -7612,6 +8132,26 @@ trackedFiles: id: 50afce8cfd39 last_write_checksum: sha1:3ad5ab2a8619b021f5dd88135a1f9e873b7ebce9 pristine_git_object: 10f31ace254aa951253c3bb3c1fe9ea68708dc26 + src/Models/Components/SubscriptionPastDueEvent.php: + id: e8d86381cc8c + last_write_checksum: sha1:d4f9f19a85168b113d61326070d5fd110ba14903 + pristine_git_object: d4a00bbff238284db205f5c2b9458142d01767c6 + src/Models/Components/SubscriptionPastDueMetadata.php: + id: e11c4933da4e + last_write_checksum: sha1:71276daa2baf591262a10761dfd3635ce3c03b03 + pristine_git_object: 851c724c79c387e2dff9b354eb381a61bccc957f + src/Models/Components/SubscriptionPause.php: + id: ed0b582d6a03 + last_write_checksum: sha1:d6c992848ab397faa7cfce4eb155589243f9b808 + pristine_git_object: 395cab04a0440c9cfdec3f6fda1469b3170750ec + src/Models/Components/SubscriptionPausedEvent.php: + id: d6ac15712324 + last_write_checksum: sha1:634e539cab34ced03c136fb0c978fb50018d464d + pristine_git_object: 7562ba814df065318179cc2ce691a98076d03dd9 + src/Models/Components/SubscriptionPausedMetadata.php: + id: 762209f7a17f + last_write_checksum: sha1:45169ef2cd1616b27e6a6b2a563612c90bd563c1 + pristine_git_object: b421be8a4d78ba03b674d2eab7d7071bd0d686f2 src/Models/Components/SubscriptionProductUpdatedEvent.php: id: 3c430ee7cbf6 last_write_checksum: sha1:82d7272043ac4c8c689c152d93415e721c88670b @@ -7622,12 +8162,28 @@ trackedFiles: pristine_git_object: f9a5b6cb4a71c14b42e6b30c4456336aeaffe705 src/Models/Components/SubscriptionProrationBehavior.php: id: 2a5d8d91dfe1 - last_write_checksum: sha1:456da1d253199095d2d257526e6b75392436c0e0 - pristine_git_object: 273b3b9c2014635967cda4b3351c50bf89612f49 - src/Models/Components/SubscriptionRecurringInterval.php: - id: be64e1b502ef - last_write_checksum: sha1:d2194b236f7791289c0cc2025dd38c41e79c0d61 - pristine_git_object: 527eb09d687e6f03bb47f4b18af0b80016ce97d7 + last_write_checksum: sha1:374ff7795ba728ac587b8aad17722f6ee07bd82c + pristine_git_object: af45e93fe54a18bea3e32cefc704d62f0c154c73 + src/Models/Components/SubscriptionReactivatedEvent.php: + id: ea3552dabb45 + last_write_checksum: sha1:95df9817ba95f62fc09ca65ee3ab84ca42624a22 + pristine_git_object: c3c62bdf51d83d14fae4ed429c2152c7f15f0fee + src/Models/Components/SubscriptionReactivatedMetadata.php: + id: ebf4fa69d5b0 + last_write_checksum: sha1:d913d20eb73dc012a44fd0e7871834838da49bab + pristine_git_object: 3d40f14da5a8dcd1c748e7c1094c9a10930180e7 + src/Models/Components/SubscriptionResume.php: + id: 1df37807450b + last_write_checksum: sha1:d2561a710529c158c3781f29e6a7b035be5c9dea + pristine_git_object: 37b15de773de5abcbf54090ab9a5d25d9039f457 + src/Models/Components/SubscriptionResumedEvent.php: + id: 4c2d9e5ec8b5 + last_write_checksum: sha1:e3f0ba1d9039ee33a9672a0bc67a8b1deade03be + pristine_git_object: dc1d004823bdacf1bf3cee14e4174c117c515003 + src/Models/Components/SubscriptionResumedMetadata.php: + id: 5b7941b12cc5 + last_write_checksum: sha1:7567e28c0eba36a6a6e18485e8ac9a371cd8d969 + pristine_git_object: 52d3d81a049ee7e74af6b0ea1e9b639925d3f50c src/Models/Components/SubscriptionRevoke.php: id: 41edc258b049 last_write_checksum: sha1:e84eac61d298ba3a0dfd90e2018cb584abdd2d11 @@ -7654,8 +8210,8 @@ trackedFiles: pristine_git_object: f8f534a82d83b2c5f658ca01d78e943421a54094 src/Models/Components/SubscriptionStatus.php: id: 164f106b7c54 - last_write_checksum: sha1:5d710e1679b7f19f1546d2885cc42a971615bb49 - pristine_git_object: 937f2a40f259b46bf1d7cfef3d96b4b5a0893111 + last_write_checksum: sha1:ba01910b1cbf67cc8b9201d4c6880de20d5b5595 + pristine_git_object: c131cb3ff4a16f2622a7821aa8c940bce5730fe4 src/Models/Components/SubscriptionUncanceledEvent.php: id: 52af3685f6a0 last_write_checksum: sha1:f18286314cd292f2f3c3cbd22a99a8f6bcfbf48f @@ -7664,62 +8220,62 @@ trackedFiles: id: 75061b4364a4 last_write_checksum: sha1:96de8bc778f7e492ea65f257e52b536ac87372d9 pristine_git_object: 8e496d9a171cba62bc073c7f4974cb86a191f66b + src/Models/Components/SubscriptionUpdateBase.php: + id: 3cb7547b8c3a + last_write_checksum: sha1:e83bcaacd94bda0bbcbd8f4cb0010d0f7d64535a + pristine_git_object: a5996982a063b52613614a8ffd06b0d23ee54270 src/Models/Components/SubscriptionUpdateBillingPeriod.php: id: b7c1dda6d6ba - last_write_checksum: sha1:e8e2f5ef6a920a48aea70962fe72f274223f52a2 - pristine_git_object: a7694742af18f2d7597e5825d894a624a922d118 - src/Models/Components/SubscriptionUpdateDiscount.php: - id: 02c81a848f53 - last_write_checksum: sha1:0ddcc0f940a8edd3adebd9cf0344226a9935be37 - pristine_git_object: 3d3936ff8c4a33a1a7349fb58285b01cbb2b46fe - src/Models/Components/SubscriptionUpdateProduct.php: - id: 1b49095d5317 - last_write_checksum: sha1:ccbdd6ac32650c750a7b44054cb805478daaf90a - pristine_git_object: b4baebd3d938b9156e3fdf934ff2d80a2dcd793f + last_write_checksum: sha1:65100512e1bd6257682b3e63e0e778ac09969345 + pristine_git_object: 09aee880ea72011180c5c6b9b27781f95d6be972 + src/Models/Components/SubscriptionUpdateClear.php: + id: 9f2810513aa6 + last_write_checksum: sha1:e650518954e78579d9189722b225aa1535ee463c + pristine_git_object: 45dc19cdc0d149397c1f1e9ce014a10c6af7c311 + src/Models/Components/SubscriptionUpdateClearedEvent.php: + id: 494a244ead5c + last_write_checksum: sha1:3f7c8b244d4cbcb33f823e3158edcd2c1705b08e + pristine_git_object: b0d6e97d9babcaba2cd5aa52edd17f48e71f6be4 + src/Models/Components/SubscriptionUpdateClearedMetadata.php: + id: 331b311cd6ad + last_write_checksum: sha1:2048ce5f4f0d64f49b8ec38caa02bc098c85a0a5 + pristine_git_object: 41c8f8a0a0cd7ff6a423dc77f21ffabc493271b5 src/Models/Components/SubscriptionUpdateSeats.php: id: e2681ddf081e last_write_checksum: sha1:05bcc3e26f6aff816530ad42bc2cd78852285c04 pristine_git_object: 515a72954328e2b51e2093d87b00622439d78a51 - src/Models/Components/SubscriptionUpdateTrial.php: - id: 90f727de5abf - last_write_checksum: sha1:910505c7d80bfa7de8e3ad2d72e440ce5975c809 - pristine_git_object: a49d953fe3120554c297d3bba2d5ae58aea09076 - src/Models/Components/SubscriptionUpdatedBillingPeriodMetadata.php: - id: ba79a4e14e4c - last_write_checksum: sha1:59a9a177f527051c5fd1df030e489fee594e61ba - pristine_git_object: 663140cd44ded8fb80dcdcc301f26213ad61268c - src/Models/Components/SubscriptionUpdatedDiscountMetadata.php: - id: 1962dd22bd8c - last_write_checksum: sha1:5521073473e45b6d6028c8f9137fc58aa654afac - pristine_git_object: 13f401d2d77fa4745672640b345b43ac5c4c68ee src/Models/Components/SubscriptionUpdatedEvent.php: id: 9b0e3c130140 - last_write_checksum: sha1:307d64153cdab4c73828765f002900758038d96d - pristine_git_object: a39f58ad6738c4a0b9b5f68abfff12bfaee74460 - src/Models/Components/SubscriptionUpdatedProductMetadata.php: - id: ce3cdedcc21b - last_write_checksum: sha1:f5247558736975dde1b15d9fec09652357b775e0 - pristine_git_object: 2edd0bbc513a1e6be59d36c4367602b09bbb9ded - src/Models/Components/SubscriptionUpdatedSeatsMetadata.php: - id: c5a1ded80abf - last_write_checksum: sha1:c371e99fc70a8677965f794bc87cb9415f876b16 - pristine_git_object: ad0a0f1751d9f9f9c40ab3c4dbccda44f8ab6ba9 - src/Models/Components/SubscriptionUpdatedTrialMetadata.php: - id: 6a8555e8c093 - last_write_checksum: sha1:d37f6155dd23a1aa5d7dbe8ea7d8644f19d9dcb0 - pristine_git_object: a9d8eae8efebda92b1143364334c0698db556050 + last_write_checksum: sha1:4d12f3a75ca476a89ddcea7aae6cff73fee9f31c + pristine_git_object: 32badf5cd394a48a7749d09ad36d1c7291fe6b67 + src/Models/Components/SubscriptionUpdatedMetadata.php: + id: 73bd09668ce6 + last_write_checksum: sha1:18cf41e998f6637159766ad9bcc88d4bb1eca7a6 + pristine_git_object: 305d6663806b04866de8630be1d75052056c99e5 + src/Models/Components/SupportCaseAttachmentFileCreate.php: + id: e4a61e7b4e4b + last_write_checksum: sha1:c929845322caf25bb70f3345f9b7e4b8c868a905 + pristine_git_object: f6eeda64724c7f641adabbe852f442ebd676701f + src/Models/Components/SupportCaseAttachmentFileRead.php: + id: 7b77f029622e + last_write_checksum: sha1:a81adb57329fb0818d4363f5502bf0a64d51a6f4 + pristine_git_object: 61a8a9b1b24c1308c682c7e07766d1ff5d421fcf src/Models/Components/SwitchingFrom.php: id: 6d3c865c686e last_write_checksum: sha1:f09573d52ed71081ffff017a42e7deb025f414ad pristine_git_object: 193507005294f845be36d50318bcf2d04c365ec8 + src/Models/Components/TaxBehavior.php: + id: b4444535b13b + last_write_checksum: sha1:29c1f4d1e9d249652146c2c11d65444f87325e83 + pristine_git_object: 6824483cc1b0db493e1cde6127adb707567dd828 src/Models/Components/TaxBehaviorOption.php: id: 0b9750e8c59b last_write_checksum: sha1:2afce5c3e52d0218419922179bc97c65a3a2240b pristine_git_object: ef5244fbeacf6abc4fe7235cafccf67d789ddbb0 src/Models/Components/TaxIDFormat.php: id: "9637568732e6" - last_write_checksum: sha1:08a3b8bbeb1c95d27567550799728febca4ab32c - pristine_git_object: b62728c2323cb21e75a345c363d5929fbd9f60b7 + last_write_checksum: sha1:c925c96bc634dafcb5f0adbfed3851d2a799e9b5 + pristine_git_object: c8cf4e7f185645702144340535527bd005b2ae6d src/Models/Components/TimeInterval.php: id: 3548f4acc04c last_write_checksum: sha1:f370ad6d5945c611df7a7e0ade38f5f0821141e7 @@ -7782,28 +8338,28 @@ trackedFiles: pristine_git_object: e514e07e578a3606981a375f69cfeffe6505c770 src/Models/Components/WebhookBenefitCreatedPayload.php: id: b47f69720cf6 - last_write_checksum: sha1:fba6a2caf6c0e3495dcf5a968da92cd475d68315 - pristine_git_object: 9d99ae6274d748019b9a9eca59c3571430eace7e + last_write_checksum: sha1:fa962ad8e4d115732203f99e95df262aeb7af70a + pristine_git_object: 0ea8bdfc6d237c156efa01feb55effd6151ec12e src/Models/Components/WebhookBenefitGrantCreatedPayload.php: id: 8b322a2d086e - last_write_checksum: sha1:d7cd8de626ca02f7e32a7c5fdbdba4e84648c5aa - pristine_git_object: 7bc00743483b2623b8b4a99d77df7d613b40aa77 + last_write_checksum: sha1:ed0f7741cfd04d685462ba0126a9a627c655f4f9 + pristine_git_object: 6c4dbd414d8c9d0af115fa4f2007b86793004f31 src/Models/Components/WebhookBenefitGrantCycledPayload.php: id: 3b709c927405 - last_write_checksum: sha1:76bbe5b6feb7629bde96f6774724cd37de61c858 - pristine_git_object: e84dc49ac1284619a5f1075e155283dd5ee2734e + last_write_checksum: sha1:4e14f0d8db8a5ef394614f11d24e018768a2295b + pristine_git_object: 67b92ff27cb3d3e50e6d877c9062b784330e2117 src/Models/Components/WebhookBenefitGrantRevokedPayload.php: id: 5e510e2a237e - last_write_checksum: sha1:6cfba6dcf4182624df470e0f2e84c8923fb3d029 - pristine_git_object: 99a1faaa33305e83d45b28d30653bff62d12640c + last_write_checksum: sha1:431d584396e5acbcfa43d0550a912665fdc1a6d9 + pristine_git_object: 227d2070b2be19dbafafaac49acab26b03ccf4dd src/Models/Components/WebhookBenefitGrantUpdatedPayload.php: id: ae06ffe7492d - last_write_checksum: sha1:0416067f86bded6a6eb83f6580b48eb33b4a6829 - pristine_git_object: 5194d9aa99bda83c878da3cf565d0d45c1af3496 + last_write_checksum: sha1:4b71aa2e13aa709f658f203b067795d4f4467365 + pristine_git_object: 8280082510fe5c2630ebc51b8ec050a05c60eb88 src/Models/Components/WebhookBenefitUpdatedPayload.php: id: c92ac91aa86f - last_write_checksum: sha1:56538aae02e6d765a2211c7d41879c8fdcbbe2fe - pristine_git_object: 5621c42d309d48f2eff8928e188f1a4703ef9a3f + last_write_checksum: sha1:d323e6470e5bc750e22302f05206e8177ddddb9e + pristine_git_object: b09a8e2a27b1d7b6a6b5a1b5fee5129073c9491e src/Models/Components/WebhookCheckoutCreatedPayload.php: id: 87113aa2ecc4 last_write_checksum: sha1:b0a9edbae6b82f878a769b0ee0daa0da8aba4b2a @@ -7866,8 +8422,8 @@ trackedFiles: pristine_git_object: 7da09db0a0e9339ab356cd9cd05464155f34bd00 src/Models/Components/WebhookEventType.php: id: aa6707ce7d20 - last_write_checksum: sha1:e28b247b87eecc386a9ae6253c0291b79f60af3c - pristine_git_object: bb5730c75354fa6b6b67a2c0ef3a013b359bc0d0 + last_write_checksum: sha1:9383a66fa92a8e6f90f76e63d739e332e2e2a524 + pristine_git_object: ff4b8060c7fd0edd6875452e5e15e28c97a491d6 src/Models/Components/WebhookFormat.php: id: 851be54bd06c last_write_checksum: sha1:73b68dec05158d21f0eda6476df2cd78a1af7c78 @@ -7936,6 +8492,14 @@ trackedFiles: id: 3bf844dc2a16 last_write_checksum: sha1:48e954ea62c4798a8c973e2bb1ad0c3e90ce308d pristine_git_object: 92e434d91327f421336a08dd33e58881fad6a60d + src/Models/Components/WebhookSubscriptionPausedPayload.php: + id: f762ca31f6c4 + last_write_checksum: sha1:2032faf54418dbd7666af4b1c5f670fcb1852ec3 + pristine_git_object: 26bda27602581d18791dee01b72d3280d552ce11 + src/Models/Components/WebhookSubscriptionResumedPayload.php: + id: fc8eabb8af6e + last_write_checksum: sha1:f2bc2951dabc80b8d6b09f570ae280a10d49a1ca + pristine_git_object: 07ad979a65bdec484649054d0f572a8e32b2d904 src/Models/Components/WebhookSubscriptionRevokedPayload.php: id: 51070a7d4a67 last_write_checksum: sha1:2eea0608af193a5c707b67a5c05cc6ea14215ad0 @@ -7964,10 +8528,34 @@ trackedFiles: id: bf7546ed90c0 last_write_checksum: sha1:0d7cc3eae4f6a4d8e7d88f709be875a643d60b02 pristine_git_object: 805573b3e5ca20bb1d1192b7ef25051bbd9a619f + src/Models/Errors/AlreadyCanceledSubscription1.php: + id: 059e0cb1d439 + last_write_checksum: sha1:327fd2ad7d6bcb5eb906943374adfe95a9e6a150 + pristine_git_object: c5d99f4671a66e47bcef6515e26fc66712c8dc05 + src/Models/Errors/AlreadyCanceledSubscription1Throwable.php: + id: d376caa84356 + last_write_checksum: sha1:58ea1ad55e8539729c7f06c1756c2e52a475dea6 + pristine_git_object: b94f47c86232de7fea69794644be8e4ccdd411f4 src/Models/Errors/AlreadyCanceledSubscriptionThrowable.php: id: d800c825d884 last_write_checksum: sha1:6270aa8f7e52632ea89d57ee66c3db1030d9cc2a pristine_git_object: 17cbe360c40ed957e2235487041ad4e615d82459 + src/Models/Errors/AmbiguousExternalCustomerID.php: + id: e8148314c344 + last_write_checksum: sha1:e67531fe205654d0668c75f24daacbe2637f7ddf + pristine_git_object: f56921ea8f08b674e755814f7f9e954d7648631f + src/Models/Errors/AmbiguousExternalCustomerIDThrowable.php: + id: e840e6bd766c + last_write_checksum: sha1:01108e65dd3d71e3a2488ade10b17673dc76bb57 + pristine_git_object: 9195f22205cbda9e8f59b4cc28fb0da3cd648eda + src/Models/Errors/CannotCreateOrganizationError.php: + id: e7a47f9bc7a2 + last_write_checksum: sha1:36f5ae74774fc27f1db60929ec618ba5b1fab0fc + pristine_git_object: e85bbbba692441d2ef014dd6c8fd46281064855d + src/Models/Errors/CannotCreateOrganizationErrorThrowable.php: + id: 7f3d21053d86 + last_write_checksum: sha1:d4426fad762da465c85dda1cfd575b088208c357 + pristine_git_object: d80977463ee7c17543749fc734eceeb704f254c6 src/Models/Errors/CustomerNotReady.php: id: 1d840deb6a2f last_write_checksum: sha1:afdd21eb23e6884ad4b4342047eb3f4985462fb6 @@ -7976,6 +8564,14 @@ trackedFiles: id: f469de483a84 last_write_checksum: sha1:8dbdad31df0fdf96f0a973cbed9997979912029a pristine_git_object: ab8dc41ad1925a2efdd1c7c78ed46316c9a7e095 + src/Models/Errors/DisputeNotOpenError.php: + id: 160d91833f5b + last_write_checksum: sha1:cc1c271b3cd0274ecc5f1ded3be5354f1d854b34 + pristine_git_object: 119c699d690e205d0bef6f908d3861fbc29d9ca0 + src/Models/Errors/DisputeNotOpenErrorThrowable.php: + id: 872bf83ceeb9 + last_write_checksum: sha1:6f609ef2021cd73986b8e2f0696ed7929afdcd45 + pristine_git_object: c35af5015c680235629a0f57076245f14e011cd6 src/Models/Errors/ExpiredCheckoutError.php: id: dc6876cbd8ff last_write_checksum: sha1:f4942fadf572bcb8b93f7292a0bd38bc1e9fb6f8 @@ -7992,10 +8588,18 @@ trackedFiles: id: 7bf1758122b1 last_write_checksum: sha1:db405d3b4e9b7c7b6595b105244279530a5b654d pristine_git_object: b76e9c5835e94a725ab3e75844f9ed6a4a384483 + src/Models/Errors/ManualRetryLimitExceeded.php: + id: fee4aa2eb43d + last_write_checksum: sha1:92187636f0c220dbc52a3c2c1b11a556a8953808 + pristine_git_object: c6adfed094b51bf1c77d7d6789fcaf9c7c6d738c + src/Models/Errors/ManualRetryLimitExceededThrowable.php: + id: b930161dc61f + last_write_checksum: sha1:69f9493f50ff0c23ad3b2ebce69f51aed01b898a + pristine_git_object: 6c242327456c121f5a0b38011d2a9c1a5bd5acbd src/Models/Errors/MissingInvoiceBillingDetails.php: id: "5606533175e0" - last_write_checksum: sha1:baf7e1d950c44aaa59625e8d09f40c71e9d47ac9 - pristine_git_object: f977a02496d42c5280dd476553dfd806f22abf46 + last_write_checksum: sha1:d52a96cbb60e30c1c02a8f9d26055e83b43be26c + pristine_git_object: 436a2a9cb240af6625be41f391dbaf0be17dd88d src/Models/Errors/MissingInvoiceBillingDetailsThrowable.php: id: 1a17a7808b90 last_write_checksum: sha1:741e79483c11f5b18f55f96742b1b5c123d7011e @@ -8008,14 +8612,6 @@ trackedFiles: id: 6ce67c9c0c27 last_write_checksum: sha1:92d5c25b57e3aa8f3471ba01d3b4cc2e69a99b30 pristine_git_object: dd98fceca11c3d96a033dd65829723b56b5e8eb7 - src/Models/Errors/NotPaidOrder.php: - id: b8272841d156 - last_write_checksum: sha1:e07804823ed90806048a26c4a23f64f32805a87a - pristine_git_object: 796b0b3240aec316c835286f941ec442bfe937d3 - src/Models/Errors/NotPaidOrderThrowable.php: - id: e5e5a6708a43 - last_write_checksum: sha1:5e93eaf023d01ad492607119584d8d496c9ee711 - pristine_git_object: b7c4ea899cf7a8c40fe4c0fae828e3df20466d2b src/Models/Errors/NotPermitted.php: id: daf717e4812e last_write_checksum: sha1:f7802f81307aadf56de2d62393507e4617193fb5 @@ -8024,6 +8620,30 @@ trackedFiles: id: 026367c855bc last_write_checksum: sha1:23accbfa16f0c43bc90cd7e8f100954f357e1a29 pristine_git_object: 8f40dcd814698548f5db535dfcd5045a49d97a1d + src/Models/Errors/OffSessionChargesNotEnabled.php: + id: c2ffdfe100b5 + last_write_checksum: sha1:d6933bec2f73300cbc85404e1b9a0a56d00de57f + pristine_git_object: f41e954a2ce38676fd1ecc6933655c491f2d9c97 + src/Models/Errors/OffSessionChargesNotEnabledThrowable.php: + id: 2a463d55bbb0 + last_write_checksum: sha1:f39fa79ec5a4495cd47f8ac228d5522c500454b9 + pristine_git_object: bfa4a449242e678a8b8acde3684a70de644a20f4 + src/Models/Errors/OrderNotDraft.php: + id: 998e8e9e25d7 + last_write_checksum: sha1:77f747cf28890b79c11ea5686b99cbd6855e18b3 + pristine_git_object: 658411dfd2912ada3b92d5074e3d4507649187a7 + src/Models/Errors/OrderNotDraftThrowable.php: + id: fabacd4a16e1 + last_write_checksum: sha1:85695951590c752495dd400ec7ab8066b3fefc5a + pristine_git_object: ba31c8b88eaa6df29b2cf6677969923c56a4f902 + src/Models/Errors/OrderNotEligibleForInvoice.php: + id: 3d50d3122e09 + last_write_checksum: sha1:ecdddf1b4c734c2c17b0fda792248a66c38f183d + pristine_git_object: da35680525ab56b6662919927664235be6e5509b + src/Models/Errors/OrderNotEligibleForInvoiceThrowable.php: + id: 9934c1b5b981 + last_write_checksum: sha1:86ac53f12c79a06f2866c28c0c3782d05707124e + pristine_git_object: 380f1bc4d76183dcd402a136534be28ff24077be src/Models/Errors/OrderNotEligibleForRetry.php: id: 0dd3c6bd49f5 last_write_checksum: sha1:fbca6e1b327083edfba2b3a38a49b64690899744 @@ -8032,6 +8652,30 @@ trackedFiles: id: cbff30f926c2 last_write_checksum: sha1:f0ba80db105cb3763402fd0dcf1e073a77318e6c pristine_git_object: 907596a0034edb2ced8cfc1ca1addcb4f5cda943 + src/Models/Errors/OrganizationNotReadyForPayments.php: + id: c097bfdf8bfc + last_write_checksum: sha1:666a71ff36a26319c96c9ef9f039988bde91b2b9 + pristine_git_object: 9bf9bbc7220d1251c80cb49e0304d44f60707340 + src/Models/Errors/OrganizationNotReadyForPaymentsThrowable.php: + id: 9d9497947540 + last_write_checksum: sha1:9edab61a4ee5ba2a47b89a0641e252dad7943c79 + pristine_git_object: a50c7c99b50a4abf95c2db1c21765a8b9c26785f + src/Models/Errors/PauseResumeNotAllowed.php: + id: 56875e63e359 + last_write_checksum: sha1:2a04baf3ec52e2654c2c07693a32e5d73247b73a + pristine_git_object: 2e6b3eec43b84b3c19314ed9b7cc12e9a12d39fd + src/Models/Errors/PauseResumeNotAllowedThrowable.php: + id: 673eac846732 + last_write_checksum: sha1:731414468556f8e9c3348da309a42696df12ee50 + pristine_git_object: 9528b87f94b0b428ed7208bf79ad5d90c8b1fce3 + src/Models/Errors/PaymentActionRequired.php: + id: d0f51b5d2897 + last_write_checksum: sha1:7b47bbdf5da7ae86d0990bc207a4cbb0670915fc + pristine_git_object: 1b89068894310f00b658268b717ae35786d1612d + src/Models/Errors/PaymentActionRequiredThrowable.php: + id: d906658b2785 + last_write_checksum: sha1:ea5cf5ededdcbf4ccc4738d83bbc7c82c99ea115 + pristine_git_object: 537436b26390773dbe3811b8fae9de868ad47728 src/Models/Errors/PaymentAlreadyInProgress.php: id: 82a19fe7b18b last_write_checksum: sha1:0b26513ecc9834abe208775d466167645d492924 @@ -8052,6 +8696,14 @@ trackedFiles: id: 7cbebb23891d last_write_checksum: sha1:6672536e88b45e0196b8300a485fddf59db7bdc2 pristine_git_object: 6056c0766844f128bee632a435e1e4e1b92a34db + src/Models/Errors/PaymentFailed1.php: + id: 20595ef9d3ae + last_write_checksum: sha1:ef51334e978091a3ca6b446e1f06604a99422786 + pristine_git_object: 5a322b9101a8e499b3b57b8596d669e4c2f199b5 + src/Models/Errors/PaymentFailed1Throwable.php: + id: ae16c43c6cc8 + last_write_checksum: sha1:8182f1c2029b4914c74c4e477f4d29e1e6eeeb0c + pristine_git_object: db9c6b80f671f7f8adf2869da634b648e2279f01 src/Models/Errors/PaymentFailedThrowable.php: id: ca1f37e81915 last_write_checksum: sha1:30615ba7eec324a62dbfbab2c0311d1f7e274c62 @@ -8064,6 +8716,14 @@ trackedFiles: id: 31c005c6eb5a last_write_checksum: sha1:c58f6a5bad8145bebd31aa48ee99f9a832edebc7 pristine_git_object: e94f6c05b6096e55e90dd466587f61e432e2531c + src/Models/Errors/PaymentMethodSetupFailed.php: + id: ea34a885b7a7 + last_write_checksum: sha1:90c599fccc9b709cf31d519c8e6fbd690d274550 + pristine_git_object: 93ba30f0e789c5149ad135e4427854c091280c62 + src/Models/Errors/PaymentMethodSetupFailedThrowable.php: + id: 779611c5242f + last_write_checksum: sha1:3cb432f8c54f4c65e417b82d5539b202dddb4801 + pristine_git_object: 72d206177a11b65772986139e00b0a9c19d36370 src/Models/Errors/PaymentNotReady.php: id: 32e3e5377843 last_write_checksum: sha1:d1fcb2213583772420d0bb2a4ceb5a31b6fa9a21 @@ -8088,6 +8748,14 @@ trackedFiles: id: 62f3f043b139 last_write_checksum: sha1:7456d1db57d95a4c5e2cf0e65511d034c4381884 pristine_git_object: 7222b997683b9efbac61ab549df471e4a4a333bc + src/Models/Errors/SSOEnforcementRequiresConnection.php: + id: c5dc5792d665 + last_write_checksum: sha1:52b5a3037c45e35dc9062b2e5636e2d941866268 + pristine_git_object: 498ab363a9d581dbef7604856fd756ac8724a583 + src/Models/Errors/SSOEnforcementRequiresConnectionThrowable.php: + id: 4e42bb16695c + last_write_checksum: sha1:770146f5c37200974278ca3e5ed6627b1e70e640 + pristine_git_object: 5672036fade7b6dac4b05e963483371cd4bbca6c src/Models/Errors/SubscriptionLocked.php: id: 93726aeec3fc last_write_checksum: sha1:b822bd5e448669aa41dc3a64e89c024b72b3968a @@ -8122,8 +8790,8 @@ trackedFiles: pristine_git_object: a12be46987278344b994ad3348e33b4b11fc1a0f src/Models/Operations/BenefitsCreateResponse.php: id: 30c97d0d4ed4 - last_write_checksum: sha1:f4b997a860d8563c8753bc782ce4cb198f80ddab - pristine_git_object: c4eba3cee92e41799018b27b1757b10da7e819c2 + last_write_checksum: sha1:b7916c7660be10f45c8a1c5e601926c52c1aa946 + pristine_git_object: 208cfd349d0f391e00be5d25eee2061b91398bab src/Models/Operations/BenefitsDeleteRequest.php: id: ac982e229d3d last_write_checksum: sha1:209fab7c6c6ae6774a77fb9f1a2f702b45dd3f13 @@ -8138,8 +8806,8 @@ trackedFiles: pristine_git_object: d81e7a7a2c903c1300711792125de3bfbd47acae src/Models/Operations/BenefitsGetResponse.php: id: 01280ef96ce8 - last_write_checksum: sha1:072af7d746cb3845fb573d5949c473d880d0d34e - pristine_git_object: d68e084476f24051d43bf43e8a9a034e5cfa4291 + last_write_checksum: sha1:fc048906a41c946b3aed7f2f80caaede82c7dedb + pristine_git_object: fe7cef88d06f2c224e3f89bf2612a914b9ff8381 src/Models/Operations/BenefitsGrantsRequest.php: id: 7279a578294d last_write_checksum: sha1:be8ac4ee24802dafbb96970ca9cd96d89d1f91ed @@ -8158,12 +8826,12 @@ trackedFiles: pristine_git_object: cef19b5e12ea032495e68baa40032a99e999ba31 src/Models/Operations/BenefitsUpdateRequest.php: id: a2dc4dad649d - last_write_checksum: sha1:d6e789f9eb8f29c38749d3e1a55522566a62936c - pristine_git_object: 3c6217f7dad39f785f37fc996f0390e095d0332c + last_write_checksum: sha1:b92ff1aecca4bc770448f7bd884dc50832a19327 + pristine_git_object: ab2880c4cc71fbd7c78485b204c7d8c34430ef6c src/Models/Operations/BenefitsUpdateResponse.php: id: 2b4fa86a7285 - last_write_checksum: sha1:c8922691a6d80c9154db1e3e3a536cd52b88a794 - pristine_git_object: 1928b788075e6763a7213518bf083e2bb9bcad88 + last_write_checksum: sha1:12ff4b4cee0d64767767e44d0301c4b76c4b8c4e + pristine_git_object: d6ccd7d03114935d1bd2287636af76a368734727 src/Models/Operations/CheckoutLinksCreateResponse.php: id: 5b20aa377610 last_write_checksum: sha1:7ad3845be16d93e23308b6019f14971d0e3d83e2 @@ -8310,8 +8978,8 @@ trackedFiles: pristine_git_object: 7e8123e196800873565ee9fe1f298ff97e0db91c src/Models/Operations/CustomerPortalBenefitGrantsGetResponse.php: id: 2ee33cc3e859 - last_write_checksum: sha1:c4c55c633c8743ecb03357c4a1c5e853d5a061c0 - pristine_git_object: 46b23b2db9b0cc4701a6fb3c5d8c0a97137ccbdf + last_write_checksum: sha1:05ede787d4b069e7b73cfc388571538dad1f7b06 + pristine_git_object: 32eee810335049db42dbbbc4cec47efeccb68493 src/Models/Operations/CustomerPortalBenefitGrantsGetSecurity.php: id: e1962ed591f8 last_write_checksum: sha1:3b22ee59c057061d8b192d3c79aafb93e2f45600 @@ -8330,12 +8998,12 @@ trackedFiles: pristine_git_object: aa0d794a36453a3e6d093336da55fb579c4d4eb5 src/Models/Operations/CustomerPortalBenefitGrantsUpdateRequest.php: id: 395bc576e586 - last_write_checksum: sha1:8486e9ffb37f5e0d94a82a24cb6fe56f0f95b95c - pristine_git_object: 3ede2b3866f1dcf6a561884f7939f4e4d5b71dee + last_write_checksum: sha1:33e6246f825d355d87839cdbf58dbb6779be6730 + pristine_git_object: 8b51a5f57ea9069e80790920b63ecb9fccb6dc4f src/Models/Operations/CustomerPortalBenefitGrantsUpdateResponse.php: id: 7e308afcd96e - last_write_checksum: sha1:97faea648245fd2871ee2902ff7ff5b6ff287866 - pristine_git_object: 88522194b0b3c95b1430cf9d31a0cb79d77560f3 + last_write_checksum: sha1:687f8ac44086bb7981a71489ba5b4d8ee0ff305c + pristine_git_object: 54ef7e11f53869c9d7d1d1f08b3522f9a0757edf src/Models/Operations/CustomerPortalBenefitGrantsUpdateSecurity.php: id: f7fdb7936b9f last_write_checksum: sha1:fc4152c560590c048e5c45fab54cb543962f09d9 @@ -8388,6 +9056,14 @@ trackedFiles: id: 7a19efd0ba48 last_write_checksum: sha1:6d87edbc9ffc1733843bead0765358c2f834ccc4 pristine_git_object: 6c5d4aaa7a335e771b17da0f90e464efe6519061 + src/Models/Operations/CustomerPortalCustomersCheckEmailUpdateRequest.php: + id: 1521172c8269 + last_write_checksum: sha1:6594582260e53330034f060cab038115984e5194 + pristine_git_object: ddbbff3f6ae528dd39ad70633a2210c298aac5f4 + src/Models/Operations/CustomerPortalCustomersCheckEmailUpdateResponse.php: + id: b88321ff7983 + last_write_checksum: sha1:75ab59eb21c870479142a7c2dedd03afb7e455a0 + pristine_git_object: ee59b7920f9a5191b4f4bedcd43ab4d0cc9f660f src/Models/Operations/CustomerPortalCustomersConfirmPaymentMethodResponse.php: id: a17ce0b0c2d6 last_write_checksum: sha1:b56498479555ec4c68cd0120bccd4f06b31e10d9 @@ -8428,6 +9104,14 @@ trackedFiles: id: 94df4310c3d0 last_write_checksum: sha1:2b93b0eefae7ece1859a8344cf8eb4d654c90119 pristine_git_object: 3e788e65afd36860c00be32a5f025a5d9fa13103 + src/Models/Operations/CustomerPortalCustomersRequestEmailUpdateResponse.php: + id: 39b02497478d + last_write_checksum: sha1:f17b9597fcd0e9a9c2b7ea471ccc48839344c217 + pristine_git_object: b1dd83e0bfdb6938a198aba7bab9c0296c9d0068 + src/Models/Operations/CustomerPortalCustomersRequestEmailUpdateSecurity.php: + id: 0978d84b63c9 + last_write_checksum: sha1:767874d0dad578db7416c77a28fddccba10a14ac + pristine_git_object: 0d9124cc7b507aef8ccedf3687046421ba1ce503 src/Models/Operations/CustomerPortalCustomersUpdateResponse.php: id: 506270b2a8d0 last_write_checksum: sha1:7af0285a90f3536e150166275088b1aa519a6f10 @@ -8436,6 +9120,10 @@ trackedFiles: id: 60d0abbf819e last_write_checksum: sha1:8f98393f0d016b7194c8ae0d0a40eb74543a0407 pristine_git_object: a731b7916bde4c7172370f0b41b83d8ca4b3862c + src/Models/Operations/CustomerPortalCustomersVerifyEmailUpdateResponse.php: + id: 1434ffcd69d1 + last_write_checksum: sha1:dbae3322a83b120cb9fa57591d8a760c2508da72 + pristine_git_object: 780982051be0540c8ac65c8e665cb73b506f1c29 src/Models/Operations/CustomerPortalDownloadablesListRequest.php: id: 0017ff02d7a4 last_write_checksum: sha1:6eaf80942a751f57ed43b6fecf9b2cb38ba6ad3e @@ -8584,6 +9272,18 @@ trackedFiles: id: 312bd2a23c60 last_write_checksum: sha1:a53b6773a9d1a35900638ee850e2988182322616 pristine_git_object: 83f52eccdbb7d2ada3191f3b81ea57a51eaa71cb + src/Models/Operations/CustomerPortalOrdersReceiptRequest.php: + id: 4bad78deeb4e + last_write_checksum: sha1:0cb42b8f6eb9d3d2acc0d7d646e0716874a562b8 + pristine_git_object: 92da37700a04ae3f11aedd256402c6204b2318f6 + src/Models/Operations/CustomerPortalOrdersReceiptResponse.php: + id: d6699d786ebf + last_write_checksum: sha1:76bdbdd46754ae0c0ef3dc0df82a4cfad19e31c1 + pristine_git_object: 255af78c374d058e534a44d249ac4f19961714a0 + src/Models/Operations/CustomerPortalOrdersReceiptSecurity.php: + id: cb46b0de60ad + last_write_checksum: sha1:1c8e51f5ac3ddd6f05c34cdd623e395d4994d488 + pristine_git_object: 01dd31708d7917f96477a57d9018770876709a8e src/Models/Operations/CustomerPortalOrdersUpdateRequest.php: id: 1ff740ea1e23 last_write_checksum: sha1:66e2bb7fa56d12c69506e1d14cc2a9cb7a29900b @@ -8698,8 +9398,8 @@ trackedFiles: pristine_git_object: d5c2e715ef41cd79f86ebc1d7aefefbd231fbc9a src/Models/Operations/CustomerPortalSubscriptionsUpdateRequest.php: id: 789e29b3f2ae - last_write_checksum: sha1:6318e5964e98afd525631c814218561af6e38756 - pristine_git_object: fd908f795c197efb06a95821913a5adeb38e7b76 + last_write_checksum: sha1:1d9a52e298d73c783af70c604b21a3657cfea3b6 + pristine_git_object: dc966ad85068cbd7a390ff17001563076aede6fb src/Models/Operations/CustomerPortalSubscriptionsUpdateResponse.php: id: 1ee4fed7c828 last_write_checksum: sha1:dde76500b0858e7f11503c3fd679563e962c6b58 @@ -8802,8 +9502,8 @@ trackedFiles: pristine_git_object: 9683ea825233040d4144a5258d598f56c780cf27 src/Models/Operations/CustomersExportResponse.php: id: ea1bcc53cf0d - last_write_checksum: sha1:7dfce61a32cfc1fb919e6f40e7416a1c24c7950d - pristine_git_object: a4b00d26c2c3b249c7b80ca1835da65167448aaa + last_write_checksum: sha1:67fa73985c522020c702f471090e38f94c804b3a + pristine_git_object: 11945a0d801e72fe102d3ae7dd9910ba6229011f src/Models/Operations/CustomersGetExternalRequest.php: id: 19b37dfef11e last_write_checksum: sha1:83be9c4a29a5fc12d79465ee9a565069cadd3d9c @@ -8836,14 +9536,94 @@ trackedFiles: id: 6e164c8bb270 last_write_checksum: sha1:9f3e42751eeb479c666d260059a7482a05150185 pristine_git_object: dfe22dc7e3645f83b05ebfb7e6e5704c9b967f76 + src/Models/Operations/CustomersListPaymentMethodsExternalRequest.php: + id: 1f32b562609a + last_write_checksum: sha1:59d653bb6cf49c879f836395b9357acecd1e9e7d + pristine_git_object: 04ed72bfb199afb51351efa329bea3a8d85b0e56 + src/Models/Operations/CustomersListPaymentMethodsExternalResponse.php: + id: 02fc0a4a568c + last_write_checksum: sha1:19b55ab8e9c92343db90742761ef15dd69d0ffc0 + pristine_git_object: 2703534f27762c5152637a66d6c9eed2859c6993 + src/Models/Operations/CustomersListPaymentMethodsRequest.php: + id: 7c8b54bb1c94 + last_write_checksum: sha1:59cb7adf50a76c20bff9eae91d674488bee200d2 + pristine_git_object: 9373edf2667db23fe8a79a1413c57db6c6c8e40d + src/Models/Operations/CustomersListPaymentMethodsResponse.php: + id: 496a688533ad + last_write_checksum: sha1:61f1777bdb7a37722daf22d62b0bff4c0005bc0d + pristine_git_object: 4c0eaaff53d8b506452a7f61982fb857e4abebb4 src/Models/Operations/CustomersListRequest.php: id: c5a7f86b91cd - last_write_checksum: sha1:f99c50d3bf8ab9e733e31b594cfbcca18e994bf7 - pristine_git_object: ae3ea0533122ff20cb32c8b15f41f1ec3fb3f8d2 + last_write_checksum: sha1:4ddbd959cded21140123c06de8108195288d094d + pristine_git_object: 4d1008f01e22be2f6fb2175d04b60d24dbe1cb2e src/Models/Operations/CustomersListResponse.php: id: 090d1c96bb59 last_write_checksum: sha1:9f787f67732502f33a7c094d5c441252cb4e4c6b pristine_git_object: 68960fc7cb6f375e10b16c2d3fcd7ec4b246663c + src/Models/Operations/CustomersMembersCreateExternalRequest.php: + id: 387893ac77a4 + last_write_checksum: sha1:d0acd896ca5fdb001f9bdac041a2ce8ca7f529ab + pristine_git_object: f70f7766fb447623c0bbac88b00d5499edd7f536 + src/Models/Operations/CustomersMembersCreateExternalResponse.php: + id: d20b8b990bab + last_write_checksum: sha1:74ae2d1830d10c0781d3a8ade53f9569330fa64c + pristine_git_object: 0437f0966ec41176544e221a2ca1f7276e7da833 + src/Models/Operations/CustomersMembersCreateRequest.php: + id: 6cd4505c46ff + last_write_checksum: sha1:b24520d4820e42d6e0bc6aed70df1a29a394eaf5 + pristine_git_object: b2d39a0fb0bf9f764c0eb81d17fb2b06315fde91 + src/Models/Operations/CustomersMembersCreateResponse.php: + id: 9a976c3c56c7 + last_write_checksum: sha1:e142bf734144992d28a21a85ca9cef41690a2633 + pristine_git_object: cccb93124c9cac35ff2d3adcad03d77008b188d1 + src/Models/Operations/CustomersMembersDeleteExternalRequest.php: + id: 5551c14334ec + last_write_checksum: sha1:4e844f9c87c61f5dd9f04ccf7aba35a40afff905 + pristine_git_object: 29b544cb30220eb7e5af2043d7c9765e347558c4 + src/Models/Operations/CustomersMembersDeleteExternalResponse.php: + id: eee2d02ff7e3 + last_write_checksum: sha1:aab17958d4a7a4ef88c63b76a93e13ce9be5edc5 + pristine_git_object: 05a778060a0608d9d7e1247b79b4a786c90f19f3 + src/Models/Operations/CustomersMembersDeleteRequest.php: + id: 683a5964e0af + last_write_checksum: sha1:3c6b98e037ba8a532d80052221d7bb68140aab95 + pristine_git_object: 4b069b09b9d252f04d46646f5ad4867b66f14ff5 + src/Models/Operations/CustomersMembersDeleteResponse.php: + id: c82583cfd30b + last_write_checksum: sha1:75cefb20c8817fb70637da02228b26f1670273c6 + pristine_git_object: 72bce926601a961af2db3e13d18d62520a4b12fc + src/Models/Operations/CustomersMembersGetExternalRequest.php: + id: 61de8fb8f582 + last_write_checksum: sha1:1b4e13bc037d58c66a5ec91378cc171c445536e4 + pristine_git_object: 51b5d0220a79c1425a27cc3e4abc443db8bf19ec + src/Models/Operations/CustomersMembersGetExternalResponse.php: + id: 7362df59deba + last_write_checksum: sha1:9d19d3d2e7956ff844707a9d16a9756aff39106d + pristine_git_object: b9b4fe1297beece7fc551b699f9d8e5de6000acd + src/Models/Operations/CustomersMembersGetRequest.php: + id: 366fcc43aa1e + last_write_checksum: sha1:f67c20eab121aa855fc43a18d5baedbf220c0703 + pristine_git_object: b144d81015a761098bb2df4683c7cd8e1c33f7a3 + src/Models/Operations/CustomersMembersGetResponse.php: + id: 828d055eb732 + last_write_checksum: sha1:0bf4681a3c37aba529f1c5c846c821e2817b64b0 + pristine_git_object: fa762482de14ffd87d9168e4fd95d0e7c91b96bb + src/Models/Operations/CustomersMembersUpdateExternalRequest.php: + id: 0fe58d3260e4 + last_write_checksum: sha1:51754750f3df31a6fc072bf93e7ec8848cc575d7 + pristine_git_object: cdf4e7dfeb9d7a5f26bac5f325cdf60b85680d5d + src/Models/Operations/CustomersMembersUpdateExternalResponse.php: + id: f9ffe375f5ce + last_write_checksum: sha1:2085d9a3b532d5a3e5a206e600efebbe3a630be3 + pristine_git_object: a492a8e15606bc6fd6dc86639340177378528446 + src/Models/Operations/CustomersMembersUpdateRequest.php: + id: 8341d08ae5bd + last_write_checksum: sha1:4040f178a1b9caa885bd4b21b70f05912cb05e9b + pristine_git_object: 486decd5b9b4d4a196e02bddf1c043f764a66a98 + src/Models/Operations/CustomersMembersUpdateResponse.php: + id: d1934616b9af + last_write_checksum: sha1:bd512db5b9265f203017935c1f00e37016174012 + pristine_git_object: 5d1d103198e8c0f8946ad3c32a2a69258360af26 src/Models/Operations/CustomersUpdateExternalRequest.php: id: 8d2b6d97072f last_write_checksum: sha1:9c9bb88b1e5a658cc90b0442d5c1768b917f2590 @@ -8896,6 +9676,14 @@ trackedFiles: id: b214baad77fd last_write_checksum: sha1:9d2f5b7c266a7fb3c204254ca760c6d52975f754 pristine_git_object: 1eb5a1db09c13e743a4292b37881955affbca6c1 + src/Models/Operations/DisputesAcceptRequest.php: + id: 4514bfe31d06 + last_write_checksum: sha1:aa57cea43553c969b97b05df245a57849bb1ae33 + pristine_git_object: 9d8acd47a4cc84904fe3153b537ddae177c0b7a4 + src/Models/Operations/DisputesAcceptResponse.php: + id: 539f4d0ab2a4 + last_write_checksum: sha1:5c18afa8b62c8960c44c59b3683f3df8196fe4a2 + pristine_git_object: 58720da74a3f6507f4f2c5d88946a0ab1aadb536 src/Models/Operations/DisputesGetRequest.php: id: 8433222e07dd last_write_checksum: sha1:07892eb85019b303db97bd04e44e1d9f712194b7 @@ -8934,8 +9722,8 @@ trackedFiles: pristine_git_object: 413d629892f1c441464936014281a640d9330b6a src/Models/Operations/EventsGetResponse.php: id: 7dbd39a0aae3 - last_write_checksum: sha1:482e08e0af05f2f0bc4ac86fdbe0917b9a7b6ea7 - pristine_git_object: cad59a3880e1b750b850e68baf77948f1f64db19 + last_write_checksum: sha1:03c7ea346588b433b26251f1a63733189fc967ed + pristine_git_object: 7e5a8f721ccc96993a4196eacbccc6346ee6a509 src/Models/Operations/EventsIngestResponse.php: id: 3035249ac71d last_write_checksum: sha1:9e77c1c411c3c60c5af7e31a07776911778fe35d @@ -8982,16 +9770,16 @@ trackedFiles: pristine_git_object: 294891f17ee2fe8b893140dc1f206f6c0c0bd151 src/Models/Operations/FilesUpdateResponse.php: id: 3b55df712d01 - last_write_checksum: sha1:4abe5778f46642fa55c3e9eafd639514c8719c4b - pristine_git_object: ef82b195c45ff5cd8f8f81465ff7617ea640f232 + last_write_checksum: sha1:b018c9ecff59adb55934e777e9e364e33213687a + pristine_git_object: 28fcf0ac1d748f20d265c98c7df8e69415de3e2e src/Models/Operations/FilesUploadedRequest.php: id: 0cb8629a3466 last_write_checksum: sha1:08f4d6fcd2dfe36377f73017fa3bf9633ca1e5b1 pristine_git_object: da03790194840bfe68018658f7d67e4a363dcd0d src/Models/Operations/FilesUploadedResponse.php: id: eef47055c750 - last_write_checksum: sha1:6d27b7444e07094088b1652a37daa0b539034e12 - pristine_git_object: 9b25c0ae7c0de8b2538b1a8c6e1894f5dfbae3c3 + last_write_checksum: sha1:188adf8325aa031203dc69700c48c3b318ba8bf8 + pristine_git_object: a3c230cb95bf65cff0ae7cc468f171f218f91f3c src/Models/Operations/HttpCodeClass.php: id: 7502e33bdf7c last_write_checksum: sha1:70654fe361544e1096e2a863e5ca414f22a52c9b @@ -9022,8 +9810,8 @@ trackedFiles: pristine_git_object: b24dadbee8ef1bd51c79eb0d89b48046d3d36c8a src/Models/Operations/LicenseKeysListRequest.php: id: 401b58c801d1 - last_write_checksum: sha1:753be8488a06e5d5eede93d0b2d05e95947e304e - pristine_git_object: d0cc993f6771128082fe88d70d3973f3da5dab36 + last_write_checksum: sha1:67a0652b73a61d889dfca06e4bfc8e00d96d40d8 + pristine_git_object: 533adcabbb37dab686111121f88346ff6736eaa6 src/Models/Operations/LicenseKeysListResponse.php: id: a05ee6d6dc27 last_write_checksum: sha1:006b07b0d913dd3208fd9c3b95d79ca083e3f218 @@ -9040,26 +9828,6 @@ trackedFiles: id: b56e4c442a0f last_write_checksum: sha1:1992d7aeb3157d62bf0692254a941ed021f31b46 pristine_git_object: 6cfa0091044f94879ddd59d71e6d0a64ee7b97ec - src/Models/Operations/MembersCreateMemberResponse.php: - id: fb9725b01447 - last_write_checksum: sha1:0dc7215a7737ea9335152eed9e896e0547b31f9d - pristine_git_object: 70f45ecc8929a7ea50f38084e1e0e81b40cd8d5c - src/Models/Operations/MembersDeleteMemberRequest.php: - id: 4dfa8afd8d3f - last_write_checksum: sha1:aa5c5745897b8d9177e8c0aa7456105c1992c4da - pristine_git_object: 6a3888fe501043a593967323c7a78420e1e6c719 - src/Models/Operations/MembersDeleteMemberResponse.php: - id: 6ddc24d6be59 - last_write_checksum: sha1:f93567f0cad3dec5335d1f7cccae3da5394f9a44 - pristine_git_object: f198e2964789ab30306c6f90a0be3c264d83a8f3 - src/Models/Operations/MembersGetMemberRequest.php: - id: af5418d0eae5 - last_write_checksum: sha1:312c5c9d8e7c7aeb250a045056a737aad0342eed - pristine_git_object: e03c33a8abd3296096a7533600ed4b978fb2aa30 - src/Models/Operations/MembersGetMemberResponse.php: - id: 130cc8eade95 - last_write_checksum: sha1:4f79d491aab3783b382a5174cbefb5034165ae9c - pristine_git_object: 9093092d4543f45be144d8c5d4c95a4338864a86 src/Models/Operations/MembersListMembersRequest.php: id: b10d8ff322ea last_write_checksum: sha1:652b4a3d0418901bacebbca2c96eacae3d77c8f7 @@ -9068,14 +9836,6 @@ trackedFiles: id: 453156efa912 last_write_checksum: sha1:f074d5628f6467ff6afd4bc14d59d3e805e5b7da pristine_git_object: df79ff42fa1ebc24015284cab2ec6750b4c335f3 - src/Models/Operations/MembersUpdateMemberRequest.php: - id: 3a631c8f1800 - last_write_checksum: sha1:952319b01d60a3290b0fd556b47159707395557c - pristine_git_object: f88c51ef1532a6906836cffa99b86f4aebb0c73f - src/Models/Operations/MembersUpdateMemberResponse.php: - id: 101cf7be8818 - last_write_checksum: sha1:69f4d82dcceeb7091a095410c4728d6a781b70bb - pristine_git_object: 35025d63c08239700fd372e66b8560ccbdc6df04 src/Models/Operations/MetersCreateResponse.php: id: bb3ae038ef1f last_write_checksum: sha1:b34b457ac9fbf5e1c6cfff4c39b91e48216ec553 @@ -9124,6 +9884,14 @@ trackedFiles: id: 46da2501ca38 last_write_checksum: sha1:a72c3fbda8438ed094ec5317fa71ecf6432d6ff1 pristine_git_object: fedb8db7fcddb049c228ecfe4ba4f51ec81ed79b + src/Models/Operations/MetricsExportRequest.php: + id: d6424c526b83 + last_write_checksum: sha1:97133e1e0d4c1f6bf96116f8a5f17a81d4135fd7 + pristine_git_object: 1363f97552412822f32eb63611d89352ea9c7834 + src/Models/Operations/MetricsExportResponse.php: + id: 68a8b27a19d9 + last_write_checksum: sha1:d467b6b6006b7634f59fe88604a1b277c02e1a8c + pristine_git_object: 38f0486a2d5553450220b4d6b76812d00e2fca5d src/Models/Operations/MetricsGetDashboardRequest.php: id: eb8efea7b220 last_write_checksum: sha1:d2cc261012c5a059e562768ade4c45b69c5e8807 @@ -9174,8 +9942,8 @@ trackedFiles: pristine_git_object: 20784c6df987d51f88f1c4657280982294a07e58 src/Models/Operations/Oauth2ClientsOauth2DeleteClientResponse.php: id: d5914fd3504c - last_write_checksum: sha1:909006a60cb2ba4fb80515c050f89b1143a1a58f - pristine_git_object: a9074e6a1c1962fa2f12767724cd42d9b6e0339b + last_write_checksum: sha1:8617e803d0bf72d25682d1f27462ce603bed62cb + pristine_git_object: f751aea50595074f616b3b1c7aa45b78a892904d src/Models/Operations/Oauth2ClientsOauth2GetClientRequest.php: id: 8e4a873ce320 last_write_checksum: sha1:cbaa515b71fc9a6a4b24c38848116c8df5d86e0b @@ -9208,14 +9976,26 @@ trackedFiles: id: 1e229f3ce87f last_write_checksum: sha1:25876d227bc170a01037acc861b52465d53b5f74 pristine_git_object: fcb3950c3a345935a1a3dc40d5608a44e90409b4 + src/Models/Operations/OrdersCreateResponse.php: + id: e04cbb4e55fc + last_write_checksum: sha1:0288efd957f43230a93021f254825195efe2305e + pristine_git_object: 745666f448fca904ae8d52bd1167283fb24bfaf9 src/Models/Operations/OrdersExportRequest.php: id: 51f3ae8963f2 last_write_checksum: sha1:b7c30b512ca2e764dd104f88899817c3dd1fa1eb pristine_git_object: 90e7109b680b216864d5123d83451b9231868969 src/Models/Operations/OrdersExportResponse.php: id: 6d70499d71df - last_write_checksum: sha1:b7f73e2ece5fc716b0b767c3831795ed59392e69 - pristine_git_object: 4f48c88105a2e810bbd74f8cb058cd9cbc0147c5 + last_write_checksum: sha1:cca95143d4ca088dd1e9604a6d42bf3ba339e63f + pristine_git_object: 40f4157f799c9c8d9b00858c39b52eb97d489a06 + src/Models/Operations/OrdersFinalizeRequest.php: + id: 044688a27e7d + last_write_checksum: sha1:0e2354e80e7cb15dfbe2bdc1be6ec4b361e0871b + pristine_git_object: ce4e766f14c629c3ca23f84b487564ab761188a4 + src/Models/Operations/OrdersFinalizeResponse.php: + id: 46df5e2e60a6 + last_write_checksum: sha1:ec536111958dc14739137e8df86e38030d399796 + pristine_git_object: 21b1ff0cead3c8350a16710d36462a2a1282345b src/Models/Operations/OrdersGenerateInvoiceRequest.php: id: 4cd9716e49af last_write_checksum: sha1:858ce7f96583c1b15e75e0e7122c4e5bfe1a80d4 @@ -9242,12 +10022,20 @@ trackedFiles: pristine_git_object: a79cf4ef492d50570fd1603167a8f4a2adc43158 src/Models/Operations/OrdersListRequest.php: id: 0fa4d95f49ff - last_write_checksum: sha1:37fe95f6b6829ff55ea06c23e53952c8ec03fb83 - pristine_git_object: dc538b296438647e26f619c399b1bb0e420d9313 + last_write_checksum: sha1:eaf347f3dff6353be9a8beb02b6ed76ecccdfba1 + pristine_git_object: 9f2dc402b95e1896f9cd2956cd9d23e2c678516c src/Models/Operations/OrdersListResponse.php: id: facfce7461a2 last_write_checksum: sha1:d05fd7cbe1fefd82fe4e88947d5b61a5a918aaa9 pristine_git_object: 620ddb6b76ac9ab2ae39b7119fb2f3140c25c778 + src/Models/Operations/OrdersReceiptRequest.php: + id: b53a1de9db88 + last_write_checksum: sha1:f7857b4cc38c32a3797adb50b9a4aa1d4c09a114 + pristine_git_object: 13d565120c790b542afd32aa7fa0b62c7d95939b + src/Models/Operations/OrdersReceiptResponse.php: + id: 4bdda357272b + last_write_checksum: sha1:078cf9cc66b93f2b186df080499e96db9dff5c35 + pristine_git_object: 19d36872f336179f4a29e2994019462914e832fe src/Models/Operations/OrdersUpdateRequest.php: id: 36cb4dc0109a last_write_checksum: sha1:ae6c5659f919d462b4a0e0b8dc648aab14b1f478 @@ -9256,34 +10044,6 @@ trackedFiles: id: 30a401ae3437 last_write_checksum: sha1:48df7ce487184535a545db2ed9a19a457cfbbad6 pristine_git_object: a6240ef30565b2aebcf9fa66d8bbe910e20b0b40 - src/Models/Operations/OrganizationAccessTokensCreateResponse.php: - id: 4c4a4de71908 - last_write_checksum: sha1:64005f85a4a41eb989ed3c7636629a0408751011 - pristine_git_object: 366f543a0cac32f27492edb2a0474ad48df4d5b7 - src/Models/Operations/OrganizationAccessTokensDeleteRequest.php: - id: 59ec013e8f63 - last_write_checksum: sha1:6286098843734bf6d90e56c793e227a9123c29d8 - pristine_git_object: cd2612b4103e0c7dabb73561d169eaacae9a987d - src/Models/Operations/OrganizationAccessTokensDeleteResponse.php: - id: 7cc238f3b69e - last_write_checksum: sha1:980e5b18a718d0d34c03f429adf1eafc458242de - pristine_git_object: 343e648d790ae4ee7dc38de97c1005a6f4c91ab4 - src/Models/Operations/OrganizationAccessTokensListRequest.php: - id: 7b0c1fb2de44 - last_write_checksum: sha1:a1a9e90633dc0a17f73a9b90a06481a14165273a - pristine_git_object: 043d1392829590079f10bbbd24dfb15fa42c2078 - src/Models/Operations/OrganizationAccessTokensListResponse.php: - id: 15552112bcc8 - last_write_checksum: sha1:b7da9222136d191faa395619d1190d4272a9e250 - pristine_git_object: 80e4ec147b33c65e3b0299e1b52c08a24c9c823b - src/Models/Operations/OrganizationAccessTokensUpdateRequest.php: - id: 9a13a262ac41 - last_write_checksum: sha1:66b43dde49d4e4506ddfa91506afcc013f623411 - pristine_git_object: 78f1d0f02554e7a3ca6efe99c87aca5f4d0db57b - src/Models/Operations/OrganizationAccessTokensUpdateResponse.php: - id: 576007db0841 - last_write_checksum: sha1:6dae1c03f39a7c7dd9608ab81b760f54c5132c0b - pristine_git_object: 351ee828cd18e52b3607d51c1f3d64f80a7fc187 src/Models/Operations/OrganizationsCreateResponse.php: id: 43f13b7d70d5 last_write_checksum: sha1:9c0df417d60a1e1a9b892d82e1a9701934c81b39 @@ -9322,8 +10082,8 @@ trackedFiles: pristine_git_object: 1466eb9b1fa44f9587d74afd24a7b9627ef4bcb4 src/Models/Operations/PaymentsListRequest.php: id: 203d8e5371e2 - last_write_checksum: sha1:463d66f4275611e7ceee93d59d5be2f5fea11a99 - pristine_git_object: daf1e59a2bb4237a883a300d3db63885cab65142 + last_write_checksum: sha1:c8a6d5caa0a46b6388335ee1d193e2d5c41c3052 + pristine_git_object: af188c18e6addc0a19c4eea183d14c7454785deb src/Models/Operations/PaymentsListResponse.php: id: ceacf71178e8 last_write_checksum: sha1:9698c5a60174b44bd85f66a352a3044ec9dfa548 @@ -9386,8 +10146,8 @@ trackedFiles: pristine_git_object: 3270140509bf248e4806826316638066fc4f5811 src/Models/Operations/SubscriptionsExportResponse.php: id: fefbfa16840b - last_write_checksum: sha1:04c8d17624932129e32be71c04bea286f4f8bba1 - pristine_git_object: 95161072351d60f82418132f6eff51552ac7ff3f + last_write_checksum: sha1:d56644de8be4d33e5d1479d66ca70261083ba12b + pristine_git_object: ea902e02a6cbcd5835c2c8e9bcba46643d4a42c1 src/Models/Operations/SubscriptionsGetRequest.php: id: 08a2a98336fe last_write_checksum: sha1:afe56448ecc295a5fecfd5240b9383bb1f4b8b32 @@ -9398,8 +10158,8 @@ trackedFiles: pristine_git_object: 2b0c244d9c9af2a79ba653342a32b8f88bf41b72 src/Models/Operations/SubscriptionsListRequest.php: id: 9521ecf7d2cd - last_write_checksum: sha1:98eb8320245a51c63fdb14c4ce744ea1f985c291 - pristine_git_object: 07e62c3e136220367da45c16d73f9ce3743f44d3 + last_write_checksum: sha1:f1f1bfb312796e11e819fdfa636b4e12ab0fa17c + pristine_git_object: a95079d4e3ebd1efc307f5fba78f8a8b43364d18 src/Models/Operations/SubscriptionsListResponse.php: id: dd4863350ad2 last_write_checksum: sha1:a6763b07ad06f3375571bcfc70f82547e100e0ff @@ -9414,8 +10174,8 @@ trackedFiles: pristine_git_object: ca4315cd183f9e8c16665a546edbcbe5df90674c src/Models/Operations/SubscriptionsUpdateRequest.php: id: 841ca3c4c627 - last_write_checksum: sha1:f4cc12e77c27ca3682e1eb0f4b8f65134c732e99 - pristine_git_object: ca868daa283df73e658827549ef649586e6e1ac5 + last_write_checksum: sha1:7204dd226477253884d041811441b3460487b87f + pristine_git_object: c5d18ef7edf45b2a5031fcaabdf06a8b42ecd030 src/Models/Operations/SubscriptionsUpdateResponse.php: id: fb5570460721 last_write_checksum: sha1:9bf9bf027761f19580b5d8c4362123bf146899f5 @@ -9608,6 +10368,14 @@ trackedFiles: id: b45313dc0e29 last_write_checksum: sha1:c0215ce4fd07ee79cf9da96ddacdd6f5ea891c9f pristine_git_object: c3bdb94590ba7214c7581f43bfa6a571edec799b + src/Models/Webhooks/EndpointsubscriptionPausedPostResponse.php: + id: "5863465454e5" + last_write_checksum: sha1:3406d3dc10d4d007531a0186923d0d58bdccbdf0 + pristine_git_object: 767b2df634c5b9652b431f6d2537ac493c59af08 + src/Models/Webhooks/EndpointsubscriptionResumedPostResponse.php: + id: a00683f2420e + last_write_checksum: sha1:422bceb2836240dbb94aee117596aca9690ba103 + pristine_git_object: 7ae9984ba9d85fdb7cb57bc62518f47b3a7688a6 src/Models/Webhooks/EndpointsubscriptionRevokedPostResponse.php: id: d185bd732f87 last_write_checksum: sha1:e9ce0ac5a164cfa990b28fd4bf5a7e6f9581b453 @@ -9622,88 +10390,88 @@ trackedFiles: pristine_git_object: ca98e0c15fbf2a7448902b67e91b20f881639175 src/Oauth2.php: id: 7e1ff7a8c0f5 - last_write_checksum: sha1:3cc7981c84416ddb62990f5d3aee2b3f92b6cc60 - pristine_git_object: 8a966158da9e43d2f6566eace2d30943a8ce5af5 + last_write_checksum: sha1:355e7b5d4744f5b871479a664b2a661ddf6baab6 + pristine_git_object: 0b476101f35207ff9c5241478b1386798024546d src/Orders.php: id: f1b96c3c0ed0 - last_write_checksum: sha1:899cb38d13911f92f4510c4463e2a59920f9cfc0 - pristine_git_object: a183bb35adc3ca0a7b99a27198a489c6200f49c3 - src/OrganizationAccessTokens.php: - id: 11b9c5cdb912 - last_write_checksum: sha1:18d6d20ce3bb1ffa27dac4a2a99ccd5c11bd76ac - pristine_git_object: 5d26162e1d4d519121bf411e8485f5e2a520483d + last_write_checksum: sha1:642295ad761d193aa6f08313f65e6f8980770e73 + pristine_git_object: fa31f0cf7e0cb17d3f5273e6dfa594f20bbf5fe6 src/Organizations.php: id: e8c6807a66c7 - last_write_checksum: sha1:db212420ae3c0d7e2ed4ef91403ba01c5c013ffa - pristine_git_object: acbab27bca1401d44ad0a75038c4b24c17495ff1 + last_write_checksum: sha1:e6c78088d6d060726711b7c8cc6c0549f4deae46 + pristine_git_object: 6ce672f8d26cb8b384b1abbf73dfc7affadefb5f src/PackageServiceProvider.php: id: 43cd8a58b8aa last_write_checksum: sha1:a1151cb6cc461cf62f5d0e9256aafd34de1befb5 pristine_git_object: 34f15f64c8ab18026d56e19ac097ff5c6be71a6f src/Payments.php: id: 554fb3408dc6 - last_write_checksum: sha1:368d7f48157e528b28c63931c20f1714f8475133 - pristine_git_object: 86fc5178ee8107e53020282f9c03dbb2023c4bde + last_write_checksum: sha1:30f7027723c7bbadcab35e4efecbdd72a12dbaa6 + pristine_git_object: 387411b38cbf6691f8d9fecc1289a3ff50a0ecfe src/Polar.php: id: cf4cb815d692 - last_write_checksum: sha1:80834c1cdbef3d0dbe22e697ba6d9f527013d3a7 - pristine_git_object: c04f2011a162c7a621eea949bfea55679eb45720 + last_write_checksum: sha1:cd54c456acb7da5eeb7c865322169c9e47707efc + pristine_git_object: 2c7511d8a04e0982cc66b29a0aa0e66f95d82a83 src/PolarBenefitGrants.php: id: 796281c08b6b - last_write_checksum: sha1:e0be2e6e741abf837640966776b1eeae24caf19f - pristine_git_object: 628f6d63bb64ab940eb2f142590df293318ab400 + last_write_checksum: sha1:181f6b5864e18d016c54167439c986bf42ab20e6 + pristine_git_object: 2673eff01c5d5f47007afbb487775e5272304769 src/PolarBuilder.php: id: f8ccebd84251 last_write_checksum: sha1:4d656fe4e1dca34b0c1f5e0b2e736ac15b81b28c pristine_git_object: 214705ba0926507ba2eb1a3ecddb1301331e7ebf src/PolarCustomerMeters.php: id: 20c40a172b6b - last_write_checksum: sha1:bb00f553f8772dd2f6b1bc651e582c6dfd5f10ba - pristine_git_object: 39d6dbb5aef2f09119a1a8786a4392e01dc03980 + last_write_checksum: sha1:dca56ccfd752642bd9a2fe734aedcadd38fc54dd + pristine_git_object: a28dba14360bf64190f34abf0af31051254ffd2b + src/PolarCustomerPortalMembers.php: + id: cc317e7ae60c + last_write_checksum: sha1:1b168f93080a027f775e3a1dd7c65219323679f1 + pristine_git_object: 507438d2abbe7b4a0a40fa167b141eb90e659314 src/PolarCustomers.php: id: 37b55b56a2c1 - last_write_checksum: sha1:81f1090596efcbce25b8dbc38b82e7c0471c3858 - pristine_git_object: 4283ec24410aa8d291f6db070914520dfce66f53 + last_write_checksum: sha1:a1c5def85a211b6ac649a329e46f0d321fc7cb6f + pristine_git_object: 8b82af63d0bd0c1ac214abb8778d105352e6c26f src/PolarLicenseKeys.php: id: 97b696f4c4e7 - last_write_checksum: sha1:47682bc7fafe8d81a8dbca145d3d40ee3aa699a2 - pristine_git_object: 76c4011f21198fc47071e1caf87a9ae320552216 + last_write_checksum: sha1:76efeeea4a60a9685d9b61b5deb2d596451e31a9 + pristine_git_object: fc2483e00e689e173db480970a2821ec2cd4e24c src/PolarMembers.php: id: 38aaf020904f - last_write_checksum: sha1:1ca34019a3f83ff3802edf4a13bac0d3521f348e - pristine_git_object: a42578caa0ed1313768d89015fc2f2a3fca5326d + last_write_checksum: sha1:3658c77409c150469a0e4337ff1d5250da348b87 + pristine_git_object: 76b7e0e2d09c894da1ca54f1a82c3402431b3156 src/PolarOrders.php: id: b4a63b3a5e45 - last_write_checksum: sha1:168969b95521a7710aa438bbdb417214aa68153c - pristine_git_object: dd7c249e113450f734fbf9316cfd0bcf1250e780 + last_write_checksum: sha1:9e98f43f0f800bb7ee0368ad700202ff3fc6d93a + pristine_git_object: b7f906429cc142b780f0b70c2a22e097a8a82ed0 src/PolarOrganizations.php: id: 3723b87e2b90 - last_write_checksum: sha1:0e633a6755152836090f21d458aba7331ce479a0 - pristine_git_object: 252c658e168a86a5031232fc82b8a39c4a7e5986 + last_write_checksum: sha1:a061417c43bdea27a7364c3af5bb76ed2277aa4e + pristine_git_object: 1a337289a36f1f83bfe37e59d78a1bdb9c657e66 src/PolarSubscriptions.php: id: 3cea9519a201 - last_write_checksum: sha1:1f261aef7fb6b0b352cd4ad231752487383bdb49 - pristine_git_object: 55cf3fb0b3a962626dceb434997a9876ed4f3ea0 + last_write_checksum: sha1:38419914eb575b10258b3457ca27dec5a2fac452 + pristine_git_object: d789224733532f4c73ab472e7dfa6cb11d43db1f src/Products.php: id: 25f717192621 - last_write_checksum: sha1:02837f91c25bdad026e34642d2fec0125aee9783 - pristine_git_object: 1af8b22dd24d09bef3e3b7727617452a7ba276dc + last_write_checksum: sha1:9bcb0b348bc2b1fb96a4006baf2b6b0e153dae49 + pristine_git_object: 6c545a9754b9cb79809be684604070a486562488 src/Refunds.php: id: 621a14ef2613 - last_write_checksum: sha1:cf877643aebb0f535cac3a50c4097242ed565c3f - pristine_git_object: 484c85d464685f20fc6b348579c06132e549b3b0 + last_write_checksum: sha1:6b4d912c9bdf57b5ac8d8e13dfe8f1069ecbaa14 + pristine_git_object: d6c5f0cb5280cdb8e5d2236a931bee7d1e1c5fd8 src/SDKConfiguration.php: id: 9d60ab0bec0b - last_write_checksum: sha1:7157afc03e2a808b79958deb8cecd9f81b25a2d2 - pristine_git_object: 7bc406b60cf24a71957ec02ab567beb93454e9ce + last_write_checksum: sha1:00d68d263e5f703b25383c61860ecbf4caeb8d77 + pristine_git_object: a7049ed3e9899bc8e2601f6cb4779fbb142c27c6 src/Seats.php: id: 4830e6b5f52b - last_write_checksum: sha1:6cb07baf4899d23391f83ed3a32bd5fd482b74a6 - pristine_git_object: 1a8bb4d481de2cef5846f49f495f06e6910873aa + last_write_checksum: sha1:5c382e50c401dc1067daf9d3a6cb70b8421656c6 + pristine_git_object: a5ac96dafc3122daf9572e02a106b4801f550bb7 src/Subscriptions.php: id: 682323fa5228 - last_write_checksum: sha1:03678af3f6201fadf0c454c7255f83076a39fa0c - pristine_git_object: 3920b5637dbfe77af7b458b47c88b6a16b50cfc3 + last_write_checksum: sha1:1166e900974175f8b95b57893b2b0ab72ba0e172 + pristine_git_object: f2ccd28dde12df0baed6871152ae3718ddcb8568 src/Utils/BigDecimalHandler.php: id: cdcca3718e2e last_write_checksum: sha1:47c8a01ee7f00dfc50de92e3960ff2e037f7e4c1 @@ -9810,8 +10578,8 @@ trackedFiles: pristine_git_object: 46446c3686cae0c3c96b0ba4a698faa926050a0f src/Utils/Retry/RetryUtils.php: id: 28597380e832 - last_write_checksum: sha1:11d2334511f3dfe62057ec2a3f76d283c1d33f16 - pristine_git_object: 768a7dd044ae77f65af5d43ccb873cf6238ce111 + last_write_checksum: sha1:23b7cd5a23c4d8b8628e3b063fcab1ee6f3891e2 + pristine_git_object: 1dfc6e1c58b84be8b75c8e975d7c328d49c5cac1 src/Utils/Retry/TemporaryError.php: id: d58c3851b91f last_write_checksum: sha1:dd0e1fe7101af43cda698cdf8ceaf3ce8af561d6 @@ -9838,20 +10606,20 @@ trackedFiles: pristine_git_object: 5db781a1f9ec18b89e885bd62c9c472b5668af2f src/Utils/UnionHandler.php: id: 5a76a946fe85 - last_write_checksum: sha1:00a5fb4e978bfec7233232d24658c75377e599c6 - pristine_git_object: e644ef642af05e84ae21ea07a53f82d43d0b642b + last_write_checksum: sha1:a72131aa12a2d3b894b73001a112858079fae425 + pristine_git_object: 87d79f087fde6d8629d56a954c01a2707e95ea30 src/Utils/Utils.php: id: c902f57e2422 last_write_checksum: sha1:4d6e0deb01616efe3777dd4e100b84c10096f73d pristine_git_object: a219d39033791b78efb78f01a0ebb9777ddd101e src/Wallets.php: id: 7ee0c0f185f4 - last_write_checksum: sha1:e3ead4313958457a80c909e14c8d2058d2aa6b9a - pristine_git_object: 89c33b0ae6bd32c4f187ccbdeb7e19094e373d6f + last_write_checksum: sha1:13e8784f3b3d60fa9f2f2af0e6b0fb7aa4fd10ce + pristine_git_object: b947e4905af20fb4d8a438edc6a710b8f6922568 src/Webhooks.php: id: 9f76d97dd2bb - last_write_checksum: sha1:b714ee776087e3e50e040cb682d135463faf3944 - pristine_git_object: 0ecd737e20963faddcd494de343cdfb16a880a44 + last_write_checksum: sha1:f621045c7283c2a4a69595bb403b6c0a0ee25182 + pristine_git_object: f935d87faa576cd53ce9f9b33c3c22f92dc3b477 examples: _endpointcheckout_created_post: speakeasy-default-endpointcheckout-created-post: @@ -10113,9 +10881,11 @@ examples: application/json: {"name": "", "slug": ""} responses: "201": - application/json: {"created_at": "2024-12-19T02:20:41.368Z", "modified_at": "2025-03-11T17:26:29.230Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://substantial-wasabi.name", "proration_behavior": "prorate", "allow_customer_updates": false, "email": "Queen_Homenick@gmail.com", "website": "", "socials": [{"platform": "other", "url": "https://enchanted-hose.biz"}, {"platform": "other", "url": "https://enchanted-hose.biz"}, {"platform": "other", "url": "https://enchanted-hose.biz"}], "status": "denied", "details_submitted_at": "2023-03-22T18:01:32.205Z", "default_presentment_currency": "", "default_tax_behavior": "inclusive", "feature_settings": {"issue_funding_enabled": false, "seat_based_pricing_enabled": false, "revops_enabled": false, "wallets_enabled": false, "member_model_enabled": false, "tinybird_read": false, "tinybird_compare": false, "checkout_localization_enabled": false}, "subscription_settings": {"allow_multiple_subscriptions": true, "allow_customer_updates": true, "proration_behavior": "invoice", "benefit_revocation_grace_period": 655199, "prevent_trial_abuse": false}, "notification_settings": {"new_order": false, "new_subscription": false}, "customer_email_settings": {"order_confirmation": false, "subscription_cancellation": false, "subscription_confirmation": false, "subscription_cycled": false, "subscription_cycled_after_trial": false, "subscription_past_due": false, "subscription_renewal_reminder": false, "subscription_revoked": false, "subscription_trial_conversion_reminder": false, "subscription_uncanceled": true, "subscription_updated": false}, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": false, "update_plan": false}}} + application/json: {"created_at": "2024-12-19T02:20:41.368Z", "modified_at": "2025-03-11T17:26:29.230Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://substantial-wasabi.name", "proration_behavior": "prorate", "allow_customer_updates": false, "email": "Queen_Homenick@gmail.com", "website": "", "socials": [{"platform": "other", "url": "https://enchanted-hose.biz"}, {"platform": "other", "url": "https://enchanted-hose.biz"}, {"platform": "other", "url": "https://enchanted-hose.biz"}], "status": "denied", "details_submitted_at": "2023-03-22T18:01:32.205Z", "sso_enforced": false, "default_presentment_currency": "", "default_tax_behavior": "inclusive", "feature_settings": {"issue_funding_enabled": false, "seat_based_pricing_enabled": false, "wallets_enabled": false, "member_model_enabled": false, "checkout_localization_enabled": false, "reset_proration_behavior_enabled": false, "off_session_charges_enabled": false, "slack_benefit_enabled": false, "preview_access_enabled": false, "disputes_enabled": false, "sso_enabled": false, "compass_enabled": false, "merchant_migration_enabled": false}, "subscription_settings": {"allow_multiple_subscriptions": true, "proration_behavior": "invoice", "benefit_revocation_grace_period": 655199, "prevent_trial_abuse": false, "allow_customer_updates": true}, "customer_email_settings": {"order_confirmation": false, "subscription_cancellation": false, "subscription_confirmation": false, "subscription_cycled": false, "subscription_cycled_after_trial": false, "subscription_past_due": false, "subscription_paused": false, "subscription_resumed": false, "subscription_renewal_reminder": false, "subscription_revoked": false, "subscription_trial_conversion_reminder": false, "subscription_uncanceled": true, "subscription_updated": false}, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": false, "update_plan": false}}, "account_id": "", "payout_account_id": "", "capabilities": {"checkout_payments": false, "subscription_renewals": true, "payouts": false, "refunds": false, "api_access": true, "dashboard_access": false}} "422": application/json: {} + "403": + application/json: {"error": "CannotCreateOrganizationError", "detail": ""} organizations:get: speakeasy-default-organizations:get: parameters: @@ -10123,7 +10893,7 @@ examples: id: "1dbfc517-0bbf-4301-9ba8-555ca42b9737" responses: "200": - application/json: {"created_at": "2024-06-18T23:12:24.609Z", "modified_at": "2024-04-06T22:00:49.347Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://vast-shipper.biz/", "proration_behavior": "invoice", "allow_customer_updates": true, "email": "Aron.Aufderhar@hotmail.com", "website": "", "socials": [], "status": "onboarding_started", "details_submitted_at": "2023-03-07T16:26:10.747Z", "default_presentment_currency": "", "default_tax_behavior": "inclusive", "feature_settings": {"issue_funding_enabled": false, "seat_based_pricing_enabled": false, "revops_enabled": false, "wallets_enabled": false, "member_model_enabled": false, "tinybird_read": false, "tinybird_compare": false, "checkout_localization_enabled": false}, "subscription_settings": {"allow_multiple_subscriptions": true, "allow_customer_updates": true, "proration_behavior": "invoice", "benefit_revocation_grace_period": 488109, "prevent_trial_abuse": false}, "notification_settings": {"new_order": true, "new_subscription": true}, "customer_email_settings": {"order_confirmation": true, "subscription_cancellation": true, "subscription_confirmation": true, "subscription_cycled": false, "subscription_cycled_after_trial": true, "subscription_past_due": false, "subscription_renewal_reminder": true, "subscription_revoked": true, "subscription_trial_conversion_reminder": true, "subscription_uncanceled": false, "subscription_updated": true}, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": true, "update_plan": false}}} + application/json: {"created_at": "2024-06-18T23:12:24.609Z", "modified_at": "2024-04-06T22:00:49.347Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://vast-shipper.biz/", "proration_behavior": "invoice", "allow_customer_updates": true, "email": "Aron.Aufderhar@hotmail.com", "website": "", "socials": [], "status": "denied", "details_submitted_at": "2023-03-07T16:26:10.747Z", "sso_enforced": true, "default_presentment_currency": "", "default_tax_behavior": "inclusive", "feature_settings": {"issue_funding_enabled": false, "seat_based_pricing_enabled": false, "wallets_enabled": false, "member_model_enabled": false, "checkout_localization_enabled": false, "reset_proration_behavior_enabled": false, "off_session_charges_enabled": false, "slack_benefit_enabled": false, "preview_access_enabled": false, "disputes_enabled": false, "sso_enabled": false, "compass_enabled": false, "merchant_migration_enabled": false}, "subscription_settings": {"allow_multiple_subscriptions": true, "proration_behavior": "invoice", "benefit_revocation_grace_period": 488109, "prevent_trial_abuse": false, "allow_customer_updates": true}, "customer_email_settings": {"order_confirmation": true, "subscription_cancellation": true, "subscription_confirmation": true, "subscription_cycled": false, "subscription_cycled_after_trial": true, "subscription_past_due": false, "subscription_paused": true, "subscription_resumed": false, "subscription_renewal_reminder": true, "subscription_revoked": true, "subscription_trial_conversion_reminder": true, "subscription_uncanceled": false, "subscription_updated": true}, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": true, "update_plan": false}}, "account_id": "", "payout_account_id": "", "capabilities": {"checkout_payments": false, "subscription_renewals": true, "payouts": false, "refunds": true, "api_access": true, "dashboard_access": false}} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -10137,13 +10907,15 @@ examples: application/json: {} responses: "200": - application/json: {"created_at": "2024-01-10T12:09:47.665Z", "modified_at": "2025-05-23T11:37:55.182Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://outstanding-gastropod.info", "proration_behavior": "invoice", "allow_customer_updates": false, "email": "Kaleb36@gmail.com", "website": "", "socials": [{"platform": "tiktok", "url": "https://official-gerbil.biz/"}], "status": "onboarding_started", "details_submitted_at": "2024-05-05T07:08:22.735Z", "default_presentment_currency": "", "default_tax_behavior": "inclusive", "feature_settings": {"issue_funding_enabled": false, "seat_based_pricing_enabled": false, "revops_enabled": false, "wallets_enabled": false, "member_model_enabled": false, "tinybird_read": false, "tinybird_compare": false, "checkout_localization_enabled": false}, "subscription_settings": {"allow_multiple_subscriptions": false, "allow_customer_updates": false, "proration_behavior": "prorate", "benefit_revocation_grace_period": 341703, "prevent_trial_abuse": false}, "notification_settings": {"new_order": true, "new_subscription": false}, "customer_email_settings": {"order_confirmation": true, "subscription_cancellation": false, "subscription_confirmation": false, "subscription_cycled": false, "subscription_cycled_after_trial": true, "subscription_past_due": true, "subscription_renewal_reminder": false, "subscription_revoked": true, "subscription_trial_conversion_reminder": false, "subscription_uncanceled": true, "subscription_updated": false}, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": true, "update_plan": true}}} + application/json: {"created_at": "2024-01-10T12:09:47.665Z", "modified_at": "2025-05-23T11:37:55.182Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://outstanding-gastropod.info", "proration_behavior": "invoice", "allow_customer_updates": false, "email": "Kaleb36@gmail.com", "website": "", "socials": [{"platform": "tiktok", "url": "https://official-gerbil.biz/"}], "status": "snoozed", "details_submitted_at": "2024-05-05T07:08:22.735Z", "sso_enforced": false, "default_presentment_currency": "", "default_tax_behavior": "inclusive", "feature_settings": {"issue_funding_enabled": false, "seat_based_pricing_enabled": false, "wallets_enabled": false, "member_model_enabled": false, "checkout_localization_enabled": false, "reset_proration_behavior_enabled": false, "off_session_charges_enabled": false, "slack_benefit_enabled": false, "preview_access_enabled": false, "disputes_enabled": false, "sso_enabled": false, "compass_enabled": false, "merchant_migration_enabled": false}, "subscription_settings": {"allow_multiple_subscriptions": false, "proration_behavior": "prorate", "benefit_revocation_grace_period": 341703, "prevent_trial_abuse": false, "allow_customer_updates": false}, "customer_email_settings": {"order_confirmation": true, "subscription_cancellation": false, "subscription_confirmation": false, "subscription_cycled": false, "subscription_cycled_after_trial": true, "subscription_past_due": true, "subscription_paused": false, "subscription_resumed": false, "subscription_renewal_reminder": false, "subscription_revoked": true, "subscription_trial_conversion_reminder": false, "subscription_uncanceled": true, "subscription_updated": false}, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": true, "update_plan": true}}, "account_id": "", "payout_account_id": "", "capabilities": {"checkout_payments": true, "subscription_renewals": false, "payouts": true, "refunds": true, "api_access": false, "dashboard_access": true}} "403": application/json: {"error": "NotPermitted", "detail": ""} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": application/json: {} + "409": + application/json: {"error": "SSOEnforcementRequiresConnection", "detail": ""} subscriptions:list: speakeasy-default-subscriptions:list: parameters: @@ -10153,7 +10925,7 @@ examples: limit: 10 responses: "200": - application/json: {"items": [{"created_at": "2024-11-06T13:01:30.486Z", "modified_at": "2023-12-05T04:37:49.573Z", "id": "", "amount": 410969, "currency": "Kip", "recurring_interval": "year", "recurring_interval_count": 742797, "status": "unpaid", "current_period_start": "2025-04-10T00:55:03.476Z", "current_period_end": "2025-09-23T15:13:06.761Z", "trial_start": "2024-10-01T10:10:26.018Z", "trial_end": "2023-12-05T04:37:49.573Z", "cancel_at_period_end": true, "canceled_at": "2023-09-22T22:50:40.236Z", "started_at": "2024-02-22T10:33:19.887Z", "ends_at": "2025-05-03T04:33:34.190Z", "ended_at": "2024-06-12T10:43:36.497Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "missing_features", "customer_cancellation_comment": "", "metadata": {"key": 5834.16, "key1": true}, "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2025-04-30T02:52:35.936Z", "modified_at": "2025-01-06T09:33:07.581Z", "metadata": {"key": ""}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "team", "name": "John Doe", "billing_address": {"country": "SE"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-09-12T12:57:56.639Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=blank"}, "product": {"id": "", "created_at": "2023-10-15T10:48:47.131Z", "modified_at": "2023-11-11T17:51:02.571Z", "trial_interval": "week", "trial_interval_count": 960252, "name": "", "description": "wherever pfft average shampoo", "visibility": "public", "recurring_interval": "month", "recurring_interval_count": 616371, "is_recurring": true, "is_archived": false, "organization_id": "", "metadata": {"key": 56869, "key1": "", "key2": ""}, "prices": [{"created_at": "2024-11-06T13:01:30.486Z", "modified_at": "2024-03-26T10:08:00.196Z", "id": "", "source": "ad_hoc", "amount_type": "free", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}], "benefits": [{"id": "", "created_at": "2024-10-01T10:10:26.018Z", "modified_at": "2023-12-05T04:37:49.573Z", "type": "license_keys", "description": "fatally tame freely phew experience overconfidently", "selectable": true, "deletable": true, "organization_id": "", "metadata": {"key": true}, "properties": {"prefix": null, "expires": {"ttl": 947013, "timeframe": "day"}, "activations": {"limit": 786652, "enable_customer_admin": false}, "limit_usage": 233315}}], "medias": [], "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2025-04-05T16:53:07.702Z", "modified_at": "2024-02-13T11:39:50.769Z", "id": "", "metadata": {"key": 9438.17}, "type": "checkbox", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 391050, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2025-04-05T16:53:07.702Z", "modified_at": "2024-02-13T11:39:50.769Z", "id": "", "metadata": {"key": false}, "type": "checkbox", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 391050, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2025-04-05T16:53:07.702Z", "modified_at": "2024-02-13T11:39:50.769Z", "id": "", "metadata": {"key": 775657}, "type": "checkbox", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 391050, "required": false}]}, "discount": {"duration": "once", "type": "fixed", "basis_points": 1000, "created_at": "2025-06-23T08:50:11.993Z", "modified_at": "2026-11-18T10:27:58.317Z", "id": "", "metadata": {"key": true}, "name": "", "code": "", "starts_at": "2026-05-03T04:33:34.190Z", "ends_at": "2024-10-18T10:38:39.548Z", "max_redemptions": 943817, "redemptions_count": 834580, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "prices": [{"created_at": "2023-09-22T22:50:40.236Z", "modified_at": "2025-05-03T04:33:34.190Z", "id": "", "source": "ad_hoc", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 834580, "legacy": true}], "meters": [{"created_at": "2025-05-06T10:58:26.450Z", "modified_at": "2023-02-03T13:37:09.685Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"metadata": {"key": true, "key1": 3339.89}, "created_at": "2023-08-27T05:28:27.611Z", "modified_at": "2025-09-09T13:09:53.525Z", "id": "", "name": "", "filter": {"conjunction": "and", "clauses": []}, "aggregation": {"func": "max", "property": ""}, "organization_id": ""}}], "pending_update": {"created_at": "2026-01-06T09:33:07.581Z", "modified_at": "2024-09-15T08:48:24.676Z", "id": "", "applies_at": "2024-10-23T14:08:09.547Z", "product_id": "", "seats": 262272}}, {"created_at": "2024-11-06T13:01:30.486Z", "modified_at": "2023-12-05T04:37:49.573Z", "id": "", "amount": 410969, "currency": "Kip", "recurring_interval": "year", "recurring_interval_count": 308570, "status": "unpaid", "current_period_start": "2025-04-10T00:55:03.476Z", "current_period_end": "2025-09-23T15:13:06.761Z", "trial_start": "2025-09-23T15:13:06.761Z", "trial_end": "2023-09-22T22:50:40.236Z", "cancel_at_period_end": true, "canceled_at": "2023-09-22T22:50:40.236Z", "started_at": "2024-02-22T10:33:19.887Z", "ends_at": "2025-05-03T04:33:34.190Z", "ended_at": "2024-06-12T10:43:36.497Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "missing_features", "customer_cancellation_comment": "", "metadata": {"key": "", "key1": true}, "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2025-04-30T02:52:35.936Z", "modified_at": "2025-01-06T09:33:07.581Z", "metadata": {"key": ""}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "team", "name": "John Doe", "billing_address": {"country": "SE"}, "tax_id": ["FR61954506077", "eu_vat"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-09-12T12:57:56.639Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=blank"}, "product": {"id": "", "created_at": "2023-10-15T10:48:47.131Z", "modified_at": "2023-11-11T17:51:02.571Z", "trial_interval": "year", "trial_interval_count": 265915, "name": "", "description": "wherever pfft average shampoo", "visibility": "private", "recurring_interval": "month", "recurring_interval_count": 492124, "is_recurring": true, "is_archived": false, "organization_id": "", "metadata": {"key": 56869, "key1": "", "key2": ""}, "prices": [{"created_at": "2025-04-30T02:52:35.936Z", "modified_at": "2023-10-29T13:21:35.872Z", "id": "", "source": "ad_hoc", "amount_type": "fixed", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 262272, "legacy": true}], "benefits": [{"id": "", "created_at": "2025-09-26T21:45:33.324Z", "modified_at": "2023-03-04T07:54:01.072Z", "type": "downloadables", "description": "yowza furthermore uh-huh", "selectable": true, "deletable": false, "organization_id": "", "metadata": {}, "properties": {"archived": {"key": true}, "files": [""]}}], "medias": [], "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2025-04-05T16:53:07.702Z", "modified_at": "2024-02-13T11:39:50.769Z", "id": "", "metadata": {"key": ""}, "type": "checkbox", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 391050, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2025-04-05T16:53:07.702Z", "modified_at": "2024-02-13T11:39:50.769Z", "id": "", "metadata": {"key": false}, "type": "checkbox", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 391050, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2025-04-05T16:53:07.702Z", "modified_at": "2024-02-13T11:39:50.769Z", "id": "", "metadata": {"key": false}, "type": "checkbox", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 391050, "required": false}]}, "discount": {"duration": "repeating", "type": "percentage", "amount": 1000, "currency": "usd", "amounts": {"eur": 900, "usd": 1000}, "created_at": "2024-04-28T03:54:28.062Z", "modified_at": null, "id": "", "metadata": {"key": false}, "name": "", "code": "", "starts_at": "2024-06-17T23:01:19.922Z", "ends_at": "2026-02-28T21:58:52.619Z", "max_redemptions": 394223, "redemptions_count": 561964, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "prices": [{"created_at": "2023-08-24T17:03:16.161Z", "modified_at": "2025-05-07T18:20:34.107Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 827165, "maximum_amount": 310545, "preset_amount": 154160, "legacy": true}], "meters": [{"created_at": "2025-05-06T10:58:26.450Z", "modified_at": "2023-02-03T13:37:09.685Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"metadata": {"key": 9123.24, "key1": 3339.89}, "created_at": "2023-08-27T05:28:27.611Z", "modified_at": "2025-09-09T13:09:53.525Z", "id": "", "name": "", "filter": {"conjunction": "and", "clauses": []}, "aggregation": {"func": "max", "property": ""}, "organization_id": ""}}], "pending_update": {"created_at": "2026-01-06T09:33:07.581Z", "modified_at": "2024-09-15T08:48:24.676Z", "id": "", "applies_at": "2024-10-23T14:08:09.547Z", "product_id": "", "seats": 262272}}], "pagination": {"total_count": 736417, "max_page": 265899}} + application/json: {"items": [{"created_at": "2024-11-06T13:01:30.486Z", "modified_at": "2023-12-05T04:37:49.573Z", "id": "", "amount": 410969, "currency": "Kip", "recurring_interval": "year", "recurring_interval_count": 742797, "status": "unpaid", "current_period_start": "2025-04-10T00:55:03.476Z", "current_period_end": "2025-09-23T15:13:06.761Z", "current_meter_period_start": "2025-10-01T10:10:26.018Z", "current_meter_period_end": "2024-12-04T04:37:49.573Z", "trial_start": "2024-10-01T10:10:26.018Z", "trial_end": "2023-12-05T04:37:49.573Z", "cancel_at_period_end": true, "canceled_at": "2023-09-22T22:50:40.236Z", "started_at": "2024-02-22T10:33:19.887Z", "ends_at": "2025-05-03T04:33:34.190Z", "ended_at": "2024-06-12T10:43:36.497Z", "pause_at_period_end": true, "paused_at": "2025-12-06T12:43:23.208Z", "resumes_at": "2026-04-10T00:55:03.476Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "missing_features", "customer_cancellation_comment": "", "metadata": {"key": 5834.16, "key1": true}, "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2025-04-30T02:52:35.936Z", "modified_at": "2025-01-06T09:33:07.581Z", "metadata": {"key": ""}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "team", "name": "John Doe", "billing_name": "John Doe", "billing_address": {"country": "SE"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-09-12T12:57:56.639Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=blank"}, "product": {"id": "", "created_at": "2023-10-15T10:48:47.131Z", "modified_at": "2023-11-11T17:51:02.571Z", "trial_interval": "week", "trial_interval_count": 960252, "name": "", "description": "wherever pfft average shampoo", "visibility": "public", "recurring_interval": "month", "recurring_interval_count": 616371, "meter_interval": "week", "meter_interval_count": 380876, "is_recurring": true, "is_archived": false, "organization_id": "", "metadata": {"key": 56869, "key1": "", "key2": ""}, "prices": [{"created_at": "2024-10-18T10:38:39.548Z", "modified_at": "2026-10-31T10:08:37.629Z", "id": "", "source": "ad_hoc", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "price_amount": 671896}], "benefits": [{"id": "", "created_at": "2024-10-01T10:10:26.018Z", "modified_at": "2023-12-05T04:37:49.573Z", "type": "license_keys", "description": "fatally tame freely phew experience overconfidently", "selectable": true, "deletable": true, "is_deleted": true, "organization_id": "", "metadata": {"key": true}, "visibility": "draft", "properties": {"prefix": null, "expires": {"ttl": 947013, "timeframe": "day"}, "activations": {"limit": 786652, "enable_customer_admin": false}, "limit_usage": 233315}, "visibility_configurable": true}], "medias": [], "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2025-04-05T16:53:07.702Z", "modified_at": "2024-02-13T11:39:50.769Z", "id": "", "metadata": {"key": 9438.17}, "type": "checkbox", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 391050, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2025-04-05T16:53:07.702Z", "modified_at": "2024-02-13T11:39:50.769Z", "id": "", "metadata": {"key": false}, "type": "checkbox", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 391050, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2025-04-05T16:53:07.702Z", "modified_at": "2024-02-13T11:39:50.769Z", "id": "", "metadata": {"key": 775657}, "type": "checkbox", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 391050, "required": false}]}, "discount": {"duration": "once", "type": "fixed", "basis_points": 1000, "created_at": "2025-06-23T08:50:11.993Z", "modified_at": "2026-11-18T10:27:58.317Z", "id": "", "metadata": {"key": true}, "name": "", "code": "", "starts_at": "2026-05-03T04:33:34.190Z", "ends_at": "2024-10-18T10:38:39.548Z", "max_redemptions": 943817, "redemptions_count": 834580, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "prices": [{"created_at": "2023-09-22T22:50:40.236Z", "modified_at": "2025-05-03T04:33:34.190Z", "id": "", "source": "ad_hoc", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 834580, "legacy": true}], "meters": [{"created_at": "2025-05-06T10:58:26.450Z", "modified_at": "2023-02-03T13:37:09.685Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"metadata": {"key": true, "key1": 3339.89}, "created_at": "2023-08-27T05:28:27.611Z", "modified_at": "2025-09-09T13:09:53.525Z", "id": "", "name": "", "unit": "custom", "filter": {"conjunction": "and", "clauses": []}, "aggregation": {"func": "max", "property": ""}, "organization_id": ""}}], "pending_update": {"created_at": "2026-01-06T09:33:07.581Z", "modified_at": "2024-09-15T08:48:24.676Z", "id": "", "applies_at": "2024-10-23T14:08:09.547Z", "product_id": "", "seats": 262272}}, {"created_at": "2024-11-06T13:01:30.486Z", "modified_at": "2023-12-05T04:37:49.573Z", "id": "", "amount": 410969, "currency": "Kip", "recurring_interval": "year", "recurring_interval_count": 308570, "status": "unpaid", "current_period_start": "2025-04-10T00:55:03.476Z", "current_period_end": "2025-09-23T15:13:06.761Z", "current_meter_period_start": "2024-10-14T10:48:47.131Z", "current_meter_period_end": "2024-06-05T01:55:23.410Z", "trial_start": "2025-09-23T15:13:06.761Z", "trial_end": "2023-09-22T22:50:40.236Z", "cancel_at_period_end": true, "canceled_at": "2023-09-22T22:50:40.236Z", "started_at": "2024-02-22T10:33:19.887Z", "ends_at": "2025-05-03T04:33:34.190Z", "ended_at": "2024-06-12T10:43:36.497Z", "pause_at_period_end": true, "paused_at": "2026-05-07T18:20:34.107Z", "resumes_at": "2024-02-25T18:16:24.648Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "missing_features", "customer_cancellation_comment": "", "metadata": {"key": "", "key1": true}, "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2025-04-30T02:52:35.936Z", "modified_at": "2025-01-06T09:33:07.581Z", "metadata": {"key": ""}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "team", "name": "John Doe", "billing_name": "John Doe", "billing_address": {"country": "SE"}, "tax_id": ["FR61954506077", "eu_vat"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-09-12T12:57:56.639Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=blank"}, "product": {"id": "", "created_at": "2023-10-15T10:48:47.131Z", "modified_at": "2023-11-11T17:51:02.571Z", "trial_interval": "year", "trial_interval_count": 265915, "name": "", "description": "wherever pfft average shampoo", "visibility": "private", "recurring_interval": "month", "recurring_interval_count": 492124, "meter_interval": "year", "meter_interval_count": 310545, "is_recurring": true, "is_archived": false, "organization_id": "", "metadata": {"key": 56869, "key1": "", "key2": ""}, "prices": [{"created_at": "2025-04-30T02:52:35.936Z", "modified_at": "2023-10-29T13:21:35.872Z", "id": "", "source": "ad_hoc", "amount_type": "fixed", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 262272, "legacy": true}], "benefits": [{"id": "", "created_at": "2025-09-26T21:45:33.324Z", "modified_at": "2023-03-04T07:54:01.072Z", "type": "downloadables", "description": "yowza furthermore uh-huh", "selectable": true, "deletable": false, "is_deleted": false, "organization_id": "", "metadata": {}, "visibility": "draft", "properties": {"archived": {"key": true}, "files": [""]}, "visibility_configurable": false}], "medias": [], "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2025-04-05T16:53:07.702Z", "modified_at": "2024-02-13T11:39:50.769Z", "id": "", "metadata": {"key": ""}, "type": "checkbox", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 391050, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2025-04-05T16:53:07.702Z", "modified_at": "2024-02-13T11:39:50.769Z", "id": "", "metadata": {"key": false}, "type": "checkbox", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 391050, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2025-04-05T16:53:07.702Z", "modified_at": "2024-02-13T11:39:50.769Z", "id": "", "metadata": {"key": false}, "type": "checkbox", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 391050, "required": false}]}, "discount": {"duration": "repeating", "type": "percentage", "amount": 1000, "currency": "usd", "amounts": {"eur": 900, "usd": 1000}, "created_at": "2024-04-28T03:54:28.062Z", "modified_at": null, "id": "", "metadata": {"key": false}, "name": "", "code": "", "starts_at": "2024-06-17T23:01:19.922Z", "ends_at": "2026-02-28T21:58:52.619Z", "max_redemptions": 394223, "redemptions_count": 561964, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "prices": [{"created_at": "2023-08-24T17:03:16.161Z", "modified_at": "2025-05-07T18:20:34.107Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 827165, "maximum_amount": 310545, "preset_amount": 154160, "legacy": true}], "meters": [{"created_at": "2025-05-06T10:58:26.450Z", "modified_at": "2023-02-03T13:37:09.685Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"metadata": {"key": 9123.24, "key1": 3339.89}, "created_at": "2023-08-27T05:28:27.611Z", "modified_at": "2025-09-09T13:09:53.525Z", "id": "", "name": "", "unit": "custom", "filter": {"conjunction": "and", "clauses": []}, "aggregation": {"func": "max", "property": ""}, "organization_id": ""}}], "pending_update": {"created_at": "2026-01-06T09:33:07.581Z", "modified_at": "2024-09-15T08:48:24.676Z", "id": "", "applies_at": "2024-10-23T14:08:09.547Z", "product_id": "", "seats": 262272}}], "pagination": {"total_count": 736417, "max_page": 265899}} "422": application/json: {} subscriptions:export: @@ -10174,7 +10946,7 @@ examples: id: "" responses: "200": - application/json: {"created_at": "2023-10-24T15:26:40.431Z", "modified_at": "2024-06-09T21:26:52.968Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "year", "recurring_interval_count": 270660, "status": "unpaid", "current_period_start": "2024-08-08T06:50:28.568Z", "current_period_end": "2025-04-05T21:01:12.454Z", "trial_start": "2024-06-09T21:26:52.968Z", "trial_end": "2025-09-03T08:50:28.234Z", "cancel_at_period_end": true, "canceled_at": "2024-03-25T01:30:57.659Z", "started_at": "2023-10-17T03:10:19.145Z", "ends_at": "2025-05-09T12:42:07.453Z", "ended_at": "2024-12-02T16:50:43.309Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "other", "customer_cancellation_comment": "", "metadata": {}, "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2025-07-23T18:45:11.258Z", "modified_at": "2023-03-16T09:19:01.969Z", "metadata": {"key": 66093}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-06-01T00:25:19.556Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "product": {"id": "", "created_at": "2023-01-21T13:43:56.084Z", "modified_at": "2025-01-27T14:51:45.522Z", "trial_interval": "year", "trial_interval_count": 753537, "name": "", "description": "excluding than per until sans supposing soup gladly", "visibility": "draft", "recurring_interval": "month", "recurring_interval_count": 190655, "is_recurring": false, "is_archived": true, "organization_id": "", "metadata": {}, "prices": [], "benefits": [{"id": "", "created_at": "2025-04-22T15:06:50.313Z", "modified_at": "2024-10-18T20:55:38.436Z", "type": "meter_credit", "description": "swift ugh aha", "selectable": true, "deletable": true, "organization_id": "", "metadata": {"key": ""}, "properties": {"units": 99876, "rollover": true, "meter_id": ""}}, {"id": "", "created_at": "2023-01-12T12:52:41.018Z", "modified_at": "2025-09-24T09:48:44.500Z", "type": "custom", "description": "geez apropos aw if apud tail", "selectable": true, "deletable": true, "organization_id": "", "metadata": {"key": 470795, "key1": "", "key2": ""}, "properties": {"note": ""}}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/etc/periodic", "mime_type": "", "size": 247655, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2024-08-04T09:06:43.687Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2023-09-10T17:20:17.965Z", "size_readable": "", "public_url": "https://mild-porter.com/"}], "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2024-09-24T19:46:09.102Z", "modified_at": "2023-12-29T15:05:13.747Z", "id": "", "metadata": {}, "type": "checkbox", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 338803, "required": false}]}, "discount": {"duration": "repeating", "duration_in_months": 22373, "type": "percentage", "basis_points": 226600, "created_at": "2024-02-07T10:08:38.227Z", "modified_at": "2025-12-12T09:46:30.426Z", "id": "", "metadata": {"key": "", "key1": 417.38}, "name": "", "code": "", "starts_at": "2024-11-17T04:20:58.427Z", "ends_at": "2023-10-09T10:14:25.579Z", "max_redemptions": 203995, "redemptions_count": 217253, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "prices": [{"created_at": "2023-07-28T23:00:02.724Z", "modified_at": "2025-03-22T08:23:39.797Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 753537, "legacy": true}, {"created_at": "2023-10-17T03:10:19.145Z", "modified_at": "2024-12-02T16:50:43.309Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_amount": 852903, "legacy": true}, {"created_at": "2023-12-06T04:13:55.667Z", "modified_at": null, "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "exclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 18770, "maximum_amount": 664150, "preset_amount": 592977, "legacy": true}], "meters": [{"created_at": "2024-08-06T06:35:30.893Z", "modified_at": "2024-07-29T20:54:27.953Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"metadata": {"key": 954227, "key1": "", "key2": 891827}, "created_at": "2023-01-22T09:16:54.137Z", "modified_at": "2025-05-04T06:38:30.807Z", "id": "", "name": "", "filter": {"conjunction": "and", "clauses": [{"property": "", "operator": "like", "value": ""}]}, "aggregation": {"func": "sum", "property": ""}, "organization_id": ""}}], "pending_update": {"created_at": "2026-04-05T21:01:12.454Z", "modified_at": null, "id": "", "applies_at": "2025-03-25T01:30:57.659Z", "product_id": "", "seats": 640239}} + application/json: {"created_at": "2023-10-24T15:26:40.431Z", "modified_at": "2024-06-09T21:26:52.968Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "year", "recurring_interval_count": 270660, "status": "unpaid", "current_period_start": "2024-08-08T06:50:28.568Z", "current_period_end": "2025-04-05T21:01:12.454Z", "current_meter_period_start": "2025-06-09T21:26:52.968Z", "current_meter_period_end": "2026-09-03T08:50:28.234Z", "trial_start": "2024-06-09T21:26:52.968Z", "trial_end": "2025-09-03T08:50:28.234Z", "cancel_at_period_end": true, "canceled_at": "2024-03-25T01:30:57.659Z", "started_at": "2023-10-17T03:10:19.145Z", "ends_at": "2025-05-09T12:42:07.453Z", "ended_at": "2024-12-02T16:50:43.309Z", "pause_at_period_end": false, "paused_at": "2025-08-08T06:50:28.568Z", "resumes_at": "2024-01-20T10:40:24.645Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "other", "customer_cancellation_comment": "", "metadata": {}, "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2025-07-23T18:45:11.258Z", "modified_at": "2023-03-16T09:19:01.969Z", "metadata": {"key": 66093}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-06-01T00:25:19.556Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "product": {"id": "", "created_at": "2023-01-21T13:43:56.084Z", "modified_at": "2025-01-27T14:51:45.522Z", "trial_interval": "year", "trial_interval_count": 753537, "name": "", "description": "excluding than per until sans supposing soup gladly", "visibility": "draft", "recurring_interval": "month", "recurring_interval_count": 190655, "meter_interval": "week", "meter_interval_count": 640239, "is_recurring": false, "is_archived": true, "organization_id": "", "metadata": {}, "prices": [], "benefits": [{"id": "", "created_at": "2025-04-22T15:06:50.313Z", "modified_at": "2024-10-18T20:55:38.436Z", "type": "meter_credit", "description": "swift ugh aha", "selectable": true, "deletable": true, "is_deleted": false, "organization_id": "", "metadata": {"key": ""}, "visibility": "draft", "properties": {"units": 99876, "rollover": true, "meter_id": ""}, "visibility_configurable": false}, {"id": "", "created_at": "2023-01-12T12:52:41.018Z", "modified_at": "2025-09-24T09:48:44.500Z", "type": "custom", "description": "geez apropos aw if apud tail", "selectable": true, "deletable": true, "is_deleted": true, "organization_id": "", "metadata": {"key": 470795, "key1": "", "key2": ""}, "visibility": "draft", "properties": {"note": ""}, "visibility_configurable": true}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/etc/periodic", "mime_type": "", "size": 247655, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2024-08-04T09:06:43.687Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2023-09-10T17:20:17.965Z", "size_readable": "", "public_url": "https://mild-porter.com/"}], "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2024-09-24T19:46:09.102Z", "modified_at": "2023-12-29T15:05:13.747Z", "id": "", "metadata": {}, "type": "checkbox", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 338803, "required": false}]}, "discount": {"duration": "repeating", "duration_in_months": 22373, "type": "percentage", "basis_points": 226600, "created_at": "2024-02-07T10:08:38.227Z", "modified_at": "2025-12-12T09:46:30.426Z", "id": "", "metadata": {"key": "", "key1": 417.38}, "name": "", "code": "", "starts_at": "2024-11-17T04:20:58.427Z", "ends_at": "2023-10-09T10:14:25.579Z", "max_redemptions": 203995, "redemptions_count": 217253, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "prices": [{"created_at": "2023-07-28T23:00:02.724Z", "modified_at": "2025-03-22T08:23:39.797Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 753537, "legacy": true}, {"created_at": "2023-10-17T03:10:19.145Z", "modified_at": "2024-12-02T16:50:43.309Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_amount": 852903, "legacy": true}, {"created_at": "2023-12-06T04:13:55.667Z", "modified_at": null, "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "exclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 18770, "maximum_amount": 664150, "preset_amount": 592977, "legacy": true}], "meters": [{"created_at": "2024-08-06T06:35:30.893Z", "modified_at": "2024-07-29T20:54:27.953Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"metadata": {"key": 954227, "key1": "", "key2": 891827}, "created_at": "2023-01-22T09:16:54.137Z", "modified_at": "2025-05-04T06:38:30.807Z", "id": "", "name": "", "unit": "scalar", "filter": {"conjunction": "and", "clauses": [{"property": "", "operator": "like", "value": ""}]}, "aggregation": {"func": "sum", "property": ""}, "organization_id": ""}}], "pending_update": {"created_at": "2026-04-05T21:01:12.454Z", "modified_at": null, "id": "", "applies_at": "2025-03-25T01:30:57.659Z", "product_id": "", "seats": 640239}} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -10188,7 +10960,7 @@ examples: application/json: {"product_id": ""} responses: "200": - application/json: {"created_at": "2023-12-04T14:44:14.136Z", "modified_at": "2025-09-04T13:39:15.428Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "year", "recurring_interval_count": 297120, "status": "unpaid", "current_period_start": "2025-06-25T20:21:44.675Z", "current_period_end": "2024-10-27T19:14:25.505Z", "trial_start": "2023-12-04T14:44:14.136Z", "trial_end": "2023-05-01T08:54:32.351Z", "cancel_at_period_end": true, "canceled_at": "2025-11-08T09:51:13.337Z", "started_at": "2024-09-07T02:23:54.975Z", "ends_at": "2025-07-07T21:05:18.372Z", "ended_at": "2023-05-16T23:35:19.423Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "switched_service", "customer_cancellation_comment": "", "metadata": {"key": 7599.26}, "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-04-18T02:08:01.183Z", "modified_at": "2023-12-10T00:14:34.013Z", "metadata": {}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2024-02-05T08:01:02.549Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "product": {"id": "", "created_at": "2023-04-14T01:28:56.798Z", "modified_at": "2024-12-22T22:29:17.140Z", "trial_interval": "year", "trial_interval_count": 827417, "name": "", "description": "gratefully unknown mathematics descendant carpool beneath folklore readies", "visibility": "draft", "recurring_interval": "year", "recurring_interval_count": 891943, "is_recurring": true, "is_archived": false, "organization_id": "", "metadata": {}, "prices": [{"created_at": "2025-09-04T13:39:15.428Z", "modified_at": "2023-06-09T23:09:57.743Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 607483, "maximum_amount": 951105, "preset_amount": 838393, "legacy": true}, {"created_at": "2023-11-02T08:09:24.083Z", "modified_at": "2025-04-12T21:04:51.008Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_amount": 203413, "legacy": true}], "benefits": [{"id": "", "created_at": "2023-12-04T14:44:14.136Z", "modified_at": "2023-05-01T08:54:32.351Z", "type": "discord", "description": "noxious inculcate gadzooks even", "selectable": true, "deletable": false, "organization_id": "", "metadata": {"key": 9053.84}, "properties": {"guild_id": "", "role_id": "", "kick_member": false, "guild_token": ""}}, {"id": "", "created_at": "2023-11-21T14:30:03.884Z", "modified_at": "2023-11-01T15:07:10.181Z", "type": "github_repository", "description": "loose meh coaxingly front till", "selectable": false, "deletable": true, "organization_id": "", "metadata": {"key": true}, "properties": {"repository_owner": "polarsource", "repository_name": "private_repo", "permission": "admin"}}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/usr/obj", "mime_type": "", "size": 775761, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-06-05T23:40:53.246Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-12-16T17:05:05.262Z", "size_readable": "", "public_url": "https://superb-affiliate.info/"}], "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2024-05-21T22:48:07.053Z", "modified_at": "2025-02-07T00:36:09.693Z", "id": "", "metadata": {"key": 918253}, "type": "text", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 813700, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2024-05-21T22:48:07.053Z", "modified_at": "2025-02-07T00:36:09.693Z", "id": "", "metadata": {"key": 918253}, "type": "text", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 813700, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2024-05-21T22:48:07.053Z", "modified_at": "2025-02-07T00:36:09.693Z", "id": "", "metadata": {"key": 918253}, "type": "text", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 813700, "required": false}]}, "discount": {"duration": "repeating", "type": "fixed", "amount": 728832, "currency": "Lek", "amounts": {"eur": 900, "usd": 1000}, "created_at": "2024-12-22T18:45:55.995Z", "modified_at": "2023-10-25T19:43:58.641Z", "id": "", "metadata": {"key": 439701, "key1": 278595}, "name": "", "code": "", "starts_at": "2024-07-19T02:04:07.878Z", "ends_at": "2025-06-28T09:54:16.532Z", "max_redemptions": 790930, "redemptions_count": 804484, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "prices": [{"created_at": "2024-02-05T08:01:02.549Z", "modified_at": null, "id": "", "source": "ad_hoc", "amount_type": "free", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}, {"created_at": "2023-12-26T01:37:45.354Z", "modified_at": "2023-11-30T02:22:41.602Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 563833, "legacy": true}], "meters": [{"created_at": "2025-04-26T17:12:22.786Z", "modified_at": "2023-04-28T00:55:49.762Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"metadata": {}, "created_at": "2025-03-03T20:20:51.909Z", "modified_at": "2023-04-27T13:02:42.826Z", "id": "", "name": "", "filter": {"conjunction": "and", "clauses": []}, "aggregation": {"func": "min", "property": ""}, "organization_id": ""}}, {"created_at": "2025-04-26T17:12:22.786Z", "modified_at": "2023-04-28T00:55:49.762Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"metadata": {}, "created_at": "2025-03-03T20:20:51.909Z", "modified_at": "2023-04-27T13:02:42.826Z", "id": "", "name": "", "filter": {"conjunction": "and", "clauses": []}, "aggregation": {"func": "min", "property": ""}, "organization_id": ""}}], "pending_update": {"created_at": "2026-11-08T09:51:13.337Z", "modified_at": "2026-07-07T21:05:18.372Z", "id": "", "applies_at": "2024-05-15T23:35:19.423Z", "product_id": "", "seats": 506969}} + application/json: {"created_at": "2023-12-04T14:44:14.136Z", "modified_at": "2025-09-04T13:39:15.428Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "year", "recurring_interval_count": 297120, "status": "unpaid", "current_period_start": "2025-06-25T20:21:44.675Z", "current_period_end": "2024-10-27T19:14:25.505Z", "current_meter_period_start": "2024-12-03T14:44:14.136Z", "current_meter_period_end": "2024-04-30T08:54:32.351Z", "trial_start": "2023-12-04T14:44:14.136Z", "trial_end": "2023-05-01T08:54:32.351Z", "cancel_at_period_end": true, "canceled_at": "2025-11-08T09:51:13.337Z", "started_at": "2024-09-07T02:23:54.975Z", "ends_at": "2025-07-07T21:05:18.372Z", "ended_at": "2023-05-16T23:35:19.423Z", "pause_at_period_end": true, "paused_at": "2026-10-16T09:14:58.817Z", "resumes_at": "2025-10-27T19:14:25.505Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "switched_service", "customer_cancellation_comment": "", "metadata": {"key": 7599.26}, "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-04-18T02:08:01.183Z", "modified_at": "2023-12-10T00:14:34.013Z", "metadata": {}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2024-02-05T08:01:02.549Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "product": {"id": "", "created_at": "2023-04-14T01:28:56.798Z", "modified_at": "2024-12-22T22:29:17.140Z", "trial_interval": "year", "trial_interval_count": 827417, "name": "", "description": "gratefully unknown mathematics descendant carpool beneath folklore readies", "visibility": "draft", "recurring_interval": "year", "recurring_interval_count": 891943, "meter_interval": "year", "meter_interval_count": 838393, "is_recurring": true, "is_archived": false, "organization_id": "", "metadata": {}, "prices": [{"created_at": "2025-09-04T13:39:15.428Z", "modified_at": "2023-06-09T23:09:57.743Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 607483, "maximum_amount": 951105, "preset_amount": 838393, "legacy": true}, {"created_at": "2023-11-02T08:09:24.083Z", "modified_at": "2025-04-12T21:04:51.008Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_amount": 203413, "legacy": true}], "benefits": [{"id": "", "created_at": "2023-12-04T14:44:14.136Z", "modified_at": "2023-05-01T08:54:32.351Z", "type": "discord", "description": "noxious inculcate gadzooks even", "selectable": true, "deletable": false, "is_deleted": true, "organization_id": "", "metadata": {"key": 9053.84}, "visibility": "private", "properties": {"guild_id": "", "role_id": "", "kick_member": false, "guild_token": ""}, "visibility_configurable": true}, {"id": "", "created_at": "2023-11-21T14:30:03.884Z", "modified_at": "2023-11-01T15:07:10.181Z", "type": "github_repository", "description": "loose meh coaxingly front till", "selectable": false, "deletable": true, "is_deleted": false, "organization_id": "", "metadata": {"key": true}, "visibility": "public", "properties": {"repository_owner": "polarsource", "repository_name": "private_repo", "permission": "admin"}, "visibility_configurable": true}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/usr/obj", "mime_type": "", "size": 775761, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-06-05T23:40:53.246Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-12-16T17:05:05.262Z", "size_readable": "", "public_url": "https://superb-affiliate.info/"}], "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2024-05-21T22:48:07.053Z", "modified_at": "2025-02-07T00:36:09.693Z", "id": "", "metadata": {"key": 918253}, "type": "text", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 813700, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2024-05-21T22:48:07.053Z", "modified_at": "2025-02-07T00:36:09.693Z", "id": "", "metadata": {"key": 918253}, "type": "text", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 813700, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2024-05-21T22:48:07.053Z", "modified_at": "2025-02-07T00:36:09.693Z", "id": "", "metadata": {"key": 918253}, "type": "text", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 813700, "required": false}]}, "discount": {"duration": "repeating", "type": "fixed", "amount": 728832, "currency": "Lek", "amounts": {"eur": 900, "usd": 1000}, "created_at": "2024-12-22T18:45:55.995Z", "modified_at": "2023-10-25T19:43:58.641Z", "id": "", "metadata": {"key": 439701, "key1": 278595}, "name": "", "code": "", "starts_at": "2024-07-19T02:04:07.878Z", "ends_at": "2025-06-28T09:54:16.532Z", "max_redemptions": 790930, "redemptions_count": 804484, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "prices": [{"created_at": "2026-06-17T01:56:04.485Z", "modified_at": "2025-02-04T08:01:02.549Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 441588, "maximum_amount": 327617, "preset_amount": 303922, "legacy": true}, {"created_at": "2023-12-26T01:37:45.354Z", "modified_at": "2023-11-30T02:22:41.602Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 563833, "legacy": true}], "meters": [{"created_at": "2025-04-26T17:12:22.786Z", "modified_at": "2023-04-28T00:55:49.762Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"metadata": {}, "created_at": "2025-03-03T20:20:51.909Z", "modified_at": "2023-04-27T13:02:42.826Z", "id": "", "name": "", "unit": "token", "filter": {"conjunction": "and", "clauses": []}, "aggregation": {"func": "min", "property": ""}, "organization_id": ""}}, {"created_at": "2025-04-26T17:12:22.786Z", "modified_at": "2023-04-28T00:55:49.762Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"metadata": {}, "created_at": "2025-03-03T20:20:51.909Z", "modified_at": "2023-04-27T13:02:42.826Z", "id": "", "name": "", "unit": "custom", "filter": {"conjunction": "and", "clauses": []}, "aggregation": {"func": "min", "property": ""}, "organization_id": ""}}], "pending_update": {"created_at": "2026-11-08T09:51:13.337Z", "modified_at": "2026-07-07T21:05:18.372Z", "id": "", "applies_at": "2024-05-15T23:35:19.423Z", "product_id": "", "seats": 506969}} "403": application/json: {"error": "AlreadyCanceledSubscription", "detail": ""} "404": @@ -10206,7 +10978,7 @@ examples: id: "" responses: "200": - application/json: {"created_at": "2023-04-13T16:53:14.377Z", "modified_at": "2024-01-29T22:30:46.801Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "month", "recurring_interval_count": 93707, "status": "incomplete", "current_period_start": "2024-11-08T14:37:06.133Z", "current_period_end": "2024-09-21T11:35:55.569Z", "trial_start": null, "trial_end": "2023-10-09T16:03:24.107Z", "cancel_at_period_end": false, "canceled_at": "2025-03-29T10:01:06.463Z", "started_at": "2023-03-31T11:27:51.165Z", "ends_at": "2025-05-03T12:35:08.460Z", "ended_at": "2025-09-12T16:35:27.128Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "too_complex", "customer_cancellation_comment": "", "metadata": {"key": "", "key1": "", "key2": 423433}, "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2025-09-25T04:14:25.732Z", "modified_at": "2023-09-27T07:00:27.919Z", "metadata": {"key": "", "key1": "", "key2": ""}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-02-06T08:24:11.064Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "product": {"id": "", "created_at": "2023-04-05T19:10:22.088Z", "modified_at": "2023-04-10T09:03:41.839Z", "trial_interval": "week", "trial_interval_count": 618257, "name": "", "description": "nor yowza meh ethyl where once exotic", "visibility": "draft", "recurring_interval": "year", "recurring_interval_count": 256997, "is_recurring": true, "is_archived": false, "organization_id": "", "metadata": {}, "prices": [{"created_at": "2023-10-09T16:03:24.107Z", "modified_at": "2023-10-18T20:01:51.483Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": null, "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 574346, "legacy": true}, {"created_at": "2023-03-31T11:27:51.165Z", "modified_at": "2025-09-12T16:35:27.128Z", "id": "", "source": "catalog", "amount_type": "free", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "legacy": true}], "benefits": [{"id": "", "created_at": "2024-01-06T03:14:58.710Z", "modified_at": "2025-10-19T08:05:33.466Z", "type": "meter_credit", "description": "oh outlying minister yuck boastfully meh forenenst", "selectable": false, "deletable": false, "organization_id": "", "metadata": {"key": true, "key1": "", "key2": ""}, "properties": {"units": 662183, "rollover": false, "meter_id": ""}}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/boot/defaults", "mime_type": "", "size": 502181, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-09-11T21:28:13.979Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2025-11-25T14:48:27.950Z", "size_readable": "", "public_url": "https://sugary-backburn.info/"}, {"id": "", "organization_id": "", "name": "", "path": "/boot/defaults", "mime_type": "", "size": 502181, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-09-11T21:28:13.979Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2025-11-25T14:48:27.950Z", "size_readable": "", "public_url": "https://sugary-backburn.info/"}, {"id": "", "organization_id": "", "name": "", "path": "/boot/defaults", "mime_type": "", "size": 502181, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-09-11T21:28:13.979Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2025-11-25T14:48:27.950Z", "size_readable": "", "public_url": "https://sugary-backburn.info/"}], "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2023-12-16T04:55:22.696Z", "modified_at": "2025-07-13T21:55:11.751Z", "id": "", "metadata": {}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 712744, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2023-12-16T04:55:22.696Z", "modified_at": "2025-07-13T21:55:11.751Z", "id": "", "metadata": {}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 712744, "required": false}]}, "discount": {"duration": "repeating", "duration_in_months": 940650, "type": "fixed", "amount": 88536, "currency": "Falkland Islands Pound", "amounts": {"eur": 900, "usd": 1000}, "created_at": "2024-03-23T02:00:57.683Z", "modified_at": "2025-12-03T01:54:33.549Z", "id": "", "metadata": {"key": 6385.42, "key1": 535188}, "name": "", "code": "", "starts_at": "2024-03-07T13:08:37.198Z", "ends_at": "2023-03-31T15:44:09.382Z", "max_redemptions": 130085, "redemptions_count": 811746, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "prices": [{"created_at": "2025-09-25T04:14:25.732Z", "modified_at": "2025-11-14T15:31:42.442Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 606069, "legacy": true}, {"created_at": "2025-05-21T20:43:29.354Z", "modified_at": "2023-04-05T19:10:22.088Z", "id": "", "source": "catalog", "amount_type": "free", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}, {"created_at": "2023-04-14T01:49:23.359Z", "modified_at": "2023-02-27T03:18:26.391Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 359432, "maximum_amount": 75257, "preset_amount": 135909, "legacy": true}], "meters": [{"created_at": "2024-06-12T17:02:50.103Z", "modified_at": "2023-12-20T01:23:41.559Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"metadata": {"key": "", "key1": "", "key2": true}, "created_at": "2023-07-25T11:48:05.422Z", "modified_at": "2025-08-20T14:57:29.284Z", "id": "", "name": "", "filter": {"conjunction": "and", "clauses": []}, "aggregation": {"func": "min", "property": ""}, "organization_id": ""}}], "pending_update": null} + application/json: {"created_at": "2023-04-13T16:53:14.377Z", "modified_at": "2024-01-29T22:30:46.801Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "month", "recurring_interval_count": 93707, "status": "incomplete", "current_period_start": "2024-11-08T14:37:06.133Z", "current_period_end": "2024-09-21T11:35:55.569Z", "current_meter_period_start": null, "current_meter_period_end": "2024-10-08T16:03:24.107Z", "trial_start": null, "trial_end": "2023-10-09T16:03:24.107Z", "cancel_at_period_end": false, "canceled_at": "2025-03-29T10:01:06.463Z", "started_at": "2023-03-31T11:27:51.165Z", "ends_at": "2025-05-03T12:35:08.460Z", "ended_at": "2025-09-12T16:35:27.128Z", "pause_at_period_end": true, "paused_at": "2024-05-28T00:12:33.005Z", "resumes_at": "2025-09-21T11:35:55.569Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "too_complex", "customer_cancellation_comment": "", "metadata": {"key": "", "key1": "", "key2": 423433}, "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2025-09-25T04:14:25.732Z", "modified_at": "2023-09-27T07:00:27.919Z", "metadata": {"key": "", "key1": "", "key2": ""}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-02-06T08:24:11.064Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "product": {"id": "", "created_at": "2023-04-05T19:10:22.088Z", "modified_at": "2023-04-10T09:03:41.839Z", "trial_interval": "week", "trial_interval_count": 618257, "name": "", "description": "nor yowza meh ethyl where once exotic", "visibility": "draft", "recurring_interval": "year", "recurring_interval_count": 256997, "meter_interval": "month", "meter_interval_count": null, "is_recurring": true, "is_archived": false, "organization_id": "", "metadata": {}, "prices": [{"created_at": "2023-10-09T16:03:24.107Z", "modified_at": "2023-10-18T20:01:51.483Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": null, "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 574346, "legacy": true}, {"created_at": "2025-08-14T22:40:27.533Z", "modified_at": "2024-09-14T11:29:54.406Z", "id": "", "source": "catalog", "amount_type": "seat_based", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "seat_tiers": {"tiers": [], "minimum_seats": 956795, "maximum_seats": null}}], "benefits": [{"id": "", "created_at": "2024-01-06T03:14:58.710Z", "modified_at": "2025-10-19T08:05:33.466Z", "type": "meter_credit", "description": "oh outlying minister yuck boastfully meh forenenst", "selectable": false, "deletable": false, "is_deleted": false, "organization_id": "", "metadata": {"key": true, "key1": "", "key2": ""}, "visibility": "private", "properties": {"units": 662183, "rollover": false, "meter_id": ""}, "visibility_configurable": true}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/boot/defaults", "mime_type": "", "size": 502181, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-09-11T21:28:13.979Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2025-11-25T14:48:27.950Z", "size_readable": "", "public_url": "https://sugary-backburn.info/"}, {"id": "", "organization_id": "", "name": "", "path": "/boot/defaults", "mime_type": "", "size": 502181, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-09-11T21:28:13.979Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2025-11-25T14:48:27.950Z", "size_readable": "", "public_url": "https://sugary-backburn.info/"}, {"id": "", "organization_id": "", "name": "", "path": "/boot/defaults", "mime_type": "", "size": 502181, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-09-11T21:28:13.979Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2025-11-25T14:48:27.950Z", "size_readable": "", "public_url": "https://sugary-backburn.info/"}], "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2023-12-16T04:55:22.696Z", "modified_at": "2025-07-13T21:55:11.751Z", "id": "", "metadata": {}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 712744, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2023-12-16T04:55:22.696Z", "modified_at": "2025-07-13T21:55:11.751Z", "id": "", "metadata": {}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 712744, "required": false}]}, "discount": {"duration": "repeating", "duration_in_months": 940650, "type": "fixed", "amount": 88536, "currency": "Falkland Islands Pound", "amounts": {"eur": 900, "usd": 1000}, "created_at": "2024-03-23T02:00:57.683Z", "modified_at": "2025-12-03T01:54:33.549Z", "id": "", "metadata": {"key": 6385.42, "key1": 535188}, "name": "", "code": "", "starts_at": "2024-03-07T13:08:37.198Z", "ends_at": "2023-03-31T15:44:09.382Z", "max_redemptions": 130085, "redemptions_count": 811746, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "prices": [{"created_at": "2025-09-25T04:14:25.732Z", "modified_at": "2025-11-14T15:31:42.442Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 606069, "legacy": true}, {"created_at": "2026-02-06T08:24:11.064Z", "modified_at": null, "id": "", "source": "catalog", "amount_type": "seat_based", "price_currency": "", "tax_behavior": "exclusive", "is_archived": true, "product_id": "", "seat_tiers": {"tiers": [], "minimum_seats": 956795, "maximum_seats": null}}, {"created_at": "2023-04-14T01:49:23.359Z", "modified_at": "2023-02-27T03:18:26.391Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 359432, "maximum_amount": 75257, "preset_amount": 135909, "legacy": true}], "meters": [{"created_at": "2024-06-12T17:02:50.103Z", "modified_at": "2023-12-20T01:23:41.559Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"metadata": {"key": "", "key1": "", "key2": true}, "created_at": "2023-07-25T11:48:05.422Z", "modified_at": "2025-08-20T14:57:29.284Z", "id": "", "name": "", "unit": "scalar", "filter": {"conjunction": "and", "clauses": []}, "aggregation": {"func": "min", "property": ""}, "organization_id": ""}}], "pending_update": null} "403": application/json: {"error": "AlreadyCanceledSubscription", "detail": ""} "404": @@ -10219,7 +10991,7 @@ examples: speakeasy-default-oauth2-:authorize: responses: "200": - application/json: {"client": {"created_at": "2025-08-27T16:03:17.746Z", "modified_at": "2025-12-31T04:52:17.880Z", "client_id": "", "client_name": "", "client_uri": "https://stark-cardboard.org", "logo_uri": "https://merry-disconnection.com", "tos_uri": "https://focused-hutch.net/", "policy_uri": "https://reasonable-advancement.name"}, "sub_type": "organization", "sub": {"id": "", "slug": "", "avatar_url": "https://short-term-hydrolyse.biz/"}, "scopes": ["checkout_links:read", "license_keys:write"], "organizations": [{"id": "", "slug": "", "avatar_url": "https://scary-interior.info/"}, {"id": "", "slug": "", "avatar_url": "https://scary-interior.info/"}]} + application/json: {"client": {"created_at": "2025-08-27T16:03:17.746Z", "modified_at": "2025-12-31T04:52:17.880Z", "client_id": "", "client_name": "", "client_uri": "https://stark-cardboard.org", "logo_uri": "https://merry-disconnection.com", "tos_uri": "https://focused-hutch.net/", "policy_uri": "https://reasonable-advancement.name"}, "sub_type": "organization", "sub": {"id": "", "slug": "", "avatar_url": "https://short-term-hydrolyse.biz/"}, "scopes": ["checkout_links:read", "license_keys:write"], "organizations": [{"id": "", "slug": "", "avatar_url": "https://scary-interior.info/"}, {"id": "", "slug": "", "avatar_url": "https://scary-interior.info/"}], "requires_single_organization": false} oauth2:request_token: speakeasy-default-oauth2-:request-token: requestBody: @@ -10240,7 +11012,7 @@ examples: application/x-www-form-urlencoded: {"token": "", "client_id": "", "client_secret": ""} responses: "200": - application/json: {"active": false, "client_id": "", "token_type": "access_token", "scope": "", "sub_type": "organization", "sub": "", "aud": "", "iss": "", "exp": 726442, "iat": 758897} + application/json: {"active": false, "client_id": "", "token_type": "access_token", "scope": "", "sub_type": "organization", "sub": "", "organizations": ["", "", ""], "aud": "", "iss": "", "exp": 726442, "iat": 758897} oauth2:userinfo: speakeasy-default-oauth2-:userinfo: responses: @@ -10260,7 +11032,7 @@ examples: oauth2:clients:oauth2:create_client: speakeasy-default-oauth2-:clients:oauth2-:create-client: requestBody: - application/json: {"redirect_uris": ["https://impolite-hippodrome.com/", "https://acidic-tomography.net/"], "token_endpoint_auth_method": "client_secret_post", "scope": "openid profile email user:read user:write organizations:read organizations:write custom_fields:read custom_fields:write discounts:read discounts:write checkout_links:read checkout_links:write checkouts:read checkouts:write transactions:read transactions:write payouts:read payouts:write products:read products:write benefits:read benefits:write events:read events:write meters:read meters:write files:read files:write subscriptions:read subscriptions:write customers:read customers:write members:read members:write wallets:read wallets:write disputes:read customer_meters:read customer_sessions:write member_sessions:write customer_seats:read customer_seats:write orders:read orders:write refunds:read refunds:write payments:read metrics:read metrics:write webhooks:read webhooks:write license_keys:read license_keys:write customer_portal:read customer_portal:write notifications:read notifications:write notification_recipients:read notification_recipients:write organization_access_tokens:read organization_access_tokens:write", "client_name": ""} + application/json: {"redirect_uris": ["https://impolite-hippodrome.com/", "https://acidic-tomography.net/"], "token_endpoint_auth_method": "client_secret_post", "scope": "openid profile email user:read user:write organizations:read organizations:write custom_fields:read custom_fields:write discounts:read discounts:write checkout_links:read checkout_links:write checkouts:read checkouts:write transactions:read transactions:write payouts:read payouts:write products:read products:write benefits:read benefits:write events:read events:write meters:read meters:write files:read files:write subscriptions:read subscriptions:write customers:read customers:write members:read members:write wallets:read wallets:write disputes:read disputes:write customer_meters:read customer_sessions:write member_sessions:write customer_seats:read customer_seats:write orders:read orders:write refunds:read refunds:write payments:read metrics:read metrics:write webhooks:read webhooks:write license_keys:read license_keys:write customer_portal:read customer_portal:write notifications:read notifications:write notification_recipients:read notification_recipients:write", "client_name": ""} responses: "200": application/json: "" @@ -10282,7 +11054,7 @@ examples: path: client_id: "" requestBody: - application/json: {"redirect_uris": ["https://classic-cantaloupe.org", "https://corrupt-status.biz/"], "token_endpoint_auth_method": "client_secret_post", "scope": "openid profile email user:read user:write organizations:read organizations:write custom_fields:read custom_fields:write discounts:read discounts:write checkout_links:read checkout_links:write checkouts:read checkouts:write transactions:read transactions:write payouts:read payouts:write products:read products:write benefits:read benefits:write events:read events:write meters:read meters:write files:read files:write subscriptions:read subscriptions:write customers:read customers:write members:read members:write wallets:read wallets:write disputes:read customer_meters:read customer_sessions:write member_sessions:write customer_seats:read customer_seats:write orders:read orders:write refunds:read refunds:write payments:read metrics:read metrics:write webhooks:read webhooks:write license_keys:read license_keys:write customer_portal:read customer_portal:write notifications:read notifications:write notification_recipients:read notification_recipients:write organization_access_tokens:read organization_access_tokens:write", "client_name": "", "client_id": ""} + application/json: {"redirect_uris": ["https://classic-cantaloupe.org", "https://corrupt-status.biz/"], "token_endpoint_auth_method": "client_secret_post", "scope": "openid profile email user:read user:write organizations:read organizations:write custom_fields:read custom_fields:write discounts:read discounts:write checkout_links:read checkout_links:write checkouts:read checkouts:write transactions:read transactions:write payouts:read payouts:write products:read products:write benefits:read benefits:write events:read events:write meters:read meters:write files:read files:write subscriptions:read subscriptions:write customers:read customers:write members:read members:write wallets:read wallets:write disputes:read disputes:write customer_meters:read customer_sessions:write member_sessions:write customer_seats:read customer_seats:write orders:read orders:write refunds:read refunds:write payments:read metrics:read metrics:write webhooks:read webhooks:write license_keys:read license_keys:write customer_portal:read customer_portal:write notifications:read notifications:write notification_recipients:read notification_recipients:write", "client_name": "", "client_id": ""} responses: "200": application/json: "" @@ -10316,7 +11088,7 @@ examples: application/json: {"type": "license_keys", "description": "mature emergent at outside arrogantly gadzooks zealous equatorial notwithstanding", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}} responses: "201": - application/json: {"id": "", "created_at": "2025-04-12T16:58:02.734Z", "modified_at": "2023-01-10T18:15:40.256Z", "type": "meter_credit", "description": "boo beyond lovingly", "selectable": true, "deletable": false, "organization_id": "", "metadata": {"key": 918217, "key1": true, "key2": true}, "properties": {"units": 47791, "rollover": true, "meter_id": ""}} + application/json: {"id": "", "created_at": "2025-04-12T16:58:02.734Z", "modified_at": "2023-01-10T18:15:40.256Z", "type": "meter_credit", "description": "boo beyond lovingly", "selectable": true, "deletable": false, "is_deleted": false, "organization_id": "", "metadata": {"key": 918217, "key1": true, "key2": true}, "visibility": "public", "properties": {"units": 47791, "rollover": true, "meter_id": ""}, "visibility_configurable": true} "422": application/json: {} benefits:get: @@ -10326,7 +11098,7 @@ examples: id: "" responses: "200": - application/json: {"id": "", "created_at": "2023-09-27T02:48:01.120Z", "modified_at": "2023-09-22T18:45:01.460Z", "type": "meter_credit", "description": "starboard that if", "selectable": true, "deletable": true, "organization_id": "", "metadata": {"key": 100377, "key1": true, "key2": 607029}, "properties": {"units": 366454, "rollover": false, "meter_id": ""}} + application/json: {"id": "", "created_at": "2023-09-27T02:48:01.120Z", "modified_at": "2023-09-22T18:45:01.460Z", "type": "meter_credit", "description": "starboard that if", "selectable": true, "deletable": true, "is_deleted": false, "organization_id": "", "metadata": {"key": 100377, "key1": true, "key2": 607029}, "visibility": "draft", "properties": {"units": 366454, "rollover": false, "meter_id": ""}, "visibility_configurable": true} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -10337,10 +11109,10 @@ examples: path: id: "" requestBody: - application/json: {"type": "custom"} + application/json: {"type": "discord"} responses: "200": - application/json: {"id": "", "created_at": "2025-05-22T21:58:57.366Z", "modified_at": "2025-05-28T00:54:06.962Z", "type": "meter_credit", "description": "inasmuch fatally readjust husky hard-to-find", "selectable": false, "deletable": true, "organization_id": "", "metadata": {}, "properties": {"units": 265306, "rollover": false, "meter_id": ""}} + application/json: {"id": "", "created_at": "2025-05-22T21:58:57.366Z", "modified_at": "2025-05-28T00:54:06.962Z", "type": "meter_credit", "description": "inasmuch fatally readjust husky hard-to-find", "selectable": false, "deletable": true, "is_deleted": false, "organization_id": "", "metadata": {}, "visibility": "public", "properties": {"units": 265306, "rollover": false, "meter_id": ""}, "visibility_configurable": false} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -10390,7 +11162,7 @@ examples: application/json: {"name": "", "prices": [{"amount_type": "fixed", "price_currency": "usd", "price_amount": 677078}, {"amount_type": "custom", "price_currency": "usd", "minimum_amount": 50}], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "recurring_interval": "year"} responses: "201": - application/json: {"id": "", "created_at": "2025-11-10T04:18:09.355Z", "modified_at": "2025-05-29T07:43:37.272Z", "trial_interval": "month", "trial_interval_count": null, "name": "", "description": "well-worn against cash unless offensively chromakey exempt dense cruelly peony", "visibility": "private", "recurring_interval": "month", "recurring_interval_count": 746612, "is_recurring": false, "is_archived": true, "organization_id": "", "metadata": {"key": 80552, "key1": true}, "prices": [{"created_at": "2023-04-20T14:04:54.240Z", "modified_at": "2024-11-07T17:01:01.790Z", "id": "", "source": "ad_hoc", "amount_type": "free", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}, {"created_at": "2024-03-29T16:30:59.890Z", "modified_at": "2025-08-23T16:40:00.782Z", "id": "", "source": "ad_hoc", "amount_type": "free", "price_currency": "", "tax_behavior": null, "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}, {"created_at": "2023-11-12T20:54:36.929Z", "modified_at": null, "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 845799, "maximum_amount": 402294, "preset_amount": 275452, "legacy": true}], "benefits": [{"id": "", "created_at": "2024-09-03T10:29:09.446Z", "modified_at": "2023-04-05T23:26:37.255Z", "type": "meter_credit", "description": "if enlightened altruistic now defendant against rough generally", "selectable": false, "deletable": false, "organization_id": "", "metadata": {"key": true, "key1": true}, "properties": {"units": 59387, "rollover": true, "meter_id": ""}}, {"id": "", "created_at": "2025-09-01T18:31:34.532Z", "modified_at": "2025-01-16T14:11:06.328Z", "type": "license_keys", "description": "laughter considering cruelly tuber outfit regarding searchingly cheerful backburn uncork", "selectable": false, "deletable": false, "organization_id": "", "metadata": {"key": false}, "properties": {"prefix": "", "expires": {"ttl": 440726, "timeframe": "year"}, "activations": {"limit": 22376, "enable_customer_admin": false}, "limit_usage": 941841}}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/opt/share", "mime_type": "", "size": 240583, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2024-03-26T21:01:01.612Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-05-24T09:45:08.513Z", "size_readable": "", "public_url": "https://enlightened-bend.org/"}, {"id": "", "organization_id": "", "name": "", "path": "/opt/share", "mime_type": "", "size": 240583, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2024-03-26T21:01:01.612Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-05-24T09:45:08.513Z", "size_readable": "", "public_url": "https://enlightened-bend.org/"}], "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2023-01-25T19:00:17.332Z", "modified_at": "2025-03-21T18:41:22.294Z", "id": "", "metadata": {"key": 122858, "key1": 564076}, "type": "select", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {"options": [{"value": "", "label": ""}]}}, "order": 731078, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2023-01-25T19:00:17.332Z", "modified_at": "2025-03-21T18:41:22.294Z", "id": "", "metadata": {"key": true, "key1": ""}, "type": "select", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {"options": [{"value": "", "label": ""}]}}, "order": 731078, "required": false}]} + application/json: {"id": "", "created_at": "2025-11-10T04:18:09.355Z", "modified_at": "2025-05-29T07:43:37.272Z", "trial_interval": "month", "trial_interval_count": null, "name": "", "description": "well-worn against cash unless offensively chromakey exempt dense cruelly peony", "visibility": "private", "recurring_interval": "month", "recurring_interval_count": 746612, "meter_interval": "month", "meter_interval_count": null, "is_recurring": false, "is_archived": true, "organization_id": "", "metadata": {"key": 80552, "key1": true}, "prices": [{"created_at": "2026-11-10T04:18:09.355Z", "modified_at": "2026-09-19T18:29:07.215Z", "id": "", "source": "ad_hoc", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "unit_amount": "", "cap_amount": 881108, "meter_id": "", "meter": {"id": "", "name": "", "unit": "custom", "custom_label": "", "custom_multiplier": 748631}}, {"created_at": "2024-11-11T20:54:36.929Z", "modified_at": null, "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 402294, "maximum_amount": 275452, "preset_amount": 816951, "legacy": true}, {"created_at": "2023-11-12T20:54:36.929Z", "modified_at": null, "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 845799, "maximum_amount": 402294, "preset_amount": 275452, "legacy": true}], "benefits": [{"id": "", "created_at": "2024-09-03T10:29:09.446Z", "modified_at": "2023-04-05T23:26:37.255Z", "type": "meter_credit", "description": "if enlightened altruistic now defendant against rough generally", "selectable": false, "deletable": false, "is_deleted": true, "organization_id": "", "metadata": {"key": true, "key1": true}, "visibility": "draft", "properties": {"units": 59387, "rollover": true, "meter_id": ""}, "visibility_configurable": false}, {"id": "", "created_at": "2025-09-01T18:31:34.532Z", "modified_at": "2025-01-16T14:11:06.328Z", "type": "license_keys", "description": "laughter considering cruelly tuber outfit regarding searchingly cheerful backburn uncork", "selectable": false, "deletable": false, "is_deleted": false, "organization_id": "", "metadata": {"key": false}, "visibility": "public", "properties": {"prefix": "", "expires": {"ttl": 440726, "timeframe": "year"}, "activations": {"limit": 22376, "enable_customer_admin": false}, "limit_usage": 941841}, "visibility_configurable": false}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/opt/share", "mime_type": "", "size": 240583, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2024-03-26T21:01:01.612Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-05-24T09:45:08.513Z", "size_readable": "", "public_url": "https://enlightened-bend.org/"}, {"id": "", "organization_id": "", "name": "", "path": "/opt/share", "mime_type": "", "size": 240583, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2024-03-26T21:01:01.612Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-05-24T09:45:08.513Z", "size_readable": "", "public_url": "https://enlightened-bend.org/"}], "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2023-01-25T19:00:17.332Z", "modified_at": "2025-03-21T18:41:22.294Z", "id": "", "metadata": {"key": 122858, "key1": 564076}, "type": "select", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {"options": [{"value": "", "label": ""}]}}, "order": 731078, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2023-01-25T19:00:17.332Z", "modified_at": "2025-03-21T18:41:22.294Z", "id": "", "metadata": {"key": true, "key1": ""}, "type": "select", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {"options": [{"value": "", "label": ""}]}}, "order": 731078, "required": false}]} "422": application/json: {} products:get: @@ -10400,7 +11172,7 @@ examples: id: "" responses: "200": - application/json: {"id": "", "created_at": "2024-02-13T06:53:33.624Z", "modified_at": "2024-11-15T06:10:35.209Z", "trial_interval": "month", "trial_interval_count": 612534, "name": "", "description": "openly far aha", "visibility": "private", "recurring_interval": "month", "recurring_interval_count": 624323, "is_recurring": true, "is_archived": true, "organization_id": "", "metadata": {"key": 645523, "key1": 6512.93}, "prices": [{"created_at": "2023-05-12T13:18:24.858Z", "modified_at": "2023-05-14T01:41:35.647Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 730788, "legacy": true}, {"created_at": "2023-11-27T09:27:19.424Z", "modified_at": "2025-05-27T01:17:58.930Z", "id": "", "source": "ad_hoc", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 949423, "legacy": true}], "benefits": [], "medias": [], "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2025-08-18T18:14:37.343Z", "modified_at": "2023-08-05T17:10:22.217Z", "id": "", "metadata": {"key": 9460.87}, "type": "date", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 803169, "required": true}, {"custom_field_id": "", "custom_field": {"created_at": "2025-08-18T18:14:37.343Z", "modified_at": "2023-08-05T17:10:22.217Z", "id": "", "metadata": {"key": 9460.87}, "type": "date", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 803169, "required": true}]} + application/json: {"id": "", "created_at": "2024-02-13T06:53:33.624Z", "modified_at": "2024-11-15T06:10:35.209Z", "trial_interval": "month", "trial_interval_count": 612534, "name": "", "description": "openly far aha", "visibility": "private", "recurring_interval": "month", "recurring_interval_count": 624323, "meter_interval": "month", "meter_interval_count": 612534, "is_recurring": true, "is_archived": true, "organization_id": "", "metadata": {"key": 645523, "key1": 6512.93}, "prices": [{"created_at": "2023-05-12T13:18:24.858Z", "modified_at": "2023-05-14T01:41:35.647Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 730788, "legacy": true}, {"created_at": "2023-11-27T09:27:19.424Z", "modified_at": "2025-05-27T01:17:58.930Z", "id": "", "source": "ad_hoc", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 949423, "legacy": true}], "benefits": [], "medias": [], "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2025-08-18T18:14:37.343Z", "modified_at": "2023-08-05T17:10:22.217Z", "id": "", "metadata": {"key": 9460.87}, "type": "date", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 803169, "required": true}, {"custom_field_id": "", "custom_field": {"created_at": "2025-08-18T18:14:37.343Z", "modified_at": "2023-08-05T17:10:22.217Z", "id": "", "metadata": {"key": 9460.87}, "type": "date", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 803169, "required": true}]} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -10414,7 +11186,7 @@ examples: application/json: {} responses: "200": - application/json: {"id": "", "created_at": "2025-08-13T18:42:45.673Z", "modified_at": "2025-09-30T18:01:46.763Z", "trial_interval": "year", "trial_interval_count": 568567, "name": "", "description": "alongside whereas between furthermore nectarine continually eventually almost", "visibility": "public", "recurring_interval": "month", "recurring_interval_count": 915832, "is_recurring": true, "is_archived": false, "organization_id": "", "metadata": {"key": "", "key1": 9813.27}, "prices": [{"created_at": "2025-03-29T03:16:47.365Z", "modified_at": "2024-11-10T13:10:18.334Z", "id": "", "source": "ad_hoc", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "exclusive", "is_archived": true, "product_id": "", "unit_amount": "", "cap_amount": 810331, "meter_id": "", "meter": {"id": "", "name": ""}}, {"created_at": "2023-03-16T05:56:58.712Z", "modified_at": "2023-10-14T10:41:20.148Z", "id": "", "source": "ad_hoc", "amount_type": "free", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}, {"created_at": "2023-03-13T00:56:00.286Z", "modified_at": null, "id": "", "source": "ad_hoc", "amount_type": "free", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "legacy": true}], "benefits": [{"id": "", "created_at": "2025-09-30T18:01:46.763Z", "modified_at": "2024-09-15T03:35:07.302Z", "type": "meter_credit", "description": "as hunger ouch since mash where yet", "selectable": false, "deletable": false, "organization_id": "", "metadata": {}, "properties": {"units": 419624, "rollover": true, "meter_id": ""}}, {"id": "", "created_at": "2025-07-11T04:31:49.594Z", "modified_at": "2023-10-02T14:57:16.070Z", "type": "github_repository", "description": "devastation via over youthful calculus after ectoderm remark", "selectable": true, "deletable": true, "organization_id": "", "metadata": {"key": 2975.13, "key1": 6724.05, "key2": 3431.33}, "properties": {"repository_owner": "polarsource", "repository_name": "private_repo", "permission": "pull"}}, {"id": "", "created_at": "2025-07-11T04:31:49.594Z", "modified_at": "2023-10-02T14:57:16.070Z", "type": "github_repository", "description": "devastation via over youthful calculus after ectoderm remark", "selectable": true, "deletable": true, "organization_id": "", "metadata": {"key": 2975.13, "key1": 6724.05, "key2": 3431.33}, "properties": {"repository_owner": "polarsource", "repository_name": "private_repo", "permission": "pull"}}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/usr/local/bin", "mime_type": "", "size": 323073, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-03-27T05:23:22.243Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-10-03T15:14:36.417Z", "size_readable": "", "public_url": "https://impolite-sanity.name"}], "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2024-06-22T21:14:52.198Z", "modified_at": "2023-03-16T13:18:02.502Z", "id": "", "metadata": {"key": "", "key1": 841085}, "type": "date", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 221074, "required": true}, {"custom_field_id": "", "custom_field": {"created_at": "2024-06-22T21:14:52.198Z", "modified_at": "2023-03-16T13:18:02.502Z", "id": "", "metadata": {"key": "", "key1": 841085}, "type": "date", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 221074, "required": true}]} + application/json: {"id": "", "created_at": "2025-08-13T18:42:45.673Z", "modified_at": "2025-09-30T18:01:46.763Z", "trial_interval": "year", "trial_interval_count": 568567, "name": "", "description": "alongside whereas between furthermore nectarine continually eventually almost", "visibility": "public", "recurring_interval": "month", "recurring_interval_count": 915832, "meter_interval": "year", "meter_interval_count": 568567, "is_recurring": true, "is_archived": false, "organization_id": "", "metadata": {"key": "", "key1": 9813.27}, "prices": [{"created_at": "2025-03-29T03:16:47.365Z", "modified_at": "2024-11-10T13:10:18.334Z", "id": "", "source": "ad_hoc", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "exclusive", "is_archived": true, "product_id": "", "unit_amount": "", "cap_amount": 810331, "meter_id": "", "meter": {"id": "", "name": "", "unit": "token", "custom_label": "", "custom_multiplier": null}}, {"created_at": "2024-04-23T11:40:59.551Z", "modified_at": "2024-03-26T02:57:11.048Z", "id": "", "source": "ad_hoc", "amount_type": "seat_based", "price_currency": "", "tax_behavior": null, "is_archived": false, "product_id": "", "seat_tiers": {"tiers": [], "minimum_seats": 808527, "maximum_seats": 417907}}, {"created_at": "2024-01-30T23:43:24.140Z", "modified_at": "2024-12-25T05:48:26.687Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "minimum_amount": 394117, "maximum_amount": 225417, "preset_amount": 564551}], "benefits": [{"id": "", "created_at": "2025-09-30T18:01:46.763Z", "modified_at": "2024-09-15T03:35:07.302Z", "type": "meter_credit", "description": "as hunger ouch since mash where yet", "selectable": false, "deletable": false, "is_deleted": true, "organization_id": "", "metadata": {}, "visibility": "draft", "properties": {"units": 419624, "rollover": true, "meter_id": ""}, "visibility_configurable": false}, {"id": "", "created_at": "2025-07-11T04:31:49.594Z", "modified_at": "2023-10-02T14:57:16.070Z", "type": "github_repository", "description": "devastation via over youthful calculus after ectoderm remark", "selectable": true, "deletable": true, "is_deleted": true, "organization_id": "", "metadata": {"key": 2975.13, "key1": 6724.05, "key2": 3431.33}, "visibility": "private", "properties": {"repository_owner": "polarsource", "repository_name": "private_repo", "permission": "pull"}, "visibility_configurable": false}, {"id": "", "created_at": "2025-07-11T04:31:49.594Z", "modified_at": "2023-10-02T14:57:16.070Z", "type": "github_repository", "description": "devastation via over youthful calculus after ectoderm remark", "selectable": true, "deletable": true, "is_deleted": true, "organization_id": "", "metadata": {"key": 2975.13, "key1": 6724.05, "key2": 3431.33}, "visibility": "public", "properties": {"repository_owner": "polarsource", "repository_name": "private_repo", "permission": "pull"}, "visibility_configurable": false}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/usr/local/bin", "mime_type": "", "size": 323073, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-03-27T05:23:22.243Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-10-03T15:14:36.417Z", "size_readable": "", "public_url": "https://impolite-sanity.name"}], "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2024-06-22T21:14:52.198Z", "modified_at": "2023-03-16T13:18:02.502Z", "id": "", "metadata": {"key": "", "key1": 841085}, "type": "date", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 221074, "required": true}, {"custom_field_id": "", "custom_field": {"created_at": "2024-06-22T21:14:52.198Z", "modified_at": "2023-03-16T13:18:02.502Z", "id": "", "metadata": {"key": "", "key1": 841085}, "type": "date", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 221074, "required": true}]} "403": application/json: {"error": "NotPermitted", "detail": ""} "404": @@ -10430,7 +11202,7 @@ examples: application/json: {"benefits": ["", "", ""]} responses: "200": - application/json: {"id": "", "created_at": "2023-09-28T22:38:03.685Z", "modified_at": "2025-09-11T11:40:02.608Z", "trial_interval": "day", "trial_interval_count": 342996, "name": "", "description": "furthermore gadzooks along heartfelt armchair", "visibility": "public", "recurring_interval": "year", "recurring_interval_count": 247211, "is_recurring": false, "is_archived": true, "organization_id": "", "metadata": {"key": "", "key1": 824508}, "prices": [{"created_at": "2025-09-11T11:40:02.608Z", "modified_at": "2024-11-03T09:56:56.385Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 223202, "maximum_amount": 66059, "preset_amount": 500347, "legacy": true}, {"created_at": "2024-12-31T19:50:34.155Z", "modified_at": "2023-04-02T14:04:41.494Z", "id": "", "source": "catalog", "amount_type": "free", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "legacy": true}], "benefits": [{"id": "", "created_at": "2023-06-02T00:23:22.540Z", "modified_at": "2024-05-31T05:24:52.742Z", "type": "downloadables", "description": "smoothly thoughtfully ew vastly", "selectable": false, "deletable": true, "organization_id": "", "metadata": {}, "properties": {"archived": {"key": true, "key1": false, "key2": true}, "files": [""]}}, {"id": "", "created_at": "2025-07-14T20:28:09.518Z", "modified_at": "2023-03-24T02:05:49.942Z", "type": "license_keys", "description": "hurtful pfft as", "selectable": false, "deletable": false, "organization_id": "", "metadata": {"key": 727586}, "properties": {"prefix": "", "expires": {"ttl": 773982, "timeframe": "year"}, "activations": {"limit": 767164, "enable_customer_admin": true}, "limit_usage": 290705}}], "medias": [], "attached_custom_fields": []} + application/json: {"id": "", "created_at": "2023-09-28T22:38:03.685Z", "modified_at": "2025-09-11T11:40:02.608Z", "trial_interval": "day", "trial_interval_count": 342996, "name": "", "description": "furthermore gadzooks along heartfelt armchair", "visibility": "public", "recurring_interval": "year", "recurring_interval_count": 247211, "meter_interval": "day", "meter_interval_count": 342996, "is_recurring": false, "is_archived": true, "organization_id": "", "metadata": {"key": "", "key1": 824508}, "prices": [{"created_at": "2025-09-11T11:40:02.608Z", "modified_at": "2024-11-03T09:56:56.385Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 223202, "maximum_amount": 66059, "preset_amount": 500347, "legacy": true}, {"created_at": "2026-07-31T08:32:55.690Z", "modified_at": "2024-12-17T01:21:25.516Z", "id": "", "source": "ad_hoc", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "unit_amount": "", "cap_amount": 500347, "meter_id": "", "meter": {"id": "", "name": "", "unit": "scalar", "custom_label": "", "custom_multiplier": 939296}}], "benefits": [{"id": "", "created_at": "2023-06-02T00:23:22.540Z", "modified_at": "2024-05-31T05:24:52.742Z", "type": "downloadables", "description": "smoothly thoughtfully ew vastly", "selectable": false, "deletable": true, "is_deleted": true, "organization_id": "", "metadata": {}, "visibility": "private", "properties": {"archived": {"key": true, "key1": false, "key2": true}, "files": [""]}, "visibility_configurable": true}, {"id": "", "created_at": "2025-07-14T20:28:09.518Z", "modified_at": "2023-03-24T02:05:49.942Z", "type": "license_keys", "description": "hurtful pfft as", "selectable": false, "deletable": false, "is_deleted": true, "organization_id": "", "metadata": {"key": 727586}, "visibility": "public", "properties": {"prefix": "", "expires": {"ttl": 773982, "timeframe": "year"}, "activations": {"limit": 767164, "enable_customer_admin": true}, "limit_usage": 290705}, "visibility_configurable": true}], "medias": [], "attached_custom_fields": []} "403": application/json: {"error": "NotPermitted", "detail": ""} "404": @@ -10446,7 +11218,7 @@ examples: limit: 10 responses: "200": - application/json: {"items": [{"id": "", "created_at": "2023-03-26T01:22:53.189Z", "modified_at": "2024-11-04T15:48:31.857Z", "status": "paid", "paid": true, "subtotal_amount": 683153, "discount_amount": 15468, "net_amount": 962179, "tax_amount": 991685, "total_amount": 449820, "applied_balance_amount": 901379, "due_amount": 465509, "refunded_amount": 375942, "refunded_tax_amount": 70124, "currency": "Lari", "billing_reason": "subscription_cycle", "billing_name": "", "billing_address": {"country": "FR"}, "invoice_number": "", "is_invoice_generated": true, "customer_id": "", "product_id": "", "discount_id": "", "subscription_id": "", "checkout_id": "", "metadata": {"key": "", "key1": 168484}, "platform_fee_amount": 901379, "platform_fee_currency": "usd", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2023-06-07T16:49:48.090Z", "modified_at": "2024-03-16T14:29:40.056Z", "metadata": {"key": 4796.75, "key1": 7966.23}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "team", "name": "John Doe", "billing_address": {"country": "SE"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-11-19T00:38:00.028Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=blank"}, "product": {"metadata": {"key": "", "key1": 7205.08, "key2": true}, "id": "", "created_at": "2024-12-17T18:55:26.610Z", "modified_at": "2023-11-20T18:12:18.120Z", "trial_interval": "week", "trial_interval_count": null, "name": "", "description": "oh or vaguely quirkily duh", "visibility": "public", "recurring_interval": "month", "recurring_interval_count": 465509, "is_recurring": false, "is_archived": false, "organization_id": ""}, "discount": {"duration": "once", "type": "fixed", "basis_points": 921804, "created_at": "2025-05-29T03:48:01.862Z", "modified_at": "2025-08-06T07:48:44.190Z", "id": "", "metadata": {}, "name": "", "code": "", "starts_at": "2024-10-17T01:51:06.324Z", "ends_at": "2025-12-29T08:26:12.317Z", "max_redemptions": 601808, "redemptions_count": 424670, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "subscription": {"metadata": {"key": true, "key1": 8768.62, "key2": ""}, "created_at": "2025-06-23T19:27:45.328Z", "modified_at": "2023-12-18T01:13:35.875Z", "id": "", "amount": 627024, "currency": "Zloty", "recurring_interval": "year", "recurring_interval_count": 76694, "status": "incomplete", "current_period_start": "2025-05-07T19:16:05.707Z", "current_period_end": "2024-09-09T03:33:00.669Z", "trial_start": "2024-02-10T15:29:33.963Z", "trial_end": "2023-01-17T22:53:29.526Z", "cancel_at_period_end": true, "canceled_at": "2024-11-05T22:56:54.203Z", "started_at": "2023-11-09T23:24:19.979Z", "ends_at": "2024-08-14T13:19:22.767Z", "ended_at": "2023-08-05T05:15:40.074Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "switched_service", "customer_cancellation_comment": ""}, "items": [{"created_at": "2023-03-15T19:46:41.506Z", "modified_at": "2025-07-11T05:36:23.203Z", "id": "", "label": "", "amount": 830628, "tax_amount": 546296, "proration": false, "product_price_id": ""}, {"created_at": "2023-03-15T19:46:41.506Z", "modified_at": "2025-07-11T05:36:23.203Z", "id": "", "label": "", "amount": 830628, "tax_amount": 546296, "proration": false, "product_price_id": ""}], "description": "Pro Plan"}], "pagination": {"total_count": 214063, "max_page": 775794}} + application/json: {"items": [{"id": "", "created_at": "2023-03-26T01:22:53.189Z", "modified_at": "2024-11-04T15:48:31.857Z", "status": "paid", "paid": true, "subtotal_amount": 683153, "discount_amount": 15468, "net_amount": 962179, "tax_amount": 991685, "total_amount": 449820, "applied_balance_amount": 901379, "due_amount": 465509, "refunded_amount": 375942, "refunded_tax_amount": 70124, "currency": "Lari", "billing_reason": "subscription_cycle", "billing_name": "", "billing_address": {"country": "FR"}, "invoice_number": "", "is_invoice_generated": true, "receipt_number": "", "customer_id": "", "product_id": "", "discount_id": "", "subscription_id": "", "checkout_id": "", "metadata": {"key": "", "key1": 168484}, "platform_fee_amount": 901379, "platform_fee_currency": "usd", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2023-06-07T16:49:48.090Z", "modified_at": "2024-03-16T14:29:40.056Z", "metadata": {"key": 4796.75, "key1": 7966.23}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "team", "name": "John Doe", "billing_name": "John Doe", "billing_address": {"country": "SE"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-11-19T00:38:00.028Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=blank"}, "product": {"metadata": {"key": "", "key1": 7205.08, "key2": true}, "id": "", "created_at": "2024-12-17T18:55:26.610Z", "modified_at": "2023-11-20T18:12:18.120Z", "trial_interval": "week", "trial_interval_count": null, "name": "", "description": "oh or vaguely quirkily duh", "visibility": "public", "recurring_interval": "month", "recurring_interval_count": 465509, "meter_interval": "day", "meter_interval_count": 370114, "is_recurring": false, "is_archived": false, "organization_id": ""}, "discount": {"duration": "once", "type": "fixed", "basis_points": 921804, "created_at": "2025-05-29T03:48:01.862Z", "modified_at": "2025-08-06T07:48:44.190Z", "id": "", "metadata": {}, "name": "", "code": "", "starts_at": "2024-10-17T01:51:06.324Z", "ends_at": "2025-12-29T08:26:12.317Z", "max_redemptions": 601808, "redemptions_count": 424670, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "subscription": {"metadata": {"key": true, "key1": 8768.62, "key2": ""}, "created_at": "2025-06-23T19:27:45.328Z", "modified_at": "2023-12-18T01:13:35.875Z", "id": "", "amount": 627024, "currency": "Zloty", "recurring_interval": "year", "recurring_interval_count": 76694, "status": "incomplete", "current_period_start": "2025-05-07T19:16:05.707Z", "current_period_end": "2024-09-09T03:33:00.669Z", "current_meter_period_start": "2024-01-17T22:53:29.526Z", "current_meter_period_end": "2024-12-04T14:15:16.604Z", "trial_start": "2024-02-10T15:29:33.963Z", "trial_end": "2023-01-17T22:53:29.526Z", "cancel_at_period_end": true, "canceled_at": "2024-11-05T22:56:54.203Z", "started_at": "2023-11-09T23:24:19.979Z", "ends_at": "2024-08-14T13:19:22.767Z", "ended_at": "2023-08-05T05:15:40.074Z", "pause_at_period_end": false, "paused_at": "2025-02-16T00:46:28.734Z", "resumes_at": null, "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "switched_service", "customer_cancellation_comment": ""}, "items": [{"created_at": "2023-03-15T19:46:41.506Z", "modified_at": "2025-07-11T05:36:23.203Z", "id": "", "label": "", "amount": 830628, "tax_amount": 546296, "proration": false, "product_price_id": ""}, {"created_at": "2023-03-15T19:46:41.506Z", "modified_at": "2025-07-11T05:36:23.203Z", "id": "", "label": "", "amount": 830628, "tax_amount": 546296, "proration": false, "product_price_id": ""}], "description": "Pro Plan", "refundable_amount": 9000, "refundable_tax_amount": 720}], "pagination": {"total_count": 214063, "max_page": 775794}} "422": application/json: {} orders:get: @@ -10456,7 +11228,7 @@ examples: id: "" responses: "200": - application/json: {"id": "", "created_at": "2023-12-28T18:05:05.494Z", "modified_at": "2024-09-12T14:13:02.565Z", "status": "partially_refunded", "paid": true, "subtotal_amount": 10000, "discount_amount": 1000, "net_amount": 9000, "tax_amount": 720, "total_amount": 9720, "applied_balance_amount": 0, "due_amount": 0, "refunded_amount": 0, "refunded_tax_amount": 0, "currency": "usd", "billing_reason": "subscription_cycle", "billing_name": "", "billing_address": {"country": "US"}, "invoice_number": "", "is_invoice_generated": false, "customer_id": "", "product_id": "", "discount_id": "", "subscription_id": "", "checkout_id": "", "metadata": {"key": true, "key1": "", "key2": 118198}, "platform_fee_amount": 500, "platform_fee_currency": "usd", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-07-30T11:43:08.034Z", "modified_at": "2025-05-05T10:55:45.051Z", "metadata": {"key": 901534, "key1": "", "key2": ""}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-03-07T16:00:18.030Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "product": {"metadata": {"key": 709557, "key1": true, "key2": 1589.86}, "id": "", "created_at": "2024-06-13T05:22:39.981Z", "modified_at": "2023-05-10T23:15:10.867Z", "trial_interval": "month", "trial_interval_count": 421146, "name": "", "description": "best overtrain butter of conclude uniform following duffel unnecessarily", "visibility": "draft", "recurring_interval": "month", "recurring_interval_count": 566234, "is_recurring": true, "is_archived": false, "organization_id": ""}, "discount": {"duration": "repeating", "duration_in_months": 594941, "type": "fixed", "amount": 291748, "currency": "Zloty", "amounts": {"eur": 900, "usd": 1000}, "created_at": "2024-08-24T05:56:05.000Z", "modified_at": "2025-05-25T10:55:47.553Z", "id": "", "metadata": {}, "name": "", "code": "", "starts_at": "2025-05-02T18:03:09.146Z", "ends_at": "2025-04-12T12:12:55.923Z", "max_redemptions": 367166, "redemptions_count": 163344, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "subscription": {"metadata": {}, "created_at": "2024-05-07T19:12:33.893Z", "modified_at": "2023-09-11T04:53:01.419Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "year", "recurring_interval_count": 876893, "status": "past_due", "current_period_start": "2024-01-24T18:55:58.020Z", "current_period_end": "2023-02-25T20:57:53.229Z", "trial_start": "2023-08-07T20:14:05.528Z", "trial_end": "2025-06-12T18:47:01.288Z", "cancel_at_period_end": false, "canceled_at": "2023-08-27T00:00:57.478Z", "started_at": "2025-10-21T11:44:53.761Z", "ends_at": "2024-11-20T14:53:33.415Z", "ended_at": "2025-10-07T14:07:23.284Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "unused", "customer_cancellation_comment": ""}, "items": [{"created_at": "2023-10-06T06:04:08.584Z", "modified_at": "2023-02-22T21:24:50.701Z", "id": "", "label": "", "amount": 935974, "tax_amount": 558821, "proration": false, "product_price_id": ""}, {"created_at": "2023-10-06T06:04:08.584Z", "modified_at": "2023-02-22T21:24:50.701Z", "id": "", "label": "", "amount": 935974, "tax_amount": 558821, "proration": false, "product_price_id": ""}, {"created_at": "2023-10-06T06:04:08.584Z", "modified_at": "2023-02-22T21:24:50.701Z", "id": "", "label": "", "amount": 935974, "tax_amount": 558821, "proration": false, "product_price_id": ""}], "description": "Pro Plan"} + application/json: {"id": "", "created_at": "2023-12-28T18:05:05.494Z", "modified_at": "2024-09-12T14:13:02.565Z", "status": "partially_refunded", "paid": true, "subtotal_amount": 10000, "discount_amount": 1000, "net_amount": 9000, "tax_amount": 720, "total_amount": 9720, "applied_balance_amount": 0, "due_amount": 0, "refunded_amount": 0, "refunded_tax_amount": 0, "currency": "usd", "billing_reason": "subscription_cycle", "billing_name": "", "billing_address": {"country": "US"}, "invoice_number": "", "is_invoice_generated": false, "receipt_number": "", "customer_id": "", "product_id": "", "discount_id": "", "subscription_id": "", "checkout_id": "", "metadata": {"key": true, "key1": "", "key2": 118198}, "platform_fee_amount": 500, "platform_fee_currency": "usd", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-07-30T11:43:08.034Z", "modified_at": "2025-05-05T10:55:45.051Z", "metadata": {"key": 901534, "key1": "", "key2": ""}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-03-07T16:00:18.030Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "product": {"metadata": {"key": 709557, "key1": true, "key2": 1589.86}, "id": "", "created_at": "2024-06-13T05:22:39.981Z", "modified_at": "2023-05-10T23:15:10.867Z", "trial_interval": "month", "trial_interval_count": 421146, "name": "", "description": "best overtrain butter of conclude uniform following duffel unnecessarily", "visibility": "draft", "recurring_interval": "month", "recurring_interval_count": 566234, "meter_interval": "year", "meter_interval_count": 194509, "is_recurring": true, "is_archived": false, "organization_id": ""}, "discount": {"duration": "repeating", "duration_in_months": 594941, "type": "fixed", "amount": 291748, "currency": "Zloty", "amounts": {"eur": 900, "usd": 1000}, "created_at": "2024-08-24T05:56:05.000Z", "modified_at": "2025-05-25T10:55:47.553Z", "id": "", "metadata": {}, "name": "", "code": "", "starts_at": "2025-05-02T18:03:09.146Z", "ends_at": "2025-04-12T12:12:55.923Z", "max_redemptions": 367166, "redemptions_count": 163344, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "subscription": {"metadata": {}, "created_at": "2024-05-07T19:12:33.893Z", "modified_at": "2023-09-11T04:53:01.419Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "year", "recurring_interval_count": 876893, "status": "past_due", "current_period_start": "2024-01-24T18:55:58.020Z", "current_period_end": "2023-02-25T20:57:53.229Z", "current_meter_period_start": "2025-05-22T03:53:12.826Z", "current_meter_period_end": "2024-07-10T08:25:35.282Z", "trial_start": "2023-08-07T20:14:05.528Z", "trial_end": "2025-06-12T18:47:01.288Z", "cancel_at_period_end": false, "canceled_at": "2023-08-27T00:00:57.478Z", "started_at": "2025-10-21T11:44:53.761Z", "ends_at": "2024-11-20T14:53:33.415Z", "ended_at": "2025-10-07T14:07:23.284Z", "pause_at_period_end": true, "paused_at": "2026-11-18T10:25:55.639Z", "resumes_at": "2026-05-27T01:06:08.513Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "unused", "customer_cancellation_comment": ""}, "items": [{"created_at": "2023-10-06T06:04:08.584Z", "modified_at": "2023-02-22T21:24:50.701Z", "id": "", "label": "", "amount": 935974, "tax_amount": 558821, "proration": false, "product_price_id": ""}, {"created_at": "2023-10-06T06:04:08.584Z", "modified_at": "2023-02-22T21:24:50.701Z", "id": "", "label": "", "amount": 935974, "tax_amount": 558821, "proration": false, "product_price_id": ""}, {"created_at": "2023-10-06T06:04:08.584Z", "modified_at": "2023-02-22T21:24:50.701Z", "id": "", "label": "", "amount": 935974, "tax_amount": 558821, "proration": false, "product_price_id": ""}], "description": "Pro Plan", "refundable_amount": 9000, "refundable_tax_amount": 720} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -10482,7 +11254,7 @@ examples: limit: 10 responses: "200": - application/json: {"items": [{"created_at": "2025-10-01T11:01:39.012Z", "modified_at": "2023-01-21T15:41:11.990Z", "id": "", "metadata": {}, "status": "failed", "reason": "fraudulent", "amount": 706656, "tax_amount": 888259, "currency": "Turkish Lira", "organization_id": "", "order_id": "", "subscription_id": "", "customer_id": "", "revoke_benefits": false, "dispute": {"created_at": "2026-11-11T21:50:02.540Z", "modified_at": "2024-01-21T15:41:11.990Z", "id": "", "status": "early_warning", "resolved": false, "closed": false, "amount": 1000, "tax_amount": 200, "currency": "usd", "order_id": "57107b74-8400-4d80-a2fc-54c2b4239cb3", "payment_id": "42b94870-36b9-4573-96b6-b90b1c99a353"}}, {"created_at": "2025-10-01T11:01:39.012Z", "modified_at": "2023-01-21T15:41:11.990Z", "id": "", "metadata": {}, "status": "failed", "reason": "fraudulent", "amount": 706656, "tax_amount": 888259, "currency": "Turkish Lira", "organization_id": "", "order_id": "", "subscription_id": "", "customer_id": "", "revoke_benefits": false, "dispute": {"created_at": "2026-11-11T21:50:02.540Z", "modified_at": "2024-01-21T15:41:11.990Z", "id": "", "status": "early_warning", "resolved": false, "closed": false, "amount": 1000, "tax_amount": 200, "currency": "usd", "order_id": "57107b74-8400-4d80-a2fc-54c2b4239cb3", "payment_id": "42b94870-36b9-4573-96b6-b90b1c99a353"}}, {"created_at": "2025-10-01T11:01:39.012Z", "modified_at": "2023-01-21T15:41:11.990Z", "id": "", "metadata": {}, "status": "failed", "reason": "fraudulent", "amount": 706656, "tax_amount": 888259, "currency": "Turkish Lira", "organization_id": "", "order_id": "", "subscription_id": "", "customer_id": "", "revoke_benefits": false, "dispute": {"created_at": "2026-11-11T21:50:02.540Z", "modified_at": "2024-01-21T15:41:11.990Z", "id": "", "status": "early_warning", "resolved": false, "closed": false, "amount": 1000, "tax_amount": 200, "currency": "usd", "order_id": "57107b74-8400-4d80-a2fc-54c2b4239cb3", "payment_id": "42b94870-36b9-4573-96b6-b90b1c99a353"}}], "pagination": {"total_count": 257268, "max_page": 915340}} + application/json: {"items": [{"created_at": "2025-10-01T11:01:39.012Z", "modified_at": "2023-01-21T15:41:11.990Z", "id": "", "metadata": {}, "status": "failed", "reason": "fraudulent", "amount": 706656, "tax_amount": 888259, "currency": "Turkish Lira", "organization_id": "", "order_id": "", "subscription_id": "", "customer_id": "", "revoke_benefits": false, "dispute": {"created_at": "2026-11-11T21:50:02.540Z", "modified_at": "2024-01-21T15:41:11.990Z", "id": "", "status": "early_warning", "resolved": false, "closed": false, "amount": 1000, "tax_amount": 200, "currency": "usd", "reason": "fraudulent", "evidence_due_by": "2026-11-11T21:50:02.540Z", "past_due": false, "order_id": "57107b74-8400-4d80-a2fc-54c2b4239cb3", "payment_id": "42b94870-36b9-4573-96b6-b90b1c99a353"}}, {"created_at": "2025-10-01T11:01:39.012Z", "modified_at": "2023-01-21T15:41:11.990Z", "id": "", "metadata": {}, "status": "failed", "reason": "fraudulent", "amount": 706656, "tax_amount": 888259, "currency": "Turkish Lira", "organization_id": "", "order_id": "", "subscription_id": "", "customer_id": "", "revoke_benefits": false, "dispute": {"created_at": "2026-11-11T21:50:02.540Z", "modified_at": "2024-01-21T15:41:11.990Z", "id": "", "status": "early_warning", "resolved": false, "closed": false, "amount": 1000, "tax_amount": 200, "currency": "usd", "reason": "fraudulent", "evidence_due_by": "2024-01-21T15:41:11.990Z", "past_due": false, "order_id": "57107b74-8400-4d80-a2fc-54c2b4239cb3", "payment_id": "42b94870-36b9-4573-96b6-b90b1c99a353"}}, {"created_at": "2025-10-01T11:01:39.012Z", "modified_at": "2023-01-21T15:41:11.990Z", "id": "", "metadata": {}, "status": "failed", "reason": "fraudulent", "amount": 706656, "tax_amount": 888259, "currency": "Turkish Lira", "organization_id": "", "order_id": "", "subscription_id": "", "customer_id": "", "revoke_benefits": false, "dispute": {"created_at": "2026-11-11T21:50:02.540Z", "modified_at": "2024-01-21T15:41:11.990Z", "id": "", "status": "early_warning", "resolved": false, "closed": false, "amount": 1000, "tax_amount": 200, "currency": "usd", "reason": "fraudulent", "evidence_due_by": "2025-08-27T19:49:35.420Z", "past_due": false, "order_id": "57107b74-8400-4d80-a2fc-54c2b4239cb3", "payment_id": "42b94870-36b9-4573-96b6-b90b1c99a353"}}], "pagination": {"total_count": 257268, "max_page": 915340}} "422": application/json: {} refunds:create: @@ -10499,7 +11271,7 @@ examples: "422": application/json: {} "201": - application/json: {"created_at": "2025-06-14T04:14:46.053Z", "modified_at": null, "id": "", "metadata": {}, "status": "pending", "reason": "fraudulent", "amount": 138367, "tax_amount": 299454, "currency": "Surinam Dollar", "organization_id": "", "order_id": "", "subscription_id": "", "customer_id": "", "revoke_benefits": true, "dispute": {"created_at": "2024-07-22T01:16:24.885Z", "modified_at": "2024-06-14T01:16:01.696Z", "id": "", "status": "needs_response", "resolved": false, "closed": false, "amount": 1000, "tax_amount": 200, "currency": "usd", "order_id": "57107b74-8400-4d80-a2fc-54c2b4239cb3", "payment_id": "42b94870-36b9-4573-96b6-b90b1c99a353"}} + application/json: {"created_at": "2025-06-14T04:14:46.053Z", "modified_at": null, "id": "", "metadata": {}, "status": "pending", "reason": "fraudulent", "amount": 138367, "tax_amount": 299454, "currency": "Surinam Dollar", "organization_id": "", "order_id": "", "subscription_id": "", "customer_id": "", "revoke_benefits": true, "dispute": {"created_at": "2024-07-22T01:16:24.885Z", "modified_at": "2024-06-14T01:16:01.696Z", "id": "", "status": "needs_response", "resolved": false, "closed": false, "amount": 1000, "tax_amount": 200, "currency": "usd", "reason": "fraudulent", "evidence_due_by": "2024-01-01T02:22:54.580Z", "past_due": false, "order_id": "57107b74-8400-4d80-a2fc-54c2b4239cb3", "payment_id": "42b94870-36b9-4573-96b6-b90b1c99a353"}} checkouts:list: speakeasy-default-checkouts:list: parameters: @@ -10509,7 +11281,7 @@ examples: limit: 10 responses: "200": - application/json: {"items": [{"id": "", "created_at": "2023-07-14T12:00:22.546Z", "modified_at": "2023-12-31T18:16:55.252Z", "payment_processor": "stripe", "status": "failed", "client_secret": "", "url": "https://old-fashioned-parsnip.info", "expires_at": "2025-09-16T06:18:32.077Z", "success_url": "https://well-documented-basket.com/", "return_url": "https://definite-finer.org/", "embed_origin": "", "amount": 136812, "discount_amount": 815152, "net_amount": 780504, "tax_amount": 766358, "total_amount": 630886, "currency": "Moroccan Dirham", "allow_trial": true, "active_trial_interval": "week", "active_trial_interval_count": 332812, "trial_end": "2024-12-26T22:49:45.749Z", "organization_id": "", "product_id": "", "product_price_id": "", "discount_id": "", "allow_discount_codes": false, "require_billing_address": false, "is_discount_applicable": true, "is_free_product_price": true, "is_payment_required": false, "is_payment_setup_required": false, "is_payment_form_required": true, "customer_id": "", "is_business_customer": true, "customer_name": "", "customer_email": "", "customer_ip_address": "", "customer_billing_name": "", "customer_billing_address": {"country": "SE"}, "customer_tax_id": "", "payment_processor_metadata": {}, "billing_address_fields": {"country": "required", "state": "optional", "city": "required", "postal_code": "required", "line1": "disabled", "line2": "optional"}, "trial_interval": "month", "trial_interval_count": 902613, "metadata": {}, "external_customer_id": "", "products": [{"id": "", "created_at": "2025-01-04T19:59:21.584Z", "modified_at": "2023-12-22T17:07:35.582Z", "trial_interval": "year", "trial_interval_count": null, "name": "", "description": "partially flowery how keenly analogy presume smuggle along tennis", "visibility": "draft", "recurring_interval": "year", "recurring_interval_count": 345801, "is_recurring": false, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2023-07-14T12:00:22.546Z", "modified_at": "2025-12-02T21:32:42.156Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 645390, "legacy": true}, {"created_at": "2023-08-19T15:22:33.462Z", "modified_at": "2023-03-15T09:19:49.081Z", "id": "", "source": "catalog", "amount_type": "free", "price_currency": "", "tax_behavior": "exclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "legacy": true}, {"created_at": "2025-04-19T22:15:44.328Z", "modified_at": "2024-07-26T10:32:13.861Z", "id": "", "source": "ad_hoc", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "unit_amount": "", "cap_amount": 762494, "meter_id": "", "meter": {"id": "", "name": ""}}], "benefits": [{"id": "", "created_at": "2025-02-09T15:50:30.304Z", "modified_at": "2025-01-28T15:09:33.411Z", "type": "downloadables", "description": "where store rim yippee accidentally likely councilman since but supposing", "selectable": true, "deletable": true, "organization_id": ""}, {"id": "", "created_at": "2025-02-09T15:50:30.304Z", "modified_at": "2025-01-28T15:09:33.411Z", "type": "downloadables", "description": "where store rim yippee accidentally likely councilman since but supposing", "selectable": true, "deletable": true, "organization_id": ""}, {"id": "", "created_at": "2025-02-09T15:50:30.304Z", "modified_at": "2025-01-28T15:09:33.411Z", "type": "downloadables", "description": "where store rim yippee accidentally likely councilman since but supposing", "selectable": true, "deletable": true, "organization_id": ""}], "medias": []}], "product": {"id": "", "created_at": "2025-12-18T01:46:49.772Z", "modified_at": "2024-11-19T22:32:44.522Z", "trial_interval": "day", "trial_interval_count": 780504, "name": "", "description": "capsize regularly before maintainer whitewash", "visibility": "private", "recurring_interval": "month", "recurring_interval_count": 332812, "is_recurring": false, "is_archived": false, "organization_id": "", "prices": [{"created_at": "2023-04-08T17:49:25.686Z", "modified_at": "2023-10-28T07:54:05.646Z", "id": "", "source": "ad_hoc", "amount_type": "free", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "legacy": true}, {"created_at": "2024-11-04T23:36:29.431Z", "modified_at": "2025-12-08T17:45:07.884Z", "id": "", "source": "ad_hoc", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "unit_amount": "", "cap_amount": 381287, "meter_id": "", "meter": {"id": "", "name": ""}}], "benefits": [{"id": "", "created_at": "2025-02-09T15:50:30.304Z", "modified_at": "2025-01-28T15:09:33.411Z", "type": "downloadables", "description": "where store rim yippee accidentally likely councilman since but supposing", "selectable": true, "deletable": true, "organization_id": ""}, {"id": "", "created_at": "2025-02-09T15:50:30.304Z", "modified_at": "2025-01-28T15:09:33.411Z", "type": "downloadables", "description": "where store rim yippee accidentally likely councilman since but supposing", "selectable": true, "deletable": true, "organization_id": ""}, {"id": "", "created_at": "2025-02-09T15:50:30.304Z", "modified_at": "2025-01-28T15:09:33.411Z", "type": "downloadables", "description": "where store rim yippee accidentally likely councilman since but supposing", "selectable": true, "deletable": true, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/Network", "mime_type": "", "size": 331360, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2024-02-10T04:14:48.186Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2024-04-04T18:01:42.388Z", "size_readable": "", "public_url": "https://eminent-dandelion.biz/"}, {"id": "", "organization_id": "", "name": "", "path": "/Network", "mime_type": "", "size": 331360, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2024-02-10T04:14:48.186Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2024-04-04T18:01:42.388Z", "size_readable": "", "public_url": "https://eminent-dandelion.biz/"}]}, "product_price": {"created_at": "2024-05-29T22:42:00.703Z", "modified_at": "2026-05-05T10:21:47.685Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 241940, "maximum_amount": 733508, "preset_amount": 262775, "legacy": true}, "prices": {"key": [], "key1": [{"created_at": "2024-05-29T22:42:00.703Z", "modified_at": "2026-05-05T10:21:47.685Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 994328, "maximum_amount": 263233, "preset_amount": 762494, "legacy": true}], "key2": []}, "discount": {"duration": "once", "type": "percentage", "basis_points": 484258, "id": "", "name": "", "code": ""}, "subscription_id": "", "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2025-07-24T12:38:52.606Z", "modified_at": "2024-08-31T06:13:03.406Z", "id": "", "metadata": {"key": 5379.07, "key1": 55288}, "type": "text", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 499873, "required": true}], "customer_metadata": {"key": true, "key1": 645893, "key2": ""}}], "pagination": {"total_count": 187979, "max_page": 912185}} + application/json: {"items": [{"id": "", "created_at": "2023-07-14T12:00:22.546Z", "modified_at": "2023-12-31T18:16:55.252Z", "payment_processor": "stripe", "status": "failed", "client_secret": "", "url": "https://old-fashioned-parsnip.info", "expires_at": "2025-09-16T06:18:32.077Z", "success_url": "https://well-documented-basket.com/", "return_url": "https://definite-finer.org/", "embed_origin": "", "amount": 136812, "discount_amount": 815152, "net_amount": 780504, "tax_amount": 766358, "tax_behavior": "inclusive", "total_amount": 630886, "currency": "Moroccan Dirham", "allow_trial": true, "active_trial_interval": "week", "active_trial_interval_count": 332812, "trial_end": "2024-12-26T22:49:45.749Z", "organization_id": "", "product_id": "", "product_price_id": "", "discount_id": "", "allow_discount_codes": false, "require_billing_address": false, "is_discount_applicable": true, "is_free_product_price": true, "is_payment_required": false, "is_payment_setup_required": false, "is_payment_form_required": true, "customer_id": "", "is_business_customer": true, "customer_name": "", "customer_email": "", "customer_ip_address": "", "customer_billing_name": "", "customer_billing_address": {"country": "SE"}, "customer_tax_id": "", "payment_processor_metadata": {}, "billing_address_fields": {"country": "required", "state": "optional", "city": "required", "postal_code": "required", "line1": "disabled", "line2": "optional"}, "trial_interval": "month", "trial_interval_count": 902613, "metadata": {}, "external_customer_id": "", "products": [{"id": "", "created_at": "2025-01-04T19:59:21.584Z", "modified_at": "2023-12-22T17:07:35.582Z", "trial_interval": "year", "trial_interval_count": null, "name": "", "description": "partially flowery how keenly analogy presume smuggle along tennis", "visibility": "draft", "recurring_interval": "year", "recurring_interval_count": 345801, "meter_interval": "week", "meter_interval_count": 662364, "is_recurring": false, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2023-07-14T12:00:22.546Z", "modified_at": "2025-12-02T21:32:42.156Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 645390, "legacy": true}, {"created_at": "2025-03-12T16:10:42.219Z", "modified_at": "2024-08-18T15:22:33.462Z", "id": "", "source": "ad_hoc", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": null, "is_archived": true, "product_id": "", "unit_amount": "", "cap_amount": 815152, "meter_id": "", "meter": {"id": "", "name": "", "unit": "custom", "custom_label": "", "custom_multiplier": 522298}}, {"created_at": "2025-04-19T22:15:44.328Z", "modified_at": "2024-07-26T10:32:13.861Z", "id": "", "source": "ad_hoc", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "unit_amount": "", "cap_amount": 762494, "meter_id": "", "meter": {"id": "", "name": "", "unit": "custom", "custom_label": "", "custom_multiplier": 263233}}], "benefits": [{"id": "", "created_at": "2025-02-09T15:50:30.304Z", "modified_at": "2025-01-28T15:09:33.411Z", "type": "downloadables", "description": "where store rim yippee accidentally likely councilman since but supposing", "selectable": true, "deletable": true, "is_deleted": false, "organization_id": ""}, {"id": "", "created_at": "2025-02-09T15:50:30.304Z", "modified_at": "2025-01-28T15:09:33.411Z", "type": "downloadables", "description": "where store rim yippee accidentally likely councilman since but supposing", "selectable": true, "deletable": true, "is_deleted": false, "organization_id": ""}, {"id": "", "created_at": "2025-02-09T15:50:30.304Z", "modified_at": "2025-01-28T15:09:33.411Z", "type": "downloadables", "description": "where store rim yippee accidentally likely councilman since but supposing", "selectable": true, "deletable": true, "is_deleted": true, "organization_id": ""}], "medias": []}], "product": {"id": "", "created_at": "2025-12-18T01:46:49.772Z", "modified_at": "2024-11-19T22:32:44.522Z", "trial_interval": "day", "trial_interval_count": 780504, "name": "", "description": "capsize regularly before maintainer whitewash", "visibility": "private", "recurring_interval": "month", "recurring_interval_count": 332812, "meter_interval": "day", "meter_interval_count": 274023, "is_recurring": false, "is_archived": false, "organization_id": "", "prices": [{"created_at": "2026-05-29T18:03:23.625Z", "modified_at": "2025-11-04T23:36:29.431Z", "id": "", "source": "ad_hoc", "amount_type": "fixed", "price_currency": "", "tax_behavior": "exclusive", "is_archived": true, "product_id": "", "price_amount": 569762}, {"created_at": "2024-11-04T23:36:29.431Z", "modified_at": "2025-12-08T17:45:07.884Z", "id": "", "source": "ad_hoc", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "unit_amount": "", "cap_amount": 381287, "meter_id": "", "meter": {"id": "", "name": "", "unit": "scalar", "custom_label": "", "custom_multiplier": 563944}}], "benefits": [{"id": "", "created_at": "2025-02-09T15:50:30.304Z", "modified_at": "2025-01-28T15:09:33.411Z", "type": "downloadables", "description": "where store rim yippee accidentally likely councilman since but supposing", "selectable": true, "deletable": true, "is_deleted": false, "organization_id": ""}, {"id": "", "created_at": "2025-02-09T15:50:30.304Z", "modified_at": "2025-01-28T15:09:33.411Z", "type": "downloadables", "description": "where store rim yippee accidentally likely councilman since but supposing", "selectable": true, "deletable": true, "is_deleted": false, "organization_id": ""}, {"id": "", "created_at": "2025-02-09T15:50:30.304Z", "modified_at": "2025-01-28T15:09:33.411Z", "type": "downloadables", "description": "where store rim yippee accidentally likely councilman since but supposing", "selectable": true, "deletable": true, "is_deleted": true, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/Network", "mime_type": "", "size": 331360, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2024-02-10T04:14:48.186Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2024-04-04T18:01:42.388Z", "size_readable": "", "public_url": "https://eminent-dandelion.biz/"}, {"id": "", "organization_id": "", "name": "", "path": "/Network", "mime_type": "", "size": 331360, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2024-02-10T04:14:48.186Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2024-04-04T18:01:42.388Z", "size_readable": "", "public_url": "https://eminent-dandelion.biz/"}]}, "product_price": {"created_at": "2024-05-29T22:42:00.703Z", "modified_at": "2026-05-05T10:21:47.685Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 241940, "maximum_amount": 733508, "preset_amount": 262775, "legacy": true}, "prices": {"key": [], "key1": [{"created_at": "2024-05-29T22:42:00.703Z", "modified_at": "2026-05-05T10:21:47.685Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 994328, "maximum_amount": 263233, "preset_amount": 762494, "legacy": true}], "key2": []}, "discount": {"duration": "once", "type": "percentage", "basis_points": 484258, "id": "", "name": "", "code": ""}, "subscription_id": "", "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2025-07-24T12:38:52.606Z", "modified_at": "2024-08-31T06:13:03.406Z", "id": "", "metadata": {"key": 5379.07, "key1": 55288}, "type": "text", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 499873, "required": true}], "customer_metadata": {"key": true, "key1": 645893, "key2": ""}}], "pagination": {"total_count": 187979, "max_page": 912185}} "422": application/json: {} checkouts:create: @@ -10518,7 +11290,7 @@ examples: application/json: {"allow_discount_codes": true, "require_billing_address": false, "allow_trial": true, "is_business_customer": false, "customer_name": "John Doe", "customer_billing_address": {"country": "US"}, "locale": "en", "products": ["", "", ""]} responses: "201": - application/json: {"id": "", "created_at": "2024-01-03T23:26:44.843Z", "modified_at": "2023-12-22T12:47:17.057Z", "payment_processor": "stripe", "status": "open", "client_secret": "", "url": "https://limp-violin.name", "expires_at": "2024-03-25T01:44:28.012Z", "success_url": "https://turbulent-wasabi.com", "return_url": "https://great-fen.com", "embed_origin": "", "amount": 441643, "discount_amount": 452269, "net_amount": 267381, "tax_amount": 51493, "total_amount": 549002, "currency": "Peso Uruguayo", "allow_trial": false, "active_trial_interval": "year", "active_trial_interval_count": 324391, "trial_end": null, "organization_id": "", "product_id": "", "product_price_id": "", "discount_id": "", "allow_discount_codes": true, "require_billing_address": false, "is_discount_applicable": false, "is_free_product_price": false, "is_payment_required": false, "is_payment_setup_required": true, "is_payment_form_required": true, "customer_id": "", "is_business_customer": false, "customer_name": "", "customer_email": "", "customer_ip_address": "", "customer_billing_name": "", "customer_billing_address": {"country": "US"}, "customer_tax_id": "", "payment_processor_metadata": {"key": ""}, "billing_address_fields": {"country": "disabled", "state": "disabled", "city": "optional", "postal_code": "required", "line1": "required", "line2": "disabled"}, "trial_interval": "week", "trial_interval_count": 632047, "metadata": {"key": 646.57, "key1": true}, "external_customer_id": "", "products": [], "product": {"id": "", "created_at": "2025-03-23T05:05:48.260Z", "modified_at": "2024-06-06T11:28:02.687Z", "trial_interval": "year", "trial_interval_count": 978623, "name": "", "description": "fondly ew pish until alongside needily", "visibility": "public", "recurring_interval": "month", "recurring_interval_count": 974785, "is_recurring": false, "is_archived": false, "organization_id": "", "prices": [], "benefits": [{"id": "", "created_at": "2023-12-26T14:14:21.531Z", "modified_at": "2023-11-04T06:09:05.151Z", "type": "discord", "description": "circa now optimistically instruction around toothbrush knottily valuable fashion fedora", "selectable": true, "deletable": false, "organization_id": ""}], "medias": []}, "product_price": {"created_at": "2024-01-06T02:40:29.447Z", "modified_at": "2025-05-30T19:19:24.495Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 978623, "maximum_amount": null, "preset_amount": 452269, "legacy": true}, "prices": {}, "discount": {"duration": "once", "duration_in_months": 960371, "type": "percentage", "basis_points": 131002, "id": "", "name": "", "code": ""}, "subscription_id": "", "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2024-11-07T21:05:16.725Z", "modified_at": "2023-04-03T18:53:55.774Z", "id": "", "metadata": {"key": "", "key1": 3794.08, "key2": 2451.1}, "type": "date", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 202429, "required": true}], "customer_metadata": {"key": true, "key1": true, "key2": ""}} + application/json: {"id": "", "created_at": "2024-01-03T23:26:44.843Z", "modified_at": "2023-12-22T12:47:17.057Z", "payment_processor": "stripe", "status": "open", "client_secret": "", "url": "https://limp-violin.name", "expires_at": "2024-03-25T01:44:28.012Z", "success_url": "https://turbulent-wasabi.com", "return_url": "https://great-fen.com", "embed_origin": "", "amount": 441643, "discount_amount": 452269, "net_amount": 267381, "tax_amount": 51493, "tax_behavior": "exclusive", "total_amount": 549002, "currency": "Peso Uruguayo", "allow_trial": false, "active_trial_interval": "year", "active_trial_interval_count": 324391, "trial_end": null, "organization_id": "", "product_id": "", "product_price_id": "", "discount_id": "", "allow_discount_codes": true, "require_billing_address": false, "is_discount_applicable": false, "is_free_product_price": false, "is_payment_required": false, "is_payment_setup_required": true, "is_payment_form_required": true, "customer_id": "", "is_business_customer": false, "customer_name": "", "customer_email": "", "customer_ip_address": "", "customer_billing_name": "", "customer_billing_address": {"country": "US"}, "customer_tax_id": "", "payment_processor_metadata": {"key": ""}, "billing_address_fields": {"country": "disabled", "state": "disabled", "city": "optional", "postal_code": "required", "line1": "required", "line2": "disabled"}, "trial_interval": "week", "trial_interval_count": 632047, "metadata": {"key": 646.57, "key1": true}, "external_customer_id": "", "products": [], "product": {"id": "", "created_at": "2025-03-23T05:05:48.260Z", "modified_at": "2024-06-06T11:28:02.687Z", "trial_interval": "year", "trial_interval_count": 978623, "name": "", "description": "fondly ew pish until alongside needily", "visibility": "public", "recurring_interval": "month", "recurring_interval_count": 974785, "meter_interval": "week", "meter_interval_count": null, "is_recurring": false, "is_archived": false, "organization_id": "", "prices": [], "benefits": [{"id": "", "created_at": "2023-12-26T14:14:21.531Z", "modified_at": "2023-11-04T06:09:05.151Z", "type": "discord", "description": "circa now optimistically instruction around toothbrush knottily valuable fashion fedora", "selectable": true, "deletable": false, "is_deleted": false, "organization_id": ""}], "medias": []}, "product_price": {"created_at": "2024-01-06T02:40:29.447Z", "modified_at": "2025-05-30T19:19:24.495Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 978623, "maximum_amount": null, "preset_amount": 452269, "legacy": true}, "prices": {}, "discount": {"duration": "once", "duration_in_months": 960371, "type": "percentage", "basis_points": 131002, "id": "", "name": "", "code": ""}, "subscription_id": "", "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2024-11-07T21:05:16.725Z", "modified_at": "2023-04-03T18:53:55.774Z", "id": "", "metadata": {"key": "", "key1": 3794.08, "key2": 2451.1}, "type": "date", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 202429, "required": true}], "customer_metadata": {"key": true, "key1": true, "key2": ""}} "422": application/json: {} checkouts:get: @@ -10528,7 +11300,7 @@ examples: id: "" responses: "200": - application/json: {"id": "", "created_at": "2024-08-11T03:11:01.239Z", "modified_at": "2023-07-09T08:26:25.978Z", "payment_processor": "stripe", "status": "failed", "client_secret": "", "url": "https://second-hand-costume.name", "expires_at": "2024-02-29T17:22:54.724Z", "success_url": "https://powerful-jogging.info/", "return_url": "https://willing-ribbon.net/", "embed_origin": "", "amount": 601699, "discount_amount": 565134, "net_amount": 604568, "tax_amount": 435126, "total_amount": 202456, "currency": "Chilean Peso", "allow_trial": true, "active_trial_interval": "day", "active_trial_interval_count": 759954, "trial_end": "2023-08-04T19:41:02.160Z", "organization_id": "", "product_id": "", "product_price_id": "", "discount_id": "", "allow_discount_codes": false, "require_billing_address": false, "is_discount_applicable": false, "is_free_product_price": true, "is_payment_required": false, "is_payment_setup_required": true, "is_payment_form_required": false, "customer_id": "", "is_business_customer": false, "customer_name": "", "customer_email": "", "customer_ip_address": "", "customer_billing_name": "", "customer_billing_address": {"country": "US"}, "customer_tax_id": "", "payment_processor_metadata": {"key": "", "key1": "", "key2": ""}, "billing_address_fields": {"country": "optional", "state": "required", "city": "disabled", "postal_code": "disabled", "line1": "disabled", "line2": "required"}, "trial_interval": "week", "trial_interval_count": 626845, "metadata": {"key": ""}, "external_customer_id": "", "products": [], "product": {"id": "", "created_at": "2024-05-24T23:34:40.295Z", "modified_at": "2023-06-24T17:35:50.631Z", "trial_interval": "week", "trial_interval_count": 565134, "name": "", "description": "defensive before litter", "visibility": "private", "recurring_interval": "month", "recurring_interval_count": 172766, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [], "benefits": [], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/sbin", "mime_type": "", "size": 88132, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-08-25T12:06:48.574Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-05-24T20:26:10.981Z", "size_readable": "", "public_url": "https://untried-pomelo.info/"}, {"id": "", "organization_id": "", "name": "", "path": "/sbin", "mime_type": "", "size": 88132, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-08-25T12:06:48.574Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-05-24T20:26:10.981Z", "size_readable": "", "public_url": "https://untried-pomelo.info/"}]}, "product_price": {"created_at": "2026-02-24T18:28:07.898Z", "modified_at": "2025-08-14T06:11:53.782Z", "id": "", "source": "catalog", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "unit_amount": "", "cap_amount": 601699, "meter_id": "", "meter": {"id": "", "name": ""}}, "prices": {"key": [], "key1": [{"created_at": "2025-11-18T00:31:08.942Z", "modified_at": "2025-04-13T15:29:46.295Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 202456, "maximum_amount": 729244, "preset_amount": 553246, "legacy": true}]}, "discount": {"duration": "repeating", "duration_in_months": 798046, "type": "fixed", "basis_points": 969481, "id": "", "name": "", "code": ""}, "subscription_id": "", "attached_custom_fields": [], "customer_metadata": {"key": 35277}} + application/json: {"id": "", "created_at": "2024-08-11T03:11:01.239Z", "modified_at": "2023-07-09T08:26:25.978Z", "payment_processor": "stripe", "status": "failed", "client_secret": "", "url": "https://second-hand-costume.name", "expires_at": "2024-02-29T17:22:54.724Z", "success_url": "https://powerful-jogging.info/", "return_url": "https://willing-ribbon.net/", "embed_origin": "", "amount": 601699, "discount_amount": 565134, "net_amount": 604568, "tax_amount": 435126, "tax_behavior": "inclusive", "total_amount": 202456, "currency": "Chilean Peso", "allow_trial": true, "active_trial_interval": "day", "active_trial_interval_count": 759954, "trial_end": "2023-08-04T19:41:02.160Z", "organization_id": "", "product_id": "", "product_price_id": "", "discount_id": "", "allow_discount_codes": false, "require_billing_address": false, "is_discount_applicable": false, "is_free_product_price": true, "is_payment_required": false, "is_payment_setup_required": true, "is_payment_form_required": false, "customer_id": "", "is_business_customer": false, "customer_name": "", "customer_email": "", "customer_ip_address": "", "customer_billing_name": "", "customer_billing_address": {"country": "US"}, "customer_tax_id": "", "payment_processor_metadata": {"key": "", "key1": "", "key2": ""}, "billing_address_fields": {"country": "optional", "state": "required", "city": "disabled", "postal_code": "disabled", "line1": "disabled", "line2": "required"}, "trial_interval": "week", "trial_interval_count": 626845, "metadata": {"key": ""}, "external_customer_id": "", "products": [], "product": {"id": "", "created_at": "2024-05-24T23:34:40.295Z", "modified_at": "2023-06-24T17:35:50.631Z", "trial_interval": "week", "trial_interval_count": 565134, "name": "", "description": "defensive before litter", "visibility": "private", "recurring_interval": "month", "recurring_interval_count": 172766, "meter_interval": "year", "meter_interval_count": 196916, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [], "benefits": [], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/sbin", "mime_type": "", "size": 88132, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-08-25T12:06:48.574Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-05-24T20:26:10.981Z", "size_readable": "", "public_url": "https://untried-pomelo.info/"}, {"id": "", "organization_id": "", "name": "", "path": "/sbin", "mime_type": "", "size": 88132, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-08-25T12:06:48.574Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-05-24T20:26:10.981Z", "size_readable": "", "public_url": "https://untried-pomelo.info/"}]}, "product_price": {"created_at": "2026-02-24T18:28:07.898Z", "modified_at": "2025-08-14T06:11:53.782Z", "id": "", "source": "catalog", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "unit_amount": "", "cap_amount": 601699, "meter_id": "", "meter": {"id": "", "name": "", "unit": "token", "custom_label": "", "custom_multiplier": 626845}}, "prices": {"key": [], "key1": [{"created_at": "2025-11-18T00:31:08.942Z", "modified_at": "2025-04-13T15:29:46.295Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 202456, "maximum_amount": 729244, "preset_amount": 553246, "legacy": true}]}, "discount": {"duration": "repeating", "duration_in_months": 798046, "type": "fixed", "basis_points": 969481, "id": "", "name": "", "code": ""}, "subscription_id": "", "attached_custom_fields": [], "customer_metadata": {"key": 35277}} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -10540,7 +11312,7 @@ examples: client_secret: "" responses: "200": - application/json: {"id": "", "created_at": "2025-06-24T05:51:11.116Z", "modified_at": "2025-07-15T02:19:22.581Z", "payment_processor": "stripe", "status": "failed", "client_secret": "", "url": "https://stable-republican.name", "expires_at": "2025-01-13T08:45:44.792Z", "success_url": "https://trim-coil.name", "return_url": "https://thorny-mathematics.net", "embed_origin": "", "amount": 701062, "discount_amount": 173963, "net_amount": 129651, "tax_amount": 979690, "total_amount": 68566, "currency": "Ethiopian Birr", "allow_trial": false, "active_trial_interval": "year", "active_trial_interval_count": 558443, "trial_end": "2025-03-31T17:00:49.512Z", "organization_id": "", "product_id": "", "product_price_id": "", "discount_id": "", "allow_discount_codes": false, "require_billing_address": false, "is_discount_applicable": false, "is_free_product_price": true, "is_payment_required": false, "is_payment_setup_required": false, "is_payment_form_required": false, "customer_id": "", "is_business_customer": false, "customer_name": "", "customer_email": "", "customer_ip_address": "", "customer_billing_name": "", "customer_billing_address": {"country": "US"}, "customer_tax_id": "", "payment_processor_metadata": {"key": "", "key1": "", "key2": ""}, "billing_address_fields": {"country": "disabled", "state": "disabled", "city": "disabled", "postal_code": "optional", "line1": "disabled", "line2": "disabled"}, "products": [{"id": "", "created_at": "2025-01-14T04:52:19.310Z", "modified_at": "2024-04-20T06:15:24.056Z", "trial_interval": "month", "trial_interval_count": 867631, "name": "", "description": "outrank sometimes round heavily the lest while vastly", "visibility": "public", "recurring_interval": "year", "recurring_interval_count": 844979, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [], "benefits": [{"id": "", "created_at": "2025-06-18T16:43:11.992Z", "modified_at": "2023-06-16T13:07:12.807Z", "type": "downloadables", "description": "but between harangue train boo polished", "selectable": true, "deletable": false, "organization_id": ""}, {"id": "", "created_at": "2025-06-18T16:43:11.992Z", "modified_at": "2023-06-16T13:07:12.807Z", "type": "downloadables", "description": "but between harangue train boo polished", "selectable": true, "deletable": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/etc", "mime_type": "", "size": 894708, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-09-28T05:14:12.847Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-11-15T04:02:31.401Z", "size_readable": "", "public_url": "https://blushing-cinder.com"}]}, {"id": "", "created_at": "2025-01-14T04:52:19.310Z", "modified_at": "2024-04-20T06:15:24.056Z", "trial_interval": "month", "trial_interval_count": 173963, "name": "", "description": "outrank sometimes round heavily the lest while vastly", "visibility": "public", "recurring_interval": "year", "recurring_interval_count": 558443, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [], "benefits": [{"id": "", "created_at": "2025-06-18T16:43:11.992Z", "modified_at": "2023-06-16T13:07:12.807Z", "type": "downloadables", "description": "but between harangue train boo polished", "selectable": true, "deletable": false, "organization_id": ""}, {"id": "", "created_at": "2025-06-18T16:43:11.992Z", "modified_at": "2023-06-16T13:07:12.807Z", "type": "downloadables", "description": "but between harangue train boo polished", "selectable": true, "deletable": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/etc", "mime_type": "", "size": 894708, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-09-28T05:14:12.847Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-11-15T04:02:31.401Z", "size_readable": "", "public_url": "https://blushing-cinder.com"}]}], "product": {"id": "", "created_at": "2024-03-24T04:29:38.701Z", "modified_at": "2025-05-05T01:21:17.988Z", "trial_interval": "year", "trial_interval_count": null, "name": "", "description": "meh including winged mundane spirit snow deselect phew yowza expert", "visibility": "public", "recurring_interval": "month", "recurring_interval_count": 748822, "is_recurring": false, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2025-07-21T02:35:25.261Z", "modified_at": "2025-05-19T02:18:24.778Z", "id": "", "source": "ad_hoc", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "unit_amount": "", "cap_amount": 162606, "meter_id": "", "meter": {"id": "", "name": ""}}], "benefits": [{"id": "", "created_at": "2025-06-18T16:43:11.992Z", "modified_at": "2023-06-16T13:07:12.807Z", "type": "downloadables", "description": "but between harangue train boo polished", "selectable": true, "deletable": false, "organization_id": ""}, {"id": "", "created_at": "2025-06-18T16:43:11.992Z", "modified_at": "2023-06-16T13:07:12.807Z", "type": "downloadables", "description": "but between harangue train boo polished", "selectable": true, "deletable": false, "organization_id": ""}, {"id": "", "created_at": "2025-06-18T16:43:11.992Z", "modified_at": "2023-06-16T13:07:12.807Z", "type": "downloadables", "description": "but between harangue train boo polished", "selectable": true, "deletable": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/etc", "mime_type": "", "size": 894708, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-09-28T05:14:12.847Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-11-15T04:02:31.401Z", "size_readable": "", "public_url": "https://blushing-cinder.com"}, {"id": "", "organization_id": "", "name": "", "path": "/etc", "mime_type": "", "size": 894708, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-09-28T05:14:12.847Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-11-15T04:02:31.401Z", "size_readable": "", "public_url": "https://blushing-cinder.com"}]}, "product_price": {"created_at": "2025-10-29T23:16:41.742Z", "modified_at": "2025-08-27T15:59:15.813Z", "id": "", "source": "ad_hoc", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "unit_amount": "", "cap_amount": 129651, "meter_id": "", "meter": {"id": "", "name": ""}}, "prices": {"key": [{"created_at": "2026-08-08T22:09:58.034Z", "modified_at": "2025-11-20T03:28:45.411Z", "id": "", "source": "ad_hoc", "amount_type": "free", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "day", "legacy": true}], "key1": []}, "discount": {"duration": "once", "type": "percentage", "basis_points": 569074, "id": "", "name": "", "code": ""}, "organization": {"created_at": "2024-06-12T08:42:49.560Z", "modified_at": "2025-06-30T05:17:18.282Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://straight-testing.biz", "proration_behavior": "prorate", "allow_customer_updates": false}, "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2025-07-30T02:52:43.070Z", "modified_at": "2023-06-26T05:50:35.070Z", "id": "", "metadata": {"key": ""}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 848447, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2025-07-30T02:52:43.070Z", "modified_at": "2023-06-26T05:50:35.070Z", "id": "", "metadata": {"key": ""}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 848447, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2025-07-30T02:52:43.070Z", "modified_at": "2023-06-26T05:50:35.070Z", "id": "", "metadata": {"key": ""}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 848447, "required": false}]} + application/json: {"id": "", "created_at": "2025-06-24T05:51:11.116Z", "modified_at": "2025-07-15T02:19:22.581Z", "payment_processor": "stripe", "status": "failed", "client_secret": "", "url": "https://stable-republican.name", "expires_at": "2025-01-13T08:45:44.792Z", "success_url": "https://trim-coil.name", "return_url": "https://thorny-mathematics.net", "embed_origin": "", "amount": 701062, "discount_amount": 173963, "net_amount": 129651, "tax_amount": 979690, "tax_behavior": "exclusive", "total_amount": 68566, "currency": "Ethiopian Birr", "allow_trial": false, "active_trial_interval": "year", "active_trial_interval_count": 558443, "trial_end": "2025-03-31T17:00:49.512Z", "organization_id": "", "product_id": "", "product_price_id": "", "discount_id": "", "allow_discount_codes": false, "require_billing_address": false, "is_discount_applicable": false, "is_free_product_price": true, "is_payment_required": false, "is_payment_setup_required": false, "is_payment_form_required": false, "customer_id": "", "is_business_customer": false, "customer_name": "", "customer_email": "", "customer_ip_address": "", "customer_billing_name": "", "customer_billing_address": {"country": "US"}, "customer_tax_id": "", "payment_processor_metadata": {"key": "", "key1": "", "key2": ""}, "billing_address_fields": {"country": "disabled", "state": "disabled", "city": "disabled", "postal_code": "optional", "line1": "disabled", "line2": "disabled"}, "products": [{"id": "", "created_at": "2025-01-14T04:52:19.310Z", "modified_at": "2024-04-20T06:15:24.056Z", "trial_interval": "month", "trial_interval_count": 867631, "name": "", "description": "outrank sometimes round heavily the lest while vastly", "visibility": "public", "recurring_interval": "year", "recurring_interval_count": 844979, "meter_interval": "month", "meter_interval_count": 748822, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [], "benefits": [{"id": "", "created_at": "2025-06-18T16:43:11.992Z", "modified_at": "2023-06-16T13:07:12.807Z", "type": "downloadables", "description": "but between harangue train boo polished", "selectable": true, "deletable": false, "is_deleted": false, "organization_id": ""}, {"id": "", "created_at": "2025-06-18T16:43:11.992Z", "modified_at": "2023-06-16T13:07:12.807Z", "type": "downloadables", "description": "but between harangue train boo polished", "selectable": true, "deletable": false, "is_deleted": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/etc", "mime_type": "", "size": 894708, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-09-28T05:14:12.847Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-11-15T04:02:31.401Z", "size_readable": "", "public_url": "https://blushing-cinder.com"}]}, {"id": "", "created_at": "2025-01-14T04:52:19.310Z", "modified_at": "2024-04-20T06:15:24.056Z", "trial_interval": "month", "trial_interval_count": 173963, "name": "", "description": "outrank sometimes round heavily the lest while vastly", "visibility": "public", "recurring_interval": "year", "recurring_interval_count": 558443, "meter_interval": "year", "meter_interval_count": 628782, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [], "benefits": [{"id": "", "created_at": "2025-06-18T16:43:11.992Z", "modified_at": "2023-06-16T13:07:12.807Z", "type": "downloadables", "description": "but between harangue train boo polished", "selectable": true, "deletable": false, "is_deleted": false, "organization_id": ""}, {"id": "", "created_at": "2025-06-18T16:43:11.992Z", "modified_at": "2023-06-16T13:07:12.807Z", "type": "downloadables", "description": "but between harangue train boo polished", "selectable": true, "deletable": false, "is_deleted": true, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/etc", "mime_type": "", "size": 894708, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-09-28T05:14:12.847Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-11-15T04:02:31.401Z", "size_readable": "", "public_url": "https://blushing-cinder.com"}]}], "product": {"id": "", "created_at": "2024-03-24T04:29:38.701Z", "modified_at": "2025-05-05T01:21:17.988Z", "trial_interval": "year", "trial_interval_count": null, "name": "", "description": "meh including winged mundane spirit snow deselect phew yowza expert", "visibility": "public", "recurring_interval": "month", "recurring_interval_count": 748822, "meter_interval": "year", "meter_interval_count": null, "is_recurring": false, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2025-07-21T02:35:25.261Z", "modified_at": "2025-05-19T02:18:24.778Z", "id": "", "source": "ad_hoc", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "unit_amount": "", "cap_amount": 162606, "meter_id": "", "meter": {"id": "", "name": "", "unit": "scalar", "custom_label": "", "custom_multiplier": 950981}}], "benefits": [{"id": "", "created_at": "2025-06-18T16:43:11.992Z", "modified_at": "2023-06-16T13:07:12.807Z", "type": "downloadables", "description": "but between harangue train boo polished", "selectable": true, "deletable": false, "is_deleted": true, "organization_id": ""}, {"id": "", "created_at": "2025-06-18T16:43:11.992Z", "modified_at": "2023-06-16T13:07:12.807Z", "type": "downloadables", "description": "but between harangue train boo polished", "selectable": true, "deletable": false, "is_deleted": false, "organization_id": ""}, {"id": "", "created_at": "2025-06-18T16:43:11.992Z", "modified_at": "2023-06-16T13:07:12.807Z", "type": "downloadables", "description": "but between harangue train boo polished", "selectable": true, "deletable": false, "is_deleted": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/etc", "mime_type": "", "size": 894708, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-09-28T05:14:12.847Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-11-15T04:02:31.401Z", "size_readable": "", "public_url": "https://blushing-cinder.com"}, {"id": "", "organization_id": "", "name": "", "path": "/etc", "mime_type": "", "size": 894708, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-09-28T05:14:12.847Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-11-15T04:02:31.401Z", "size_readable": "", "public_url": "https://blushing-cinder.com"}]}, "product_price": {"created_at": "2025-10-29T23:16:41.742Z", "modified_at": "2025-08-27T15:59:15.813Z", "id": "", "source": "ad_hoc", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "unit_amount": "", "cap_amount": 129651, "meter_id": "", "meter": {"id": "", "name": "", "unit": "custom", "custom_label": "", "custom_multiplier": 628185}}, "prices": {"key": [{"created_at": "2025-12-07T06:58:36.305Z", "modified_at": "2025-12-06T06:54:47.440Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "exclusive", "is_archived": true, "product_id": "", "price_amount": 573532}], "key1": []}, "discount": {"duration": "once", "type": "percentage", "basis_points": 569074, "id": "", "name": "", "code": ""}, "organization": {"created_at": "2024-06-12T08:42:49.560Z", "modified_at": "2025-06-30T05:17:18.282Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://straight-testing.biz", "proration_behavior": "prorate", "allow_customer_updates": false}, "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2025-07-30T02:52:43.070Z", "modified_at": "2023-06-26T05:50:35.070Z", "id": "", "metadata": {"key": ""}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 848447, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2025-07-30T02:52:43.070Z", "modified_at": "2023-06-26T05:50:35.070Z", "id": "", "metadata": {"key": ""}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 848447, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2025-07-30T02:52:43.070Z", "modified_at": "2023-06-26T05:50:35.070Z", "id": "", "metadata": {"key": ""}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 848447, "required": false}]} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "410": @@ -10654,7 +11426,7 @@ examples: id: "" responses: "200": - application/json: {"id": "", "created_at": "2024-04-17T15:51:04.274Z", "modified_at": "2023-09-14T13:28:32.721Z", "organization_id": "", "customer_id": "", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-09-28T01:45:16.528Z", "modified_at": "2024-04-30T23:16:47.192Z", "metadata": {}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-12-16T08:30:17.232Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "benefit_id": "", "key": "", "display_key": "", "status": "disabled", "limit_activations": 281445, "usage": 58969, "limit_usage": 210790, "validations": 646881, "last_validated_at": "2024-11-29T00:55:02.038Z", "expires_at": "2025-10-20T07:37:17.017Z", "activations": [{"id": "", "license_key_id": "", "label": "", "meta": {"key": 80229, "key1": 4434.03, "key2": ""}, "created_at": "2025-10-15T04:13:13.273Z", "modified_at": "2024-08-15T20:48:18.880Z"}]} + application/json: {"id": "", "created_at": "2024-04-17T15:51:04.274Z", "modified_at": "2023-09-14T13:28:32.721Z", "organization_id": "", "customer_id": "", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-09-28T01:45:16.528Z", "modified_at": "2024-04-30T23:16:47.192Z", "metadata": {}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-12-16T08:30:17.232Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "benefit_id": "", "key": "", "display_key": "", "status": "disabled", "limit_activations": 281445, "usage": 58969, "limit_usage": 210790, "validations": 646881, "last_validated_at": "2024-11-29T00:55:02.038Z", "expires_at": "2025-10-20T07:37:17.017Z", "activations": [{"id": "", "license_key_id": "", "label": "", "meta": {"key": 80229, "key1": 4434.03, "key2": ""}, "created_at": "2025-10-15T04:13:13.273Z", "modified_at": "2024-08-15T20:48:18.880Z"}]} "401": application/json: {"error": "Unauthorized", "detail": ""} "404": @@ -10670,7 +11442,7 @@ examples: application/json: {"usage": 0} responses: "200": - application/json: {"id": "", "created_at": "2025-01-01T16:52:41.426Z", "modified_at": "2023-11-30T07:07:36.018Z", "organization_id": "", "customer_id": "", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2023-06-07T17:13:25.184Z", "modified_at": "2025-04-02T14:00:56.356Z", "metadata": {}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-11-05T08:53:38.728Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "benefit_id": "", "key": "", "display_key": "", "status": "revoked", "limit_activations": 435449, "usage": 909407, "limit_usage": 530181, "validations": 519356, "last_validated_at": "2023-07-20T12:00:32.899Z", "expires_at": "2023-11-29T19:00:29.326Z"} + application/json: {"id": "", "created_at": "2025-01-01T16:52:41.426Z", "modified_at": "2023-11-30T07:07:36.018Z", "organization_id": "", "customer_id": "", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2023-06-07T17:13:25.184Z", "modified_at": "2025-04-02T14:00:56.356Z", "metadata": {}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-11-05T08:53:38.728Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "benefit_id": "", "key": "", "display_key": "", "status": "revoked", "limit_activations": 435449, "usage": 909407, "limit_usage": 530181, "validations": 519356, "last_validated_at": "2023-07-20T12:00:32.899Z", "expires_at": "2023-11-29T19:00:29.326Z"} "401": application/json: {"error": "Unauthorized", "detail": ""} "404": @@ -10685,7 +11457,7 @@ examples: activation_id: "" responses: "200": - application/json: {"id": "", "license_key_id": "", "label": "", "meta": {}, "created_at": "2025-12-13T19:45:59.208Z", "modified_at": "2024-01-13T22:06:23.431Z", "license_key": {"id": "", "created_at": "2023-12-24T22:24:52.018Z", "modified_at": "2024-07-21T12:42:21.959Z", "organization_id": "", "customer_id": "", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2023-01-09T06:48:41.627Z", "modified_at": "2024-03-03T00:26:30.887Z", "metadata": {}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2024-02-17T11:59:37.294Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "benefit_id": "", "key": "", "display_key": "", "status": "granted", "limit_activations": 626544, "usage": 98141, "limit_usage": 451187, "validations": 129285, "last_validated_at": "2024-11-30T15:24:19.160Z", "expires_at": "2023-01-31T13:18:42.411Z"}} + application/json: {"id": "", "license_key_id": "", "label": "", "meta": {}, "created_at": "2025-12-13T19:45:59.208Z", "modified_at": "2024-01-13T22:06:23.431Z", "license_key": {"id": "", "created_at": "2023-12-24T22:24:52.018Z", "modified_at": "2024-07-21T12:42:21.959Z", "organization_id": "", "customer_id": "", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2023-01-09T06:48:41.627Z", "modified_at": "2024-03-03T00:26:30.887Z", "metadata": {}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2024-02-17T11:59:37.294Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "benefit_id": "", "key": "", "display_key": "", "status": "granted", "limit_activations": 626544, "usage": 98141, "limit_usage": 451187, "validations": 129285, "last_validated_at": "2024-11-30T15:24:19.160Z", "expires_at": "2023-01-31T13:18:42.411Z"}} "401": application/json: {"error": "Unauthorized", "detail": ""} "404": @@ -10701,7 +11473,7 @@ examples: limit: 10 responses: "200": - application/json: {"items": [{"id": "", "created_at": "2024-12-08T18:31:28.967Z", "modified_at": "2024-02-20T14:07:28.433Z", "trial_interval": "year", "trial_interval_count": 379186, "metadata": {"key": 349360, "key1": 889885, "key2": 987277}, "payment_processor": "stripe", "client_secret": "", "success_url": "https://damaged-priesthood.org", "return_url": "https://punctual-glider.org", "label": "", "allow_discount_codes": false, "require_billing_address": false, "discount_id": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "products": [{"metadata": {"key": false}, "id": "", "created_at": "2025-06-23T06:29:06.861Z", "modified_at": "2024-04-23T19:25:34.418Z", "trial_interval": "week", "trial_interval_count": 269522, "name": "", "description": "sideboard safely how while yum sparse", "visibility": "private", "recurring_interval": "month", "recurring_interval_count": 962255, "is_recurring": false, "is_archived": false, "organization_id": "", "prices": [{"created_at": "2024-12-08T18:31:28.967Z", "modified_at": "2025-08-25T12:12:46.370Z", "id": "", "source": "ad_hoc", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "exclusive", "is_archived": true, "product_id": "", "unit_amount": "", "cap_amount": 987277, "meter_id": "", "meter": {"id": "", "name": ""}}], "benefits": [], "medias": []}], "discount": {"duration": "forever", "type": "percentage", "basis_points": 1000, "created_at": "2025-04-25T09:54:59.217Z", "modified_at": "2024-10-22T09:30:35.515Z", "id": "", "metadata": {"key": 987277}, "name": "", "code": "", "starts_at": "2026-02-11T18:32:20.472Z", "ends_at": "2026-03-25T11:30:39.715Z", "max_redemptions": 389068, "redemptions_count": 283838, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "url": "https://unfinished-plain.name"}, {"id": "", "created_at": "2024-12-08T18:31:28.967Z", "modified_at": "2024-02-20T14:07:28.433Z", "trial_interval": "week", "trial_interval_count": 656194, "metadata": {"key": 349360, "key1": 889885, "key2": 987277}, "payment_processor": "stripe", "client_secret": "", "success_url": "https://damaged-priesthood.org", "return_url": "https://uniform-gallery.org/", "label": "", "allow_discount_codes": false, "require_billing_address": false, "discount_id": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "products": [{"metadata": {"key": false}, "id": "", "created_at": "2025-06-23T06:29:06.861Z", "modified_at": "2024-04-23T19:25:34.418Z", "trial_interval": "month", "trial_interval_count": 743139, "name": "", "description": "sideboard safely how while yum sparse", "visibility": "private", "recurring_interval": "month", "recurring_interval_count": 379186, "is_recurring": false, "is_archived": false, "organization_id": "", "prices": [{"created_at": "2025-02-11T18:32:20.472Z", "modified_at": "2025-03-25T11:30:39.715Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 825064, "maximum_amount": 470214, "preset_amount": 586539, "legacy": true}], "benefits": [], "medias": []}], "discount": {"duration": "forever", "duration_in_months": 470214, "type": "fixed", "basis_points": 1000, "created_at": "2025-10-04T20:19:33.315Z", "modified_at": "2026-02-02T01:59:45.483Z", "id": "", "metadata": {}, "name": "", "code": "", "starts_at": "2024-05-10T20:25:13.672Z", "ends_at": "2025-05-08T20:04:34.423Z", "max_redemptions": 747675, "redemptions_count": 442868, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "url": "https://unfinished-plain.name"}, {"id": "", "created_at": "2024-12-08T18:31:28.967Z", "modified_at": "2024-02-20T14:07:28.433Z", "trial_interval": "week", "trial_interval_count": 958373, "metadata": {"key": 349360, "key1": 889885, "key2": 987277}, "payment_processor": "stripe", "client_secret": "", "success_url": "https://damaged-priesthood.org", "return_url": "https://tidy-reorganisation.org", "label": "", "allow_discount_codes": false, "require_billing_address": false, "discount_id": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "products": [{"metadata": {"key": 958373}, "id": "", "created_at": "2025-06-23T06:29:06.861Z", "modified_at": "2024-04-23T19:25:34.418Z", "trial_interval": "year", "trial_interval_count": 470214, "name": "", "description": "sideboard safely how while yum sparse", "visibility": "private", "recurring_interval": "month", "recurring_interval_count": 438333, "is_recurring": false, "is_archived": false, "organization_id": "", "prices": [{"created_at": "2023-05-11T01:12:44.937Z", "modified_at": "2025-06-06T13:16:03.281Z", "id": "", "source": "ad_hoc", "amount_type": "free", "price_currency": "", "tax_behavior": "exclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}], "benefits": [], "medias": []}], "discount": {"duration": "forever", "duration_in_months": 470214, "type": "fixed", "basis_points": 1000, "created_at": "2025-10-04T20:19:33.315Z", "modified_at": "2026-02-02T01:59:45.483Z", "id": "", "metadata": {}, "name": "", "code": "", "starts_at": "2024-05-10T20:25:13.672Z", "ends_at": "2025-05-08T20:04:34.423Z", "max_redemptions": 747675, "redemptions_count": 442868, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "url": "https://unfinished-plain.name"}], "pagination": {"total_count": 109542, "max_page": 664611}} + application/json: {"items": [{"id": "", "created_at": "2024-12-08T18:31:28.967Z", "modified_at": "2024-02-20T14:07:28.433Z", "trial_interval": "year", "trial_interval_count": 379186, "metadata": {"key": 349360, "key1": 889885, "key2": 987277}, "payment_processor": "stripe", "client_secret": "", "success_url": "https://damaged-priesthood.org", "return_url": "https://punctual-glider.org", "label": "", "allow_discount_codes": false, "require_billing_address": false, "discount_id": "", "seats": 962255, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "products": [{"metadata": {"key": false}, "id": "", "created_at": "2025-06-23T06:29:06.861Z", "modified_at": "2024-04-23T19:25:34.418Z", "trial_interval": "week", "trial_interval_count": 269522, "name": "", "description": "sideboard safely how while yum sparse", "visibility": "private", "recurring_interval": "month", "recurring_interval_count": 962255, "meter_interval": "week", "meter_interval_count": 438333, "is_recurring": false, "is_archived": false, "organization_id": "", "prices": [{"created_at": "2024-12-08T18:31:28.967Z", "modified_at": "2025-08-25T12:12:46.370Z", "id": "", "source": "ad_hoc", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "exclusive", "is_archived": true, "product_id": "", "unit_amount": "", "cap_amount": 987277, "meter_id": "", "meter": {"id": "", "name": "", "unit": "token", "custom_label": "", "custom_multiplier": 370639}}], "benefits": [], "medias": []}], "discount": {"duration": "forever", "type": "percentage", "basis_points": 1000, "created_at": "2025-04-25T09:54:59.217Z", "modified_at": "2024-10-22T09:30:35.515Z", "id": "", "metadata": {"key": 987277}, "name": "", "code": "", "starts_at": "2026-02-11T18:32:20.472Z", "ends_at": "2026-03-25T11:30:39.715Z", "max_redemptions": 389068, "redemptions_count": 283838, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "url": "https://unfinished-plain.name"}, {"id": "", "created_at": "2024-12-08T18:31:28.967Z", "modified_at": "2024-02-20T14:07:28.433Z", "trial_interval": "week", "trial_interval_count": 656194, "metadata": {"key": 349360, "key1": 889885, "key2": 987277}, "payment_processor": "stripe", "client_secret": "", "success_url": "https://damaged-priesthood.org", "return_url": "https://uniform-gallery.org/", "label": "", "allow_discount_codes": false, "require_billing_address": false, "discount_id": "", "seats": 656194, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "products": [{"metadata": {"key": false}, "id": "", "created_at": "2025-06-23T06:29:06.861Z", "modified_at": "2024-04-23T19:25:34.418Z", "trial_interval": "month", "trial_interval_count": 743139, "name": "", "description": "sideboard safely how while yum sparse", "visibility": "private", "recurring_interval": "month", "recurring_interval_count": 379186, "meter_interval": "month", "meter_interval_count": 743139, "is_recurring": false, "is_archived": false, "organization_id": "", "prices": [{"created_at": "2025-02-11T18:32:20.472Z", "modified_at": "2025-03-25T11:30:39.715Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 825064, "maximum_amount": 470214, "preset_amount": 586539, "legacy": true}], "benefits": [], "medias": []}], "discount": {"duration": "forever", "duration_in_months": 470214, "type": "fixed", "basis_points": 1000, "created_at": "2025-10-04T20:19:33.315Z", "modified_at": "2026-02-02T01:59:45.483Z", "id": "", "metadata": {}, "name": "", "code": "", "starts_at": "2024-05-10T20:25:13.672Z", "ends_at": "2025-05-08T20:04:34.423Z", "max_redemptions": 747675, "redemptions_count": 442868, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "url": "https://unfinished-plain.name"}, {"id": "", "created_at": "2024-12-08T18:31:28.967Z", "modified_at": "2024-02-20T14:07:28.433Z", "trial_interval": "week", "trial_interval_count": 958373, "metadata": {"key": 349360, "key1": 889885, "key2": 987277}, "payment_processor": "stripe", "client_secret": "", "success_url": "https://damaged-priesthood.org", "return_url": "https://tidy-reorganisation.org", "label": "", "allow_discount_codes": false, "require_billing_address": false, "discount_id": "", "seats": 389068, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "products": [{"metadata": {"key": 958373}, "id": "", "created_at": "2025-06-23T06:29:06.861Z", "modified_at": "2024-04-23T19:25:34.418Z", "trial_interval": "year", "trial_interval_count": 470214, "name": "", "description": "sideboard safely how while yum sparse", "visibility": "private", "recurring_interval": "month", "recurring_interval_count": 438333, "meter_interval": "year", "meter_interval_count": 825064, "is_recurring": false, "is_archived": false, "organization_id": "", "prices": [{"created_at": "2025-06-22T06:02:42.231Z", "modified_at": "2025-12-26T07:21:38.384Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "day", "minimum_amount": 570107, "maximum_amount": 576063, "preset_amount": 442868, "legacy": true}], "benefits": [], "medias": []}], "discount": {"duration": "forever", "duration_in_months": 470214, "type": "fixed", "basis_points": 1000, "created_at": "2025-10-04T20:19:33.315Z", "modified_at": "2026-02-02T01:59:45.483Z", "id": "", "metadata": {}, "name": "", "code": "", "starts_at": "2024-05-10T20:25:13.672Z", "ends_at": "2025-05-08T20:04:34.423Z", "max_redemptions": 747675, "redemptions_count": 442868, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "url": "https://unfinished-plain.name"}], "pagination": {"total_count": 109542, "max_page": 664611}} "422": application/json: {} checkout-links:create: @@ -10710,7 +11482,7 @@ examples: application/json: {"payment_processor": "stripe", "allow_discount_codes": true, "require_billing_address": false, "product_price_id": ""} responses: "201": - application/json: {"id": "", "created_at": "2024-08-31T23:36:33.061Z", "modified_at": "2023-08-31T12:25:48.677Z", "trial_interval": "month", "trial_interval_count": 65495, "metadata": {}, "payment_processor": "stripe", "client_secret": "", "success_url": "https://definitive-angle.org", "return_url": "https://elegant-baseboard.name", "label": "", "allow_discount_codes": false, "require_billing_address": true, "discount_id": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "products": [{"metadata": {"key": 269238}, "id": "", "created_at": "2024-04-26T01:22:46.199Z", "modified_at": "2024-09-20T20:41:22.523Z", "trial_interval": "day", "trial_interval_count": null, "name": "", "description": "nor event accomplished", "visibility": "draft", "recurring_interval": "month", "recurring_interval_count": 555642, "is_recurring": true, "is_archived": false, "organization_id": "", "prices": [], "benefits": [], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/usr/libexec", "mime_type": "", "size": 933378, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-07-17T20:56:12.264Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2024-10-13T14:07:36.969Z", "size_readable": "", "public_url": "https://violent-impact.biz"}, {"id": "", "organization_id": "", "name": "", "path": "/usr/libexec", "mime_type": "", "size": 933378, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-07-17T20:56:12.264Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2024-10-13T14:07:36.969Z", "size_readable": "", "public_url": "https://violent-impact.biz"}, {"id": "", "organization_id": "", "name": "", "path": "/usr/libexec", "mime_type": "", "size": 933378, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-07-17T20:56:12.264Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2024-10-13T14:07:36.969Z", "size_readable": "", "public_url": "https://violent-impact.biz"}]}], "discount": {"duration": "repeating", "duration_in_months": 555642, "type": "percentage", "amount": 268264, "currency": "Algerian Dinar", "amounts": {"eur": 900, "usd": 1000}, "created_at": "2023-12-12T00:27:25.576Z", "modified_at": "2025-11-01T19:05:48.639Z", "id": "", "metadata": {"key": 611485, "key1": true}, "name": "", "code": "", "starts_at": "2024-03-20T09:33:41.148Z", "ends_at": "2025-09-18T13:50:21.110Z", "max_redemptions": 808913, "redemptions_count": 744506, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "url": "https://electric-stir-fry.info/"} + application/json: {"id": "", "created_at": "2024-08-31T23:36:33.061Z", "modified_at": "2023-08-31T12:25:48.677Z", "trial_interval": "month", "trial_interval_count": 65495, "metadata": {}, "payment_processor": "stripe", "client_secret": "", "success_url": "https://definitive-angle.org", "return_url": "https://elegant-baseboard.name", "label": "", "allow_discount_codes": false, "require_billing_address": true, "discount_id": "", "seats": 555642, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "products": [{"metadata": {"key": 269238}, "id": "", "created_at": "2024-04-26T01:22:46.199Z", "modified_at": "2024-09-20T20:41:22.523Z", "trial_interval": "day", "trial_interval_count": null, "name": "", "description": "nor event accomplished", "visibility": "draft", "recurring_interval": "month", "recurring_interval_count": 555642, "meter_interval": "day", "meter_interval_count": 178900, "is_recurring": true, "is_archived": false, "organization_id": "", "prices": [], "benefits": [], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/usr/libexec", "mime_type": "", "size": 933378, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-07-17T20:56:12.264Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2024-10-13T14:07:36.969Z", "size_readable": "", "public_url": "https://violent-impact.biz"}, {"id": "", "organization_id": "", "name": "", "path": "/usr/libexec", "mime_type": "", "size": 933378, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-07-17T20:56:12.264Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2024-10-13T14:07:36.969Z", "size_readable": "", "public_url": "https://violent-impact.biz"}, {"id": "", "organization_id": "", "name": "", "path": "/usr/libexec", "mime_type": "", "size": 933378, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-07-17T20:56:12.264Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2024-10-13T14:07:36.969Z", "size_readable": "", "public_url": "https://violent-impact.biz"}]}], "discount": {"duration": "repeating", "duration_in_months": 555642, "type": "percentage", "amount": 268264, "currency": "Algerian Dinar", "amounts": {"eur": 900, "usd": 1000}, "created_at": "2023-12-12T00:27:25.576Z", "modified_at": "2025-11-01T19:05:48.639Z", "id": "", "metadata": {"key": 611485, "key1": true}, "name": "", "code": "", "starts_at": "2024-03-20T09:33:41.148Z", "ends_at": "2025-09-18T13:50:21.110Z", "max_redemptions": 808913, "redemptions_count": 744506, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "url": "https://electric-stir-fry.info/"} "422": application/json: {} checkout-links:get: @@ -10720,7 +11492,7 @@ examples: id: "" responses: "200": - application/json: {"id": "", "created_at": "2023-11-21T22:10:03.326Z", "modified_at": "2023-01-06T13:50:49.699Z", "trial_interval": "day", "trial_interval_count": 12647, "metadata": {"key": ""}, "payment_processor": "stripe", "client_secret": "", "success_url": "https://insecure-wear.org/", "return_url": "https://gentle-adrenalin.com/", "label": "", "allow_discount_codes": false, "require_billing_address": false, "discount_id": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "products": [{"metadata": {}, "id": "", "created_at": "2025-12-17T13:45:34.269Z", "modified_at": "2024-12-30T14:30:13.277Z", "trial_interval": null, "trial_interval_count": 980330, "name": "", "description": "border vice round brr black-and-white creamy yippee", "visibility": "private", "recurring_interval": "year", "recurring_interval_count": 5088, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2023-12-09T10:41:20.310Z", "modified_at": null, "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 963333, "maximum_amount": 668898, "preset_amount": 59077, "legacy": true}, {"created_at": "2024-09-15T19:56:47.175Z", "modified_at": "2023-06-23T03:47:03.028Z", "id": "", "source": "catalog", "amount_type": "free", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}, {"created_at": "2023-08-17T06:40:30.623Z", "modified_at": "2024-09-04T14:49:56.878Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": null, "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 885695, "maximum_amount": 296066, "preset_amount": 906017, "legacy": true}], "benefits": [{"id": "", "created_at": "2025-08-08T09:31:37.166Z", "modified_at": "2023-01-02T11:42:53.418Z", "type": "discord", "description": "blond till and icy boo of hmph", "selectable": true, "deletable": false, "organization_id": ""}, {"id": "", "created_at": "2025-08-08T09:31:37.166Z", "modified_at": "2023-01-02T11:42:53.418Z", "type": "discord", "description": "blond till and icy boo of hmph", "selectable": true, "deletable": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/usr/libexec", "mime_type": "", "size": 197596, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-10-17T01:52:21.587Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-05-31T14:32:10.257Z", "size_readable": "", "public_url": "https://trustworthy-gripper.org"}, {"id": "", "organization_id": "", "name": "", "path": "/usr/libexec", "mime_type": "", "size": 197596, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-10-17T01:52:21.587Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-05-31T14:32:10.257Z", "size_readable": "", "public_url": "https://trustworthy-gripper.org"}]}], "discount": {"duration": "repeating", "duration_in_months": 805834, "type": "fixed", "basis_points": 390697, "created_at": "2023-02-21T03:40:47.205Z", "modified_at": "2024-09-29T08:08:42.309Z", "id": "", "metadata": {"key": "", "key1": 893266, "key2": 845701}, "name": "", "code": "", "starts_at": "2024-08-10T16:58:23.596Z", "ends_at": "2023-01-24T06:47:36.139Z", "max_redemptions": 151529, "redemptions_count": 572960, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "url": "https://delicious-silk.net/"} + application/json: {"id": "", "created_at": "2023-11-21T22:10:03.326Z", "modified_at": "2023-01-06T13:50:49.699Z", "trial_interval": "day", "trial_interval_count": 12647, "metadata": {"key": ""}, "payment_processor": "stripe", "client_secret": "", "success_url": "https://insecure-wear.org/", "return_url": "https://gentle-adrenalin.com/", "label": "", "allow_discount_codes": false, "require_billing_address": false, "discount_id": "", "seats": 5088, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "products": [{"metadata": {}, "id": "", "created_at": "2025-12-17T13:45:34.269Z", "modified_at": "2024-12-30T14:30:13.277Z", "trial_interval": null, "trial_interval_count": 980330, "name": "", "description": "border vice round brr black-and-white creamy yippee", "visibility": "private", "recurring_interval": "year", "recurring_interval_count": 5088, "meter_interval": "day", "meter_interval_count": null, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2023-12-09T10:41:20.310Z", "modified_at": null, "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 963333, "maximum_amount": 668898, "preset_amount": 59077, "legacy": true}, {"created_at": "2026-11-21T19:29:34.747Z", "modified_at": "2026-01-03T02:41:13.399Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": null, "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_amount": 569189, "legacy": true}, {"created_at": "2023-08-17T06:40:30.623Z", "modified_at": "2024-09-04T14:49:56.878Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": null, "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 885695, "maximum_amount": 296066, "preset_amount": 906017, "legacy": true}], "benefits": [{"id": "", "created_at": "2025-08-08T09:31:37.166Z", "modified_at": "2023-01-02T11:42:53.418Z", "type": "discord", "description": "blond till and icy boo of hmph", "selectable": true, "deletable": false, "is_deleted": false, "organization_id": ""}, {"id": "", "created_at": "2025-08-08T09:31:37.166Z", "modified_at": "2023-01-02T11:42:53.418Z", "type": "discord", "description": "blond till and icy boo of hmph", "selectable": true, "deletable": false, "is_deleted": true, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/usr/libexec", "mime_type": "", "size": 197596, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-10-17T01:52:21.587Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-05-31T14:32:10.257Z", "size_readable": "", "public_url": "https://trustworthy-gripper.org"}, {"id": "", "organization_id": "", "name": "", "path": "/usr/libexec", "mime_type": "", "size": 197596, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-10-17T01:52:21.587Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-05-31T14:32:10.257Z", "size_readable": "", "public_url": "https://trustworthy-gripper.org"}]}], "discount": {"duration": "repeating", "duration_in_months": 805834, "type": "fixed", "basis_points": 390697, "created_at": "2023-02-21T03:40:47.205Z", "modified_at": "2024-09-29T08:08:42.309Z", "id": "", "metadata": {"key": "", "key1": 893266, "key2": 845701}, "name": "", "code": "", "starts_at": "2024-08-10T16:58:23.596Z", "ends_at": "2023-01-24T06:47:36.139Z", "max_redemptions": 151529, "redemptions_count": 572960, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "url": "https://delicious-silk.net/"} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -10734,7 +11506,7 @@ examples: application/json: {} responses: "200": - application/json: {"id": "", "created_at": "2024-02-14T03:05:16.462Z", "modified_at": "2025-04-11T20:27:07.595Z", "trial_interval": "year", "trial_interval_count": 763251, "metadata": {"key": true}, "payment_processor": "stripe", "client_secret": "", "success_url": "https://interesting-governance.info", "return_url": "https://extroverted-role.info", "label": "", "allow_discount_codes": true, "require_billing_address": true, "discount_id": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "products": [{"metadata": {"key": 911224, "key1": 296152}, "id": "", "created_at": "2025-08-23T04:17:09.210Z", "modified_at": "2024-01-23T09:47:28.845Z", "trial_interval": "month", "trial_interval_count": 386368, "name": "", "description": "alongside coordination thread lest hairy lest elegant forager primary phew", "visibility": "private", "recurring_interval": "month", "recurring_interval_count": 758989, "is_recurring": false, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2023-10-02T17:43:12.732Z", "modified_at": "2024-03-22T06:34:43.285Z", "id": "", "source": "catalog", "amount_type": "free", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "legacy": true}, {"created_at": "2023-03-13T08:40:55.883Z", "modified_at": null, "id": "", "source": "ad_hoc", "amount_type": "fixed", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 250061, "legacy": true}, {"created_at": "2023-11-21T13:59:32.118Z", "modified_at": "2024-01-23T09:47:28.845Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_amount": 496878, "legacy": true}], "benefits": [{"id": "", "created_at": "2024-04-26T17:05:58.126Z", "modified_at": "2025-07-21T06:43:45.921Z", "type": "meter_credit", "description": "overwork truly zebra pfft cheese since cycle meanwhile controvert", "selectable": true, "deletable": true, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/opt/sbin", "mime_type": "", "size": 229668, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-03-16T20:21:45.535Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-03-22T07:55:56.321Z", "size_readable": "", "public_url": "https://fat-dusk.com/"}, {"id": "", "organization_id": "", "name": "", "path": "/opt/sbin", "mime_type": "", "size": 229668, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-03-16T20:21:45.535Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-03-22T07:55:56.321Z", "size_readable": "", "public_url": "https://fat-dusk.com/"}, {"id": "", "organization_id": "", "name": "", "path": "/opt/sbin", "mime_type": "", "size": 229668, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-03-16T20:21:45.535Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-03-22T07:55:56.321Z", "size_readable": "", "public_url": "https://fat-dusk.com/"}]}, {"metadata": {"key": 911224, "key1": 296152}, "id": "", "created_at": "2025-08-23T04:17:09.210Z", "modified_at": "2024-01-23T09:47:28.845Z", "trial_interval": "day", "trial_interval_count": null, "name": "", "description": "alongside coordination thread lest hairy lest elegant forager primary phew", "visibility": "private", "recurring_interval": "month", "recurring_interval_count": 763251, "is_recurring": false, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2023-05-01T01:31:25.874Z", "modified_at": "2024-03-09T14:43:03.649Z", "id": "", "source": "ad_hoc", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "unit_amount": "", "cap_amount": 537641, "meter_id": "", "meter": {"id": "", "name": ""}}, {"created_at": "2024-12-19T11:21:41.094Z", "modified_at": "2025-08-26T04:01:30.432Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 977251, "maximum_amount": null, "preset_amount": 691005, "legacy": true}, {"created_at": "2025-12-17T09:02:02.652Z", "modified_at": "2025-10-31T18:29:47.575Z", "id": "", "source": "ad_hoc", "amount_type": "free", "price_currency": "", "tax_behavior": null, "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}], "benefits": [{"id": "", "created_at": "2024-04-26T17:05:58.126Z", "modified_at": "2025-07-21T06:43:45.921Z", "type": "meter_credit", "description": "overwork truly zebra pfft cheese since cycle meanwhile controvert", "selectable": true, "deletable": true, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/opt/sbin", "mime_type": "", "size": 229668, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-03-16T20:21:45.535Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-03-22T07:55:56.321Z", "size_readable": "", "public_url": "https://fat-dusk.com/"}, {"id": "", "organization_id": "", "name": "", "path": "/opt/sbin", "mime_type": "", "size": 229668, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-03-16T20:21:45.535Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-03-22T07:55:56.321Z", "size_readable": "", "public_url": "https://fat-dusk.com/"}, {"id": "", "organization_id": "", "name": "", "path": "/opt/sbin", "mime_type": "", "size": 229668, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-03-16T20:21:45.535Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-03-22T07:55:56.321Z", "size_readable": "", "public_url": "https://fat-dusk.com/"}]}, {"metadata": {"key": 911224, "key1": 296152}, "id": "", "created_at": "2025-08-23T04:17:09.210Z", "modified_at": "2024-01-23T09:47:28.845Z", "trial_interval": "month", "trial_interval_count": 911224, "name": "", "description": "alongside coordination thread lest hairy lest elegant forager primary phew", "visibility": "private", "recurring_interval": "month", "recurring_interval_count": 634930, "is_recurring": false, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2025-08-04T01:04:24.189Z", "modified_at": "2023-07-16T02:45:46.995Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 399653, "legacy": true}, {"created_at": "2024-10-23T21:43:17.023Z", "modified_at": "2025-12-20T19:54:20.697Z", "id": "", "source": "catalog", "amount_type": "free", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}, {"created_at": "2025-11-22T23:56:40.197Z", "modified_at": "2024-01-23T14:22:15.631Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 400055, "maximum_amount": 888276, "preset_amount": 86646, "legacy": true}], "benefits": [{"id": "", "created_at": "2024-04-26T17:05:58.126Z", "modified_at": "2025-07-21T06:43:45.921Z", "type": "meter_credit", "description": "overwork truly zebra pfft cheese since cycle meanwhile controvert", "selectable": true, "deletable": true, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/opt/sbin", "mime_type": "", "size": 229668, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-03-16T20:21:45.535Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-03-22T07:55:56.321Z", "size_readable": "", "public_url": "https://fat-dusk.com/"}, {"id": "", "organization_id": "", "name": "", "path": "/opt/sbin", "mime_type": "", "size": 229668, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-03-16T20:21:45.535Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-03-22T07:55:56.321Z", "size_readable": "", "public_url": "https://fat-dusk.com/"}, {"id": "", "organization_id": "", "name": "", "path": "/opt/sbin", "mime_type": "", "size": 229668, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-03-16T20:21:45.535Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-03-22T07:55:56.321Z", "size_readable": "", "public_url": "https://fat-dusk.com/"}]}], "discount": {"duration": "repeating", "duration_in_months": 326419, "type": "percentage", "basis_points": 1000, "created_at": "2025-06-23T21:17:26.010Z", "modified_at": "2025-06-26T01:05:36.243Z", "id": "", "metadata": {}, "name": "", "code": "", "starts_at": "2023-01-28T19:17:48.748Z", "ends_at": "2024-09-01T16:19:02.542Z", "max_redemptions": 709108, "redemptions_count": 314886, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "url": "https://zealous-gastropod.info/"} + application/json: {"id": "", "created_at": "2024-02-14T03:05:16.462Z", "modified_at": "2025-04-11T20:27:07.595Z", "trial_interval": "year", "trial_interval_count": 763251, "metadata": {"key": true}, "payment_processor": "stripe", "client_secret": "", "success_url": "https://interesting-governance.info", "return_url": "https://extroverted-role.info", "label": "", "allow_discount_codes": true, "require_billing_address": true, "discount_id": "", "seats": 758989, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "products": [{"metadata": {"key": 911224, "key1": 296152}, "id": "", "created_at": "2025-08-23T04:17:09.210Z", "modified_at": "2024-01-23T09:47:28.845Z", "trial_interval": "month", "trial_interval_count": 386368, "name": "", "description": "alongside coordination thread lest hairy lest elegant forager primary phew", "visibility": "private", "recurring_interval": "month", "recurring_interval_count": 758989, "meter_interval": "year", "meter_interval_count": 634930, "is_recurring": false, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2025-02-04T14:09:42.059Z", "modified_at": null, "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 347311, "maximum_amount": 880638, "preset_amount": 931021, "legacy": true}, {"created_at": "2023-03-13T08:40:55.883Z", "modified_at": null, "id": "", "source": "ad_hoc", "amount_type": "fixed", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 250061, "legacy": true}, {"created_at": "2023-11-21T13:59:32.118Z", "modified_at": "2024-01-23T09:47:28.845Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_amount": 496878, "legacy": true}], "benefits": [{"id": "", "created_at": "2024-04-26T17:05:58.126Z", "modified_at": "2025-07-21T06:43:45.921Z", "type": "meter_credit", "description": "overwork truly zebra pfft cheese since cycle meanwhile controvert", "selectable": true, "deletable": true, "is_deleted": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/opt/sbin", "mime_type": "", "size": 229668, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-03-16T20:21:45.535Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-03-22T07:55:56.321Z", "size_readable": "", "public_url": "https://fat-dusk.com/"}, {"id": "", "organization_id": "", "name": "", "path": "/opt/sbin", "mime_type": "", "size": 229668, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-03-16T20:21:45.535Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-03-22T07:55:56.321Z", "size_readable": "", "public_url": "https://fat-dusk.com/"}, {"id": "", "organization_id": "", "name": "", "path": "/opt/sbin", "mime_type": "", "size": 229668, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-03-16T20:21:45.535Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-03-22T07:55:56.321Z", "size_readable": "", "public_url": "https://fat-dusk.com/"}]}, {"metadata": {"key": 911224, "key1": 296152}, "id": "", "created_at": "2025-08-23T04:17:09.210Z", "modified_at": "2024-01-23T09:47:28.845Z", "trial_interval": "day", "trial_interval_count": null, "name": "", "description": "alongside coordination thread lest hairy lest elegant forager primary phew", "visibility": "private", "recurring_interval": "month", "recurring_interval_count": 763251, "meter_interval": "week", "meter_interval_count": 579164, "is_recurring": false, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2023-05-01T01:31:25.874Z", "modified_at": "2024-03-09T14:43:03.649Z", "id": "", "source": "ad_hoc", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "unit_amount": "", "cap_amount": 537641, "meter_id": "", "meter": {"id": "", "name": "", "unit": "custom", "custom_label": "", "custom_multiplier": 395632}}, {"created_at": "2024-12-19T11:21:41.094Z", "modified_at": "2025-08-26T04:01:30.432Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 977251, "maximum_amount": null, "preset_amount": 691005, "legacy": true}, {"created_at": "2024-09-07T16:00:57.919Z", "modified_at": "2024-07-25T15:59:13.262Z", "id": "", "source": "ad_hoc", "amount_type": "fixed", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "price_amount": 348905}], "benefits": [{"id": "", "created_at": "2024-04-26T17:05:58.126Z", "modified_at": "2025-07-21T06:43:45.921Z", "type": "meter_credit", "description": "overwork truly zebra pfft cheese since cycle meanwhile controvert", "selectable": true, "deletable": true, "is_deleted": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/opt/sbin", "mime_type": "", "size": 229668, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-03-16T20:21:45.535Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-03-22T07:55:56.321Z", "size_readable": "", "public_url": "https://fat-dusk.com/"}, {"id": "", "organization_id": "", "name": "", "path": "/opt/sbin", "mime_type": "", "size": 229668, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-03-16T20:21:45.535Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-03-22T07:55:56.321Z", "size_readable": "", "public_url": "https://fat-dusk.com/"}, {"id": "", "organization_id": "", "name": "", "path": "/opt/sbin", "mime_type": "", "size": 229668, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-03-16T20:21:45.535Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-03-22T07:55:56.321Z", "size_readable": "", "public_url": "https://fat-dusk.com/"}]}, {"metadata": {"key": 911224, "key1": 296152}, "id": "", "created_at": "2025-08-23T04:17:09.210Z", "modified_at": "2024-01-23T09:47:28.845Z", "trial_interval": "month", "trial_interval_count": 911224, "name": "", "description": "alongside coordination thread lest hairy lest elegant forager primary phew", "visibility": "private", "recurring_interval": "month", "recurring_interval_count": 634930, "meter_interval": "month", "meter_interval_count": 977251, "is_recurring": false, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2025-08-04T01:04:24.189Z", "modified_at": "2023-07-16T02:45:46.995Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 399653, "legacy": true}, {"created_at": "2026-01-27T08:11:17.417Z", "modified_at": "2026-07-20T15:34:36.111Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 351982, "maximum_amount": 863180, "preset_amount": 178937, "legacy": true}, {"created_at": "2025-11-22T23:56:40.197Z", "modified_at": "2024-01-23T14:22:15.631Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 400055, "maximum_amount": 888276, "preset_amount": 86646, "legacy": true}], "benefits": [{"id": "", "created_at": "2024-04-26T17:05:58.126Z", "modified_at": "2025-07-21T06:43:45.921Z", "type": "meter_credit", "description": "overwork truly zebra pfft cheese since cycle meanwhile controvert", "selectable": true, "deletable": true, "is_deleted": true, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/opt/sbin", "mime_type": "", "size": 229668, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-03-16T20:21:45.535Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-03-22T07:55:56.321Z", "size_readable": "", "public_url": "https://fat-dusk.com/"}, {"id": "", "organization_id": "", "name": "", "path": "/opt/sbin", "mime_type": "", "size": 229668, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-03-16T20:21:45.535Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-03-22T07:55:56.321Z", "size_readable": "", "public_url": "https://fat-dusk.com/"}, {"id": "", "organization_id": "", "name": "", "path": "/opt/sbin", "mime_type": "", "size": 229668, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-03-16T20:21:45.535Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-03-22T07:55:56.321Z", "size_readable": "", "public_url": "https://fat-dusk.com/"}]}], "discount": {"duration": "repeating", "duration_in_months": 326419, "type": "percentage", "basis_points": 1000, "created_at": "2025-06-23T21:17:26.010Z", "modified_at": "2025-06-26T01:05:36.243Z", "id": "", "metadata": {}, "name": "", "code": "", "starts_at": "2023-01-28T19:17:48.748Z", "ends_at": "2024-09-01T16:19:02.542Z", "max_redemptions": 709108, "redemptions_count": 314886, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "url": "https://zealous-gastropod.info/"} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -10821,10 +11593,10 @@ examples: discounts:create: speakeasy-default-discounts:create: requestBody: - application/json: {"duration": "once", "type": "fixed", "basis_points": 449604, "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"} + application/json: {"name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "type": "fixed", "duration": "once"} responses: "201": - application/json: {"duration": "repeating", "type": "percentage", "basis_points": 1000, "created_at": "2024-06-28T22:01:22.215Z", "modified_at": "2023-10-28T11:28:49.382Z", "id": "", "metadata": {"key": 861617, "key1": ""}, "name": "", "code": "", "starts_at": "2025-06-12T13:13:14.148Z", "ends_at": "2025-10-03T09:51:48.305Z", "max_redemptions": 770360, "redemptions_count": 808721, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "products": [{"metadata": {"key": 6929.92}, "id": "", "created_at": "2023-03-30T03:01:36.624Z", "modified_at": "2023-02-17T03:01:59.421Z", "trial_interval": null, "trial_interval_count": 449604, "name": "", "description": "yuck cap ah never goose tenant supposing", "visibility": "draft", "recurring_interval": "year", "recurring_interval_count": null, "is_recurring": false, "is_archived": true, "organization_id": ""}, {"metadata": {"key": 6929.92}, "id": "", "created_at": "2023-03-30T03:01:36.624Z", "modified_at": "2023-02-17T03:01:59.421Z", "trial_interval": "year", "trial_interval_count": 778295, "name": "", "description": "yuck cap ah never goose tenant supposing", "visibility": "private", "recurring_interval": "year", "recurring_interval_count": 449604, "is_recurring": false, "is_archived": true, "organization_id": ""}]} + application/json: {"duration": "repeating", "type": "percentage", "basis_points": 1000, "created_at": "2024-06-28T22:01:22.215Z", "modified_at": "2023-10-28T11:28:49.382Z", "id": "", "metadata": {"key": 861617, "key1": ""}, "name": "", "code": "", "starts_at": "2025-06-12T13:13:14.148Z", "ends_at": "2025-10-03T09:51:48.305Z", "max_redemptions": 770360, "redemptions_count": 808721, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "products": [{"metadata": {"key": 6929.92}, "id": "", "created_at": "2023-03-30T03:01:36.624Z", "modified_at": "2023-02-17T03:01:59.421Z", "trial_interval": null, "trial_interval_count": 449604, "name": "", "description": "yuck cap ah never goose tenant supposing", "visibility": "draft", "recurring_interval": "year", "recurring_interval_count": null, "meter_interval": null, "meter_interval_count": 449604, "is_recurring": false, "is_archived": true, "organization_id": ""}, {"metadata": {"key": 6929.92}, "id": "", "created_at": "2023-03-30T03:01:36.624Z", "modified_at": "2023-02-17T03:01:59.421Z", "trial_interval": "year", "trial_interval_count": 778295, "name": "", "description": "yuck cap ah never goose tenant supposing", "visibility": "private", "recurring_interval": "year", "recurring_interval_count": 449604, "meter_interval": "year", "meter_interval_count": 778295, "is_recurring": false, "is_archived": true, "organization_id": ""}]} "422": application/json: {} discounts:get: @@ -10848,7 +11620,7 @@ examples: application/json: {} responses: "200": - application/json: {"duration": "once", "duration_in_months": 117, "type": "fixed", "basis_points": 1000, "created_at": "2024-09-05T17:29:55.720Z", "modified_at": "2024-10-12T14:38:27.615Z", "id": "", "metadata": {}, "name": "", "code": "", "starts_at": "2023-08-26T01:45:34.164Z", "ends_at": "2024-06-13T23:22:33.257Z", "max_redemptions": 507599, "redemptions_count": 925227, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "products": [{"metadata": {"key": "", "key1": ""}, "id": "", "created_at": "2024-04-10T14:21:09.490Z", "modified_at": "2025-12-29T22:34:07.692Z", "trial_interval": null, "trial_interval_count": null, "name": "", "description": "hm forenenst knickers instead afore ack whereas", "visibility": "draft", "recurring_interval": "year", "recurring_interval_count": null, "is_recurring": true, "is_archived": true, "organization_id": ""}]} + application/json: {"duration": "once", "duration_in_months": 117, "type": "fixed", "basis_points": 1000, "created_at": "2024-09-05T17:29:55.720Z", "modified_at": "2024-10-12T14:38:27.615Z", "id": "", "metadata": {}, "name": "", "code": "", "starts_at": "2023-08-26T01:45:34.164Z", "ends_at": "2024-06-13T23:22:33.257Z", "max_redemptions": 507599, "redemptions_count": 925227, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "products": [{"metadata": {"key": "", "key1": ""}, "id": "", "created_at": "2024-04-10T14:21:09.490Z", "modified_at": "2025-12-29T22:34:07.692Z", "trial_interval": null, "trial_interval_count": null, "name": "", "description": "hm forenenst knickers instead afore ack whereas", "visibility": "draft", "recurring_interval": "year", "recurring_interval_count": null, "meter_interval": null, "meter_interval_count": null, "is_recurring": true, "is_archived": true, "organization_id": ""}]} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -10872,7 +11644,7 @@ examples: limit: 10 responses: "200": - application/json: {"items": [{"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2026-11-26T22:42:18.922Z", "modified_at": "2024-03-05T17:31:52.935Z", "metadata": {"key": 712185}, "email_verified": true, "type": "team", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": null, "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2026-07-09T17:44:59.175Z", "modified_at": "2024-03-20T03:49:35.883Z", "metadata": {"key": 3696.01}, "email_verified": true, "type": "team", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2024-03-01T12:05:38.521Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2026-04-06T10:59:28.244Z", "modified_at": "2026-03-11T20:23:23.090Z", "metadata": {}, "email_verified": true, "type": "team", "name": "John Doe", "billing_address": null, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-04-20T10:04:36.256Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}], "pagination": {"total_count": 72225, "max_page": 542988}} + application/json: {"items": [{"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2026-11-26T22:42:18.922Z", "modified_at": "2024-03-05T17:31:52.935Z", "metadata": {"key": 712185}, "email_verified": true, "type": "team", "name": "John Doe", "billing_name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": null, "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2026-07-09T17:44:59.175Z", "modified_at": "2024-03-20T03:49:35.883Z", "metadata": {"key": 3696.01}, "email_verified": true, "type": "team", "name": "John Doe", "billing_name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2024-03-01T12:05:38.521Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2026-04-06T10:59:28.244Z", "modified_at": "2026-03-11T20:23:23.090Z", "metadata": {}, "email_verified": true, "type": "team", "name": "John Doe", "billing_name": "John Doe", "billing_address": null, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-04-20T10:04:36.256Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}], "pagination": {"total_count": 72225, "max_page": 542988}} "422": application/json: {} customers:create: @@ -10881,7 +11653,7 @@ examples: application/json: {"external_id": "usr_1337", "name": "John Doe", "billing_address": {"country": "US"}, "locale": "en", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "owner": {"email": "member@example.com", "name": "Jane Doe", "external_id": "usr_1337"}, "type": "individual", "email": "customer@example.com"} responses: "201": - application/json: {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2023-01-30T12:59:57.612Z", "modified_at": "2024-05-13T07:49:27.386Z", "metadata": {"key": 185844}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2024-12-23T07:32:24.258Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"} + application/json: {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2023-01-30T12:59:57.612Z", "modified_at": "2024-05-13T07:49:27.386Z", "metadata": {"key": 185844}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2024-12-23T07:32:24.258Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"} "422": application/json: {} customers:get: @@ -10891,7 +11663,7 @@ examples: id: "" responses: "200": - application/json: {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2023-02-07T11:56:28.687Z", "modified_at": "2025-04-11T04:39:55.315Z", "metadata": {"key": 1717.43}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-10-16T22:08:12.797Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"} + application/json: {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2023-02-07T11:56:28.687Z", "modified_at": "2025-04-11T04:39:55.315Z", "metadata": {"key": 1717.43}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-10-16T22:08:12.797Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -10905,7 +11677,7 @@ examples: application/json: {"email": "customer@example.com", "name": "John Doe", "billing_address": {"country": "US"}, "locale": "en", "external_id": "usr_1337"} responses: "200": - application/json: {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2023-01-16T19:45:46.501Z", "modified_at": "2023-03-21T14:17:32.110Z", "metadata": {"key": 761250, "key1": 9200.15}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2024-05-03T01:35:52.946Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"} + application/json: {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2023-01-16T19:45:46.501Z", "modified_at": "2023-03-21T14:17:32.110Z", "metadata": {"key": 761250, "key1": 9200.15}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2024-05-03T01:35:52.946Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -10929,7 +11701,7 @@ examples: external_id: "" responses: "200": - application/json: {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2023-08-16T18:20:25.397Z", "modified_at": "2025-10-19T22:27:24.925Z", "metadata": {"key": 913197, "key1": 3287.9}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-12-28T14:27:18.058Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"} + application/json: {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2023-08-16T18:20:25.397Z", "modified_at": "2025-10-19T22:27:24.925Z", "metadata": {"key": 913197, "key1": 3287.9}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-12-28T14:27:18.058Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -10943,7 +11715,7 @@ examples: application/json: {"email": "customer@example.com", "name": "John Doe", "billing_address": {"country": "US"}, "locale": "en"} responses: "200": - application/json: {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-11-10T15:58:41.008Z", "modified_at": "2024-12-21T02:28:59.698Z", "metadata": {"key": true}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-06-08T13:52:37.706Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"} + application/json: {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-11-10T15:58:41.008Z", "modified_at": "2024-12-21T02:28:59.698Z", "metadata": {"key": true}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-06-08T13:52:37.706Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -10967,7 +11739,7 @@ examples: id: "" responses: "200": - application/json: {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-05-23T10:33:06.148Z", "modified_at": "2025-05-17T22:56:23.463Z", "metadata": {}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2024-02-20T23:28:09.377Z", "active_subscriptions": [{"id": "e5149aae-e521-42b9-b24c-abb3d71eea2e", "created_at": "2023-01-31T20:19:07.730Z", "modified_at": "2025-10-30T05:07:54.685Z", "metadata": {"key": ""}, "status": "active", "amount": 1000, "currency": "usd", "recurring_interval": "month", "current_period_start": "2025-02-03T13:37:00Z", "current_period_end": "2025-03-03T13:37:00Z", "trial_start": "2025-02-03T13:37:00Z", "trial_end": "2025-03-03T13:37:00Z", "cancel_at_period_end": false, "canceled_at": null, "started_at": "2025-01-03T13:37:00Z", "ends_at": null, "product_id": "d8dd2de1-21b7-4a41-8bc3-ce909c0cfe23", "discount_id": null, "meters": [{"created_at": "2024-12-06T15:02:29.212Z", "modified_at": "2025-07-24T18:39:25.292Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22"}]}, {"id": "e5149aae-e521-42b9-b24c-abb3d71eea2e", "created_at": "2023-01-31T20:19:07.730Z", "modified_at": "2025-10-30T05:07:54.685Z", "metadata": {"key": ""}, "status": "active", "amount": 1000, "currency": "usd", "recurring_interval": "month", "current_period_start": "2025-02-03T13:37:00Z", "current_period_end": "2025-03-03T13:37:00Z", "trial_start": "2025-02-03T13:37:00Z", "trial_end": "2025-03-03T13:37:00Z", "cancel_at_period_end": false, "canceled_at": null, "started_at": "2025-01-03T13:37:00Z", "ends_at": null, "product_id": "d8dd2de1-21b7-4a41-8bc3-ce909c0cfe23", "discount_id": null, "meters": [{"created_at": "2024-12-06T15:02:29.212Z", "modified_at": "2025-07-24T18:39:25.292Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22"}]}], "granted_benefits": [{"id": "d322132c-a9d0-4e0d-b8d3-d81ad021a3a9", "created_at": "2024-07-20T03:32:56.110Z", "modified_at": "2024-04-17T17:55:31.741Z", "granted_at": "2025-01-03T13:37:00Z", "benefit_id": "397a17aa-15cf-4cb4-9333-18040203cf98", "benefit_type": "discord", "benefit_metadata": {"key": "value"}, "properties": {}}, {"id": "d322132c-a9d0-4e0d-b8d3-d81ad021a3a9", "created_at": "2024-07-20T03:32:56.110Z", "modified_at": "2024-04-17T17:55:31.741Z", "granted_at": "2025-01-03T13:37:00Z", "benefit_id": "397a17aa-15cf-4cb4-9333-18040203cf98", "benefit_type": "discord", "benefit_metadata": {"key": "value"}, "properties": {}}, {"id": "d322132c-a9d0-4e0d-b8d3-d81ad021a3a9", "created_at": "2024-07-20T03:32:56.110Z", "modified_at": "2024-04-17T17:55:31.741Z", "granted_at": "2025-01-03T13:37:00Z", "benefit_id": "397a17aa-15cf-4cb4-9333-18040203cf98", "benefit_type": "discord", "benefit_metadata": {"key": "value"}, "properties": {}}], "active_meters": [{"id": "", "created_at": "2025-04-20T01:07:56.260Z", "modified_at": "2024-01-12T15:09:49.966Z", "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "consumed_units": 25, "credited_units": 100, "balance": 75}, {"id": "", "created_at": "2025-04-20T01:07:56.260Z", "modified_at": "2024-01-12T15:09:49.966Z", "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "consumed_units": 25, "credited_units": 100, "balance": 75}], "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"} + application/json: {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-05-23T10:33:06.148Z", "modified_at": "2025-05-17T22:56:23.463Z", "metadata": {}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2024-02-20T23:28:09.377Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404", "active_subscriptions": [{"id": "e5149aae-e521-42b9-b24c-abb3d71eea2e", "created_at": "2023-01-31T20:19:07.730Z", "modified_at": "2025-10-30T05:07:54.685Z", "metadata": {"key": ""}, "status": "active", "amount": 1000, "currency": "usd", "recurring_interval": "month", "current_period_start": "2025-02-03T13:37:00Z", "current_period_end": "2025-03-03T13:37:00Z", "trial_start": "2025-02-03T13:37:00Z", "trial_end": "2025-03-03T13:37:00Z", "cancel_at_period_end": false, "canceled_at": null, "started_at": "2025-01-03T13:37:00Z", "ends_at": null, "product_id": "d8dd2de1-21b7-4a41-8bc3-ce909c0cfe23", "discount_id": null, "meters": [{"created_at": "2024-12-06T15:02:29.212Z", "modified_at": "2025-07-24T18:39:25.292Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22"}]}, {"id": "e5149aae-e521-42b9-b24c-abb3d71eea2e", "created_at": "2023-01-31T20:19:07.730Z", "modified_at": "2025-10-30T05:07:54.685Z", "metadata": {"key": ""}, "status": "active", "amount": 1000, "currency": "usd", "recurring_interval": "month", "current_period_start": "2025-02-03T13:37:00Z", "current_period_end": "2025-03-03T13:37:00Z", "trial_start": "2025-02-03T13:37:00Z", "trial_end": "2025-03-03T13:37:00Z", "cancel_at_period_end": false, "canceled_at": null, "started_at": "2025-01-03T13:37:00Z", "ends_at": null, "product_id": "d8dd2de1-21b7-4a41-8bc3-ce909c0cfe23", "discount_id": null, "meters": [{"created_at": "2024-12-06T15:02:29.212Z", "modified_at": "2025-07-24T18:39:25.292Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22"}]}], "granted_benefits": [{"id": "d322132c-a9d0-4e0d-b8d3-d81ad021a3a9", "created_at": "2024-07-20T03:32:56.110Z", "modified_at": "2024-04-17T17:55:31.741Z", "granted_at": "2025-01-03T13:37:00Z", "benefit_id": "397a17aa-15cf-4cb4-9333-18040203cf98", "benefit_type": "discord", "benefit_metadata": {"key": "value"}, "properties": {}}, {"id": "d322132c-a9d0-4e0d-b8d3-d81ad021a3a9", "created_at": "2024-07-20T03:32:56.110Z", "modified_at": "2024-04-17T17:55:31.741Z", "granted_at": "2025-01-03T13:37:00Z", "benefit_id": "397a17aa-15cf-4cb4-9333-18040203cf98", "benefit_type": "discord", "benefit_metadata": {"key": "value"}, "properties": {}}, {"id": "d322132c-a9d0-4e0d-b8d3-d81ad021a3a9", "created_at": "2024-07-20T03:32:56.110Z", "modified_at": "2024-04-17T17:55:31.741Z", "granted_at": "2025-01-03T13:37:00Z", "benefit_id": "397a17aa-15cf-4cb4-9333-18040203cf98", "benefit_type": "discord", "benefit_metadata": {"key": "value"}, "properties": {}}], "active_meters": [{"id": "", "created_at": "2025-04-20T01:07:56.260Z", "modified_at": "2024-01-12T15:09:49.966Z", "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "consumed_units": 25, "credited_units": 100, "balance": 75}, {"id": "", "created_at": "2025-04-20T01:07:56.260Z", "modified_at": "2024-01-12T15:09:49.966Z", "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "consumed_units": 25, "credited_units": 100, "balance": 75}]} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -10979,7 +11751,7 @@ examples: external_id: "" responses: "200": - application/json: {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-08-30T17:22:51.531Z", "modified_at": "2023-06-08T13:33:19.457Z", "metadata": {"key": 3421.04}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-10-23T00:42:52.397Z", "active_subscriptions": [], "granted_benefits": [{"id": "d322132c-a9d0-4e0d-b8d3-d81ad021a3a9", "created_at": "2023-11-01T16:44:13.249Z", "modified_at": "2023-08-11T03:25:00.199Z", "granted_at": "2025-01-03T13:37:00Z", "benefit_id": "397a17aa-15cf-4cb4-9333-18040203cf98", "benefit_type": "license_keys", "benefit_metadata": {"key": "value"}, "properties": {}}, {"id": "d322132c-a9d0-4e0d-b8d3-d81ad021a3a9", "created_at": "2023-11-01T16:44:13.249Z", "modified_at": "2023-08-11T03:25:00.199Z", "granted_at": "2025-01-03T13:37:00Z", "benefit_id": "397a17aa-15cf-4cb4-9333-18040203cf98", "benefit_type": "license_keys", "benefit_metadata": {"key": "value"}, "properties": {}}, {"id": "d322132c-a9d0-4e0d-b8d3-d81ad021a3a9", "created_at": "2023-11-01T16:44:13.249Z", "modified_at": "2023-08-11T03:25:00.199Z", "granted_at": "2025-01-03T13:37:00Z", "benefit_id": "397a17aa-15cf-4cb4-9333-18040203cf98", "benefit_type": "license_keys", "benefit_metadata": {"key": "value"}, "properties": {}}], "active_meters": [], "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"} + application/json: {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-08-30T17:22:51.531Z", "modified_at": "2023-06-08T13:33:19.457Z", "metadata": {"key": 3421.04}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-10-23T00:42:52.397Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404", "active_subscriptions": [], "granted_benefits": [{"id": "d322132c-a9d0-4e0d-b8d3-d81ad021a3a9", "created_at": "2023-11-01T16:44:13.249Z", "modified_at": "2023-08-11T03:25:00.199Z", "granted_at": "2025-01-03T13:37:00Z", "benefit_id": "397a17aa-15cf-4cb4-9333-18040203cf98", "benefit_type": "license_keys", "benefit_metadata": {"key": "value"}, "properties": {}}, {"id": "d322132c-a9d0-4e0d-b8d3-d81ad021a3a9", "created_at": "2023-11-01T16:44:13.249Z", "modified_at": "2023-08-11T03:25:00.199Z", "granted_at": "2025-01-03T13:37:00Z", "benefit_id": "397a17aa-15cf-4cb4-9333-18040203cf98", "benefit_type": "license_keys", "benefit_metadata": {"key": "value"}, "properties": {}}, {"id": "d322132c-a9d0-4e0d-b8d3-d81ad021a3a9", "created_at": "2023-11-01T16:44:13.249Z", "modified_at": "2023-08-11T03:25:00.199Z", "granted_at": "2025-01-03T13:37:00Z", "benefit_id": "397a17aa-15cf-4cb4-9333-18040203cf98", "benefit_type": "license_keys", "benefit_metadata": {"key": "value"}, "properties": {}}], "active_meters": []} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -10993,7 +11765,7 @@ examples: limit: 10 responses: "200": - application/json: {"items": [{"created_at": "2024-10-05T18:19:15.209Z", "modified_at": "2024-01-16T21:16:44.906Z", "id": "", "granted_at": "2026-09-12T06:08:19.548Z", "revoked_at": "2025-07-27T16:14:40.792Z", "customer_id": "", "benefit_id": "", "subscription_id": "", "order_id": "", "is_granted": false, "is_revoked": false, "customer": {"created_at": "2025-01-29T06:11:54.152Z", "modified_at": "2025-10-14T21:25:11.296Z", "id": "", "email": "Vicente.Kirlin@hotmail.com", "email_verified": true, "name": "", "billing_name": "", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "oauth_accounts": {"key": {"account_id": "", "account_username": ""}}}, "benefit": {"id": "", "created_at": "2026-10-21T22:16:50.607Z", "modified_at": "2024-01-05T08:53:06.816Z", "type": "discord", "description": "blindly forage boo consequently apostrophize because gee like", "selectable": false, "deletable": true, "organization_id": "", "metadata": {"key": 25686}, "organization": {"created_at": "2024-07-23T13:25:35.655Z", "modified_at": "2025-11-21T03:40:07.983Z", "id": "", "name": "", "slug": "", "avatar_url": "https://zealous-privilege.name", "proration_behavior": "invoice", "allow_customer_updates": true}, "properties": {"guild_id": ""}}, "properties": {}}], "pagination": {"total_count": 807142, "max_page": 415643}} + application/json: {"items": [{"created_at": "2024-10-05T18:19:15.209Z", "modified_at": "2024-01-16T21:16:44.906Z", "id": "", "granted_at": "2026-09-12T06:08:19.548Z", "revoked_at": "2025-07-27T16:14:40.792Z", "customer_id": "", "benefit_id": "", "subscription_id": "", "order_id": "", "is_granted": false, "is_revoked": false, "customer": {"created_at": "2025-01-29T06:11:54.152Z", "modified_at": "2025-10-14T21:25:11.296Z", "id": "", "email": "Cortney.Graham56@hotmail.com", "email_verified": false, "name": "", "billing_name": "", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "oauth_accounts": {"key": {"account_id": "", "account_username": ""}}}, "benefit": {"id": "", "created_at": "2024-04-23T09:44:44.986Z", "modified_at": null, "type": "discord", "description": "blindly forage boo consequently apostrophize because gee like", "selectable": false, "deletable": true, "is_deleted": false, "organization_id": "", "organization": {"created_at": "2025-03-31T13:04:42.306Z", "modified_at": null, "id": "", "name": "", "slug": "", "avatar_url": "https://precious-whack.net/", "proration_behavior": "reset", "allow_customer_updates": false}, "properties": {"guild_id": ""}}, "properties": {}}], "pagination": {"total_count": 807142, "max_page": 415643}} "422": application/json: {} customer_portal:benefit-grants:get: @@ -11003,7 +11775,7 @@ examples: id: "" responses: "200": - application/json: {"created_at": "2023-03-15T12:31:38.233Z", "modified_at": "2024-02-13T22:07:31.852Z", "id": "", "granted_at": "2024-01-09T12:49:39.354Z", "revoked_at": "2024-02-23T12:20:05.574Z", "customer_id": "", "benefit_id": "", "subscription_id": "", "order_id": "", "is_granted": true, "is_revoked": true, "customer": {"created_at": "2025-03-28T16:05:13.207Z", "modified_at": "2024-06-09T07:03:07.238Z", "id": "", "email": "Xzavier.Kulas@yahoo.com", "email_verified": false, "name": "", "billing_name": null, "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "oauth_accounts": {"key": {"account_id": "", "account_username": ""}, "key1": {"account_id": "", "account_username": ""}, "key2": {"account_id": "", "account_username": ""}}}, "benefit": {"id": "", "created_at": "2023-08-07T17:03:14.237Z", "modified_at": "2025-11-05T17:02:30.549Z", "type": "downloadables", "description": "status coaxingly likewise comestible", "selectable": true, "deletable": true, "organization_id": "", "metadata": {"key": 6941.29, "key1": true, "key2": ""}, "organization": {"created_at": "2025-12-31T12:09:33.011Z", "modified_at": "2024-08-15T16:11:29.574Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://troubled-starboard.com/", "proration_behavior": "invoice", "allow_customer_updates": true}, "properties": {"active_files": ["", "", ""]}}, "properties": {}} + application/json: {"created_at": "2023-03-15T12:31:38.233Z", "modified_at": "2024-02-13T22:07:31.852Z", "id": "", "granted_at": "2024-01-09T12:49:39.354Z", "revoked_at": "2024-02-23T12:20:05.574Z", "customer_id": "", "benefit_id": "", "subscription_id": "", "order_id": "", "is_granted": true, "is_revoked": true, "customer": {"created_at": "2025-03-28T16:05:13.207Z", "modified_at": "2024-06-09T07:03:07.238Z", "id": "", "email": "Xzavier.Kulas@yahoo.com", "email_verified": false, "name": "", "billing_name": null, "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "oauth_accounts": {"key": {"account_id": "", "account_username": ""}, "key1": {"account_id": "", "account_username": ""}, "key2": {"account_id": "", "account_username": ""}}}, "benefit": {"id": "", "created_at": "2023-08-07T17:03:14.237Z", "modified_at": "2025-11-05T17:02:30.549Z", "type": "license_keys", "description": "status coaxingly likewise comestible", "selectable": true, "deletable": true, "is_deleted": true, "organization_id": "", "organization": {"created_at": "2025-12-31T12:09:33.011Z", "modified_at": "2024-08-15T16:11:29.574Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://troubled-starboard.com/", "proration_behavior": "invoice", "allow_customer_updates": true}, "properties": {"prefix": "", "expires": {"ttl": 381856, "timeframe": "month"}, "activations": {"limit": 746050, "enable_customer_admin": true}, "limit_usage": 987838}}, "properties": {}} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -11017,7 +11789,7 @@ examples: application/json: {"benefit_type": "license_keys"} responses: "200": - application/json: {"created_at": "2025-07-10T10:56:59.187Z", "modified_at": "2024-11-29T22:52:47.998Z", "id": "", "granted_at": "2024-11-21T02:12:57.379Z", "revoked_at": "2024-01-20T03:02:07.139Z", "customer_id": "", "benefit_id": "", "subscription_id": "", "order_id": "", "is_granted": true, "is_revoked": true, "customer": {"created_at": "2025-06-22T09:01:10.015Z", "modified_at": "2025-12-26T04:03:17.755Z", "id": "", "email": "Willow_Roob@hotmail.com", "email_verified": false, "name": "", "billing_name": "", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "oauth_accounts": {"key": {"account_id": "", "account_username": ""}, "key1": {"account_id": "", "account_username": ""}, "key2": {"account_id": "", "account_username": ""}}}, "benefit": {"id": "", "created_at": "2023-11-27T05:25:19.719Z", "modified_at": "2023-07-22T16:23:00.918Z", "type": "custom", "description": "for lest psst distinct", "selectable": true, "deletable": false, "organization_id": "", "metadata": {}, "organization": {"created_at": "2025-08-20T12:19:54.050Z", "modified_at": "2023-08-23T02:58:50.453Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://determined-curl.info/", "proration_behavior": "invoice", "allow_customer_updates": false}, "properties": {"note": ""}}, "properties": {}} + application/json: {"created_at": "2025-07-10T10:56:59.187Z", "modified_at": "2024-11-29T22:52:47.998Z", "id": "", "granted_at": "2024-11-21T02:12:57.379Z", "revoked_at": "2024-01-20T03:02:07.139Z", "customer_id": "", "benefit_id": "", "subscription_id": "", "order_id": "", "is_granted": true, "is_revoked": true, "customer": {"created_at": "2025-06-22T09:01:10.015Z", "modified_at": "2025-12-26T04:03:17.755Z", "id": "", "email": "Willow_Roob@hotmail.com", "email_verified": false, "name": "", "billing_name": "", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "oauth_accounts": {"key": {"account_id": "", "account_username": ""}, "key1": {"account_id": "", "account_username": ""}, "key2": {"account_id": "", "account_username": ""}}}, "benefit": {"id": "", "created_at": "2023-11-27T05:25:19.719Z", "modified_at": "2023-07-22T16:23:00.918Z", "type": "meter_credit", "description": "for lest psst distinct", "selectable": true, "deletable": false, "is_deleted": true, "organization_id": "", "organization": {"created_at": "2025-08-20T12:19:54.050Z", "modified_at": "2023-08-23T02:58:50.453Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://determined-curl.info/", "proration_behavior": "invoice", "allow_customer_updates": false}, "properties": {"units": 840745, "rollover": false, "meter_id": ""}}, "properties": {}} "403": application/json: {"error": "NotPermitted", "detail": ""} "404": @@ -11058,6 +11830,8 @@ examples: application/json: {"status": "succeeded", "payment_method": {"id": "", "created_at": "2025-12-23T00:32:19.874Z", "modified_at": "2025-02-22T23:44:51.542Z", "processor": "stripe", "customer_id": "", "type": "card", "method_metadata": {"brand": "", "last4": "", "exp_month": 510329, "exp_year": 902331}}} "422": application/json: {} + "400": + application/json: {"error": "PaymentMethodSetupFailed", "detail": ""} customer_portal:customers:delete_payment_method: speakeasy-default-customer-portal:customers:delete-payment-method: parameters: @@ -11124,7 +11898,7 @@ examples: limit: 10 responses: "200": - application/json: {"items": [{"id": "", "created_at": "2025-10-12T13:16:32.342Z", "modified_at": "2024-07-01T17:42:39.156Z", "organization_id": "", "customer_id": "", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-02-15T22:19:38.712Z", "modified_at": "2025-02-09T18:15:36.544Z", "metadata": {"key": 76887}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "team", "name": "John Doe", "billing_address": {"country": "SE"}, "tax_id": ["FR61954506077", "eu_vat"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-02-23T12:07:25.822Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=blank"}, "benefit_id": "", "key": "", "display_key": "", "status": "disabled", "limit_activations": 153166, "usage": 541102, "limit_usage": 249832, "validations": 426970, "last_validated_at": "2025-09-06T19:47:09.514Z", "expires_at": "2023-09-10T21:45:35.534Z"}, {"id": "", "created_at": "2025-10-12T13:16:32.342Z", "modified_at": "2024-07-01T17:42:39.156Z", "organization_id": "", "customer_id": "", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-02-15T22:19:38.712Z", "modified_at": "2025-02-09T18:15:36.544Z", "metadata": {"key": 76887}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "team", "name": "John Doe", "billing_address": {"country": "FR"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-02-23T12:07:25.822Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=blank"}, "benefit_id": "", "key": "", "display_key": "", "status": "disabled", "limit_activations": 153166, "usage": 541102, "limit_usage": 249832, "validations": 426970, "last_validated_at": "2025-09-06T19:47:09.514Z", "expires_at": "2023-09-10T21:45:35.534Z"}, {"id": "", "created_at": "2025-10-12T13:16:32.342Z", "modified_at": "2024-07-01T17:42:39.156Z", "organization_id": "", "customer_id": "", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-02-15T22:19:38.712Z", "modified_at": "2025-02-09T18:15:36.544Z", "metadata": {"key": 76887}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "team", "name": "John Doe", "billing_address": {"country": "SE"}, "tax_id": ["FR61954506077", "eu_vat"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-02-23T12:07:25.822Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=blank"}, "benefit_id": "", "key": "", "display_key": "", "status": "disabled", "limit_activations": 153166, "usage": 541102, "limit_usage": 249832, "validations": 426970, "last_validated_at": "2025-09-06T19:47:09.514Z", "expires_at": "2023-09-10T21:45:35.534Z"}], "pagination": {"total_count": 663700, "max_page": 279812}} + application/json: {"items": [{"id": "", "created_at": "2025-10-12T13:16:32.342Z", "modified_at": "2024-07-01T17:42:39.156Z", "organization_id": "", "customer_id": "", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-02-15T22:19:38.712Z", "modified_at": "2025-02-09T18:15:36.544Z", "metadata": {"key": 76887}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "team", "name": "John Doe", "billing_name": "John Doe", "billing_address": {"country": "SE"}, "tax_id": ["FR61954506077", "eu_vat"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-02-23T12:07:25.822Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=blank"}, "benefit_id": "", "key": "", "display_key": "", "status": "disabled", "limit_activations": 153166, "usage": 541102, "limit_usage": 249832, "validations": 426970, "last_validated_at": "2025-09-06T19:47:09.514Z", "expires_at": "2023-09-10T21:45:35.534Z"}, {"id": "", "created_at": "2025-10-12T13:16:32.342Z", "modified_at": "2024-07-01T17:42:39.156Z", "organization_id": "", "customer_id": "", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-02-15T22:19:38.712Z", "modified_at": "2025-02-09T18:15:36.544Z", "metadata": {"key": 76887}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "team", "name": "John Doe", "billing_name": "John Doe", "billing_address": {"country": "FR"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-02-23T12:07:25.822Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=blank"}, "benefit_id": "", "key": "", "display_key": "", "status": "disabled", "limit_activations": 153166, "usage": 541102, "limit_usage": 249832, "validations": 426970, "last_validated_at": "2025-09-06T19:47:09.514Z", "expires_at": "2023-09-10T21:45:35.534Z"}, {"id": "", "created_at": "2025-10-12T13:16:32.342Z", "modified_at": "2024-07-01T17:42:39.156Z", "organization_id": "", "customer_id": "", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-02-15T22:19:38.712Z", "modified_at": "2025-02-09T18:15:36.544Z", "metadata": {"key": 76887}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "team", "name": "John Doe", "billing_name": "John Doe", "billing_address": {"country": "SE"}, "tax_id": ["FR61954506077", "eu_vat"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-02-23T12:07:25.822Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=blank"}, "benefit_id": "", "key": "", "display_key": "", "status": "disabled", "limit_activations": 153166, "usage": 541102, "limit_usage": 249832, "validations": 426970, "last_validated_at": "2025-09-06T19:47:09.514Z", "expires_at": "2023-09-10T21:45:35.534Z"}], "pagination": {"total_count": 663700, "max_page": 279812}} "401": application/json: {"error": "Unauthorized", "detail": ""} "404": @@ -11138,7 +11912,7 @@ examples: id: "" responses: "200": - application/json: {"id": "", "created_at": "2024-07-24T22:16:16.914Z", "modified_at": "2023-06-20T02:46:44.827Z", "organization_id": "", "customer_id": "", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2025-08-11T21:48:56.009Z", "modified_at": "2024-09-12T08:24:58.713Z", "metadata": {"key": 7126.78}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-07-30T03:10:37.550Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "benefit_id": "", "key": "", "display_key": "", "status": "revoked", "limit_activations": 162054, "usage": 121646, "limit_usage": 630791, "validations": 447843, "last_validated_at": "2023-05-06T05:44:25.987Z", "expires_at": "2023-07-17T18:57:10.041Z", "activations": []} + application/json: {"id": "", "created_at": "2024-07-24T22:16:16.914Z", "modified_at": "2023-06-20T02:46:44.827Z", "organization_id": "", "customer_id": "", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2025-08-11T21:48:56.009Z", "modified_at": "2024-09-12T08:24:58.713Z", "metadata": {"key": 7126.78}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-07-30T03:10:37.550Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "benefit_id": "", "key": "", "display_key": "", "status": "revoked", "limit_activations": 162054, "usage": 121646, "limit_usage": 630791, "validations": 447843, "last_validated_at": "2023-05-06T05:44:25.987Z", "expires_at": "2023-07-17T18:57:10.041Z", "activations": []} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -11149,7 +11923,7 @@ examples: application/json: {"key": "", "organization_id": ""} responses: "200": - application/json: {"id": "", "created_at": "2023-04-11T23:03:09.029Z", "modified_at": "2024-04-24T08:51:23.764Z", "organization_id": "", "customer_id": "", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2025-01-16T01:19:41.953Z", "modified_at": "2023-06-20T05:32:41.329Z", "metadata": {"key": "", "key1": 6109.76}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-01-29T14:17:18.515Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "benefit_id": "", "key": "", "display_key": "", "status": "revoked", "limit_activations": 271339, "usage": 667761, "limit_usage": 823982, "validations": 858831, "last_validated_at": "2023-10-13T01:11:19.843Z", "expires_at": "2024-08-06T20:24:12.734Z"} + application/json: {"id": "", "created_at": "2023-04-11T23:03:09.029Z", "modified_at": "2024-04-24T08:51:23.764Z", "organization_id": "", "customer_id": "", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2025-01-16T01:19:41.953Z", "modified_at": "2023-06-20T05:32:41.329Z", "metadata": {"key": "", "key1": 6109.76}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-01-29T14:17:18.515Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "benefit_id": "", "key": "", "display_key": "", "status": "revoked", "limit_activations": 271339, "usage": 667761, "limit_usage": 823982, "validations": 858831, "last_validated_at": "2023-10-13T01:11:19.843Z", "expires_at": "2024-08-06T20:24:12.734Z"} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -11160,7 +11934,7 @@ examples: application/json: {"key": "", "organization_id": "", "label": ""} responses: "200": - application/json: {"id": "", "license_key_id": "", "label": "", "meta": {"key": true}, "created_at": "2024-09-24T18:51:56.190Z", "modified_at": "2024-10-18T18:55:01.804Z", "license_key": {"id": "", "created_at": "2024-11-09T05:51:44.593Z", "modified_at": "2023-09-01T21:14:56.853Z", "organization_id": "", "customer_id": "", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-08-30T16:12:01.580Z", "modified_at": "2023-12-12T12:14:57.239Z", "metadata": {}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-05-31T21:13:35.841Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "benefit_id": "", "key": "", "display_key": "", "status": "granted", "limit_activations": 494077, "usage": 680556, "limit_usage": 621814, "validations": 629725, "last_validated_at": "2024-02-09T19:50:32.301Z", "expires_at": "2025-04-08T10:14:43.020Z"}} + application/json: {"id": "", "license_key_id": "", "label": "", "meta": {"key": true}, "created_at": "2024-09-24T18:51:56.190Z", "modified_at": "2024-10-18T18:55:01.804Z", "license_key": {"id": "", "created_at": "2024-11-09T05:51:44.593Z", "modified_at": "2023-09-01T21:14:56.853Z", "organization_id": "", "customer_id": "", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-08-30T16:12:01.580Z", "modified_at": "2023-12-12T12:14:57.239Z", "metadata": {}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-05-31T21:13:35.841Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "benefit_id": "", "key": "", "display_key": "", "status": "granted", "limit_activations": 494077, "usage": 680556, "limit_usage": 621814, "validations": 629725, "last_validated_at": "2024-02-09T19:50:32.301Z", "expires_at": "2025-04-08T10:14:43.020Z"}} "403": application/json: {"error": "NotPermitted", "detail": ""} "404": @@ -11185,7 +11959,7 @@ examples: limit: 10 responses: "200": - application/json: {"items": [{"id": "", "created_at": "2025-11-20T11:42:23.721Z", "modified_at": "2024-05-18T16:54:56.965Z", "status": "refunded", "paid": true, "subtotal_amount": 819161, "discount_amount": 845676, "net_amount": 924720, "tax_amount": 63217, "total_amount": 598982, "applied_balance_amount": 281470, "due_amount": 702832, "refunded_amount": 539673, "refunded_tax_amount": 14405, "currency": "Zambian Kwacha", "billing_reason": "subscription_cycle", "billing_name": "", "billing_address": {"country": "US"}, "invoice_number": "", "is_invoice_generated": false, "customer_id": "", "product_id": "", "discount_id": "", "subscription_id": "", "checkout_id": "", "product": {"id": "", "created_at": "2025-09-22T00:37:01.920Z", "modified_at": "2023-05-31T06:38:55.188Z", "trial_interval": "month", "trial_interval_count": 459585, "name": "", "description": "fiercely apud before tinderbox aboard blah affect how spork afford", "visibility": "draft", "recurring_interval": "year", "recurring_interval_count": 702832, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2025-11-20T11:42:23.721Z", "modified_at": "2025-01-24T20:31:05.561Z", "id": "", "source": "catalog", "amount_type": "free", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}, {"created_at": "2023-03-11T06:52:22.440Z", "modified_at": "2024-08-14T11:34:08.193Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 137114, "maximum_amount": 429591, "preset_amount": 912957, "legacy": true}], "benefits": [{"id": "", "created_at": "2023-11-27T01:22:01.788Z", "modified_at": "2024-06-26T00:10:46.957Z", "type": "discord", "description": "into mortally sizzle candid deliquesce descendant", "selectable": true, "deletable": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/boot", "mime_type": "", "size": 118717, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-02-22T18:42:21.517Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2024-10-14T04:26:27.485Z", "size_readable": "", "public_url": "https://unkempt-pasta.net"}, {"id": "", "organization_id": "", "name": "", "path": "/boot", "mime_type": "", "size": 118717, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-02-22T18:42:21.517Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2024-10-14T04:26:27.485Z", "size_readable": "", "public_url": "https://unkempt-pasta.net"}, {"id": "", "organization_id": "", "name": "", "path": "/boot", "mime_type": "", "size": 118717, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-02-22T18:42:21.517Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2024-10-14T04:26:27.485Z", "size_readable": "", "public_url": "https://unkempt-pasta.net"}], "organization": {"created_at": "2025-06-04T05:46:13.875Z", "modified_at": "2025-02-04T00:06:48.998Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://similar-hyphenation.org/", "proration_behavior": "prorate", "allow_customer_updates": true, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": false, "update_plan": false}}}}, "subscription": {"created_at": "2024-08-13T08:41:59.340Z", "modified_at": "2023-12-03T21:20:26.944Z", "id": "", "amount": 871599, "currency": "Libyan Dinar", "recurring_interval": "month", "recurring_interval_count": 459585, "status": "unpaid", "current_period_start": "2023-08-19T10:55:51.517Z", "current_period_end": "2024-02-18T12:53:08.743Z", "trial_start": "2025-06-16T19:11:41.518Z", "trial_end": "2025-10-10T11:49:01.641Z", "cancel_at_period_end": false, "canceled_at": "2025-03-18T00:10:37.394Z", "started_at": "2024-03-22T06:31:06.826Z", "ends_at": "2023-04-25T20:41:07.944Z", "ended_at": "2024-01-11T00:16:27.501Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "low_quality", "customer_cancellation_comment": ""}, "items": [{"created_at": "2023-03-28T11:43:12.063Z", "modified_at": "2024-08-31T19:05:47.710Z", "id": "", "label": "", "amount": 838116, "tax_amount": 970865, "proration": true, "product_price_id": ""}], "description": "Pro Plan"}, {"id": "", "created_at": "2025-11-20T11:42:23.721Z", "modified_at": "2024-05-18T16:54:56.965Z", "status": "refunded", "paid": true, "subtotal_amount": 819161, "discount_amount": 845676, "net_amount": 924720, "tax_amount": 63217, "total_amount": 598982, "applied_balance_amount": 962124, "due_amount": 459585, "refunded_amount": 539673, "refunded_tax_amount": 14405, "currency": "Zambian Kwacha", "billing_reason": "subscription_cycle", "billing_name": "", "billing_address": {"country": "FR"}, "invoice_number": "", "is_invoice_generated": true, "customer_id": "", "product_id": "", "discount_id": "", "subscription_id": "", "checkout_id": "", "product": {"id": "", "created_at": "2025-09-22T00:37:01.920Z", "modified_at": "2023-05-31T06:38:55.188Z", "trial_interval": null, "trial_interval_count": null, "name": "", "description": "fiercely apud before tinderbox aboard blah affect how spork afford", "visibility": "public", "recurring_interval": "year", "recurring_interval_count": 819161, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2023-08-12T01:01:18.565Z", "modified_at": "2023-10-16T20:01:02.505Z", "id": "", "source": "ad_hoc", "amount_type": "free", "price_currency": "", "tax_behavior": "exclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}, {"created_at": "2025-01-12T17:10:02.408Z", "modified_at": "2023-08-30T05:17:10.953Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 822806, "legacy": true}], "benefits": [{"id": "", "created_at": "2023-11-27T01:22:01.788Z", "modified_at": "2024-06-26T00:10:46.957Z", "type": "discord", "description": "into mortally sizzle candid deliquesce descendant", "selectable": true, "deletable": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/boot", "mime_type": "", "size": 118717, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-02-22T18:42:21.517Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2024-10-14T04:26:27.485Z", "size_readable": "", "public_url": "https://unkempt-pasta.net"}, {"id": "", "organization_id": "", "name": "", "path": "/boot", "mime_type": "", "size": 118717, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-02-22T18:42:21.517Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2024-10-14T04:26:27.485Z", "size_readable": "", "public_url": "https://unkempt-pasta.net"}, {"id": "", "organization_id": "", "name": "", "path": "/boot", "mime_type": "", "size": 118717, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-02-22T18:42:21.517Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2024-10-14T04:26:27.485Z", "size_readable": "", "public_url": "https://unkempt-pasta.net"}], "organization": {"created_at": "2025-06-04T05:46:13.875Z", "modified_at": "2025-02-04T00:06:48.998Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://similar-hyphenation.org/", "proration_behavior": "invoice", "allow_customer_updates": false, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": false, "update_plan": false}}}}, "subscription": {"created_at": "2024-08-13T08:41:59.340Z", "modified_at": "2023-12-03T21:20:26.944Z", "id": "", "amount": 871599, "currency": "Libyan Dinar", "recurring_interval": "month", "recurring_interval_count": 924720, "status": "unpaid", "current_period_start": "2023-08-19T10:55:51.517Z", "current_period_end": "2024-02-18T12:53:08.743Z", "trial_start": "2024-08-14T11:34:08.193Z", "trial_end": null, "cancel_at_period_end": false, "canceled_at": "2025-03-18T00:10:37.394Z", "started_at": "2024-03-22T06:31:06.826Z", "ends_at": "2023-04-25T20:41:07.944Z", "ended_at": "2024-01-11T00:16:27.501Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "low_quality", "customer_cancellation_comment": ""}, "items": [{"created_at": "2023-03-28T11:43:12.063Z", "modified_at": "2024-08-31T19:05:47.710Z", "id": "", "label": "", "amount": 838116, "tax_amount": 970865, "proration": true, "product_price_id": ""}], "description": "Pro Plan"}], "pagination": {"total_count": 217242, "max_page": 911504}} + application/json: {"items": [{"id": "", "created_at": "2025-11-20T11:42:23.721Z", "modified_at": "2024-05-18T16:54:56.965Z", "status": "refunded", "paid": true, "subtotal_amount": 819161, "discount_amount": 845676, "net_amount": 924720, "tax_amount": 63217, "total_amount": 598982, "applied_balance_amount": 281470, "due_amount": 702832, "refunded_amount": 539673, "refunded_tax_amount": 14405, "currency": "Zambian Kwacha", "billing_reason": "subscription_cycle", "billing_name": "", "billing_address": {"country": "US"}, "invoice_number": "", "is_invoice_generated": false, "receipt_number": "", "customer_id": "", "product_id": "", "discount_id": "", "subscription_id": "", "checkout_id": "", "product": {"id": "", "created_at": "2025-09-22T00:37:01.920Z", "modified_at": "2023-05-31T06:38:55.188Z", "trial_interval": "month", "trial_interval_count": 459585, "name": "", "description": "fiercely apud before tinderbox aboard blah affect how spork afford", "visibility": "draft", "recurring_interval": "year", "recurring_interval_count": 702832, "meter_interval": "year", "meter_interval_count": 688736, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2026-10-10T11:49:01.641Z", "modified_at": null, "id": "", "source": "catalog", "amount_type": "seat_based", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "seat_tiers": {"tiers": [{"min_seats": 537138, "price_per_seat": 746881}], "minimum_seats": 907871, "maximum_seats": 904872}}, {"created_at": "2023-03-11T06:52:22.440Z", "modified_at": "2024-08-14T11:34:08.193Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 137114, "maximum_amount": 429591, "preset_amount": 912957, "legacy": true}], "benefits": [{"id": "", "created_at": "2023-11-27T01:22:01.788Z", "modified_at": "2024-06-26T00:10:46.957Z", "type": "discord", "description": "into mortally sizzle candid deliquesce descendant", "selectable": true, "deletable": false, "is_deleted": true, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/boot", "mime_type": "", "size": 118717, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-02-22T18:42:21.517Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2024-10-14T04:26:27.485Z", "size_readable": "", "public_url": "https://unkempt-pasta.net"}, {"id": "", "organization_id": "", "name": "", "path": "/boot", "mime_type": "", "size": 118717, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-02-22T18:42:21.517Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2024-10-14T04:26:27.485Z", "size_readable": "", "public_url": "https://unkempt-pasta.net"}, {"id": "", "organization_id": "", "name": "", "path": "/boot", "mime_type": "", "size": 118717, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-02-22T18:42:21.517Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2024-10-14T04:26:27.485Z", "size_readable": "", "public_url": "https://unkempt-pasta.net"}], "organization": {"created_at": "2025-06-04T05:46:13.875Z", "modified_at": "2025-02-04T00:06:48.998Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://similar-hyphenation.org/", "proration_behavior": "prorate", "allow_customer_updates": true, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": false, "update_plan": false}}}}, "subscription": {"created_at": "2024-08-13T08:41:59.340Z", "modified_at": "2023-12-03T21:20:26.944Z", "id": "", "amount": 871599, "currency": "Libyan Dinar", "recurring_interval": "month", "recurring_interval_count": 459585, "status": "unpaid", "current_period_start": "2023-08-19T10:55:51.517Z", "current_period_end": "2024-02-18T12:53:08.743Z", "current_meter_period_start": "2026-09-27T14:23:53.522Z", "current_meter_period_end": "2026-03-12T18:48:04.899Z", "trial_start": "2025-06-16T19:11:41.518Z", "trial_end": "2025-10-10T11:49:01.641Z", "cancel_at_period_end": false, "canceled_at": "2025-03-18T00:10:37.394Z", "started_at": "2024-03-22T06:31:06.826Z", "ends_at": "2023-04-25T20:41:07.944Z", "ended_at": "2024-01-11T00:16:27.501Z", "pause_at_period_end": true, "paused_at": "2024-10-15T20:01:02.505Z", "resumes_at": "2026-05-05T13:21:53.464Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "low_quality", "customer_cancellation_comment": ""}, "items": [{"created_at": "2023-03-28T11:43:12.063Z", "modified_at": "2024-08-31T19:05:47.710Z", "id": "", "label": "", "amount": 838116, "tax_amount": 970865, "proration": true, "product_price_id": ""}], "description": "Pro Plan", "refundable_amount": 9000, "refundable_tax_amount": 720}, {"id": "", "created_at": "2025-11-20T11:42:23.721Z", "modified_at": "2024-05-18T16:54:56.965Z", "status": "refunded", "paid": true, "subtotal_amount": 819161, "discount_amount": 845676, "net_amount": 924720, "tax_amount": 63217, "total_amount": 598982, "applied_balance_amount": 962124, "due_amount": 459585, "refunded_amount": 539673, "refunded_tax_amount": 14405, "currency": "Zambian Kwacha", "billing_reason": "subscription_cycle", "billing_name": "", "billing_address": {"country": "FR"}, "invoice_number": "", "is_invoice_generated": true, "receipt_number": "", "customer_id": "", "product_id": "", "discount_id": "", "subscription_id": "", "checkout_id": "", "product": {"id": "", "created_at": "2025-09-22T00:37:01.920Z", "modified_at": "2023-05-31T06:38:55.188Z", "trial_interval": null, "trial_interval_count": null, "name": "", "description": "fiercely apud before tinderbox aboard blah affect how spork afford", "visibility": "public", "recurring_interval": "year", "recurring_interval_count": 819161, "meter_interval": "month", "meter_interval_count": 220091, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2026-06-20T19:04:50.793Z", "modified_at": "2024-04-05T01:45:56.580Z", "id": "", "source": "catalog", "amount_type": "seat_based", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "seat_tiers": {"tiers": [{"min_seats": 537138, "price_per_seat": 746881}], "minimum_seats": 907871, "maximum_seats": 904872}}, {"created_at": "2025-01-12T17:10:02.408Z", "modified_at": "2023-08-30T05:17:10.953Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 822806, "legacy": true}], "benefits": [{"id": "", "created_at": "2023-11-27T01:22:01.788Z", "modified_at": "2024-06-26T00:10:46.957Z", "type": "discord", "description": "into mortally sizzle candid deliquesce descendant", "selectable": true, "deletable": false, "is_deleted": true, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/boot", "mime_type": "", "size": 118717, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-02-22T18:42:21.517Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2024-10-14T04:26:27.485Z", "size_readable": "", "public_url": "https://unkempt-pasta.net"}, {"id": "", "organization_id": "", "name": "", "path": "/boot", "mime_type": "", "size": 118717, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-02-22T18:42:21.517Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2024-10-14T04:26:27.485Z", "size_readable": "", "public_url": "https://unkempt-pasta.net"}, {"id": "", "organization_id": "", "name": "", "path": "/boot", "mime_type": "", "size": 118717, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-02-22T18:42:21.517Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2024-10-14T04:26:27.485Z", "size_readable": "", "public_url": "https://unkempt-pasta.net"}], "organization": {"created_at": "2025-06-04T05:46:13.875Z", "modified_at": "2025-02-04T00:06:48.998Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://similar-hyphenation.org/", "proration_behavior": "invoice", "allow_customer_updates": false, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": false, "update_plan": false}}}}, "subscription": {"created_at": "2024-08-13T08:41:59.340Z", "modified_at": "2023-12-03T21:20:26.944Z", "id": "", "amount": 871599, "currency": "Libyan Dinar", "recurring_interval": "month", "recurring_interval_count": 924720, "status": "unpaid", "current_period_start": "2023-08-19T10:55:51.517Z", "current_period_end": "2024-02-18T12:53:08.743Z", "current_meter_period_start": "2025-11-19T18:55:01.416Z", "current_meter_period_end": "2025-09-02T11:40:24.101Z", "trial_start": "2024-08-14T11:34:08.193Z", "trial_end": null, "cancel_at_period_end": false, "canceled_at": "2025-03-18T00:10:37.394Z", "started_at": "2024-03-22T06:31:06.826Z", "ends_at": "2023-04-25T20:41:07.944Z", "ended_at": "2024-01-11T00:16:27.501Z", "pause_at_period_end": true, "paused_at": "2024-08-27T02:10:03.707Z", "resumes_at": "2026-07-31T10:52:05.595Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "low_quality", "customer_cancellation_comment": ""}, "items": [{"created_at": "2023-03-28T11:43:12.063Z", "modified_at": "2024-08-31T19:05:47.710Z", "id": "", "label": "", "amount": 838116, "tax_amount": 970865, "proration": true, "product_price_id": ""}], "description": "Pro Plan", "refundable_amount": 9000, "refundable_tax_amount": 720}], "pagination": {"total_count": 217242, "max_page": 911504}} "422": application/json: {} customer_portal:orders:get: @@ -11195,7 +11969,7 @@ examples: id: "" responses: "200": - application/json: {"id": "", "created_at": "2025-11-07T01:29:33.239Z", "modified_at": "2024-05-19T13:54:46.070Z", "status": "partially_refunded", "paid": true, "subtotal_amount": 10000, "discount_amount": 1000, "net_amount": 9000, "tax_amount": 720, "total_amount": 9720, "applied_balance_amount": 0, "due_amount": 0, "refunded_amount": 0, "refunded_tax_amount": 0, "currency": "usd", "billing_reason": "subscription_update", "billing_name": "", "billing_address": {"country": "US"}, "invoice_number": "", "is_invoice_generated": true, "customer_id": "", "product_id": "", "discount_id": "", "subscription_id": "", "checkout_id": "", "product": {"id": "", "created_at": "2023-07-18T15:45:42.662Z", "modified_at": "2025-09-21T13:22:43.123Z", "trial_interval": "week", "trial_interval_count": 836532, "name": "", "description": "excluding below instead especially around crowded", "visibility": "public", "recurring_interval": "month", "recurring_interval_count": 460383, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2025-10-01T14:10:31.444Z", "modified_at": "2025-11-12T18:03:36.492Z", "id": "", "source": "ad_hoc", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_amount": 953506, "legacy": true}, {"created_at": "2025-11-13T23:04:52.208Z", "modified_at": "2023-07-18T15:45:42.662Z", "id": "", "source": "catalog", "amount_type": "free", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "legacy": true}, {"created_at": "2025-11-28T10:02:29.850Z", "modified_at": "2025-10-31T04:09:20.708Z", "id": "", "source": "ad_hoc", "amount_type": "fixed", "price_currency": "", "tax_behavior": "exclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_amount": 887993, "legacy": true}], "benefits": [{"id": "", "created_at": "2023-11-13T18:57:39.316Z", "modified_at": "2023-04-29T11:32:36.819Z", "type": "meter_credit", "description": "bobble cappelletti slime ah in-joke", "selectable": true, "deletable": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/private/var", "mime_type": "", "size": 597925, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-12-05T16:14:08.598Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-04-10T23:36:40.097Z", "size_readable": "", "public_url": "https://sudden-vicinity.org"}], "organization": {"created_at": "2024-05-25T14:56:03.555Z", "modified_at": "2024-09-13T23:34:30.029Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://tasty-procurement.biz", "proration_behavior": "prorate", "allow_customer_updates": false, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": true, "update_plan": false}}}}, "subscription": {"created_at": "2023-11-22T00:35:42.709Z", "modified_at": "2025-01-02T22:15:08.835Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "year", "recurring_interval_count": 836532, "status": "incomplete_expired", "current_period_start": "2023-06-07T17:49:09.159Z", "current_period_end": "2025-09-02T13:45:06.535Z", "trial_start": "2025-01-24T05:08:03.541Z", "trial_end": null, "cancel_at_period_end": true, "canceled_at": "2025-11-20T05:04:08.720Z", "started_at": "2024-08-31T06:02:38.009Z", "ends_at": "2024-04-13T05:40:37.441Z", "ended_at": "2024-07-31T04:00:00.849Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "too_complex", "customer_cancellation_comment": ""}, "items": [{"created_at": "2023-01-16T11:36:24.673Z", "modified_at": "2024-12-03T06:40:18.477Z", "id": "", "label": "", "amount": 778927, "tax_amount": 586171, "proration": false, "product_price_id": ""}, {"created_at": "2023-01-16T11:36:24.673Z", "modified_at": "2024-12-03T06:40:18.477Z", "id": "", "label": "", "amount": 778927, "tax_amount": 586171, "proration": false, "product_price_id": ""}, {"created_at": "2023-01-16T11:36:24.673Z", "modified_at": "2024-12-03T06:40:18.477Z", "id": "", "label": "", "amount": 778927, "tax_amount": 586171, "proration": false, "product_price_id": ""}], "description": "Pro Plan"} + application/json: {"id": "", "created_at": "2025-11-07T01:29:33.239Z", "modified_at": "2024-05-19T13:54:46.070Z", "status": "partially_refunded", "paid": true, "subtotal_amount": 10000, "discount_amount": 1000, "net_amount": 9000, "tax_amount": 720, "total_amount": 9720, "applied_balance_amount": 0, "due_amount": 0, "refunded_amount": 0, "refunded_tax_amount": 0, "currency": "usd", "billing_reason": "subscription_update", "billing_name": "", "billing_address": {"country": "US"}, "invoice_number": "", "is_invoice_generated": true, "receipt_number": "", "customer_id": "", "product_id": "", "discount_id": "", "subscription_id": "", "checkout_id": "", "product": {"id": "", "created_at": "2023-07-18T15:45:42.662Z", "modified_at": "2025-09-21T13:22:43.123Z", "trial_interval": "week", "trial_interval_count": 836532, "name": "", "description": "excluding below instead especially around crowded", "visibility": "public", "recurring_interval": "month", "recurring_interval_count": 460383, "meter_interval": "year", "meter_interval_count": 955067, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2025-10-01T14:10:31.444Z", "modified_at": "2025-11-12T18:03:36.492Z", "id": "", "source": "ad_hoc", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_amount": 953506, "legacy": true}, {"created_at": "2025-07-09T07:11:07.782Z", "modified_at": null, "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": null, "is_archived": false, "product_id": "", "minimum_amount": 956170, "maximum_amount": 181256, "preset_amount": 422712}, {"created_at": "2025-11-28T10:02:29.850Z", "modified_at": "2025-10-31T04:09:20.708Z", "id": "", "source": "ad_hoc", "amount_type": "fixed", "price_currency": "", "tax_behavior": "exclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_amount": 887993, "legacy": true}], "benefits": [{"id": "", "created_at": "2023-11-13T18:57:39.316Z", "modified_at": "2023-04-29T11:32:36.819Z", "type": "meter_credit", "description": "bobble cappelletti slime ah in-joke", "selectable": true, "deletable": false, "is_deleted": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/private/var", "mime_type": "", "size": 597925, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-12-05T16:14:08.598Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2023-04-10T23:36:40.097Z", "size_readable": "", "public_url": "https://sudden-vicinity.org"}], "organization": {"created_at": "2024-05-25T14:56:03.555Z", "modified_at": "2024-09-13T23:34:30.029Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://tasty-procurement.biz", "proration_behavior": "prorate", "allow_customer_updates": false, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": true, "update_plan": false}}}}, "subscription": {"created_at": "2023-11-22T00:35:42.709Z", "modified_at": "2025-01-02T22:15:08.835Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "year", "recurring_interval_count": 836532, "status": "incomplete_expired", "current_period_start": "2023-06-07T17:49:09.159Z", "current_period_end": "2025-09-02T13:45:06.535Z", "current_meter_period_start": "2026-11-28T10:02:29.850Z", "current_meter_period_end": "2026-10-31T04:09:20.708Z", "trial_start": "2025-01-24T05:08:03.541Z", "trial_end": null, "cancel_at_period_end": true, "canceled_at": "2025-11-20T05:04:08.720Z", "started_at": "2024-08-31T06:02:38.009Z", "ends_at": "2024-04-13T05:40:37.441Z", "ended_at": "2024-07-31T04:00:00.849Z", "pause_at_period_end": true, "paused_at": "2025-07-18T09:02:59.277Z", "resumes_at": "2026-08-31T05:45:52.106Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "too_complex", "customer_cancellation_comment": ""}, "items": [{"created_at": "2023-01-16T11:36:24.673Z", "modified_at": "2024-12-03T06:40:18.477Z", "id": "", "label": "", "amount": 778927, "tax_amount": 586171, "proration": false, "product_price_id": ""}, {"created_at": "2023-01-16T11:36:24.673Z", "modified_at": "2024-12-03T06:40:18.477Z", "id": "", "label": "", "amount": 778927, "tax_amount": 586171, "proration": false, "product_price_id": ""}, {"created_at": "2023-01-16T11:36:24.673Z", "modified_at": "2024-12-03T06:40:18.477Z", "id": "", "label": "", "amount": 778927, "tax_amount": 586171, "proration": false, "product_price_id": ""}], "description": "Pro Plan", "refundable_amount": 9000, "refundable_tax_amount": 720} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -11233,7 +12007,7 @@ examples: limit: 10 responses: "200": - application/json: {"items": [{"created_at": "2023-01-03T00:35:12.592Z", "modified_at": "2024-09-28T03:20:00.312Z", "id": "", "amount": 31846, "currency": "Pakistan Rupee", "recurring_interval": "month", "recurring_interval_count": 180288, "status": "unpaid", "current_period_start": "2023-11-09T06:12:04.123Z", "current_period_end": "2025-01-25T11:12:42.694Z", "trial_start": "2024-07-18T17:21:46.759Z", "trial_end": null, "cancel_at_period_end": true, "canceled_at": "2023-11-12T13:08:09.571Z", "started_at": "2023-08-04T11:59:00.224Z", "ends_at": "2025-05-27T18:23:00.769Z", "ended_at": "2025-10-28T08:23:28.446Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "switched_service", "customer_cancellation_comment": "", "product": {"id": "", "created_at": "2024-01-04T03:39:38.578Z", "modified_at": "2025-05-06T00:46:00.044Z", "trial_interval": "day", "trial_interval_count": 96114, "name": "", "description": "growing opposite tomography telescope quiet why phew", "visibility": "draft", "recurring_interval": "year", "recurring_interval_count": 1847, "is_recurring": true, "is_archived": false, "organization_id": "", "prices": [{"created_at": "2023-01-03T00:35:12.592Z", "modified_at": "2023-02-04T21:40:45.220Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_amount": 944637, "legacy": true}], "benefits": [{"id": "", "created_at": "2024-03-14T21:13:40.961Z", "modified_at": "2023-12-24T01:29:54.279Z", "type": "meter_credit", "description": "huzzah tomorrow duh yum gray cycle of", "selectable": false, "deletable": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/var", "mime_type": "", "size": 746159, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-05-29T22:38:24.131Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2024-10-04T11:44:37.534Z", "size_readable": "", "public_url": "https://old-calculus.biz/"}], "organization": {"created_at": "2024-02-09T13:11:33.758Z", "modified_at": "2025-12-02T08:22:49.298Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://definitive-toaster.biz", "proration_behavior": "prorate", "allow_customer_updates": true, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": true, "update_plan": false}}}}, "prices": [{"created_at": "2024-04-28T23:59:29.324Z", "modified_at": "2023-08-04T11:59:00.224Z", "id": "", "source": "catalog", "amount_type": "free", "price_currency": "", "tax_behavior": null, "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}], "meters": [{"created_at": "2024-01-02T23:41:03.483Z", "modified_at": "2024-07-07T11:53:07.154Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"created_at": "2024-12-27T05:30:39.834Z", "modified_at": "2024-11-06T16:58:02.245Z", "id": "", "name": ""}}], "pending_update": {"created_at": "2024-02-04T21:40:45.220Z", "modified_at": "2024-04-15T08:10:49.325Z", "id": "", "applies_at": "2026-11-01T07:42:50.677Z", "product_id": "", "seats": 441605}}, {"created_at": "2023-01-03T00:35:12.592Z", "modified_at": "2024-09-28T03:20:00.312Z", "id": "", "amount": 31846, "currency": "Pakistan Rupee", "recurring_interval": "month", "recurring_interval_count": 31846, "status": "unpaid", "current_period_start": "2023-11-09T06:12:04.123Z", "current_period_end": "2025-01-25T11:12:42.694Z", "trial_start": "2023-11-09T06:12:04.123Z", "trial_end": "2024-04-28T23:59:29.324Z", "cancel_at_period_end": true, "canceled_at": "2023-11-12T13:08:09.571Z", "started_at": "2023-08-04T11:59:00.224Z", "ends_at": "2025-05-27T18:23:00.769Z", "ended_at": "2025-10-28T08:23:28.446Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "switched_service", "customer_cancellation_comment": "", "product": {"id": "", "created_at": "2024-01-04T03:39:38.578Z", "modified_at": "2025-05-06T00:46:00.044Z", "trial_interval": "day", "trial_interval_count": 941013, "name": "", "description": "growing opposite tomography telescope quiet why phew", "visibility": "private", "recurring_interval": "year", "recurring_interval_count": 96114, "is_recurring": true, "is_archived": false, "organization_id": "", "prices": [{"created_at": "2025-05-06T00:46:00.044Z", "modified_at": "2023-10-31T12:02:35.613Z", "id": "", "source": "ad_hoc", "amount_type": "fixed", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_amount": 746007, "legacy": true}], "benefits": [{"id": "", "created_at": "2024-03-14T21:13:40.961Z", "modified_at": "2023-12-24T01:29:54.279Z", "type": "meter_credit", "description": "huzzah tomorrow duh yum gray cycle of", "selectable": false, "deletable": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/var", "mime_type": "", "size": 746159, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-05-29T22:38:24.131Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2024-10-04T11:44:37.534Z", "size_readable": "", "public_url": "https://old-calculus.biz/"}], "organization": {"created_at": "2024-02-09T13:11:33.758Z", "modified_at": "2025-12-02T08:22:49.298Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://definitive-toaster.biz", "proration_behavior": "invoice", "allow_customer_updates": false, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": true, "update_plan": false}}}}, "prices": [{"created_at": "2024-01-12T09:39:36.733Z", "modified_at": "2023-09-02T17:20:24.135Z", "id": "", "source": "catalog", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "unit_amount": "", "cap_amount": 655254, "meter_id": "", "meter": {"id": "", "name": ""}}], "meters": [{"created_at": "2024-01-02T23:41:03.483Z", "modified_at": "2024-07-07T11:53:07.154Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"created_at": "2024-12-27T05:30:39.834Z", "modified_at": "2024-11-06T16:58:02.245Z", "id": "", "name": ""}}], "pending_update": {"created_at": "2024-02-04T21:40:45.220Z", "modified_at": "2024-04-15T08:10:49.325Z", "id": "", "applies_at": "2026-11-01T07:42:50.677Z", "product_id": "", "seats": 441605}}], "pagination": {"total_count": 99404, "max_page": 312046}} + application/json: {"items": [{"created_at": "2023-01-03T00:35:12.592Z", "modified_at": "2024-09-28T03:20:00.312Z", "id": "", "amount": 31846, "currency": "Pakistan Rupee", "recurring_interval": "month", "recurring_interval_count": 180288, "status": "unpaid", "current_period_start": "2023-11-09T06:12:04.123Z", "current_period_end": "2025-01-25T11:12:42.694Z", "current_meter_period_start": "2025-07-18T17:21:46.759Z", "current_meter_period_end": null, "trial_start": "2024-07-18T17:21:46.759Z", "trial_end": null, "cancel_at_period_end": true, "canceled_at": "2023-11-12T13:08:09.571Z", "started_at": "2023-08-04T11:59:00.224Z", "ends_at": "2025-05-27T18:23:00.769Z", "ended_at": "2025-10-28T08:23:28.446Z", "pause_at_period_end": false, "paused_at": null, "resumes_at": "2024-04-15T08:10:49.325Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "switched_service", "customer_cancellation_comment": "", "product": {"id": "", "created_at": "2024-01-04T03:39:38.578Z", "modified_at": "2025-05-06T00:46:00.044Z", "trial_interval": "day", "trial_interval_count": 96114, "name": "", "description": "growing opposite tomography telescope quiet why phew", "visibility": "draft", "recurring_interval": "year", "recurring_interval_count": 1847, "meter_interval": "week", "meter_interval_count": 441605, "is_recurring": true, "is_archived": false, "organization_id": "", "prices": [{"created_at": "2023-01-03T00:35:12.592Z", "modified_at": "2023-02-04T21:40:45.220Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_amount": 944637, "legacy": true}], "benefits": [{"id": "", "created_at": "2024-03-14T21:13:40.961Z", "modified_at": "2023-12-24T01:29:54.279Z", "type": "meter_credit", "description": "huzzah tomorrow duh yum gray cycle of", "selectable": false, "deletable": false, "is_deleted": true, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/var", "mime_type": "", "size": 746159, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-05-29T22:38:24.131Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2024-10-04T11:44:37.534Z", "size_readable": "", "public_url": "https://old-calculus.biz/"}], "organization": {"created_at": "2024-02-09T13:11:33.758Z", "modified_at": "2025-12-02T08:22:49.298Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://definitive-toaster.biz", "proration_behavior": "prorate", "allow_customer_updates": true, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": true, "update_plan": false}}}}, "prices": [{"created_at": "2026-10-28T08:23:28.446Z", "modified_at": "2025-01-03T03:39:38.578Z", "id": "", "source": "ad_hoc", "amount_type": "fixed", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "week", "price_amount": 746007, "legacy": true}], "meters": [{"created_at": "2024-01-02T23:41:03.483Z", "modified_at": "2024-07-07T11:53:07.154Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"created_at": "2024-12-27T05:30:39.834Z", "modified_at": "2024-11-06T16:58:02.245Z", "id": "", "name": ""}}], "pending_update": {"created_at": "2024-02-04T21:40:45.220Z", "modified_at": "2024-04-15T08:10:49.325Z", "id": "", "applies_at": "2026-11-01T07:42:50.677Z", "product_id": "", "seats": 441605}}, {"created_at": "2023-01-03T00:35:12.592Z", "modified_at": "2024-09-28T03:20:00.312Z", "id": "", "amount": 31846, "currency": "Pakistan Rupee", "recurring_interval": "month", "recurring_interval_count": 31846, "status": "unpaid", "current_period_start": "2023-11-09T06:12:04.123Z", "current_period_end": "2025-01-25T11:12:42.694Z", "current_meter_period_start": "2026-09-01T21:13:12.435Z", "current_meter_period_end": "2025-06-21T23:07:53.931Z", "trial_start": "2023-11-09T06:12:04.123Z", "trial_end": "2024-04-28T23:59:29.324Z", "cancel_at_period_end": true, "canceled_at": "2023-11-12T13:08:09.571Z", "started_at": "2023-08-04T11:59:00.224Z", "ends_at": "2025-05-27T18:23:00.769Z", "ended_at": "2025-10-28T08:23:28.446Z", "pause_at_period_end": true, "paused_at": "2026-07-10T02:04:55.056Z", "resumes_at": null, "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "switched_service", "customer_cancellation_comment": "", "product": {"id": "", "created_at": "2024-01-04T03:39:38.578Z", "modified_at": "2025-05-06T00:46:00.044Z", "trial_interval": "day", "trial_interval_count": 941013, "name": "", "description": "growing opposite tomography telescope quiet why phew", "visibility": "private", "recurring_interval": "year", "recurring_interval_count": 96114, "meter_interval": "month", "meter_interval_count": null, "is_recurring": true, "is_archived": false, "organization_id": "", "prices": [{"created_at": "2025-05-06T00:46:00.044Z", "modified_at": "2023-10-31T12:02:35.613Z", "id": "", "source": "ad_hoc", "amount_type": "fixed", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_amount": 746007, "legacy": true}], "benefits": [{"id": "", "created_at": "2024-03-14T21:13:40.961Z", "modified_at": "2023-12-24T01:29:54.279Z", "type": "meter_credit", "description": "huzzah tomorrow duh yum gray cycle of", "selectable": false, "deletable": false, "is_deleted": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/var", "mime_type": "", "size": 746159, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-05-29T22:38:24.131Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2024-10-04T11:44:37.534Z", "size_readable": "", "public_url": "https://old-calculus.biz/"}], "organization": {"created_at": "2024-02-09T13:11:33.758Z", "modified_at": "2025-12-02T08:22:49.298Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://definitive-toaster.biz", "proration_behavior": "invoice", "allow_customer_updates": false, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": true, "update_plan": false}}}}, "prices": [{"created_at": "2024-01-12T09:39:36.733Z", "modified_at": "2023-09-02T17:20:24.135Z", "id": "", "source": "catalog", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "unit_amount": "", "cap_amount": 655254, "meter_id": "", "meter": {"id": "", "name": "", "unit": "scalar", "custom_label": "", "custom_multiplier": 228069}}], "meters": [{"created_at": "2024-01-02T23:41:03.483Z", "modified_at": "2024-07-07T11:53:07.154Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"created_at": "2024-12-27T05:30:39.834Z", "modified_at": "2024-11-06T16:58:02.245Z", "id": "", "name": ""}}], "pending_update": {"created_at": "2024-02-04T21:40:45.220Z", "modified_at": "2024-04-15T08:10:49.325Z", "id": "", "applies_at": "2026-11-01T07:42:50.677Z", "product_id": "", "seats": 441605}}], "pagination": {"total_count": 99404, "max_page": 312046}} "422": application/json: {} customer_portal:subscriptions:get: @@ -11243,7 +12017,7 @@ examples: id: "" responses: "200": - application/json: {"created_at": "2023-07-12T17:28:38.797Z", "modified_at": "2025-06-29T15:49:22.120Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "month", "recurring_interval_count": 175847, "status": "incomplete", "current_period_start": "2025-01-28T04:47:39.807Z", "current_period_end": "2024-12-11T03:15:34.736Z", "trial_start": "2025-06-29T15:49:22.120Z", "trial_end": "2024-11-13T19:04:25.284Z", "cancel_at_period_end": true, "canceled_at": "2025-04-27T11:18:42.852Z", "started_at": "2023-09-11T20:47:05.678Z", "ends_at": "2025-08-05T11:04:05.877Z", "ended_at": "2024-01-29T06:39:34.276Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "too_complex", "customer_cancellation_comment": "", "product": {"id": "", "created_at": "2024-12-08T10:29:34.380Z", "modified_at": "2023-01-27T20:11:12.304Z", "trial_interval": "day", "trial_interval_count": 647934, "name": "", "description": "rightfully breastplate pretend because", "visibility": "draft", "recurring_interval": "month", "recurring_interval_count": 162063, "is_recurring": false, "is_archived": false, "organization_id": "", "prices": [{"created_at": "2023-06-27T14:55:14.822Z", "modified_at": "2024-06-06T10:00:39.244Z", "id": "", "source": "catalog", "amount_type": "free", "price_currency": "", "tax_behavior": "exclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}], "benefits": [{"id": "", "created_at": "2024-05-10T07:46:44.640Z", "modified_at": "2023-05-10T03:58:02.060Z", "type": "license_keys", "description": "importance whole whoever whoa furthermore hole nervously wrongly young crackle", "selectable": true, "deletable": true, "organization_id": ""}, {"id": "", "created_at": "2024-05-10T07:46:44.640Z", "modified_at": "2023-05-10T03:58:02.060Z", "type": "license_keys", "description": "importance whole whoever whoa furthermore hole nervously wrongly young crackle", "selectable": true, "deletable": true, "organization_id": ""}, {"id": "", "created_at": "2024-05-10T07:46:44.640Z", "modified_at": "2023-05-10T03:58:02.060Z", "type": "license_keys", "description": "importance whole whoever whoa furthermore hole nervously wrongly young crackle", "selectable": true, "deletable": true, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/usr/libexec", "mime_type": "", "size": 884334, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-01-27T02:02:41.503Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-01-17T23:03:26.187Z", "size_readable": "", "public_url": "https://dirty-step-mother.com"}, {"id": "", "organization_id": "", "name": "", "path": "/usr/libexec", "mime_type": "", "size": 884334, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-01-27T02:02:41.503Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-01-17T23:03:26.187Z", "size_readable": "", "public_url": "https://dirty-step-mother.com"}, {"id": "", "organization_id": "", "name": "", "path": "/usr/libexec", "mime_type": "", "size": 884334, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-01-27T02:02:41.503Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-01-17T23:03:26.187Z", "size_readable": "", "public_url": "https://dirty-step-mother.com"}], "organization": {"created_at": "2023-08-25T19:23:01.014Z", "modified_at": "2023-02-14T08:44:05.506Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://broken-breastplate.net", "proration_behavior": "prorate", "allow_customer_updates": true, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": true, "update_plan": true}}}}, "prices": [], "meters": [], "pending_update": {"created_at": "2025-11-13T19:04:25.284Z", "modified_at": "2024-04-27T08:36:55.144Z", "id": "", "applies_at": "2026-01-28T04:47:39.807Z", "product_id": "", "seats": 773241}} + application/json: {"created_at": "2023-07-12T17:28:38.797Z", "modified_at": "2025-06-29T15:49:22.120Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "month", "recurring_interval_count": 175847, "status": "incomplete", "current_period_start": "2025-01-28T04:47:39.807Z", "current_period_end": "2024-12-11T03:15:34.736Z", "current_meter_period_start": "2026-06-29T15:49:22.120Z", "current_meter_period_end": "2025-11-13T19:04:25.284Z", "trial_start": "2025-06-29T15:49:22.120Z", "trial_end": "2024-11-13T19:04:25.284Z", "cancel_at_period_end": true, "canceled_at": "2025-04-27T11:18:42.852Z", "started_at": "2023-09-11T20:47:05.678Z", "ends_at": "2025-08-05T11:04:05.877Z", "ended_at": "2024-01-29T06:39:34.276Z", "pause_at_period_end": true, "paused_at": "2026-01-28T04:47:39.807Z", "resumes_at": "2025-04-24T05:26:50.928Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "too_complex", "customer_cancellation_comment": "", "product": {"id": "", "created_at": "2024-12-08T10:29:34.380Z", "modified_at": "2023-01-27T20:11:12.304Z", "trial_interval": "day", "trial_interval_count": 647934, "name": "", "description": "rightfully breastplate pretend because", "visibility": "draft", "recurring_interval": "month", "recurring_interval_count": 162063, "meter_interval": "day", "meter_interval_count": 358830, "is_recurring": false, "is_archived": false, "organization_id": "", "prices": [{"created_at": "2024-01-27T20:11:12.304Z", "modified_at": "2026-05-26T12:14:55.999Z", "id": "", "source": "catalog", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "exclusive", "is_archived": true, "product_id": "", "unit_amount": "", "cap_amount": 679060, "meter_id": "", "meter": {"id": "", "name": "", "unit": "scalar", "custom_label": "", "custom_multiplier": 294613}}], "benefits": [{"id": "", "created_at": "2024-05-10T07:46:44.640Z", "modified_at": "2023-05-10T03:58:02.060Z", "type": "license_keys", "description": "importance whole whoever whoa furthermore hole nervously wrongly young crackle", "selectable": true, "deletable": true, "is_deleted": true, "organization_id": ""}, {"id": "", "created_at": "2024-05-10T07:46:44.640Z", "modified_at": "2023-05-10T03:58:02.060Z", "type": "license_keys", "description": "importance whole whoever whoa furthermore hole nervously wrongly young crackle", "selectable": true, "deletable": true, "is_deleted": true, "organization_id": ""}, {"id": "", "created_at": "2024-05-10T07:46:44.640Z", "modified_at": "2023-05-10T03:58:02.060Z", "type": "license_keys", "description": "importance whole whoever whoa furthermore hole nervously wrongly young crackle", "selectable": true, "deletable": true, "is_deleted": true, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/usr/libexec", "mime_type": "", "size": 884334, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-01-27T02:02:41.503Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-01-17T23:03:26.187Z", "size_readable": "", "public_url": "https://dirty-step-mother.com"}, {"id": "", "organization_id": "", "name": "", "path": "/usr/libexec", "mime_type": "", "size": 884334, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-01-27T02:02:41.503Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-01-17T23:03:26.187Z", "size_readable": "", "public_url": "https://dirty-step-mother.com"}, {"id": "", "organization_id": "", "name": "", "path": "/usr/libexec", "mime_type": "", "size": 884334, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-01-27T02:02:41.503Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-01-17T23:03:26.187Z", "size_readable": "", "public_url": "https://dirty-step-mother.com"}], "organization": {"created_at": "2023-08-25T19:23:01.014Z", "modified_at": "2023-02-14T08:44:05.506Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://broken-breastplate.net", "proration_behavior": "prorate", "allow_customer_updates": true, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": true, "update_plan": true}}}}, "prices": [], "meters": [], "pending_update": {"created_at": "2025-11-13T19:04:25.284Z", "modified_at": "2024-04-27T08:36:55.144Z", "id": "", "applies_at": "2026-01-28T04:47:39.807Z", "product_id": "", "seats": 773241}} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -11257,7 +12031,7 @@ examples: application/json: {} responses: "200": - application/json: {"created_at": "2025-02-02T12:28:03.145Z", "modified_at": "2024-05-05T11:52:58.589Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "month", "recurring_interval_count": 762480, "status": "incomplete", "current_period_start": "2024-05-02T00:48:47.943Z", "current_period_end": "2025-04-10T15:02:11.907Z", "trial_start": "2025-02-02T12:28:03.145Z", "trial_end": "2025-08-15T14:46:08.118Z", "cancel_at_period_end": true, "canceled_at": "2025-10-25T22:10:52.328Z", "started_at": "2025-02-06T13:35:55.076Z", "ends_at": "2024-03-16T11:27:11.204Z", "ended_at": "2025-11-12T16:20:13.096Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "other", "customer_cancellation_comment": "", "product": {"id": "", "created_at": "2025-10-01T04:09:15.514Z", "modified_at": "2023-05-18T04:03:20.458Z", "trial_interval": "day", "trial_interval_count": 444374, "name": "", "description": "after about shy remark blindly gut surge mysteriously", "visibility": "public", "recurring_interval": "year", "recurring_interval_count": 447532, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2024-05-05T11:52:58.589Z", "modified_at": "2023-07-27T15:38:08.165Z", "id": "", "source": "ad_hoc", "amount_type": "free", "price_currency": "", "tax_behavior": "exclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}, {"created_at": "2025-02-06T13:35:55.076Z", "modified_at": "2025-11-12T16:20:13.096Z", "id": "", "source": "ad_hoc", "amount_type": "free", "price_currency": "", "tax_behavior": "exclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}, {"created_at": "2023-06-12T13:50:06.969Z", "modified_at": null, "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_amount": 1755, "legacy": true}], "benefits": [{"id": "", "created_at": "2023-02-20T23:17:32.070Z", "modified_at": "2023-05-11T16:03:14.155Z", "type": "custom", "description": "fleck mmm galvanize afore likely nor honesty on pish nightlife", "selectable": false, "deletable": false, "organization_id": ""}, {"id": "", "created_at": "2023-02-20T23:17:32.070Z", "modified_at": "2023-05-11T16:03:14.155Z", "type": "custom", "description": "fleck mmm galvanize afore likely nor honesty on pish nightlife", "selectable": false, "deletable": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/opt/share", "mime_type": "", "size": 418266, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-09-24T22:10:55.930Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2024-06-03T15:23:50.070Z", "size_readable": "", "public_url": "https://kaleidoscopic-sermon.biz/"}], "organization": {"created_at": "2024-03-23T04:42:30.563Z", "modified_at": "2024-03-17T13:09:17.987Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://unique-morning.biz", "proration_behavior": "prorate", "allow_customer_updates": true, "customer_portal_settings": {"usage": {"show": true}, "subscription": {"update_seats": true, "update_plan": true}}}}, "prices": [{"created_at": "2025-08-28T18:56:23.778Z", "modified_at": "2024-06-13T05:57:27.540Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 696642, "maximum_amount": 614418, "preset_amount": 411468, "legacy": true}, {"created_at": "2025-03-23T14:23:14.901Z", "modified_at": "2024-08-02T21:04:48.172Z", "id": "", "source": "catalog", "amount_type": "free", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}, {"created_at": "2023-02-25T13:28:24.284Z", "modified_at": "2025-02-16T03:06:21.333Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": "exclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 516343, "maximum_amount": 548914, "preset_amount": 899555, "legacy": true}], "meters": [{"created_at": "2025-12-04T10:33:41.991Z", "modified_at": "2024-02-15T02:45:06.709Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"created_at": "2025-03-17T14:07:39.213Z", "modified_at": "2024-01-15T18:31:43.688Z", "id": "", "name": ""}}, {"created_at": "2025-12-04T10:33:41.991Z", "modified_at": "2024-02-15T02:45:06.709Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"created_at": "2025-03-17T14:07:39.213Z", "modified_at": "2024-01-15T18:31:43.688Z", "id": "", "name": ""}}, {"created_at": "2025-12-04T10:33:41.991Z", "modified_at": "2024-02-15T02:45:06.709Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"created_at": "2025-03-17T14:07:39.213Z", "modified_at": "2024-01-15T18:31:43.688Z", "id": "", "name": ""}}], "pending_update": {"created_at": "2026-11-12T16:20:13.096Z", "modified_at": "2026-10-01T04:09:15.514Z", "id": "", "applies_at": "2024-05-17T04:03:20.458Z", "product_id": "", "seats": 75222}} + application/json: {"created_at": "2025-02-02T12:28:03.145Z", "modified_at": "2024-05-05T11:52:58.589Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "month", "recurring_interval_count": 762480, "status": "incomplete", "current_period_start": "2024-05-02T00:48:47.943Z", "current_period_end": "2025-04-10T15:02:11.907Z", "current_meter_period_start": "2026-02-02T12:28:03.145Z", "current_meter_period_end": "2026-08-15T14:46:08.118Z", "trial_start": "2025-02-02T12:28:03.145Z", "trial_end": "2025-08-15T14:46:08.118Z", "cancel_at_period_end": true, "canceled_at": "2025-10-25T22:10:52.328Z", "started_at": "2025-02-06T13:35:55.076Z", "ends_at": "2024-03-16T11:27:11.204Z", "ended_at": "2025-11-12T16:20:13.096Z", "pause_at_period_end": true, "paused_at": "2024-04-28T09:45:10.460Z", "resumes_at": "2026-04-10T15:02:11.907Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "other", "customer_cancellation_comment": "", "product": {"id": "", "created_at": "2025-10-01T04:09:15.514Z", "modified_at": "2023-05-18T04:03:20.458Z", "trial_interval": "day", "trial_interval_count": 444374, "name": "", "description": "after about shy remark blindly gut surge mysteriously", "visibility": "public", "recurring_interval": "year", "recurring_interval_count": 447532, "meter_interval": null, "meter_interval_count": 700335, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2026-10-09T15:39:35.938Z", "modified_at": "2024-05-17T04:03:20.458Z", "id": "", "source": "ad_hoc", "amount_type": "fixed", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "day", "price_amount": 1755, "legacy": true}, {"created_at": "2026-08-28T18:56:23.778Z", "modified_at": "2025-06-13T05:57:27.540Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "minimum_amount": 922772, "maximum_amount": 257508, "preset_amount": 550689}, {"created_at": "2023-06-12T13:50:06.969Z", "modified_at": null, "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_amount": 1755, "legacy": true}], "benefits": [{"id": "", "created_at": "2023-02-20T23:17:32.070Z", "modified_at": "2023-05-11T16:03:14.155Z", "type": "custom", "description": "fleck mmm galvanize afore likely nor honesty on pish nightlife", "selectable": false, "deletable": false, "is_deleted": false, "organization_id": ""}, {"id": "", "created_at": "2023-02-20T23:17:32.070Z", "modified_at": "2023-05-11T16:03:14.155Z", "type": "custom", "description": "fleck mmm galvanize afore likely nor honesty on pish nightlife", "selectable": false, "deletable": false, "is_deleted": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/opt/share", "mime_type": "", "size": 418266, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-09-24T22:10:55.930Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2024-06-03T15:23:50.070Z", "size_readable": "", "public_url": "https://kaleidoscopic-sermon.biz/"}], "organization": {"created_at": "2024-03-23T04:42:30.563Z", "modified_at": "2024-03-17T13:09:17.987Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://unique-morning.biz", "proration_behavior": "prorate", "allow_customer_updates": true, "customer_portal_settings": {"usage": {"show": true}, "subscription": {"update_seats": true, "update_plan": true}}}}, "prices": [{"created_at": "2025-08-28T18:56:23.778Z", "modified_at": "2024-06-13T05:57:27.540Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 696642, "maximum_amount": 614418, "preset_amount": 411468, "legacy": true}, {"created_at": "2024-05-11T19:59:05.094Z", "modified_at": null, "id": "", "source": "ad_hoc", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "exclusive", "is_archived": true, "product_id": "", "unit_amount": "", "cap_amount": null, "meter_id": "", "meter": {"id": "", "name": "", "unit": "custom", "custom_label": "", "custom_multiplier": null}}, {"created_at": "2023-02-25T13:28:24.284Z", "modified_at": "2025-02-16T03:06:21.333Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": "exclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 516343, "maximum_amount": 548914, "preset_amount": 899555, "legacy": true}], "meters": [{"created_at": "2025-12-04T10:33:41.991Z", "modified_at": "2024-02-15T02:45:06.709Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"created_at": "2025-03-17T14:07:39.213Z", "modified_at": "2024-01-15T18:31:43.688Z", "id": "", "name": ""}}, {"created_at": "2025-12-04T10:33:41.991Z", "modified_at": "2024-02-15T02:45:06.709Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"created_at": "2025-03-17T14:07:39.213Z", "modified_at": "2024-01-15T18:31:43.688Z", "id": "", "name": ""}}, {"created_at": "2025-12-04T10:33:41.991Z", "modified_at": "2024-02-15T02:45:06.709Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"created_at": "2025-03-17T14:07:39.213Z", "modified_at": "2024-01-15T18:31:43.688Z", "id": "", "name": ""}}], "pending_update": {"created_at": "2026-11-12T16:20:13.096Z", "modified_at": "2026-10-01T04:09:15.514Z", "id": "", "applies_at": "2024-05-17T04:03:20.458Z", "product_id": "", "seats": 75222}} "403": application/json: {"error": "AlreadyCanceledSubscription", "detail": ""} "404": @@ -11273,7 +12047,7 @@ examples: id: "" responses: "200": - application/json: {"created_at": "2023-03-14T00:34:28.136Z", "modified_at": "2023-09-09T10:33:53.309Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "year", "recurring_interval_count": 65715, "status": "incomplete_expired", "current_period_start": "2025-04-20T11:15:42.217Z", "current_period_end": "2024-04-07T12:57:17.210Z", "trial_start": null, "trial_end": "2025-03-22T12:28:05.757Z", "cancel_at_period_end": false, "canceled_at": "2025-10-10T15:35:40.020Z", "started_at": "2024-02-25T05:56:22.572Z", "ends_at": "2023-02-16T10:11:42.223Z", "ended_at": "2025-10-30T05:06:32.723Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "customer_service", "customer_cancellation_comment": "", "product": {"id": "", "created_at": "2025-09-28T07:43:04.431Z", "modified_at": "2025-04-12T20:30:15.370Z", "trial_interval": "year", "trial_interval_count": 766852, "name": "", "description": "utter superior tapioca voluntarily", "visibility": "draft", "recurring_interval": "year", "recurring_interval_count": 740438, "is_recurring": false, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2025-03-22T12:28:05.757Z", "modified_at": "2025-04-16T15:43:34.874Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": null, "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 948870, "maximum_amount": 383437, "preset_amount": null, "legacy": true}], "benefits": [], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/Library", "mime_type": "", "size": 898055, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-08-16T18:54:35.749Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2024-08-16T07:52:23.421Z", "size_readable": "", "public_url": "https://firm-stool.info/"}], "organization": {"created_at": "2024-02-13T09:57:44.502Z", "modified_at": "2023-05-25T00:47:42.399Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://ideal-retention.com", "proration_behavior": "invoice", "allow_customer_updates": false, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": false, "update_plan": true}}}}, "prices": [], "meters": [{"created_at": "2023-11-11T23:46:28.631Z", "modified_at": "2024-07-12T18:40:04.657Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"created_at": "2025-04-25T21:03:55.742Z", "modified_at": "2024-09-29T21:22:23.754Z", "id": "", "name": ""}}, {"created_at": "2023-11-11T23:46:28.631Z", "modified_at": "2024-07-12T18:40:04.657Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"created_at": "2025-04-25T21:03:55.742Z", "modified_at": "2024-09-29T21:22:23.754Z", "id": "", "name": ""}}], "pending_update": {"created_at": "2026-03-22T12:28:05.757Z", "modified_at": "2026-04-16T15:43:34.874Z", "id": "", "applies_at": "2024-10-27T14:52:02.493Z", "product_id": "", "seats": 948870}} + application/json: {"created_at": "2023-03-14T00:34:28.136Z", "modified_at": "2023-09-09T10:33:53.309Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "year", "recurring_interval_count": 65715, "status": "incomplete_expired", "current_period_start": "2025-04-20T11:15:42.217Z", "current_period_end": "2024-04-07T12:57:17.210Z", "current_meter_period_start": null, "current_meter_period_end": "2026-03-22T12:28:05.757Z", "trial_start": null, "trial_end": "2025-03-22T12:28:05.757Z", "cancel_at_period_end": false, "canceled_at": "2025-10-10T15:35:40.020Z", "started_at": "2024-02-25T05:56:22.572Z", "ends_at": "2023-02-16T10:11:42.223Z", "ended_at": "2025-10-30T05:06:32.723Z", "pause_at_period_end": false, "paused_at": "2024-10-27T14:52:02.493Z", "resumes_at": "2025-04-07T12:57:17.210Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "customer_service", "customer_cancellation_comment": "", "product": {"id": "", "created_at": "2025-09-28T07:43:04.431Z", "modified_at": "2025-04-12T20:30:15.370Z", "trial_interval": "year", "trial_interval_count": 766852, "name": "", "description": "utter superior tapioca voluntarily", "visibility": "draft", "recurring_interval": "year", "recurring_interval_count": 740438, "meter_interval": "year", "meter_interval_count": 42358, "is_recurring": false, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2025-03-22T12:28:05.757Z", "modified_at": "2025-04-16T15:43:34.874Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": null, "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 948870, "maximum_amount": 383437, "preset_amount": null, "legacy": true}], "benefits": [], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/Library", "mime_type": "", "size": 898055, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-08-16T18:54:35.749Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2024-08-16T07:52:23.421Z", "size_readable": "", "public_url": "https://firm-stool.info/"}], "organization": {"created_at": "2024-02-13T09:57:44.502Z", "modified_at": "2023-05-25T00:47:42.399Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://ideal-retention.com", "proration_behavior": "invoice", "allow_customer_updates": false, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": false, "update_plan": true}}}}, "prices": [], "meters": [{"created_at": "2023-11-11T23:46:28.631Z", "modified_at": "2024-07-12T18:40:04.657Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"created_at": "2025-04-25T21:03:55.742Z", "modified_at": "2024-09-29T21:22:23.754Z", "id": "", "name": ""}}, {"created_at": "2023-11-11T23:46:28.631Z", "modified_at": "2024-07-12T18:40:04.657Z", "id": "", "consumed_units": 25, "credited_units": 100, "amount": 0, "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "meter": {"created_at": "2025-04-25T21:03:55.742Z", "modified_at": "2024-09-29T21:22:23.754Z", "id": "", "name": ""}}], "pending_update": {"created_at": "2026-03-22T12:28:05.757Z", "modified_at": "2026-04-16T15:43:34.874Z", "id": "", "applies_at": "2024-10-27T14:52:02.493Z", "product_id": "", "seats": 948870}} "403": application/json: {"error": "AlreadyCanceledSubscription", "detail": ""} "404": @@ -11286,7 +12060,7 @@ examples: application/json: {"external_customer_id": ""} responses: "201": - application/json: {"created_at": "2023-02-22T22:32:12.329Z", "modified_at": "2023-04-06T18:06:47.332Z", "id": "", "token": "", "expires_at": "2024-09-04T03:25:26.472Z", "return_url": "https://bright-mathematics.biz/", "customer_portal_url": "https://neglected-bran.biz/", "customer_id": "", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2023-03-20T12:56:34.812Z", "modified_at": "2024-05-21T22:50:11.423Z", "metadata": {}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-09-28T08:55:44.797Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}} + application/json: {"created_at": "2023-02-22T22:32:12.329Z", "modified_at": "2023-04-06T18:06:47.332Z", "id": "", "token": "", "expires_at": "2024-09-04T03:25:26.472Z", "return_url": "https://bright-mathematics.biz/", "customer_portal_url": "https://neglected-bran.biz/", "customer_id": "", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2023-03-20T12:56:34.812Z", "modified_at": "2024-05-21T22:50:11.423Z", "metadata": {}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-09-28T08:55:44.797Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}} "422": application/json: {} events:list: @@ -11298,7 +12072,7 @@ examples: limit: 10 responses: "200": - application/json: {"items": [{"id": "", "timestamp": "2025-04-23T12:38:06.948Z", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "customer_id": "", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2026-11-05T19:10:02.206Z", "modified_at": "2026-06-07T22:31:55.492Z", "metadata": {}, "email_verified": true, "type": "team", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-12-11T18:14:49.510Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "external_customer_id": null, "child_count": 0, "label": "", "name": "", "source": "user", "metadata": {}}, {"id": "", "timestamp": "2025-04-23T12:38:06.948Z", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "customer_id": "", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2026-11-05T19:10:02.206Z", "modified_at": "2026-06-07T22:31:55.492Z", "metadata": {}, "email_verified": true, "type": "team", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-12-11T18:14:49.510Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "external_customer_id": null, "child_count": 0, "label": "", "name": "", "source": "user", "metadata": {}}], "pagination": {"has_next_page": true}} + application/json: {"items": [{"id": "", "timestamp": "2025-04-23T12:38:06.948Z", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "customer_id": "", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2026-11-05T19:10:02.206Z", "modified_at": "2026-06-07T22:31:55.492Z", "metadata": {}, "email_verified": true, "type": "team", "name": "John Doe", "billing_name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-12-11T18:14:49.510Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "external_customer_id": null, "child_count": 0, "label": "", "name": "", "source": "user", "metadata": {}}, {"id": "", "timestamp": "2025-04-23T12:38:06.948Z", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "customer_id": "", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2026-11-05T19:10:02.206Z", "modified_at": "2026-06-07T22:31:55.492Z", "metadata": {}, "email_verified": true, "type": "team", "name": "John Doe", "billing_name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-12-11T18:14:49.510Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "external_customer_id": null, "child_count": 0, "label": "", "name": "", "source": "user", "metadata": {}}], "pagination": {"has_next_page": true}} "422": application/json: {} events:list_names: @@ -11310,7 +12084,7 @@ examples: limit: 10 responses: "200": - application/json: {"items": [{"name": "", "source": "system", "occurrences": 985205, "first_seen": "2023-02-04T08:04:20.836Z", "last_seen": "2023-06-26T14:35:07.632Z"}, {"name": "", "source": "system", "occurrences": 985205, "first_seen": "2023-02-04T08:04:20.836Z", "last_seen": "2023-06-26T14:35:07.632Z"}, {"name": "", "source": "system", "occurrences": 985205, "first_seen": "2023-02-04T08:04:20.836Z", "last_seen": "2023-06-26T14:35:07.632Z"}], "pagination": {"total_count": 939199, "max_page": 509992}} + application/json: {"items": [{"name": "", "label": "", "source": "system", "occurrences": 985205, "first_seen": "2023-02-04T08:04:20.836Z", "last_seen": "2023-06-26T14:35:07.632Z"}, {"name": "", "label": "", "source": "system", "occurrences": 985205, "first_seen": "2023-02-04T08:04:20.836Z", "last_seen": "2023-06-26T14:35:07.632Z"}, {"name": "", "label": "", "source": "system", "occurrences": 985205, "first_seen": "2023-02-04T08:04:20.836Z", "last_seen": "2023-06-26T14:35:07.632Z"}], "pagination": {"total_count": 939199, "max_page": 509992}} "422": application/json: {} events:get: @@ -11320,7 +12094,7 @@ examples: id: "" responses: "200": - application/json: {"id": "", "timestamp": "2025-12-29T20:03:49.261Z", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "customer_id": "", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2025-09-22T14:34:23.075Z", "modified_at": "2023-02-16T11:15:28.010Z", "metadata": {}, "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-06-02T11:41:47.678Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "external_customer_id": "", "child_count": 0, "label": "", "name": "", "source": "user", "metadata": {"key": "", "key1": true, "key2": false}} + application/json: {"id": "", "timestamp": "2025-12-29T20:03:49.261Z", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "customer_id": "", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2025-09-22T14:34:23.075Z", "modified_at": "2023-02-16T11:15:28.010Z", "metadata": {}, "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-06-02T11:41:47.678Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "external_customer_id": "", "child_count": 0, "label": "", "name": "", "source": "user", "metadata": {"key": "", "key1": true, "key2": false}} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -11343,7 +12117,7 @@ examples: limit: 10 responses: "200": - application/json: {"items": [{"metadata": {"key": "", "key1": 905508, "key2": 6366.53}, "created_at": "2025-12-29T22:27:21.321Z", "modified_at": "2023-03-16T14:22:37.047Z", "id": "", "name": "", "filter": {"conjunction": "and", "clauses": [{"property": "", "operator": "not_like", "value": true}]}, "aggregation": {"func": "count"}, "organization_id": ""}, {"metadata": {"key": "", "key1": true, "key2": 6366.53}, "created_at": "2025-12-29T22:27:21.321Z", "modified_at": "2023-03-16T14:22:37.047Z", "id": "", "name": "", "filter": {"conjunction": "and", "clauses": [{"property": "", "operator": "not_like", "value": true}]}, "aggregation": {"func": "count"}, "organization_id": ""}, {"metadata": {"key": "", "key1": false, "key2": 6366.53}, "created_at": "2025-12-29T22:27:21.321Z", "modified_at": "2023-03-16T14:22:37.047Z", "id": "", "name": "", "filter": {"conjunction": "and", "clauses": [{"property": "", "operator": "not_like", "value": true}]}, "aggregation": {"func": "count"}, "organization_id": ""}], "pagination": {"total_count": 842980, "max_page": 318438}} + application/json: {"items": [{"metadata": {"key": "", "key1": 905508, "key2": 6366.53}, "created_at": "2025-12-29T22:27:21.321Z", "modified_at": "2023-03-16T14:22:37.047Z", "id": "", "name": "", "unit": "token", "filter": {"conjunction": "and", "clauses": [{"property": "", "operator": "not_like", "value": true}]}, "aggregation": {"func": "count"}, "organization_id": ""}, {"metadata": {"key": "", "key1": true, "key2": 6366.53}, "created_at": "2025-12-29T22:27:21.321Z", "modified_at": "2023-03-16T14:22:37.047Z", "id": "", "name": "", "unit": "custom", "filter": {"conjunction": "and", "clauses": [{"property": "", "operator": "not_like", "value": true}]}, "aggregation": {"func": "count"}, "organization_id": ""}, {"metadata": {"key": "", "key1": false, "key2": 6366.53}, "created_at": "2025-12-29T22:27:21.321Z", "modified_at": "2023-03-16T14:22:37.047Z", "id": "", "name": "", "unit": "custom", "filter": {"conjunction": "and", "clauses": [{"property": "", "operator": "not_like", "value": true}]}, "aggregation": {"func": "count"}, "organization_id": ""}], "pagination": {"total_count": 842980, "max_page": 318438}} "422": application/json: {} meters:create: @@ -11352,7 +12126,7 @@ examples: application/json: {"name": "", "filter": {"conjunction": "or", "clauses": [{"property": "", "operator": "ne", "value": ""}]}, "aggregation": {"func": "max", "property": ""}, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"} responses: "201": - application/json: {"metadata": {"key": 587595, "key1": 9139.2, "key2": true}, "created_at": "2023-04-27T08:23:56.205Z", "modified_at": "2023-03-02T06:28:43.846Z", "id": "", "name": "", "filter": {"conjunction": "or", "clauses": [{"property": "", "operator": "ne", "value": ""}]}, "aggregation": {"func": "max", "property": ""}, "organization_id": ""} + application/json: {"metadata": {"key": 587595, "key1": 9139.2, "key2": true}, "created_at": "2023-04-27T08:23:56.205Z", "modified_at": "2023-03-02T06:28:43.846Z", "id": "", "name": "", "unit": "custom", "filter": {"conjunction": "or", "clauses": [{"property": "", "operator": "ne", "value": ""}]}, "aggregation": {"func": "max", "property": ""}, "organization_id": ""} "422": application/json: {} meters:get: @@ -11362,7 +12136,7 @@ examples: id: "" responses: "200": - application/json: {"metadata": {"key": false, "key1": 930825, "key2": 251182}, "created_at": "2025-09-12T02:04:38.839Z", "modified_at": "2025-01-31T04:21:54.744Z", "id": "", "name": "", "filter": {"conjunction": "or", "clauses": []}, "aggregation": {"func": "count"}, "organization_id": ""} + application/json: {"metadata": {"key": false, "key1": 930825, "key2": 251182}, "created_at": "2025-09-12T02:04:38.839Z", "modified_at": "2025-01-31T04:21:54.744Z", "id": "", "name": "", "unit": "custom", "filter": {"conjunction": "or", "clauses": []}, "aggregation": {"func": "count"}, "organization_id": ""} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -11376,7 +12150,7 @@ examples: application/json: {} responses: "200": - application/json: {"metadata": {"key": 811491}, "created_at": "2023-07-01T03:38:01.112Z", "modified_at": "2025-02-17T01:42:09.108Z", "id": "", "name": "", "filter": {"conjunction": "and", "clauses": []}, "aggregation": {"func": "min", "property": ""}, "organization_id": ""} + application/json: {"metadata": {"key": 811491}, "created_at": "2023-07-01T03:38:01.112Z", "modified_at": "2025-02-17T01:42:09.108Z", "id": "", "name": "", "unit": "scalar", "filter": {"conjunction": "and", "clauses": []}, "aggregation": {"func": "min", "property": ""}, "organization_id": ""} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -11407,7 +12181,7 @@ examples: limit: 10 responses: "200": - application/json: {"items": [{"id": "", "created_at": "2023-09-26T20:59:43.930Z", "modified_at": "2023-02-06T00:18:45.743Z", "customer_id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "consumed_units": 25, "credited_units": 100, "balance": 75, "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2025-01-19T17:27:25.354Z", "modified_at": "2024-02-06T00:18:45.743Z", "metadata": {"key": 9457.77}, "email_verified": true, "type": "team", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": null, "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "meter": {"metadata": {"key": true, "key1": "", "key2": 807797}, "created_at": "2025-04-01T23:31:31.110Z", "modified_at": "2025-02-17T08:31:59.406Z", "id": "", "name": "", "filter": {"conjunction": "or", "clauses": [{"property": "", "operator": "ne", "value": ""}]}, "aggregation": {"func": "avg", "property": ""}, "organization_id": ""}}], "pagination": {"total_count": 340868, "max_page": 210107}} + application/json: {"items": [{"id": "", "created_at": "2023-09-26T20:59:43.930Z", "modified_at": "2023-02-06T00:18:45.743Z", "customer_id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "consumed_units": 25, "credited_units": 100, "balance": 75, "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2025-01-19T17:27:25.354Z", "modified_at": "2024-02-06T00:18:45.743Z", "metadata": {"key": 9457.77}, "email_verified": true, "type": "team", "name": "John Doe", "billing_name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": null, "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "meter": {"metadata": {"key": true, "key1": "", "key2": 807797}, "created_at": "2025-04-01T23:31:31.110Z", "modified_at": "2025-02-17T08:31:59.406Z", "id": "", "name": "", "unit": "token", "filter": {"conjunction": "or", "clauses": [{"property": "", "operator": "ne", "value": ""}]}, "aggregation": {"func": "avg", "property": ""}, "organization_id": ""}}], "pagination": {"total_count": 340868, "max_page": 210107}} "422": application/json: {} customer_meters:get: @@ -11417,7 +12191,7 @@ examples: id: "" responses: "200": - application/json: {"id": "", "created_at": "2024-09-06T08:13:35.629Z", "modified_at": "2023-09-15T16:58:35.937Z", "customer_id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "consumed_units": 25, "credited_units": 100, "balance": 75, "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2025-01-26T12:35:40.613Z", "modified_at": "2024-11-21T12:36:06.043Z", "metadata": {}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2024-06-13T05:08:01.775Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "meter": {"metadata": {"key": 1949.8, "key1": 217399, "key2": 157.29}, "created_at": "2024-09-14T02:49:06.821Z", "modified_at": "2023-05-23T12:25:17.816Z", "id": "", "name": "", "filter": {"conjunction": "and", "clauses": []}, "aggregation": {"func": "max", "property": ""}, "organization_id": ""}} + application/json: {"id": "", "created_at": "2024-09-06T08:13:35.629Z", "modified_at": "2023-09-15T16:58:35.937Z", "customer_id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22", "consumed_units": 25, "credited_units": 100, "balance": 75, "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2025-01-26T12:35:40.613Z", "modified_at": "2024-11-21T12:36:06.043Z", "metadata": {}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2024-06-13T05:08:01.775Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "meter": {"metadata": {"key": 1949.8, "key1": 217399, "key2": 157.29}, "created_at": "2024-09-14T02:49:06.821Z", "modified_at": "2023-05-23T12:25:17.816Z", "id": "", "name": "", "unit": "token", "filter": {"conjunction": "and", "clauses": []}, "aggregation": {"func": "max", "property": ""}, "organization_id": ""}} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -11431,7 +12205,7 @@ examples: limit: 10 responses: "200": - application/json: {"items": [{"created_at": "2025-11-17T14:42:10.265Z", "modified_at": "2025-01-04T05:31:00.726Z", "id": "", "processor": "stripe", "status": "succeeded", "amount": 1000, "currency": "usd", "method": "card", "decline_reason": "insufficient_funds", "decline_message": "Your card has insufficient funds.", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "checkout_id": "e4b478fa-cd25-4253-9f1f-8a41e6370ede", "order_id": "e4b478fa-cd25-4253-9f1f-8a41e6370ede", "method_metadata": {"brand": "visa", "last4": "4242"}}], "pagination": {"total_count": 835522, "max_page": 881287}} + application/json: {"items": [{"created_at": "2025-06-28T14:46:14.367Z", "modified_at": "2026-11-17T14:42:10.265Z", "id": "", "processor": "stripe", "status": "failed", "amount": 1000, "currency": "usd", "method": "card", "trigger": "subscription_cycle", "decline_reason": "insufficient_funds", "decline_message": "Your card has insufficient funds.", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "checkout_id": "e4b478fa-cd25-4253-9f1f-8a41e6370ede", "order_id": "e4b478fa-cd25-4253-9f1f-8a41e6370ede", "method_metadata": {"brand": "visa", "last4": "4242"}}], "pagination": {"total_count": 835522, "max_page": 881287}} "422": application/json: {} payments:get: @@ -11441,7 +12215,7 @@ examples: id: "" responses: "200": - application/json: {"created_at": "2025-07-27T07:02:25.859Z", "modified_at": "2024-11-15T02:26:32.783Z", "id": "", "processor": "stripe", "status": "failed", "amount": 1000, "currency": "usd", "method": "card", "decline_reason": "insufficient_funds", "decline_message": "Your card has insufficient funds.", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "checkout_id": "e4b478fa-cd25-4253-9f1f-8a41e6370ede", "order_id": "e4b478fa-cd25-4253-9f1f-8a41e6370ede", "method_metadata": {"brand": "visa", "last4": "4242"}} + application/json: {"created_at": "2025-07-27T07:02:25.859Z", "modified_at": "2024-11-15T02:26:32.783Z", "id": "", "processor": "stripe", "status": "failed", "amount": 1000, "currency": "usd", "method": "card", "trigger": "subscription_cycle", "decline_reason": "insufficient_funds", "decline_message": "Your card has insufficient funds.", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "checkout_id": "e4b478fa-cd25-4253-9f1f-8a41e6370ede", "order_id": "e4b478fa-cd25-4253-9f1f-8a41e6370ede", "method_metadata": {"brand": "visa", "last4": "4242"}} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -11455,7 +12229,7 @@ examples: application/json: {"billing_address": {"country": "US"}} responses: "200": - application/json: {"id": "", "created_at": "2023-07-07T02:27:33.933Z", "modified_at": "2025-12-06T08:14:38.290Z", "status": "pending", "paid": true, "subtotal_amount": 10000, "discount_amount": 1000, "net_amount": 9000, "tax_amount": 720, "total_amount": 9720, "applied_balance_amount": 0, "due_amount": 0, "refunded_amount": 0, "refunded_tax_amount": 0, "currency": "usd", "billing_reason": "subscription_update", "billing_name": "", "billing_address": {"country": "US"}, "invoice_number": "", "is_invoice_generated": true, "customer_id": "", "product_id": "", "discount_id": "", "subscription_id": "", "checkout_id": "", "metadata": {}, "platform_fee_amount": 500, "platform_fee_currency": "usd", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2025-05-10T23:50:32.891Z", "modified_at": "2023-02-18T10:28:10.963Z", "metadata": {"key": false}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-09-27T12:39:54.419Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "product": {"metadata": {"key": 364993, "key1": true, "key2": true}, "id": "", "created_at": "2023-04-12T21:30:23.720Z", "modified_at": "2025-07-30T06:39:42.272Z", "trial_interval": "day", "trial_interval_count": 687169, "name": "", "description": "yippee amid wire knowingly an er reproachfully mechanically who gym", "visibility": "public", "recurring_interval": "month", "recurring_interval_count": 241006, "is_recurring": true, "is_archived": true, "organization_id": ""}, "discount": {"duration": "repeating", "duration_in_months": 919384, "type": "fixed", "basis_points": 485397, "created_at": "2023-04-20T01:15:36.927Z", "modified_at": "2025-08-12T14:50:46.554Z", "id": "", "metadata": {}, "name": "", "code": "", "starts_at": "2023-06-20T13:39:02.935Z", "ends_at": "2024-06-17T01:44:44.306Z", "max_redemptions": 991144, "redemptions_count": 882356, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "subscription": {"metadata": {"key": true, "key1": false}, "created_at": "2025-05-14T12:37:49.790Z", "modified_at": "2023-07-19T20:08:36.520Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "month", "recurring_interval_count": 170714, "status": "incomplete", "current_period_start": "2025-06-29T04:23:47.957Z", "current_period_end": "2024-06-02T02:08:37.593Z", "trial_start": "2023-01-29T06:32:22.248Z", "trial_end": "2025-01-26T07:02:53.111Z", "cancel_at_period_end": true, "canceled_at": "2024-06-26T07:14:15.241Z", "started_at": "2025-06-03T07:15:00.193Z", "ends_at": "2023-09-17T15:31:40.614Z", "ended_at": "2024-06-15T15:33:26.067Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "unused", "customer_cancellation_comment": ""}, "items": [{"created_at": "2025-11-07T03:04:15.446Z", "modified_at": "2024-02-25T04:48:42.731Z", "id": "", "label": "", "amount": 527788, "tax_amount": 941221, "proration": true, "product_price_id": ""}, {"created_at": "2025-11-07T03:04:15.446Z", "modified_at": "2024-02-25T04:48:42.731Z", "id": "", "label": "", "amount": 527788, "tax_amount": 941221, "proration": true, "product_price_id": ""}, {"created_at": "2025-11-07T03:04:15.446Z", "modified_at": "2024-02-25T04:48:42.731Z", "id": "", "label": "", "amount": 527788, "tax_amount": 941221, "proration": true, "product_price_id": ""}], "description": "Pro Plan"} + application/json: {"id": "", "created_at": "2023-07-07T02:27:33.933Z", "modified_at": "2025-12-06T08:14:38.290Z", "status": "pending", "paid": true, "subtotal_amount": 10000, "discount_amount": 1000, "net_amount": 9000, "tax_amount": 720, "total_amount": 9720, "applied_balance_amount": 0, "due_amount": 0, "refunded_amount": 0, "refunded_tax_amount": 0, "currency": "usd", "billing_reason": "subscription_update", "billing_name": "", "billing_address": {"country": "US"}, "invoice_number": "", "is_invoice_generated": true, "receipt_number": "", "customer_id": "", "product_id": "", "discount_id": "", "subscription_id": "", "checkout_id": "", "metadata": {}, "platform_fee_amount": 500, "platform_fee_currency": "usd", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2025-05-10T23:50:32.891Z", "modified_at": "2023-02-18T10:28:10.963Z", "metadata": {"key": false}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-09-27T12:39:54.419Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "product": {"metadata": {"key": 364993, "key1": true, "key2": true}, "id": "", "created_at": "2023-04-12T21:30:23.720Z", "modified_at": "2025-07-30T06:39:42.272Z", "trial_interval": "day", "trial_interval_count": 687169, "name": "", "description": "yippee amid wire knowingly an er reproachfully mechanically who gym", "visibility": "public", "recurring_interval": "month", "recurring_interval_count": 241006, "meter_interval": "day", "meter_interval_count": 976591, "is_recurring": true, "is_archived": true, "organization_id": ""}, "discount": {"duration": "repeating", "duration_in_months": 919384, "type": "fixed", "basis_points": 485397, "created_at": "2023-04-20T01:15:36.927Z", "modified_at": "2025-08-12T14:50:46.554Z", "id": "", "metadata": {}, "name": "", "code": "", "starts_at": "2023-06-20T13:39:02.935Z", "ends_at": "2024-06-17T01:44:44.306Z", "max_redemptions": 991144, "redemptions_count": 882356, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "subscription": {"metadata": {"key": true, "key1": false}, "created_at": "2025-05-14T12:37:49.790Z", "modified_at": "2023-07-19T20:08:36.520Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "month", "recurring_interval_count": 170714, "status": "incomplete", "current_period_start": "2025-06-29T04:23:47.957Z", "current_period_end": "2024-06-02T02:08:37.593Z", "current_meter_period_start": null, "current_meter_period_end": "2026-01-26T07:02:53.111Z", "trial_start": "2023-01-29T06:32:22.248Z", "trial_end": "2025-01-26T07:02:53.111Z", "cancel_at_period_end": true, "canceled_at": "2024-06-26T07:14:15.241Z", "started_at": "2025-06-03T07:15:00.193Z", "ends_at": "2023-09-17T15:31:40.614Z", "ended_at": "2024-06-15T15:33:26.067Z", "pause_at_period_end": false, "paused_at": "2024-12-02T14:36:44.441Z", "resumes_at": "2026-03-13T05:39:18.783Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "unused", "customer_cancellation_comment": ""}, "items": [{"created_at": "2025-11-07T03:04:15.446Z", "modified_at": "2024-02-25T04:48:42.731Z", "id": "", "label": "", "amount": 527788, "tax_amount": 941221, "proration": true, "product_price_id": ""}, {"created_at": "2025-11-07T03:04:15.446Z", "modified_at": "2024-02-25T04:48:42.731Z", "id": "", "label": "", "amount": 527788, "tax_amount": 941221, "proration": true, "product_price_id": ""}, {"created_at": "2025-11-07T03:04:15.446Z", "modified_at": "2024-02-25T04:48:42.731Z", "id": "", "label": "", "amount": 527788, "tax_amount": 941221, "proration": true, "product_price_id": ""}], "description": "Pro Plan", "refundable_amount": 9000, "refundable_tax_amount": 720} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -11469,9 +12243,11 @@ examples: "202": application/json: "" "409": - application/json: {"error": "InvoiceAlreadyExists", "detail": ""} + application/json: {"error": "OrderNotEligibleForInvoice", "detail": ""} "422": application/json: {"error": "MissingInvoiceBillingDetails", "detail": ""} + "404": + application/json: {"error": "ResourceNotFound", "detail": ""} checkouts:update: speakeasy-default-checkouts:update: parameters: @@ -11481,7 +12257,7 @@ examples: application/json: {"customer_name": "John Doe", "customer_billing_address": {"country": "US"}, "locale": "en"} responses: "200": - application/json: {"id": "", "created_at": "2025-08-11T13:37:19.351Z", "modified_at": "2025-01-17T16:36:47.350Z", "payment_processor": "stripe", "status": "expired", "client_secret": "", "url": "https://quiet-longboat.name/", "expires_at": "2024-06-26T17:48:32.882Z", "success_url": "https://flawless-conversation.com/", "return_url": "https://winding-pliers.biz", "embed_origin": "", "amount": 854455, "discount_amount": 294901, "net_amount": 889166, "tax_amount": 922052, "total_amount": 719988, "currency": "Rufiyaa", "allow_trial": false, "active_trial_interval": "year", "active_trial_interval_count": 682201, "trial_end": "2023-04-12T18:01:42.534Z", "organization_id": "", "product_id": "", "product_price_id": "", "discount_id": null, "allow_discount_codes": false, "require_billing_address": true, "is_discount_applicable": false, "is_free_product_price": true, "is_payment_required": true, "is_payment_setup_required": false, "is_payment_form_required": false, "customer_id": "", "is_business_customer": true, "customer_name": null, "customer_email": "", "customer_ip_address": "", "customer_billing_name": "", "customer_billing_address": {"country": "US"}, "customer_tax_id": "", "payment_processor_metadata": {"key": "", "key1": "", "key2": ""}, "billing_address_fields": {"country": "required", "state": "disabled", "city": "disabled", "postal_code": "disabled", "line1": "required", "line2": "required"}, "trial_interval": "month", "trial_interval_count": 495203, "metadata": {"key": 175107, "key1": "", "key2": 598875}, "external_customer_id": "", "products": [{"id": "", "created_at": "2024-10-08T05:33:56.764Z", "modified_at": "2023-07-14T21:58:46.090Z", "trial_interval": null, "trial_interval_count": 186577, "name": "", "description": "where underneath ignorant smoke pearl interesting meh amid", "visibility": "draft", "recurring_interval": null, "recurring_interval_count": 870044, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2025-11-30T19:59:27.996Z", "modified_at": "2023-09-30T23:37:22.091Z", "id": "", "source": "ad_hoc", "amount_type": "free", "price_currency": "", "tax_behavior": "exclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "legacy": true}, {"created_at": "2024-06-26T17:48:32.882Z", "modified_at": null, "id": "", "source": "ad_hoc", "amount_type": "free", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "legacy": true}], "benefits": [{"id": "", "created_at": "2024-08-22T08:39:31.775Z", "modified_at": "2024-02-01T17:03:37.242Z", "type": "discord", "description": "overconfidently overplay down unless dilate before optimistically while curly by", "selectable": false, "deletable": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/Applications", "mime_type": "", "size": 72601, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-08-08T03:26:06.485Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-12T01:25:31.801Z", "size_readable": "", "public_url": "https://inexperienced-valuable.name/"}, {"id": "", "organization_id": "", "name": "", "path": "/Applications", "mime_type": "", "size": 72601, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-08-08T03:26:06.485Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-12T01:25:31.801Z", "size_readable": "", "public_url": "https://inexperienced-valuable.name/"}, {"id": "", "organization_id": "", "name": "", "path": "/Applications", "mime_type": "", "size": 72601, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-08-08T03:26:06.485Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-12T01:25:31.801Z", "size_readable": "", "public_url": "https://inexperienced-valuable.name/"}]}, {"id": "", "created_at": "2024-10-08T05:33:56.764Z", "modified_at": "2023-07-14T21:58:46.090Z", "trial_interval": "day", "trial_interval_count": 294901, "name": "", "description": "where underneath ignorant smoke pearl interesting meh amid", "visibility": "public", "recurring_interval": null, "recurring_interval_count": 682201, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2025-09-01T12:37:02.777Z", "modified_at": "2025-10-07T13:38:06.522Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": null, "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 615287, "legacy": true}, {"created_at": "2024-02-21T06:51:40.935Z", "modified_at": null, "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 391538, "legacy": true}], "benefits": [{"id": "", "created_at": "2024-08-22T08:39:31.775Z", "modified_at": "2024-02-01T17:03:37.242Z", "type": "discord", "description": "overconfidently overplay down unless dilate before optimistically while curly by", "selectable": false, "deletable": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/Applications", "mime_type": "", "size": 72601, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-08-08T03:26:06.485Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-12T01:25:31.801Z", "size_readable": "", "public_url": "https://inexperienced-valuable.name/"}, {"id": "", "organization_id": "", "name": "", "path": "/Applications", "mime_type": "", "size": 72601, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-08-08T03:26:06.485Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-12T01:25:31.801Z", "size_readable": "", "public_url": "https://inexperienced-valuable.name/"}, {"id": "", "organization_id": "", "name": "", "path": "/Applications", "mime_type": "", "size": 72601, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-08-08T03:26:06.485Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-12T01:25:31.801Z", "size_readable": "", "public_url": "https://inexperienced-valuable.name/"}]}], "product": {"id": "", "created_at": "2023-09-02T08:09:15.374Z", "modified_at": "2023-01-08T13:18:17.680Z", "trial_interval": "year", "trial_interval_count": 719988, "name": "", "description": null, "visibility": "public", "recurring_interval": "year", "recurring_interval_count": 92838, "is_recurring": false, "is_archived": true, "organization_id": "", "prices": [], "benefits": [{"id": "", "created_at": "2024-08-22T08:39:31.775Z", "modified_at": "2024-02-01T17:03:37.242Z", "type": "discord", "description": "overconfidently overplay down unless dilate before optimistically while curly by", "selectable": false, "deletable": false, "organization_id": ""}, {"id": "", "created_at": "2024-08-22T08:39:31.775Z", "modified_at": "2024-02-01T17:03:37.242Z", "type": "discord", "description": "overconfidently overplay down unless dilate before optimistically while curly by", "selectable": false, "deletable": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/Applications", "mime_type": "", "size": 72601, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-08-08T03:26:06.485Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-12T01:25:31.801Z", "size_readable": "", "public_url": "https://inexperienced-valuable.name/"}, {"id": "", "organization_id": "", "name": "", "path": "/Applications", "mime_type": "", "size": 72601, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-08-08T03:26:06.485Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-12T01:25:31.801Z", "size_readable": "", "public_url": "https://inexperienced-valuable.name/"}, {"id": "", "organization_id": "", "name": "", "path": "/Applications", "mime_type": "", "size": 72601, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-08-08T03:26:06.485Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-12T01:25:31.801Z", "size_readable": "", "public_url": "https://inexperienced-valuable.name/"}]}, "product_price": {"created_at": "2024-10-30T23:02:02.655Z", "modified_at": "2024-04-28T13:57:59.390Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 922052, "maximum_amount": 579773, "preset_amount": null, "legacy": true}, "prices": {"key": [], "key1": []}, "discount": null, "subscription_id": "", "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2023-09-18T08:05:49.385Z", "modified_at": "2023-01-31T14:16:46.453Z", "id": "", "metadata": {"key": 376311, "key1": "", "key2": 112991}, "type": "text", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 115053, "required": true}, {"custom_field_id": "", "custom_field": {"created_at": "2023-09-18T08:05:49.385Z", "modified_at": "2023-01-31T14:16:46.453Z", "id": "", "metadata": {"key": 376311, "key1": "", "key2": 112991}, "type": "text", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 115053, "required": true}, {"custom_field_id": "", "custom_field": {"created_at": "2023-09-18T08:05:49.385Z", "modified_at": "2023-01-31T14:16:46.453Z", "id": "", "metadata": {"key": 376311, "key1": "", "key2": 112991}, "type": "text", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 115053, "required": true}], "customer_metadata": {}} + application/json: {"id": "", "created_at": "2025-08-11T13:37:19.351Z", "modified_at": "2025-01-17T16:36:47.350Z", "payment_processor": "stripe", "status": "expired", "client_secret": "", "url": "https://quiet-longboat.name/", "expires_at": "2024-06-26T17:48:32.882Z", "success_url": "https://flawless-conversation.com/", "return_url": "https://winding-pliers.biz", "embed_origin": "", "amount": 854455, "discount_amount": 294901, "net_amount": 889166, "tax_amount": 922052, "tax_behavior": "exclusive", "total_amount": 719988, "currency": "Rufiyaa", "allow_trial": false, "active_trial_interval": "year", "active_trial_interval_count": 682201, "trial_end": "2023-04-12T18:01:42.534Z", "organization_id": "", "product_id": "", "product_price_id": "", "discount_id": null, "allow_discount_codes": false, "require_billing_address": true, "is_discount_applicable": false, "is_free_product_price": true, "is_payment_required": true, "is_payment_setup_required": false, "is_payment_form_required": false, "customer_id": "", "is_business_customer": true, "customer_name": null, "customer_email": "", "customer_ip_address": "", "customer_billing_name": "", "customer_billing_address": {"country": "US"}, "customer_tax_id": "", "payment_processor_metadata": {"key": "", "key1": "", "key2": ""}, "billing_address_fields": {"country": "required", "state": "disabled", "city": "disabled", "postal_code": "disabled", "line1": "required", "line2": "required"}, "trial_interval": "month", "trial_interval_count": 495203, "metadata": {"key": 175107, "key1": "", "key2": 598875}, "external_customer_id": "", "products": [{"id": "", "created_at": "2024-10-08T05:33:56.764Z", "modified_at": "2023-07-14T21:58:46.090Z", "trial_interval": null, "trial_interval_count": 186577, "name": "", "description": "where underneath ignorant smoke pearl interesting meh amid", "visibility": "draft", "recurring_interval": null, "recurring_interval_count": 870044, "meter_interval": "month", "meter_interval_count": 92838, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2025-09-30T14:39:02.951Z", "modified_at": "2024-01-03T23:05:17.834Z", "id": "", "source": "catalog", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "unit_amount": "", "cap_amount": 294901, "meter_id": "", "meter": {"id": "", "name": "", "unit": "custom", "custom_label": "", "custom_multiplier": 719988}}, {"created_at": "2025-11-05T08:30:11.637Z", "modified_at": null, "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "minimum_amount": 780629, "maximum_amount": 138036, "preset_amount": null}], "benefits": [{"id": "", "created_at": "2024-08-22T08:39:31.775Z", "modified_at": "2024-02-01T17:03:37.242Z", "type": "discord", "description": "overconfidently overplay down unless dilate before optimistically while curly by", "selectable": false, "deletable": false, "is_deleted": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/Applications", "mime_type": "", "size": 72601, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-08-08T03:26:06.485Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-12T01:25:31.801Z", "size_readable": "", "public_url": "https://inexperienced-valuable.name/"}, {"id": "", "organization_id": "", "name": "", "path": "/Applications", "mime_type": "", "size": 72601, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-08-08T03:26:06.485Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-12T01:25:31.801Z", "size_readable": "", "public_url": "https://inexperienced-valuable.name/"}, {"id": "", "organization_id": "", "name": "", "path": "/Applications", "mime_type": "", "size": 72601, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-08-08T03:26:06.485Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-12T01:25:31.801Z", "size_readable": "", "public_url": "https://inexperienced-valuable.name/"}]}, {"id": "", "created_at": "2024-10-08T05:33:56.764Z", "modified_at": "2023-07-14T21:58:46.090Z", "trial_interval": "day", "trial_interval_count": 294901, "name": "", "description": "where underneath ignorant smoke pearl interesting meh amid", "visibility": "public", "recurring_interval": null, "recurring_interval_count": 682201, "meter_interval": "month", "meter_interval_count": 796498, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2025-09-01T12:37:02.777Z", "modified_at": "2025-10-07T13:38:06.522Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": null, "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 615287, "legacy": true}, {"created_at": "2024-02-21T06:51:40.935Z", "modified_at": null, "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 391538, "legacy": true}], "benefits": [{"id": "", "created_at": "2024-08-22T08:39:31.775Z", "modified_at": "2024-02-01T17:03:37.242Z", "type": "discord", "description": "overconfidently overplay down unless dilate before optimistically while curly by", "selectable": false, "deletable": false, "is_deleted": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/Applications", "mime_type": "", "size": 72601, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-08-08T03:26:06.485Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-12T01:25:31.801Z", "size_readable": "", "public_url": "https://inexperienced-valuable.name/"}, {"id": "", "organization_id": "", "name": "", "path": "/Applications", "mime_type": "", "size": 72601, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-08-08T03:26:06.485Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-12T01:25:31.801Z", "size_readable": "", "public_url": "https://inexperienced-valuable.name/"}, {"id": "", "organization_id": "", "name": "", "path": "/Applications", "mime_type": "", "size": 72601, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-08-08T03:26:06.485Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-12T01:25:31.801Z", "size_readable": "", "public_url": "https://inexperienced-valuable.name/"}]}], "product": {"id": "", "created_at": "2023-09-02T08:09:15.374Z", "modified_at": "2023-01-08T13:18:17.680Z", "trial_interval": "year", "trial_interval_count": 719988, "name": "", "description": null, "visibility": "public", "recurring_interval": "year", "recurring_interval_count": 92838, "meter_interval": "week", "meter_interval_count": 195301, "is_recurring": false, "is_archived": true, "organization_id": "", "prices": [], "benefits": [{"id": "", "created_at": "2024-08-22T08:39:31.775Z", "modified_at": "2024-02-01T17:03:37.242Z", "type": "discord", "description": "overconfidently overplay down unless dilate before optimistically while curly by", "selectable": false, "deletable": false, "is_deleted": true, "organization_id": ""}, {"id": "", "created_at": "2024-08-22T08:39:31.775Z", "modified_at": "2024-02-01T17:03:37.242Z", "type": "discord", "description": "overconfidently overplay down unless dilate before optimistically while curly by", "selectable": false, "deletable": false, "is_deleted": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/Applications", "mime_type": "", "size": 72601, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-08-08T03:26:06.485Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-12T01:25:31.801Z", "size_readable": "", "public_url": "https://inexperienced-valuable.name/"}, {"id": "", "organization_id": "", "name": "", "path": "/Applications", "mime_type": "", "size": 72601, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-08-08T03:26:06.485Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-12T01:25:31.801Z", "size_readable": "", "public_url": "https://inexperienced-valuable.name/"}, {"id": "", "organization_id": "", "name": "", "path": "/Applications", "mime_type": "", "size": 72601, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-08-08T03:26:06.485Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-12T01:25:31.801Z", "size_readable": "", "public_url": "https://inexperienced-valuable.name/"}]}, "product_price": {"created_at": "2024-10-30T23:02:02.655Z", "modified_at": "2024-04-28T13:57:59.390Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 922052, "maximum_amount": 579773, "preset_amount": null, "legacy": true}, "prices": {"key": [], "key1": []}, "discount": null, "subscription_id": "", "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2023-09-18T08:05:49.385Z", "modified_at": "2023-01-31T14:16:46.453Z", "id": "", "metadata": {"key": 376311, "key1": "", "key2": 112991}, "type": "text", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 115053, "required": true}, {"custom_field_id": "", "custom_field": {"created_at": "2023-09-18T08:05:49.385Z", "modified_at": "2023-01-31T14:16:46.453Z", "id": "", "metadata": {"key": 376311, "key1": "", "key2": 112991}, "type": "text", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 115053, "required": true}, {"custom_field_id": "", "custom_field": {"created_at": "2023-09-18T08:05:49.385Z", "modified_at": "2023-01-31T14:16:46.453Z", "id": "", "metadata": {"key": 376311, "key1": "", "key2": 112991}, "type": "text", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 115053, "required": true}], "customer_metadata": {}} "403": application/json: {"error": "AlreadyActiveSubscriptionError", "detail": ""} "404": @@ -11497,7 +12273,7 @@ examples: application/json: {"customer_name": "John Doe", "customer_billing_address": null, "locale": "en", "allow_trial": false} responses: "200": - application/json: {"id": "", "created_at": "2024-07-23T03:29:25.334Z", "modified_at": "2023-09-18T08:32:05.837Z", "payment_processor": "stripe", "status": "expired", "client_secret": "", "url": "https://oddball-final.com", "expires_at": "2024-03-02T01:02:20.912Z", "success_url": "https://illiterate-ownership.com/", "return_url": null, "embed_origin": "", "amount": 566134, "discount_amount": 108102, "net_amount": 304494, "tax_amount": 824826, "total_amount": 528924, "currency": "Comoro Franc", "allow_trial": null, "active_trial_interval": null, "active_trial_interval_count": 192380, "trial_end": "2023-10-31T15:08:35.342Z", "organization_id": "", "product_id": "", "product_price_id": null, "discount_id": "", "allow_discount_codes": true, "require_billing_address": true, "is_discount_applicable": false, "is_free_product_price": true, "is_payment_required": true, "is_payment_setup_required": false, "is_payment_form_required": false, "customer_id": "", "is_business_customer": true, "customer_name": "", "customer_email": "", "customer_ip_address": "", "customer_billing_name": "", "customer_billing_address": {"country": "US"}, "customer_tax_id": "", "payment_processor_metadata": {"key": ""}, "billing_address_fields": {"country": "required", "state": "optional", "city": "required", "postal_code": "required", "line1": "required", "line2": "disabled"}, "products": [{"id": "", "created_at": "2025-08-18T21:55:12.162Z", "modified_at": "2024-12-17T22:23:13.690Z", "trial_interval": "month", "trial_interval_count": 138062, "name": "", "description": "instead divert indeed oh phrase fisherman bowling but upon airmail", "visibility": "draft", "recurring_interval": "year", "recurring_interval_count": null, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2023-07-30T20:21:38.608Z", "modified_at": "2023-10-31T15:08:35.342Z", "id": "", "source": "ad_hoc", "amount_type": "fixed", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 330194, "legacy": true}, {"created_at": "2023-08-03T11:06:01.091Z", "modified_at": "2024-11-28T20:27:45.245Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 566134, "legacy": true}], "benefits": [{"id": "", "created_at": "2023-04-25T20:23:37.760Z", "modified_at": "2023-11-02T06:39:34.543Z", "type": "custom", "description": "rebuke sun intensely", "selectable": false, "deletable": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/sbin", "mime_type": "", "size": 291762, "storage_version": null, "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2024-09-23T19:57:40.076Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-20T03:17:22.448Z", "size_readable": "", "public_url": "https://valuable-declaration.info"}, {"id": "", "organization_id": "", "name": "", "path": "/sbin", "mime_type": "", "size": 291762, "storage_version": null, "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2024-09-23T19:57:40.076Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-20T03:17:22.448Z", "size_readable": "", "public_url": "https://valuable-declaration.info"}]}], "product": {"id": "", "created_at": "2024-01-05T10:50:28.777Z", "modified_at": "2024-04-21T11:49:06.390Z", "trial_interval": "day", "trial_interval_count": 636727, "name": "", "description": null, "visibility": "private", "recurring_interval": "year", "recurring_interval_count": 192380, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2025-11-16T12:17:31.920Z", "modified_at": "2024-08-02T16:48:24.620Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 67913, "maximum_amount": 437805, "preset_amount": 546487, "legacy": true}, {"created_at": "2024-02-08T00:22:42.494Z", "modified_at": "2025-10-13T00:42:35.938Z", "id": "", "source": "catalog", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "unit_amount": "", "cap_amount": 317412, "meter_id": "", "meter": {"id": "", "name": ""}}], "benefits": [{"id": "", "created_at": "2023-04-25T20:23:37.760Z", "modified_at": "2023-11-02T06:39:34.543Z", "type": "custom", "description": "rebuke sun intensely", "selectable": false, "deletable": false, "organization_id": ""}, {"id": "", "created_at": "2023-04-25T20:23:37.760Z", "modified_at": "2023-11-02T06:39:34.543Z", "type": "custom", "description": "rebuke sun intensely", "selectable": false, "deletable": false, "organization_id": ""}], "medias": []}, "product_price": {"created_at": "2025-11-28T20:27:45.245Z", "modified_at": "2026-05-10T04:37:44.115Z", "id": "", "source": "ad_hoc", "amount_type": "fixed", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 528924, "legacy": true}, "prices": {"key": []}, "discount": {"duration": "repeating", "type": "percentage", "basis_points": 639439, "id": "", "name": "", "code": null}, "organization": {"created_at": "2023-09-07T11:25:07.070Z", "modified_at": "2023-05-12T10:01:16.059Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://mixed-netsuke.com/", "proration_behavior": "invoice", "allow_customer_updates": true}, "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2023-03-31T08:25:33.432Z", "modified_at": "2025-12-17T08:24:12.865Z", "id": "", "metadata": {}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 439492, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2023-03-31T08:25:33.432Z", "modified_at": "2025-12-17T08:24:12.865Z", "id": "", "metadata": {}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 439492, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2023-03-31T08:25:33.432Z", "modified_at": "2025-12-17T08:24:12.865Z", "id": "", "metadata": {}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 439492, "required": false}]} + application/json: {"id": "", "created_at": "2024-07-23T03:29:25.334Z", "modified_at": "2023-09-18T08:32:05.837Z", "payment_processor": "stripe", "status": "expired", "client_secret": "", "url": "https://oddball-final.com", "expires_at": "2024-03-02T01:02:20.912Z", "success_url": "https://illiterate-ownership.com/", "return_url": null, "embed_origin": "", "amount": 566134, "discount_amount": 108102, "net_amount": 304494, "tax_amount": 824826, "tax_behavior": null, "total_amount": 528924, "currency": "Comoro Franc", "allow_trial": null, "active_trial_interval": null, "active_trial_interval_count": 192380, "trial_end": "2023-10-31T15:08:35.342Z", "organization_id": "", "product_id": "", "product_price_id": null, "discount_id": "", "allow_discount_codes": true, "require_billing_address": true, "is_discount_applicable": false, "is_free_product_price": true, "is_payment_required": true, "is_payment_setup_required": false, "is_payment_form_required": false, "customer_id": "", "is_business_customer": true, "customer_name": "", "customer_email": "", "customer_ip_address": "", "customer_billing_name": "", "customer_billing_address": {"country": "US"}, "customer_tax_id": "", "payment_processor_metadata": {"key": ""}, "billing_address_fields": {"country": "required", "state": "optional", "city": "required", "postal_code": "required", "line1": "required", "line2": "disabled"}, "products": [{"id": "", "created_at": "2025-08-18T21:55:12.162Z", "modified_at": "2024-12-17T22:23:13.690Z", "trial_interval": "month", "trial_interval_count": 138062, "name": "", "description": "instead divert indeed oh phrase fisherman bowling but upon airmail", "visibility": "draft", "recurring_interval": "year", "recurring_interval_count": null, "meter_interval": "day", "meter_interval_count": 277035, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2023-07-30T20:21:38.608Z", "modified_at": "2023-10-31T15:08:35.342Z", "id": "", "source": "ad_hoc", "amount_type": "fixed", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 330194, "legacy": true}, {"created_at": "2023-08-03T11:06:01.091Z", "modified_at": "2024-11-28T20:27:45.245Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "location", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 566134, "legacy": true}], "benefits": [{"id": "", "created_at": "2023-04-25T20:23:37.760Z", "modified_at": "2023-11-02T06:39:34.543Z", "type": "custom", "description": "rebuke sun intensely", "selectable": false, "deletable": false, "is_deleted": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/sbin", "mime_type": "", "size": 291762, "storage_version": null, "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2024-09-23T19:57:40.076Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-20T03:17:22.448Z", "size_readable": "", "public_url": "https://valuable-declaration.info"}, {"id": "", "organization_id": "", "name": "", "path": "/sbin", "mime_type": "", "size": 291762, "storage_version": null, "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2024-09-23T19:57:40.076Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2025-10-20T03:17:22.448Z", "size_readable": "", "public_url": "https://valuable-declaration.info"}]}], "product": {"id": "", "created_at": "2024-01-05T10:50:28.777Z", "modified_at": "2024-04-21T11:49:06.390Z", "trial_interval": "day", "trial_interval_count": 636727, "name": "", "description": null, "visibility": "private", "recurring_interval": "year", "recurring_interval_count": 192380, "meter_interval": "week", "meter_interval_count": 388726, "is_recurring": true, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2025-11-16T12:17:31.920Z", "modified_at": "2024-08-02T16:48:24.620Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 67913, "maximum_amount": 437805, "preset_amount": 546487, "legacy": true}, {"created_at": "2024-02-08T00:22:42.494Z", "modified_at": "2025-10-13T00:42:35.938Z", "id": "", "source": "catalog", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "unit_amount": "", "cap_amount": 317412, "meter_id": "", "meter": {"id": "", "name": "", "unit": "scalar", "custom_label": "", "custom_multiplier": 128460}}], "benefits": [{"id": "", "created_at": "2023-04-25T20:23:37.760Z", "modified_at": "2023-11-02T06:39:34.543Z", "type": "custom", "description": "rebuke sun intensely", "selectable": false, "deletable": false, "is_deleted": false, "organization_id": ""}, {"id": "", "created_at": "2023-04-25T20:23:37.760Z", "modified_at": "2023-11-02T06:39:34.543Z", "type": "custom", "description": "rebuke sun intensely", "selectable": false, "deletable": false, "is_deleted": false, "organization_id": ""}], "medias": []}, "product_price": {"created_at": "2025-11-28T20:27:45.245Z", "modified_at": "2026-05-10T04:37:44.115Z", "id": "", "source": "ad_hoc", "amount_type": "fixed", "price_currency": "", "tax_behavior": "location", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "year", "price_amount": 528924, "legacy": true}, "prices": {"key": []}, "discount": {"duration": "repeating", "type": "percentage", "basis_points": 639439, "id": "", "name": "", "code": null}, "organization": {"created_at": "2023-09-07T11:25:07.070Z", "modified_at": "2023-05-12T10:01:16.059Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://mixed-netsuke.com/", "proration_behavior": "invoice", "allow_customer_updates": true}, "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2023-03-31T08:25:33.432Z", "modified_at": "2025-12-17T08:24:12.865Z", "id": "", "metadata": {}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 439492, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2023-03-31T08:25:33.432Z", "modified_at": "2025-12-17T08:24:12.865Z", "id": "", "metadata": {}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 439492, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2023-03-31T08:25:33.432Z", "modified_at": "2025-12-17T08:24:12.865Z", "id": "", "metadata": {}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 439492, "required": false}]} "403": application/json: {"error": "AlreadyActiveSubscriptionError", "detail": ""} "404": @@ -11515,7 +12291,7 @@ examples: application/json: {"customer_name": "John Doe", "customer_billing_address": {"country": "US"}, "locale": "en", "allow_trial": false} responses: "200": - application/json: {"id": "", "created_at": "2023-03-02T01:35:00.551Z", "modified_at": "2024-02-06T20:08:33.394Z", "payment_processor": "stripe", "status": "confirmed", "client_secret": "", "url": "https://earnest-mountain.biz/", "expires_at": "2023-05-03T06:41:51.564Z", "success_url": "https://amazing-airmail.biz", "return_url": "https://tinted-fun.com/", "embed_origin": "", "amount": 340812, "discount_amount": 983591, "net_amount": 119432, "tax_amount": 315526, "total_amount": 280139, "currency": "Lek", "allow_trial": true, "active_trial_interval": "day", "active_trial_interval_count": 366642, "trial_end": null, "organization_id": "", "product_id": "", "product_price_id": "", "discount_id": "", "allow_discount_codes": true, "require_billing_address": false, "is_discount_applicable": true, "is_free_product_price": true, "is_payment_required": true, "is_payment_setup_required": true, "is_payment_form_required": true, "customer_id": "", "is_business_customer": true, "customer_name": "", "customer_email": "", "customer_ip_address": "", "customer_billing_name": "", "customer_billing_address": {"country": "US"}, "customer_tax_id": "", "payment_processor_metadata": {"key": ""}, "billing_address_fields": {"country": "required", "state": "required", "city": "disabled", "postal_code": "optional", "line1": "required", "line2": "required"}, "products": [], "product": {"id": "", "created_at": "2023-12-22T07:23:53.362Z", "modified_at": null, "trial_interval": "month", "trial_interval_count": 111568, "name": "", "description": null, "visibility": "draft", "recurring_interval": "month", "recurring_interval_count": 54804, "is_recurring": false, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2025-07-29T04:50:02.330Z", "modified_at": "2023-01-09T13:54:39.340Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": null, "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 111568, "maximum_amount": 27642, "preset_amount": null, "legacy": true}, {"created_at": "2024-01-09T12:43:40.308Z", "modified_at": "2023-05-11T21:32:37.055Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_amount": 280139, "legacy": true}, {"created_at": "2024-03-30T19:58:01.924Z", "modified_at": "2023-04-26T10:07:32.939Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": null, "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 304892, "maximum_amount": 308257, "preset_amount": 774216, "legacy": true}], "benefits": [{"id": "", "created_at": "2025-02-20T06:26:56.148Z", "modified_at": "2024-03-08T22:44:58.041Z", "type": "downloadables", "description": "jovially condense sleepy as porter interior forage which", "selectable": false, "deletable": false, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/sys", "mime_type": "", "size": 923962, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-11-15T18:38:57.765Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2023-04-15T23:25:20.301Z", "size_readable": "", "public_url": "https://measly-transparency.biz"}, {"id": "", "organization_id": "", "name": "", "path": "/sys", "mime_type": "", "size": 923962, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-11-15T18:38:57.765Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2023-04-15T23:25:20.301Z", "size_readable": "", "public_url": "https://measly-transparency.biz"}, {"id": "", "organization_id": "", "name": "", "path": "/sys", "mime_type": "", "size": 923962, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-11-15T18:38:57.765Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2023-04-15T23:25:20.301Z", "size_readable": "", "public_url": "https://measly-transparency.biz"}]}, "product_price": {"created_at": "2024-05-02T06:41:51.564Z", "modified_at": "2024-01-31T07:06:36.445Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "week", "price_amount": 983591, "legacy": true}, "prices": {"key": []}, "discount": {"duration": "repeating", "type": "fixed", "amount": 794922, "currency": "Lilangeni", "amounts": {"eur": 900, "usd": 1000}, "id": "", "name": "", "code": ""}, "organization": {"created_at": "2023-03-10T13:26:15.309Z", "modified_at": "2025-01-22T15:08:25.650Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": null, "proration_behavior": "prorate", "allow_customer_updates": true}, "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2024-06-01T04:51:14.846Z", "modified_at": "2023-04-07T11:22:11.779Z", "id": "", "metadata": {"key": ""}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 256145, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2024-06-01T04:51:14.846Z", "modified_at": "2023-04-07T11:22:11.779Z", "id": "", "metadata": {"key": ""}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 256145, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2024-06-01T04:51:14.846Z", "modified_at": "2023-04-07T11:22:11.779Z", "id": "", "metadata": {"key": ""}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 256145, "required": false}], "customer_session_token": ""} + application/json: {"id": "", "created_at": "2023-03-02T01:35:00.551Z", "modified_at": "2024-02-06T20:08:33.394Z", "payment_processor": "stripe", "status": "confirmed", "client_secret": "", "url": "https://earnest-mountain.biz/", "expires_at": "2023-05-03T06:41:51.564Z", "success_url": "https://amazing-airmail.biz", "return_url": "https://tinted-fun.com/", "embed_origin": "", "amount": 340812, "discount_amount": 983591, "net_amount": 119432, "tax_amount": 315526, "tax_behavior": "inclusive", "total_amount": 280139, "currency": "Lek", "allow_trial": true, "active_trial_interval": "day", "active_trial_interval_count": 366642, "trial_end": null, "organization_id": "", "product_id": "", "product_price_id": "", "discount_id": "", "allow_discount_codes": true, "require_billing_address": false, "is_discount_applicable": true, "is_free_product_price": true, "is_payment_required": true, "is_payment_setup_required": true, "is_payment_form_required": true, "customer_id": "", "is_business_customer": true, "customer_name": "", "customer_email": "", "customer_ip_address": "", "customer_billing_name": "", "customer_billing_address": {"country": "US"}, "customer_tax_id": "", "payment_processor_metadata": {"key": ""}, "billing_address_fields": {"country": "required", "state": "required", "city": "disabled", "postal_code": "optional", "line1": "required", "line2": "required"}, "products": [], "product": {"id": "", "created_at": "2023-12-22T07:23:53.362Z", "modified_at": null, "trial_interval": "month", "trial_interval_count": 111568, "name": "", "description": null, "visibility": "draft", "recurring_interval": "month", "recurring_interval_count": 54804, "meter_interval": "week", "meter_interval_count": null, "is_recurring": false, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2025-07-29T04:50:02.330Z", "modified_at": "2023-01-09T13:54:39.340Z", "id": "", "source": "ad_hoc", "amount_type": "custom", "price_currency": "", "tax_behavior": null, "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "year", "minimum_amount": 111568, "maximum_amount": 27642, "preset_amount": null, "legacy": true}, {"created_at": "2024-01-09T12:43:40.308Z", "modified_at": "2023-05-11T21:32:37.055Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": false, "product_id": "", "type": "recurring", "recurring_interval": "month", "price_amount": 280139, "legacy": true}, {"created_at": "2024-03-30T19:58:01.924Z", "modified_at": "2023-04-26T10:07:32.939Z", "id": "", "source": "catalog", "amount_type": "custom", "price_currency": "", "tax_behavior": null, "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "month", "minimum_amount": 304892, "maximum_amount": 308257, "preset_amount": 774216, "legacy": true}], "benefits": [{"id": "", "created_at": "2025-02-20T06:26:56.148Z", "modified_at": "2024-03-08T22:44:58.041Z", "type": "downloadables", "description": "jovially condense sleepy as porter interior forage which", "selectable": false, "deletable": false, "is_deleted": true, "organization_id": ""}], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/sys", "mime_type": "", "size": 923962, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-11-15T18:38:57.765Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2023-04-15T23:25:20.301Z", "size_readable": "", "public_url": "https://measly-transparency.biz"}, {"id": "", "organization_id": "", "name": "", "path": "/sys", "mime_type": "", "size": 923962, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-11-15T18:38:57.765Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2023-04-15T23:25:20.301Z", "size_readable": "", "public_url": "https://measly-transparency.biz"}, {"id": "", "organization_id": "", "name": "", "path": "/sys", "mime_type": "", "size": 923962, "storage_version": "", "checksum_etag": "", "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2023-11-15T18:38:57.765Z", "version": "", "service": "product_media", "is_uploaded": true, "created_at": "2023-04-15T23:25:20.301Z", "size_readable": "", "public_url": "https://measly-transparency.biz"}]}, "product_price": {"created_at": "2024-05-02T06:41:51.564Z", "modified_at": "2024-01-31T07:06:36.445Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "week", "price_amount": 983591, "legacy": true}, "prices": {"key": []}, "discount": {"duration": "repeating", "type": "fixed", "amount": 794922, "currency": "Lilangeni", "amounts": {"eur": 900, "usd": 1000}, "id": "", "name": "", "code": ""}, "organization": {"created_at": "2023-03-10T13:26:15.309Z", "modified_at": "2025-01-22T15:08:25.650Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": null, "proration_behavior": "prorate", "allow_customer_updates": true}, "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2024-06-01T04:51:14.846Z", "modified_at": "2023-04-07T11:22:11.779Z", "id": "", "metadata": {"key": ""}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 256145, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2024-06-01T04:51:14.846Z", "modified_at": "2023-04-07T11:22:11.779Z", "id": "", "metadata": {"key": ""}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 256145, "required": false}, {"custom_field_id": "", "custom_field": {"created_at": "2024-06-01T04:51:14.846Z", "modified_at": "2023-04-07T11:22:11.779Z", "id": "", "metadata": {"key": ""}, "type": "number", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 256145, "required": false}], "customer_session_token": ""} "400": application/json: {"error": "PaymentError", "detail": ""} "403": @@ -11535,7 +12311,7 @@ examples: application/json: {"billing_address": {"country": "US"}} responses: "200": - application/json: {"id": "", "created_at": "2025-06-18T23:40:50.214Z", "modified_at": "2023-01-14T22:55:27.186Z", "status": "paid", "paid": true, "subtotal_amount": 10000, "discount_amount": 1000, "net_amount": 9000, "tax_amount": 720, "total_amount": 9720, "applied_balance_amount": 0, "due_amount": 0, "refunded_amount": 0, "refunded_tax_amount": 0, "currency": "usd", "billing_reason": "purchase", "billing_name": "", "billing_address": {"country": "US"}, "invoice_number": "", "is_invoice_generated": true, "customer_id": "", "product_id": "", "discount_id": "", "subscription_id": "", "checkout_id": "", "product": {"id": "", "created_at": "2024-02-03T21:16:03.609Z", "modified_at": null, "trial_interval": "year", "trial_interval_count": 947072, "name": "", "description": "gee present next brief till or", "visibility": "public", "recurring_interval": "year", "recurring_interval_count": 817410, "is_recurring": false, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2025-06-18T23:40:50.214Z", "modified_at": "2023-01-14T22:55:27.186Z", "id": "", "source": "ad_hoc", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "exclusive", "is_archived": true, "product_id": "", "unit_amount": "", "cap_amount": 459195, "meter_id": "", "meter": {"id": "", "name": ""}}], "benefits": [], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/var/yp", "mime_type": "", "size": 245978, "storage_version": "", "checksum_etag": null, "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-09-02T01:31:39.639Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2024-04-27T06:51:48.796Z", "size_readable": "", "public_url": "https://monthly-concentration.com"}], "organization": {"created_at": "2024-05-09T04:05:31.223Z", "modified_at": "2025-07-23T21:23:51.247Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://finished-language.org/", "proration_behavior": "prorate", "allow_customer_updates": false, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": true, "update_plan": true}}}}, "subscription": {"created_at": "2025-08-10T03:04:21.532Z", "modified_at": "2024-08-23T05:41:16.519Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "month", "recurring_interval_count": 947072, "status": "incomplete_expired", "current_period_start": "2024-07-27T23:16:23.597Z", "current_period_end": "2025-01-04T16:08:44.590Z", "trial_start": null, "trial_end": "2025-05-04T04:31:46.399Z", "cancel_at_period_end": true, "canceled_at": "2025-03-10T21:35:49.211Z", "started_at": "2023-10-24T00:47:38.683Z", "ends_at": "2024-08-10T21:46:10.059Z", "ended_at": "2023-10-02T07:02:51.789Z", "customer_id": "", "product_id": "", "discount_id": null, "checkout_id": "", "customer_cancellation_reason": "too_complex", "customer_cancellation_comment": ""}, "items": [{"created_at": "2024-10-06T01:05:33.969Z", "modified_at": "2024-09-29T23:53:44.892Z", "id": "", "label": "", "amount": 924277, "tax_amount": 651911, "proration": false, "product_price_id": ""}, {"created_at": "2024-10-06T01:05:33.969Z", "modified_at": "2024-09-29T23:53:44.892Z", "id": "", "label": "", "amount": 924277, "tax_amount": 651911, "proration": false, "product_price_id": ""}, {"created_at": "2024-10-06T01:05:33.969Z", "modified_at": "2024-09-29T23:53:44.892Z", "id": "", "label": "", "amount": 924277, "tax_amount": 651911, "proration": false, "product_price_id": ""}], "description": "Pro Plan"} + application/json: {"id": "", "created_at": "2025-06-18T23:40:50.214Z", "modified_at": "2023-01-14T22:55:27.186Z", "status": "paid", "paid": true, "subtotal_amount": 10000, "discount_amount": 1000, "net_amount": 9000, "tax_amount": 720, "total_amount": 9720, "applied_balance_amount": 0, "due_amount": 0, "refunded_amount": 0, "refunded_tax_amount": 0, "currency": "usd", "billing_reason": "purchase", "billing_name": "", "billing_address": {"country": "US"}, "invoice_number": "", "is_invoice_generated": true, "receipt_number": "", "customer_id": "", "product_id": "", "discount_id": "", "subscription_id": "", "checkout_id": "", "product": {"id": "", "created_at": "2024-02-03T21:16:03.609Z", "modified_at": null, "trial_interval": "year", "trial_interval_count": 947072, "name": "", "description": "gee present next brief till or", "visibility": "public", "recurring_interval": "year", "recurring_interval_count": 817410, "meter_interval": "year", "meter_interval_count": 12732, "is_recurring": false, "is_archived": true, "organization_id": "", "prices": [{"created_at": "2025-06-18T23:40:50.214Z", "modified_at": "2023-01-14T22:55:27.186Z", "id": "", "source": "ad_hoc", "amount_type": "metered_unit", "price_currency": "", "tax_behavior": "exclusive", "is_archived": true, "product_id": "", "unit_amount": "", "cap_amount": 459195, "meter_id": "", "meter": {"id": "", "name": "", "unit": "token", "custom_label": "", "custom_multiplier": 728297}}], "benefits": [], "medias": [{"id": "", "organization_id": "", "name": "", "path": "/var/yp", "mime_type": "", "size": 245978, "storage_version": "", "checksum_etag": null, "checksum_sha256_base64": "", "checksum_sha256_hex": "", "last_modified_at": "2025-09-02T01:31:39.639Z", "version": "", "service": "product_media", "is_uploaded": false, "created_at": "2024-04-27T06:51:48.796Z", "size_readable": "", "public_url": "https://monthly-concentration.com"}], "organization": {"created_at": "2024-05-09T04:05:31.223Z", "modified_at": "2025-07-23T21:23:51.247Z", "id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "name": "", "slug": "", "avatar_url": "https://finished-language.org/", "proration_behavior": "prorate", "allow_customer_updates": false, "customer_portal_settings": {"usage": {"show": false}, "subscription": {"update_seats": true, "update_plan": true}}}}, "subscription": {"created_at": "2025-08-10T03:04:21.532Z", "modified_at": "2024-08-23T05:41:16.519Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "month", "recurring_interval_count": 947072, "status": "incomplete_expired", "current_period_start": "2024-07-27T23:16:23.597Z", "current_period_end": "2025-01-04T16:08:44.590Z", "current_meter_period_start": "2025-05-18T06:39:59.017Z", "current_meter_period_end": "2025-09-27T11:25:52.113Z", "trial_start": null, "trial_end": "2025-05-04T04:31:46.399Z", "cancel_at_period_end": true, "canceled_at": "2025-03-10T21:35:49.211Z", "started_at": "2023-10-24T00:47:38.683Z", "ends_at": "2024-08-10T21:46:10.059Z", "ended_at": "2023-10-02T07:02:51.789Z", "pause_at_period_end": false, "paused_at": "2024-04-08T01:55:08.826Z", "resumes_at": "2024-10-17T06:16:35.458Z", "customer_id": "", "product_id": "", "discount_id": null, "checkout_id": "", "customer_cancellation_reason": "too_complex", "customer_cancellation_comment": ""}, "items": [{"created_at": "2024-10-06T01:05:33.969Z", "modified_at": "2024-09-29T23:53:44.892Z", "id": "", "label": "", "amount": 924277, "tax_amount": 651911, "proration": false, "product_price_id": ""}, {"created_at": "2024-10-06T01:05:33.969Z", "modified_at": "2024-09-29T23:53:44.892Z", "id": "", "label": "", "amount": 924277, "tax_amount": 651911, "proration": false, "product_price_id": ""}, {"created_at": "2024-10-06T01:05:33.969Z", "modified_at": "2024-09-29T23:53:44.892Z", "id": "", "label": "", "amount": 924277, "tax_amount": 651911, "proration": false, "product_price_id": ""}], "description": "Pro Plan", "refundable_amount": 9000, "refundable_tax_amount": 720} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -11549,9 +12325,11 @@ examples: "202": application/json: "" "409": - application/json: {"error": "InvoiceAlreadyExists", "detail": ""} + application/json: {"error": "OrderNotEligibleForInvoice", "detail": ""} "422": application/json: {"error": "MissingInvoiceBillingDetails", "detail": ""} + "404": + application/json: {"error": "ResourceNotFound", "detail": ""} webhooks:list_webhook_endpoints: speakeasy-default-webhooks:list-webhook-endpoints: parameters: @@ -11675,7 +12453,7 @@ examples: application/json: {"key": "", "organization_id": ""} responses: "200": - application/json: {"id": "", "created_at": "2024-06-29T07:51:16.664Z", "modified_at": "2024-07-22T07:53:05.781Z", "organization_id": "", "customer_id": "", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-11-08T06:59:11.054Z", "modified_at": "2024-10-16T11:42:16.289Z", "metadata": {"key": true}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-10-15T03:37:33.808Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "benefit_id": "", "key": "", "display_key": "", "status": "granted", "limit_activations": 687171, "usage": 960507, "limit_usage": 710855, "validations": 792226, "last_validated_at": "2024-05-13T06:28:08.701Z", "expires_at": "2025-10-26T12:46:32.455Z"} + application/json: {"id": "", "created_at": "2024-06-29T07:51:16.664Z", "modified_at": "2024-07-22T07:53:05.781Z", "organization_id": "", "customer_id": "", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-11-08T06:59:11.054Z", "modified_at": "2024-10-16T11:42:16.289Z", "metadata": {"key": true}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2025-10-15T03:37:33.808Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "benefit_id": "", "key": "", "display_key": "", "status": "granted", "limit_activations": 687171, "usage": 960507, "limit_usage": 710855, "validations": 792226, "last_validated_at": "2024-05-13T06:28:08.701Z", "expires_at": "2025-10-26T12:46:32.455Z"} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -11686,7 +12464,7 @@ examples: application/json: {"key": "", "organization_id": "", "label": ""} responses: "200": - application/json: {"id": "", "license_key_id": "", "label": "", "meta": {}, "created_at": "2025-01-20T08:29:58.654Z", "modified_at": "2025-03-13T06:17:04.428Z", "license_key": {"id": "", "created_at": "2023-09-03T00:06:44.065Z", "modified_at": "2024-09-21T23:39:19.422Z", "organization_id": "", "customer_id": "", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-07-04T10:38:17.502Z", "modified_at": "2024-07-09T23:48:51.064Z", "metadata": {"key": ""}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-12-05T09:55:52.557Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "benefit_id": "", "key": "", "display_key": "", "status": "granted", "limit_activations": 553799, "usage": 817374, "limit_usage": 304304, "validations": 944013, "last_validated_at": null, "expires_at": "2024-09-12T22:51:35.915Z"}} + application/json: {"id": "", "license_key_id": "", "label": "", "meta": {}, "created_at": "2025-01-20T08:29:58.654Z", "modified_at": "2025-03-13T06:17:04.428Z", "license_key": {"id": "", "created_at": "2023-09-03T00:06:44.065Z", "modified_at": "2024-09-21T23:39:19.422Z", "organization_id": "", "customer_id": "", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-07-04T10:38:17.502Z", "modified_at": "2024-07-09T23:48:51.064Z", "metadata": {"key": ""}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-12-05T09:55:52.557Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "benefit_id": "", "key": "", "display_key": "", "status": "granted", "limit_activations": 553799, "usage": 817374, "limit_usage": 304304, "validations": 944013, "last_validated_at": null, "expires_at": "2024-09-12T22:51:35.915Z"}} "403": application/json: {"error": "NotPermitted", "detail": ""} "404": @@ -11730,6 +12508,8 @@ examples: application/json: {"error": "PaymentAlreadyInProgress", "detail": ""} "422": application/json: {"error": "OrderNotEligibleForRetry", "detail": ""} + "429": + application/json: {"error": "ManualRetryLimitExceeded", "detail": ""} benefit-grants:list: speakeasy-default-benefit-grants:list: parameters: @@ -11739,7 +12519,7 @@ examples: limit: 10 responses: "200": - application/json: {"items": [{"created_at": "2024-08-12T11:30:34.106Z", "modified_at": "2024-09-26T02:26:48.405Z", "id": "", "is_granted": true, "is_revoked": true, "subscription_id": "", "order_id": "", "customer_id": "", "benefit_id": "", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2025-08-20T04:26:19.977Z", "modified_at": "2025-04-19T16:34:47.779Z", "metadata": {"key": ""}, "email_verified": true, "type": "team", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2024-08-23T14:02:07.707Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "benefit": {"id": "", "created_at": "2024-11-24T19:12:31.430Z", "modified_at": "2023-04-29T21:15:24.343Z", "type": "discord", "description": "foot pro completion nor which worthy geez slimy zany", "selectable": true, "deletable": true, "organization_id": "", "metadata": {"key": true}, "properties": {"guild_id": "", "role_id": "", "kick_member": false, "guild_token": ""}}, "properties": {}}], "pagination": {"total_count": 61031, "max_page": 387885}} + application/json: {"items": [{"created_at": "2024-08-12T11:30:34.106Z", "modified_at": "2024-09-26T02:26:48.405Z", "id": "", "is_granted": true, "is_revoked": true, "subscription_id": "", "order_id": "", "customer_id": "", "benefit_id": "", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2025-08-20T04:26:19.977Z", "modified_at": "2025-04-19T16:34:47.779Z", "metadata": {"key": ""}, "email_verified": true, "type": "team", "name": "John Doe", "billing_name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2024-08-23T14:02:07.707Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "benefit": {"id": "", "created_at": "2024-11-24T19:12:31.430Z", "modified_at": "2023-04-29T21:15:24.343Z", "type": "discord", "description": "foot pro completion nor which worthy geez slimy zany", "selectable": true, "deletable": true, "is_deleted": false, "organization_id": "", "metadata": {"key": true}, "visibility": "private", "properties": {"guild_id": "", "role_id": "", "kick_member": false, "guild_token": ""}, "visibility_configurable": false}, "properties": {}}], "pagination": {"total_count": 61031, "max_page": 387885}} "422": application/json: {} customers:export: @@ -11792,7 +12572,7 @@ examples: application/json: {"immediate_claim": false} responses: "200": - application/json: {"created_at": "2024-10-26T09:07:16.987Z", "modified_at": "2024-02-12T05:39:40.718Z", "id": "8b7fef07-0f8e-424f-b52c-4bbf79cc4d14", "status": "claimed", "member": {"id": "", "created_at": "2026-11-14T04:33:05.771Z", "modified_at": "2025-07-31T04:19:39.785Z", "customer_id": "", "email": "member@example.com", "name": "Jane Doe", "external_id": "usr_1337", "role": "member"}} + application/json: {"created_at": "2024-10-26T09:07:16.987Z", "modified_at": "2024-02-12T05:39:40.718Z", "id": "8b7fef07-0f8e-424f-b52c-4bbf79cc4d14", "subscription_id": "f58b7fef-070f-48e2-84f5-2c4bbf79cc4d", "order_id": "d9323e1e-b97e-4921-b7eb-bdb643678b83", "status": "claimed", "customer_id": "9e3e45cd-9435-4493-8827-dc036abc8254", "member_id": "80e13efb-aaa6-4a1c-a05d-76ee7f606c46", "member": {"id": "", "created_at": "2026-11-14T04:33:05.771Z", "modified_at": "2025-07-31T04:19:39.785Z", "customer_id": "", "email": "member@example.com", "name": "Jane Doe", "external_id": "usr_1337", "role": "member"}, "email": "Retta_Huel@gmail.com", "customer_email": "", "invitation_token_expires_at": "2026-09-02T06:35:37.406Z", "claimed_at": "2024-10-31T09:26:40.241Z", "revoked_at": null, "seat_metadata": {"key": "", "key1": ""}} "422": application/json: {} customer_portal:seats:revoke_seat: @@ -11802,7 +12582,7 @@ examples: seat_id: "4b3d74b3-01ff-4aac-bd03-320535cd5ce4" responses: "200": - application/json: {"created_at": "2025-07-13T15:07:21.585Z", "modified_at": "2024-02-27T09:48:22.662Z", "id": "a0c1fc03-f1e1-47ac-80de-00d2f672dcd7", "status": "revoked", "member": {"id": "", "created_at": "2026-03-02T16:52:08.771Z", "modified_at": "2026-07-14T00:48:14.502Z", "customer_id": "", "email": "member@example.com", "name": "Jane Doe", "external_id": "usr_1337", "role": "billing_manager"}} + application/json: {"created_at": "2025-07-13T15:07:21.585Z", "modified_at": "2024-02-27T09:48:22.662Z", "id": "a0c1fc03-f1e1-47ac-80de-00d2f672dcd7", "subscription_id": "b3d74b30-1ffa-4acd-b033-20535cd5ce4e", "order_id": "6a0c1fc0-3f1e-417a-9c0d-e00d2f672dcd", "status": "revoked", "customer_id": "2bc99968-cb59-42f4-ae46-d2b4e05eb07c", "member_id": "f4593050-00d4-42da-9a5f-c737980186e9", "member": {"id": "", "created_at": "2026-03-02T16:52:08.771Z", "modified_at": "2026-07-14T00:48:14.502Z", "customer_id": "", "email": "member@example.com", "name": "Jane Doe", "external_id": "usr_1337", "role": "billing_manager"}, "email": "Christopher5@yahoo.com", "customer_email": "", "invitation_token_expires_at": "2025-06-23T13:25:03.535Z", "claimed_at": "2026-01-19T12:01:38.145Z", "revoked_at": "2024-10-03T00:00:24.901Z", "seat_metadata": {"key": "", "key1": "", "key2": ""}} "422": application/json: {} customer_portal:seats:resend_invitation: @@ -11812,7 +12592,7 @@ examples: seat_id: "e3817437-8d53-4578-88d2-1dc256825965" responses: "200": - application/json: {"created_at": "2024-04-07T01:24:29.339Z", "modified_at": null, "id": "18bd079e-a0ad-43ff-a714-4011874ff35e", "status": "revoked", "member": {"id": "", "created_at": "2024-09-09T02:30:38.922Z", "modified_at": "2024-03-13T13:03:15.529Z", "customer_id": "", "email": "member@example.com", "name": "Jane Doe", "external_id": "usr_1337", "role": "billing_manager"}} + application/json: {"created_at": "2024-04-07T01:24:29.339Z", "modified_at": null, "id": "18bd079e-a0ad-43ff-a714-4011874ff35e", "subscription_id": "38174378-d535-4788-9d21-dc2568259651", "order_id": null, "status": "revoked", "customer_id": null, "member_id": "bd079ea0-ad3f-4f71-9440-11874ff35ea3", "member": {"id": "", "created_at": "2024-09-09T02:30:38.922Z", "modified_at": "2024-03-13T13:03:15.529Z", "customer_id": "", "email": "member@example.com", "name": "Jane Doe", "external_id": "usr_1337", "role": "billing_manager"}, "email": "Bernita_Pollich83@gmail.com", "customer_email": "", "invitation_token_expires_at": "2024-09-27T22:59:20.433Z", "claimed_at": "2025-07-31T05:27:47.431Z", "revoked_at": "2024-10-16T01:24:54.581Z", "seat_metadata": {"key": ""}} "422": application/json: {} customer_portal:seats:list_claimed_subscriptions: @@ -11864,7 +12644,7 @@ examples: application/json: {"product_id": "d8dd2de1-21b7-4a41-8bc3-ce909c0cfe23", "customer_id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b"} responses: "201": - application/json: {"created_at": "2024-05-07T09:41:55.474Z", "modified_at": "2024-07-21T03:47:24.582Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "month", "recurring_interval_count": 261853, "status": "incomplete", "current_period_start": "2025-05-30T22:14:44.546Z", "current_period_end": "2024-03-11T09:56:01.675Z", "trial_start": null, "trial_end": "2024-06-17T00:10:04.156Z", "cancel_at_period_end": true, "canceled_at": "2024-10-16T05:43:54.436Z", "started_at": "2023-08-13T14:15:39.992Z", "ends_at": "2023-02-26T21:36:33.823Z", "ended_at": null, "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "missing_features", "customer_cancellation_comment": "", "metadata": {}, "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-05-11T11:37:46.426Z", "modified_at": "2023-08-28T20:40:19.067Z", "metadata": {"key": ""}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-05-09T04:32:44.403Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "product": {"id": "", "created_at": "2024-03-12T12:11:55.173Z", "modified_at": "2025-12-06T22:23:14.254Z", "trial_interval": "week", "trial_interval_count": 71746, "name": "", "description": "uneven lest shocked alongside", "visibility": "private", "recurring_interval": null, "recurring_interval_count": 106391, "is_recurring": false, "is_archived": true, "organization_id": "", "metadata": {}, "prices": [], "benefits": [{"id": "", "created_at": "2025-08-08T23:08:58.031Z", "modified_at": "2023-08-16T21:10:10.979Z", "type": "downloadables", "description": "consign ick circle", "selectable": false, "deletable": false, "organization_id": "", "metadata": {"key": ""}, "properties": {"archived": {"key": false, "key1": true, "key2": false}, "files": ["", "", ""]}}], "medias": [], "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2024-12-25T03:27:59.537Z", "modified_at": "2025-03-22T12:04:54.293Z", "id": "", "metadata": {}, "type": "date", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 335043, "required": true}]}, "discount": {"duration": "repeating", "duration_in_months": 470978, "type": "percentage", "basis_points": 1000, "created_at": "2023-01-02T12:02:59.434Z", "modified_at": "2024-12-18T23:17:27.575Z", "id": "", "metadata": {"key": 583422}, "name": "", "code": "", "starts_at": "2024-06-09T18:09:09.489Z", "ends_at": "2025-04-22T20:10:26.485Z", "max_redemptions": 345910, "redemptions_count": 235299, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "prices": [{"created_at": "2023-08-05T18:43:39.547Z", "modified_at": "2023-03-08T07:36:56.095Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "week", "price_amount": 984500, "legacy": true}], "meters": [], "pending_update": {"created_at": "2025-07-21T03:47:24.582Z", "modified_at": "2024-10-13T23:47:40.655Z", "id": "", "applies_at": "2024-05-27T02:50:40.456Z", "product_id": "", "seats": 397275}} + application/json: {"created_at": "2024-05-07T09:41:55.474Z", "modified_at": "2024-07-21T03:47:24.582Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "month", "recurring_interval_count": 261853, "status": "incomplete", "current_period_start": "2025-05-30T22:14:44.546Z", "current_period_end": "2024-03-11T09:56:01.675Z", "current_meter_period_start": "2025-05-07T09:41:55.474Z", "current_meter_period_end": "2025-07-21T03:47:24.582Z", "trial_start": null, "trial_end": "2024-06-17T00:10:04.156Z", "cancel_at_period_end": true, "canceled_at": "2024-10-16T05:43:54.436Z", "started_at": "2023-08-13T14:15:39.992Z", "ends_at": "2023-02-26T21:36:33.823Z", "ended_at": null, "pause_at_period_end": false, "paused_at": "2024-05-27T02:50:40.456Z", "resumes_at": "2025-11-18T19:00:14.030Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "missing_features", "customer_cancellation_comment": "", "metadata": {}, "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-05-11T11:37:46.426Z", "modified_at": "2023-08-28T20:40:19.067Z", "metadata": {"key": ""}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2023-05-09T04:32:44.403Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "product": {"id": "", "created_at": "2024-03-12T12:11:55.173Z", "modified_at": "2025-12-06T22:23:14.254Z", "trial_interval": "week", "trial_interval_count": 71746, "name": "", "description": "uneven lest shocked alongside", "visibility": "private", "recurring_interval": null, "recurring_interval_count": 106391, "meter_interval": "day", "meter_interval_count": 486320, "is_recurring": false, "is_archived": true, "organization_id": "", "metadata": {}, "prices": [], "benefits": [{"id": "", "created_at": "2025-08-08T23:08:58.031Z", "modified_at": "2023-08-16T21:10:10.979Z", "type": "downloadables", "description": "consign ick circle", "selectable": false, "deletable": false, "is_deleted": true, "organization_id": "", "metadata": {"key": ""}, "visibility": "private", "properties": {"archived": {"key": false, "key1": true, "key2": false}, "files": ["", "", ""]}, "visibility_configurable": false}], "medias": [], "attached_custom_fields": [{"custom_field_id": "", "custom_field": {"created_at": "2024-12-25T03:27:59.537Z", "modified_at": "2025-03-22T12:04:54.293Z", "id": "", "metadata": {}, "type": "date", "slug": "", "name": "", "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "properties": {}}, "order": 335043, "required": true}]}, "discount": {"duration": "repeating", "duration_in_months": 470978, "type": "percentage", "basis_points": 1000, "created_at": "2023-01-02T12:02:59.434Z", "modified_at": "2024-12-18T23:17:27.575Z", "id": "", "metadata": {"key": 583422}, "name": "", "code": "", "starts_at": "2024-06-09T18:09:09.489Z", "ends_at": "2025-04-22T20:10:26.485Z", "max_redemptions": 345910, "redemptions_count": 235299, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "prices": [{"created_at": "2023-08-05T18:43:39.547Z", "modified_at": "2023-03-08T07:36:56.095Z", "id": "", "source": "catalog", "amount_type": "fixed", "price_currency": "", "tax_behavior": "inclusive", "is_archived": true, "product_id": "", "type": "recurring", "recurring_interval": "week", "price_amount": 984500, "legacy": true}], "meters": [], "pending_update": {"created_at": "2025-07-21T03:47:24.582Z", "modified_at": "2024-10-13T23:47:40.655Z", "id": "", "applies_at": "2024-05-27T02:50:40.456Z", "product_id": "", "seats": 397275}} "422": application/json: {} orders:export: @@ -11907,7 +12687,7 @@ examples: application/json: {"immediate_claim": false} responses: "200": - application/json: {"created_at": "2025-06-03T22:03:05.719Z", "modified_at": "2023-07-07T22:56:08.145Z", "id": "36156b2b-4547-4276-b3b4-22f77d587bae", "status": "revoked", "member": {"id": "", "created_at": "2025-08-02T08:42:05.683Z", "modified_at": "2024-09-15T06:25:05.015Z", "customer_id": "", "email": "member@example.com", "name": "Jane Doe", "external_id": "usr_1337", "role": "billing_manager"}} + application/json: {"created_at": "2025-06-03T22:03:05.719Z", "modified_at": "2023-07-07T22:56:08.145Z", "id": "36156b2b-4547-4276-b3b4-22f77d587bae", "subscription_id": "8236156b-2b45-4472-a763-b422f77d587b", "order_id": "eba0aee9-f2c2-4e46-be80-208ee24ab41f", "status": "revoked", "customer_id": "4b313b5a-3e64-4d53-9494-7431d6466cec", "member_id": null, "member": {"id": "", "created_at": "2025-08-02T08:42:05.683Z", "modified_at": "2024-09-15T06:25:05.015Z", "customer_id": "", "email": "member@example.com", "name": "Jane Doe", "external_id": "usr_1337", "role": "billing_manager"}, "email": "Declan_Turcotte@yahoo.com", "customer_email": "", "invitation_token_expires_at": "2026-02-08T06:40:09.842Z", "claimed_at": "2026-12-15T15:19:19.613Z", "revoked_at": "2026-02-13T14:30:49.606Z", "seat_metadata": {}} "422": application/json: {} customer-seats:list_seats: @@ -11924,7 +12704,7 @@ examples: seat_id: "" responses: "200": - application/json: {"created_at": "2023-02-12T16:27:18.501Z", "modified_at": "2024-09-27T11:19:26.594Z", "id": "2602d80b-08c2-4824-b372-174263480d07", "status": "revoked", "member": null} + application/json: {"created_at": "2023-02-12T16:27:18.501Z", "modified_at": "2024-09-27T11:19:26.594Z", "id": "2602d80b-08c2-4824-b372-174263480d07", "subscription_id": null, "order_id": "92602d80-b08c-4282-9437-2174263480d0", "status": "revoked", "customer_id": "ad6d20c4-54a9-40f5-88c6-ee497ace865c", "member_id": "693f8f8e-87dd-4710-8945-dbf3bd2d6dce", "member": null, "email": "Elmira32@gmail.com", "customer_email": "", "invitation_token_expires_at": "2024-10-31T12:28:39.581Z", "claimed_at": "2025-09-24T10:04:27.928Z", "revoked_at": "2026-11-16T19:58:48.412Z", "seat_metadata": {"key": "", "key1": ""}} "422": application/json: {} customer-seats:resend_invitation: @@ -11934,7 +12714,7 @@ examples: seat_id: "" responses: "200": - application/json: {"created_at": "2024-02-22T18:37:49.829Z", "modified_at": "2023-11-02T09:20:25.641Z", "id": "fd0c6fd0-32b4-4a7a-b30c-92a16368ffaf", "status": "revoked", "member": {"id": "", "created_at": "2025-05-10T16:55:18.836Z", "modified_at": "2026-12-09T01:18:27.985Z", "customer_id": "", "email": "member@example.com", "name": "Jane Doe", "external_id": "usr_1337", "role": "member"}} + application/json: {"created_at": "2024-02-22T18:37:49.829Z", "modified_at": "2023-11-02T09:20:25.641Z", "id": "fd0c6fd0-32b4-4a7a-b30c-92a16368ffaf", "subscription_id": "74fd0c6f-d032-4b4a-a7a3-0c92a16368ff", "order_id": "dc5caa37-ae6a-48e4-b325-e9ea77fd0727", "status": "revoked", "customer_id": "abae3d5b-0cdb-42e4-a2d7-9b00e328d81d", "member_id": "19d334a2-9ee8-45b6-acae-49a3810585cc", "member": {"id": "", "created_at": "2025-05-10T16:55:18.836Z", "modified_at": "2026-12-09T01:18:27.985Z", "customer_id": "", "email": "member@example.com", "name": "Jane Doe", "external_id": "usr_1337", "role": "member"}, "email": "Waino_Green@gmail.com", "customer_email": "", "invitation_token_expires_at": "2026-04-14T11:15:44.352Z", "claimed_at": "2025-06-21T01:32:34.690Z", "revoked_at": "2025-03-05T22:44:25.747Z", "seat_metadata": {"key": "", "key1": ""}} "422": application/json: {} customer-seats:get_claim_info: @@ -11953,7 +12733,7 @@ examples: application/json: {"invitation_token": ""} responses: "200": - application/json: {"seat": {"created_at": "2025-04-12T14:34:03.720Z", "modified_at": "2024-11-19T23:36:35.489Z", "id": "f64b62d8-93fd-4163-a769-ecd646971709", "status": "revoked", "member": {"id": "", "created_at": "2026-11-14T01:43:34.533Z", "modified_at": "2026-10-30T18:59:40.061Z", "customer_id": "", "email": "member@example.com", "name": "Jane Doe", "external_id": "usr_1337", "role": "billing_manager"}}, "customer_session_token": ""} + application/json: {"seat": {"created_at": "2025-04-12T14:34:03.720Z", "modified_at": "2024-11-19T23:36:35.489Z", "id": "f64b62d8-93fd-4163-a769-ecd646971709", "subscription_id": "faf64b62-d893-4fd1-8637-69ecd6469717", "order_id": "bbe19910-1440-4e1e-a862-8ed6dab23089", "status": "revoked", "customer_id": "78d8d101-0953-4ce4-965c-b651a62a0554", "member_id": "88e8e0af-0950-40ee-9bdf-5ce73e503647", "member": {"id": "", "created_at": "2026-11-14T01:43:34.533Z", "modified_at": "2026-10-30T18:59:40.061Z", "customer_id": "", "email": "member@example.com", "name": "Jane Doe", "external_id": "usr_1337", "role": "billing_manager"}, "email": "Judah.Hartmann@hotmail.com", "customer_email": "", "invitation_token_expires_at": "2024-04-07T18:26:49.248Z", "claimed_at": null, "revoked_at": "2026-10-21T03:44:00.761Z", "seat_metadata": {"key": "", "key1": ""}}, "customer_session_token": ""} "422": application/json: {} wallets:list: @@ -12017,7 +12797,7 @@ examples: id: "" responses: "200": - application/json: {"created_at": "2026-12-27T06:17:28.713Z", "modified_at": "2025-10-30T18:31:05.642Z", "id": "", "status": "won", "resolved": false, "closed": false, "amount": 1000, "tax_amount": 200, "currency": "usd", "order_id": "57107b74-8400-4d80-a2fc-54c2b4239cb3", "payment_id": "42b94870-36b9-4573-96b6-b90b1c99a353"} + application/json: {"created_at": "2026-12-27T06:17:28.713Z", "modified_at": "2025-10-30T18:31:05.642Z", "id": "", "status": "won", "resolved": false, "closed": false, "amount": 1000, "tax_amount": 200, "currency": "usd", "reason": "fraudulent", "evidence_due_by": "2024-06-08T03:04:39.054Z", "past_due": false, "order_id": "57107b74-8400-4d80-a2fc-54c2b4239cb3", "payment_id": "42b94870-36b9-4573-96b6-b90b1c99a353", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2025-10-30T18:31:05.642Z", "modified_at": "2024-01-29T09:33:25.410Z", "metadata": {"key": 348395}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "team", "name": "John Doe", "billing_name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2024-01-18T06:20:28.605Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "case_id": null} "404": application/json: {"error": "ResourceNotFound", "detail": ""} "422": @@ -12144,7 +12924,7 @@ examples: path: id: "8319ae11-ed5f-4642-81e4-4b40731df195" requestBody: - application/json: {} + application/json: {"name": "Jane Doe"} responses: "200": application/json: {"created_at": "2024-04-06T21:37:42.462Z", "modified_at": "2024-11-02T08:32:45.844Z", "id": "", "email": "Conrad33@gmail.com", "name": "", "role": "owner"} @@ -12249,9 +13029,260 @@ examples: application/json: {"created_at": "2024-01-03T20:53:28.521Z", "modified_at": null, "id": "", "name": "", "metrics": [], "organization_id": ""} "422": application/json: {} + orders:create: + speakeasy-default-orders:create: + requestBody: + application/json: {"organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "customer_id": "", "product_id": ""} + responses: + "201": + application/json: {"id": "", "created_at": "2026-07-18T17:44:54.628Z", "modified_at": null, "status": "void", "paid": true, "subtotal_amount": 10000, "discount_amount": 1000, "net_amount": 9000, "tax_amount": 720, "total_amount": 9720, "applied_balance_amount": 0, "due_amount": 0, "refunded_amount": 0, "refunded_tax_amount": 0, "currency": "usd", "billing_reason": "purchase", "billing_name": null, "billing_address": {"country": "US"}, "invoice_number": "", "is_invoice_generated": true, "receipt_number": null, "customer_id": "", "product_id": "", "discount_id": "", "subscription_id": "", "checkout_id": "", "metadata": {}, "platform_fee_amount": 500, "platform_fee_currency": "usd", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2025-11-29T03:34:26.239Z", "modified_at": "2024-07-12T06:58:01.957Z", "metadata": {"key": 3792.25}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_name": "John Doe", "billing_address": null, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": null, "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "product": {"metadata": {"key": ""}, "id": "", "created_at": "2026-01-15T20:09:02.162Z", "modified_at": "2024-08-30T12:54:42.214Z", "trial_interval": "year", "trial_interval_count": 699089, "name": "", "description": "resolve pish aha catch", "visibility": "private", "recurring_interval": "year", "recurring_interval_count": null, "meter_interval": "day", "meter_interval_count": 354329, "is_recurring": true, "is_archived": false, "organization_id": ""}, "discount": {"duration": "repeating", "duration_in_months": 612776, "type": "percentage", "amount": 1000, "currency": "usd", "amounts": {"eur": 900, "usd": 1000}, "created_at": "2026-06-25T03:45:24.404Z", "modified_at": "2025-12-09T12:22:08.102Z", "id": "", "metadata": {}, "name": "", "code": "", "starts_at": null, "ends_at": "2025-03-29T22:01:11.365Z", "max_redemptions": 219921, "redemptions_count": 387267, "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737"}, "subscription": {"metadata": {"key": false}, "created_at": "2025-03-18T06:19:15.926Z", "modified_at": "2024-03-21T21:52:16.023Z", "id": "", "amount": 10000, "currency": "usd", "recurring_interval": "year", "recurring_interval_count": 406924, "status": "past_due", "current_period_start": "2026-06-19T12:00:53.883Z", "current_period_end": "2025-01-06T10:28:40.440Z", "current_meter_period_start": "2025-05-19T16:19:45.583Z", "current_meter_period_end": "2026-06-01T05:03:49.220Z", "trial_start": "2024-03-23T13:29:48.396Z", "trial_end": "2024-10-29T12:03:40.812Z", "cancel_at_period_end": false, "canceled_at": "2025-04-16T02:20:17.113Z", "started_at": "2025-12-22T22:20:56.444Z", "ends_at": "2026-12-20T15:00:03.214Z", "ended_at": "2024-09-09T18:15:11.417Z", "pause_at_period_end": false, "paused_at": "2026-04-10T23:16:24.128Z", "resumes_at": "2026-09-17T20:46:51.055Z", "customer_id": "", "product_id": "", "discount_id": "", "checkout_id": "", "customer_cancellation_reason": "switched_service", "customer_cancellation_comment": ""}, "items": [], "description": "Pro Plan", "refundable_amount": 9000, "refundable_tax_amount": 720} + "422": + application/json: {} + orders:finalize: + speakeasy-default-orders:finalize: + parameters: + path: + id: "" + responses: + "200": + application/json: {"id": "", "created_at": "2025-05-24T20:30:52.486Z", "modified_at": "2026-03-14T23:42:09.699Z", "status": "refunded", "paid": true, "subtotal_amount": 10000, "discount_amount": 1000, "net_amount": 9000, "tax_amount": 720, "total_amount": 9720, "applied_balance_amount": 0, "due_amount": 0, "refunded_amount": 0, "refunded_tax_amount": 0, "currency": "usd", "billing_reason": "subscription_create", "billing_name": "", "billing_address": {"country": "US"}, "invoice_number": "", "is_invoice_generated": true, "receipt_number": "", "customer_id": "", "product_id": "", "discount_id": "", "subscription_id": "", "checkout_id": "", "metadata": {}, "platform_fee_amount": 500, "platform_fee_currency": "usd", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2024-03-25T22:40:42.220Z", "modified_at": "2024-03-29T16:00:03.359Z", "metadata": {}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "individual", "name": "John Doe", "billing_name": "John Doe", "billing_address": null, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2024-12-31T05:13:06.739Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "product": {"metadata": {"key": 62319}, "id": "", "created_at": "2025-03-11T02:25:51.106Z", "modified_at": "2026-08-31T21:34:30.185Z", "trial_interval": null, "trial_interval_count": 996232, "name": "", "description": "outfox pish as triumphantly what supposing hence frightfully", "visibility": "public", "recurring_interval": "day", "recurring_interval_count": 783393, "meter_interval": "month", "meter_interval_count": 707715, "is_recurring": true, "is_archived": true, "organization_id": ""}, "discount": null, "subscription": null, "items": [{"created_at": "2026-07-26T10:41:54.204Z", "modified_at": "2025-11-27T06:16:41.681Z", "id": "", "label": "Pro Plan", "amount": 10000, "tax_amount": 720, "proration": false, "product_price_id": ""}], "description": "Pro Plan", "refundable_amount": 9000, "refundable_tax_amount": 720} + "402": + application/json: {"error": "PaymentActionRequired", "detail": ""} + "403": + application/json: {"error": "OrganizationNotReadyForPayments", "detail": ""} + "404": + application/json: {"error": "ResourceNotFound", "detail": ""} + "412": + application/json: {"error": "OrderNotDraft", "detail": ""} + "422": + application/json: {} + orders:receipt: + speakeasy-default-orders:receipt: + parameters: + path: + id: "" + responses: + "200": + application/json: {"url": "https://firm-newsprint.org"} + "404": + application/json: {"error": "ResourceNotFound", "detail": ""} + "422": + application/json: {} + disputes:accept: + speakeasy-default-disputes:accept: + parameters: + path: + id: "" + responses: + "200": + application/json: {"created_at": "2026-10-08T22:29:13.760Z", "modified_at": "2026-02-06T18:04:28.655Z", "id": "", "status": "prevented", "resolved": false, "closed": false, "amount": 1000, "tax_amount": 200, "currency": "usd", "reason": "fraudulent", "evidence_due_by": "2024-02-23T14:39:57.790Z", "past_due": false, "order_id": "57107b74-8400-4d80-a2fc-54c2b4239cb3", "payment_id": "42b94870-36b9-4573-96b6-b90b1c99a353", "customer": {"id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b", "created_at": "2025-12-13T04:51:37.340Z", "modified_at": "2025-09-24T11:36:05.831Z", "metadata": {"key": 748332}, "external_id": "usr_1337", "email": "customer@example.com", "email_verified": true, "type": "team", "name": "John Doe", "billing_name": "John Doe", "billing_address": {"country": "US"}, "tax_id": ["911144442", "us_ein"], "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737", "deleted_at": "2024-06-15T22:40:12.305Z", "avatar_url": "https://www.gravatar.com/avatar/xxx?d=404"}, "case_id": ""} + "404": + application/json: {"error": "ResourceNotFound", "detail": ""} + "409": + application/json: {"error": "DisputeNotOpenError", "detail": ""} + "422": + application/json: {} + metrics:export: + speakeasy-default-metrics:export: + parameters: + query: + start_date: "2026-07-17" + end_date: "2024-05-06" + timezone: "UTC" + interval: "year" + organization_id: "1dbfc517-0bbf-4301-9ba8-555ca42b9737" + responses: + "200": + text/csv: "" + "422": + application/json: {} + customers:list_payment_methods: + speakeasy-default-customers:list-payment-methods: + parameters: + path: + id: "" + query: + page: 1 + limit: 10 + responses: + "200": + application/json: {"items": [], "pagination": {"total_count": 517187, "max_page": 568637}} + "404": + application/json: {"error": "ResourceNotFound", "detail": ""} + "422": + application/json: {} + customers:list_payment_methods_external: + speakeasy-default-customers:list-payment-methods-external: + parameters: + path: + external_id: "" + query: + page: 1 + limit: 10 + responses: + "200": + application/json: {"items": [], "pagination": {"total_count": 11891, "max_page": 59510}} + "404": + application/json: {"error": "ResourceNotFound", "detail": ""} + "422": + application/json: {} + customers:members:create: + speakeasy-default-customers:members:create: + parameters: + path: + id: "" + requestBody: + application/json: {"email": "member@example.com", "name": "Jane Doe", "external_id": "usr_1337", "role": "member"} + responses: + "201": + application/json: {"id": "", "created_at": "2024-04-19T09:03:42.468Z", "modified_at": "2026-08-31T19:23:30.863Z", "customer_id": "", "email": "member@example.com", "name": "Jane Doe", "external_id": "usr_1337", "role": "member"} + "403": + application/json: {"error": "NotPermitted", "detail": ""} + "404": + application/json: {"error": "ResourceNotFound", "detail": ""} + "422": + application/json: {} + customers:members:create_external: + speakeasy-default-customers:members:create-external: + parameters: + path: + external_id: "" + requestBody: + application/json: {"email": "member@example.com", "name": "Jane Doe", "external_id": "usr_1337", "role": "member"} + responses: + "201": + application/json: {"id": "", "created_at": "2026-03-13T14:55:07.350Z", "modified_at": "2026-06-16T05:38:18.476Z", "customer_id": "", "email": "member@example.com", "name": "Jane Doe", "external_id": "usr_1337", "role": "member"} + "403": + application/json: {"error": "NotPermitted", "detail": ""} + "404": + application/json: {"error": "ResourceNotFound", "detail": ""} + "409": + application/json: {"error": "AmbiguousExternalCustomerID", "detail": ""} + "422": + application/json: {} + customers:members:get: + speakeasy-default-customers:members:get: + parameters: + path: + id: "" + member_id: "a794a9c8-dc43-40b4-b2f5-ed16145e28ac" + responses: + "200": + application/json: {"id": "", "created_at": "2024-07-12T18:13:42.961Z", "modified_at": "2025-03-07T05:19:59.732Z", "customer_id": "", "email": "member@example.com", "name": "Jane Doe", "external_id": "usr_1337", "role": "owner"} + "404": + application/json: {"error": "ResourceNotFound", "detail": ""} + "422": + application/json: {} + customers:members:delete: + speakeasy-default-customers:members:delete: + parameters: + path: + id: "" + member_id: "a6d6f519-f76e-49a0-9868-b346c98100a6" + responses: + "404": + application/json: {"error": "ResourceNotFound", "detail": ""} + "422": + application/json: {} + customers:members:update: + speakeasy-default-customers:members:update: + parameters: + path: + id: "" + member_id: "f48ea05d-6a60-4bb1-b3d9-4b3cd7194f3a" + requestBody: + application/json: {"name": "Jane Doe"} + responses: + "200": + application/json: {"id": "", "created_at": "2025-12-24T06:58:32.085Z", "modified_at": "2025-02-02T21:59:32.518Z", "customer_id": "", "email": "member@example.com", "name": "Jane Doe", "external_id": "usr_1337", "role": "member"} + "404": + application/json: {"error": "ResourceNotFound", "detail": ""} + "422": + application/json: {} + customers:members:get_external: + speakeasy-default-customers:members:get-external: + parameters: + path: + external_id: "" + member_external_id: "" + responses: + "200": + application/json: {"id": "", "created_at": "2025-06-23T13:55:29.487Z", "modified_at": null, "customer_id": "", "email": "member@example.com", "name": "Jane Doe", "external_id": "usr_1337", "role": "member"} + "404": + application/json: {"error": "ResourceNotFound", "detail": ""} + "409": + application/json: {"error": "AmbiguousExternalCustomerID", "detail": ""} + "422": + application/json: {} + customers:members:delete_external: + speakeasy-default-customers:members:delete-external: + parameters: + path: + external_id: "" + member_external_id: "" + responses: + "404": + application/json: {"error": "ResourceNotFound", "detail": ""} + "409": + application/json: {"error": "AmbiguousExternalCustomerID", "detail": ""} + "422": + application/json: {} + customers:members:update_external: + speakeasy-default-customers:members:update-external: + parameters: + path: + external_id: "" + member_external_id: "" + requestBody: + application/json: {"name": "Jane Doe"} + responses: + "200": + application/json: {"id": "", "created_at": "2024-01-03T09:45:03.440Z", "modified_at": "2024-04-16T10:47:44.663Z", "customer_id": "", "email": "member@example.com", "name": "Jane Doe", "external_id": "usr_1337", "role": "member"} + "404": + application/json: {"error": "ResourceNotFound", "detail": ""} + "409": + application/json: {"error": "AmbiguousExternalCustomerID", "detail": ""} + "422": + application/json: {} + customer_portal:customers:request_email_update: + speakeasy-default-customer-portal:customers:request-email-update: + requestBody: + application/json: {"email": "Tommie_Larkin78@gmail.com"} + responses: + "202": + application/json: "" + "422": + application/json: {} + customer_portal:customers:check_email_update: + speakeasy-default-customer-portal:customers:check-email-update: + parameters: + query: + token: "" + responses: + "422": + application/json: {} + customer_portal:customers:verify_email_update: + speakeasy-default-customer-portal:customers:verify-email-update: + requestBody: + application/json: {"token": ""} + responses: + "200": + application/json: {"token": ""} + customer_portal:orders:receipt: + speakeasy-default-customer-portal:orders:receipt: + parameters: + path: + id: "" + responses: + "200": + application/json: {"url": "https://winding-jet.info"} + "404": + application/json: {"error": "ResourceNotFound", "detail": ""} + "422": + application/json: {} examplesVersion: 1.0.2 generatedTests: {} -releaseNotes: "## Php SDK Changes:\n* `polar->customers->list()`: `response.items[]` **Changed** (Breaking ⚠️)\n* `polar->benefit-grants->list()`: `response.items[]->customer` **Changed** (Breaking ⚠️)\n* `polar->customer_meters->get()`: `response.customer` **Changed** (Breaking ⚠️)\n* `polar->customer_meters->list()`: `response.items[]->customer` **Changed** (Breaking ⚠️)\n* `polar->organization_access_tokens->update()`: \n * `request.organizationAccessTokenUpdate->scopes[]->enum(metrics:write)` **Added**\n * `response.scopes[]->enum(metrics:write)` **Added** (Breaking ⚠️)\n* `polar->subscriptions->list()`: \n * `request` **Changed**\n * `response.items[]->customer` **Changed** (Breaking ⚠️)\n* `polar->subscriptions->create()`: `response.customer` **Changed** (Breaking ⚠️)\n* `polar->subscriptions->get()`: `response.customer` **Changed** (Breaking ⚠️)\n* `polar->subscriptions->revoke()`: `response.customer` **Changed** (Breaking ⚠️)\n* `polar->subscriptions->update()`: `response.customer` **Changed** (Breaking ⚠️)\n* `polar->oauth2->authorize()`: `response.union(user)->scopes[]->enum(metrics:write)` **Added** (Breaking ⚠️)\n* `polar->benefits->grants()`: `response.items[]->customer` **Changed** (Breaking ⚠️)\n* `polar->customers->create()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n* `polar->orders->list()`: `response.items[]->customer` **Changed** (Breaking ⚠️)\n* `polar->orders->get()`: `response.customer` **Changed** (Breaking ⚠️)\n* `polar->orders->update()`: `response.customer` **Changed** (Breaking ⚠️)\n* `polar->license_keys->list()`: `response.items[]->customer` **Changed** (Breaking ⚠️)\n* `polar->license_keys->get()`: `response.customer` **Changed** (Breaking ⚠️)\n* `polar->license_keys->update()`: `response.customer` **Changed** (Breaking ⚠️)\n* `polar->license_keys->getActivation()`: `response.licenseKey->customer` **Changed** (Breaking ⚠️)\n* `polar->license_keys->validate()`: `response.customer` **Changed** (Breaking ⚠️)\n* `polar->license_keys->activate()`: `response.licenseKey->customer` **Changed** (Breaking ⚠️)\n* `polar->organization_access_tokens->create()`: \n * `request->scopes[]->enum(metrics:write)` **Added**\n * `response.organizationAccessToken->scopes[]->enum(metrics:write)` **Added** (Breaking ⚠️)\n* `polar->organization_access_tokens->list()`: `response.items[]->scopes[]->enum(metrics:write)` **Added** (Breaking ⚠️)\n* `polar->customer_portal->benefitGrants->get()`: `response.union(CustomerBenefitGrantMeterCredit)->customer->email` **Changed** (Breaking ⚠️)\n* `polar->customers->update()`: `response` **Changed** (Breaking ⚠️)\n* `polar->customers->getExternal()`: `response` **Changed** (Breaking ⚠️)\n* `polar->customers->updateExternal()`: `response` **Changed** (Breaking ⚠️)\n* `polar->customers->getState()`: `response` **Changed** (Breaking ⚠️)\n* `polar->customers->getStateExternal()`: `response` **Changed** (Breaking ⚠️)\n* `polar->customer_portal->benefitGrants->list()`: `response.items[]->union(CustomerBenefitGrantCustom)->customer->email` **Changed** (Breaking ⚠️)\n* `polar->customers->get()`: `response` **Changed** (Breaking ⚠️)\n* `polar->customer_portal->benefitGrants->update()`: `response.union(CustomerBenefitGrantFeatureFlag)->customer->email` **Changed** (Breaking ⚠️)\n* `polar->customer_portal->customers->get()`: `response.email` **Changed** (Breaking ⚠️)\n* `polar->customer_portal->customers->update()`: `response.email` **Changed** (Breaking ⚠️)\n* `polar->customer_portal->licenseKeys->list()`: `response.items[]->customer` **Changed** (Breaking ⚠️)\n* `polar->customer_portal->licenseKeys->get()`: `response.customer` **Changed** (Breaking ⚠️)\n* `polar->customer_portal->licenseKeys->validate()`: `response.customer` **Changed** (Breaking ⚠️)\n* `polar->customer_portal->licenseKeys->activate()`: `response.licenseKey->customer` **Changed** (Breaking ⚠️)\n* `polar->customer-sessions->create()`: `response.customer` **Changed** (Breaking ⚠️)\n* `polar->events->list()`: `response.union(ListResource_Event_)->items[]->union(SystemEvent)` **Changed** (Breaking ⚠️)\n* `polar->events->get()`: `response.union(SystemEvent)` **Changed** (Breaking ⚠️)\n* `polar->metrics->listDashboards()`: **Added**\n* `polar->metrics->createDashboard()`: **Added**\n* `polar->metrics->updateDashboard()`: **Added**\n* `polar->metrics->deleteDashboard()`: **Added**\n* `polar->metrics->getDashboard()`: **Added**\n" +releaseNotes: "## Php SDK Changes:\n* `polar->checkouts->clientUpdate()`: `response` **Changed** (Breaking ⚠️)\n* `polar->benefits->grants()`: `response.items[]` **Changed** (Breaking ⚠️)\n* `polar->organizations->update()`: \n * `request.organizationUpdate` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[409]` **Added**\n* `polar->subscriptions->list()`: \n * `request->status` **Added**\n * `response.items[]` **Changed** (Breaking ⚠️)\n* `polar->subscriptions->create()`: `response` **Changed** (Breaking ⚠️)\n* `polar->customer_meters->get()`: `response` **Changed** (Breaking ⚠️)\n* `polar->customer_meters->list()`: `response.items[]` **Changed** (Breaking ⚠️)\n* `polar->event-types->list()`: `response.items[]` **Changed** (Breaking ⚠️)\n* `polar->events->get()`: `response.union(SystemEvent)` **Changed** (Breaking ⚠️)\n* `polar->events->list()`: `response.union(ListResource_Event_)->items[]->union(SystemEvent)` **Changed** (Breaking ⚠️)\n* `polar->customer-sessions->create()`: `response.customer` **Changed** (Breaking ⚠️)\n* `polar->customer-seats->assignSeat()`: \n * `request->checkoutId` **Removed** (Breaking ⚠️)\n * `response` **Changed**\n* `polar->files->list()`: `response.items[]->union(support_case_attachment)` **Added** (Breaking ⚠️)\n* `polar->customer_portal->subscriptions->update()`: \n * `request.customerSubscriptionUpdate` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error` **Changed** (Breaking ⚠️)\n* `polar->customer_portal->subscriptions->cancel()`: `response` **Changed** (Breaking ⚠️)\n* `polar->customer_portal->subscriptions->get()`: `response` **Changed** (Breaking ⚠️)\n* `polar->customer_portal->subscriptions->list()`: `response.items[]` **Changed** (Breaking ⚠️)\n* `polar->customer_portal->organizations->get()`: `response` **Changed** (Breaking ⚠️)\n* `polar->customer_portal->orders->generateInvoice()`: `error` **Changed** (Breaking ⚠️)\n* `polar->customer_portal->orders->update()`: `response` **Changed** (Breaking ⚠️)\n* `polar->organizations->create()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n * `error.status[403]` **Added**\n* `polar->customer_portal->orders->get()`: `response` **Changed** (Breaking ⚠️)\n* `polar->customer_portal->orders->list()`: `response.items[]` **Changed** (Breaking ⚠️)\n* `polar->customer_portal->licenseKeys->activate()`: `response.licenseKey->customer` **Changed** (Breaking ⚠️)\n* `polar->customer_portal->licenseKeys->validate()`: `response.customer` **Changed** (Breaking ⚠️)\n* `polar->customer_portal->licenseKeys->get()`: `response.customer` **Changed** (Breaking ⚠️)\n* `polar->customer_portal->licenseKeys->list()`: `response.items[]->customer` **Changed** (Breaking ⚠️)\n* `polar->customer_portal->downloadables->list()`: `response.items[]->file->service->enum(supportCaseAttachment)` **Added** (Breaking ⚠️)\n* `polar->checkouts->clientConfirm()`: `response` **Changed** (Breaking ⚠️)\n* `polar->subscriptions->export()`: `response.status[200]` **Removed** (Breaking ⚠️)\n* `polar->subscriptions->get()`: `response` **Changed** (Breaking ⚠️)\n* `polar->subscriptions->revoke()`: `response` **Changed** (Breaking ⚠️)\n* `polar->subscriptions->update()`: \n * `request.subscriptionUpdate` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n* `polar->oauth2->authorize()`: `response` **Changed** (Breaking ⚠️)\n* `polar->customer_portal->seats->listClaimedSubscriptions()`: `response.items[]` **Changed** (Breaking ⚠️)\n* `polar->customer_portal->customers->update()`: \n * `request->defaultPaymentMethodId` **Added**\n * `response` **Changed** (Breaking ⚠️)\n* `polar->customer_portal->customers->get()`: `response` **Changed** (Breaking ⚠️)\n* `polar->customer_portal->benefitGrants->update()`: \n * `request.customerBenefitGrantUpdate->union(slack_shared_channel)` **Added**\n * `response` **Changed** (Breaking ⚠️)\n* `polar->customer_portal->benefitGrants->get()`: `response` **Changed** (Breaking ⚠️)\n* `polar->customer_portal->benefitGrants->list()`: \n * `request->typeFilter` **Changed**\n * `response.items[]` **Changed** (Breaking ⚠️)\n* `polar->oauth2->clients->delete()`: `response` **Changed** (Breaking ⚠️)\n* `polar->benefits->list()`: \n * `request->typeFilter` **Changed**\n * `response.items[]` **Changed** (Breaking ⚠️)\n* `polar->benefits->create()`: \n * `request` **Changed**\n * `response` **Changed** (Breaking ⚠️)\n* `polar->benefits->get()`: `response` **Changed** (Breaking ⚠️)\n* `polar->benefits->update()`: \n * `requestBody` **Changed**\n * `response` **Changed** (Breaking ⚠️)\n* `polar->customers->list()`: \n * `request->active` **Added**\n * `response.items[]` **Changed** (Breaking ⚠️)\n* `polar->benefit-grants->list()`: `response.items[]` **Changed** (Breaking ⚠️)\n* `polar->webhooks->listWebhookEndpoints()`: `response.items[]->events[]` **Changed** (Breaking ⚠️)\n* `polar->webhooks->createWebhookEndpoint()`: \n * `request->events[]` **Changed**\n * `response.events[]` **Changed** (Breaking ⚠️)\n* `polar->webhooks->getWebhookEndpoint()`: `response.events[]` **Changed** (Breaking ⚠️)\n* `polar->webhooks->updateWebhookEndpoint()`: \n * `request.webhookEndpointUpdate->events[]` **Changed**\n * `response.events[]` **Changed** (Breaking ⚠️)\n* `polar->webhooks->resetWebhookEndpointSecret()`: `response.events[]` **Changed** (Breaking ⚠️)\n* `polar->webhooks->listWebhookDeliveries()`: \n * `request->eventType` **Changed**\n * `response.items[]->webhookEvent->type` **Changed** (Breaking ⚠️)\n* `polar->products->list()`: `response.items[]` **Changed** (Breaking ⚠️)\n* `polar->products->create()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n* `polar->products->get()`: `response` **Changed** (Breaking ⚠️)\n* `polar->products->update()`: \n * `request.productUpdate->prices[]->union(2)` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n* `polar->products->updateBenefits()`: `response` **Changed** (Breaking ⚠️)\n* `polar->orders->list()`: \n * `request->subscriptionId` **Added**\n * `response.items[]` **Changed** (Breaking ⚠️)\n* `polar->orders->export()`: `response.status[200]` **Removed** (Breaking ⚠️)\n* `polar->orders->get()`: `response` **Changed** (Breaking ⚠️)\n* `polar->orders->update()`: `response` **Changed** (Breaking ⚠️)\n* `polar->orders->generateInvoice()`: `error` **Changed** (Breaking ⚠️)\n* `polar->customers->getStateExternal()`: `response` **Changed** (Breaking ⚠️)\n* `polar->refunds->create()`: \n * `request->reason->enum(disputePrevention)` **Removed** (Breaking ⚠️)\n * `response.dispute` **Changed**\n* `polar->customers->getState()`: `response` **Changed** (Breaking ⚠️)\n* `polar->customers->updateExternal()`: `response` **Changed** (Breaking ⚠️)\n* `polar->checkouts->list()`: `response.items[]` **Changed** (Breaking ⚠️)\n* `polar->checkouts->create()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response` **Changed** (Breaking ⚠️)\n* `polar->checkouts->get()`: `response` **Changed** (Breaking ⚠️)\n* `polar->checkouts->update()`: \n * `request.checkoutUpdate->currency` **Changed**\n * `response` **Changed** (Breaking ⚠️)\n* `polar->checkouts->clientGet()`: `response` **Changed** (Breaking ⚠️)\n* `polar->customers->getExternal()`: `response` **Changed** (Breaking ⚠️)\n* `polar->organizations->get()`: `response` **Changed** (Breaking ⚠️)\n* `polar->customers->update()`: `response` **Changed** (Breaking ⚠️)\n* `polar->files->create()`: \n * `request->union(support_case_attachment)` **Added**\n * `response.service->enum(supportCaseAttachment)` **Added** (Breaking ⚠️)\n* `polar->files->uploaded()`: `response.union(support_case_attachment)` **Added** (Breaking ⚠️)\n* `polar->files->update()`: `response.union(support_case_attachment)` **Added** (Breaking ⚠️)\n* `polar->customers->get()`: `response` **Changed** (Breaking ⚠️)\n* `polar->license_keys->list()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response.items[]->customer` **Changed** (Breaking ⚠️)\n* `polar->license_keys->get()`: `response.customer` **Changed** (Breaking ⚠️)\n* `polar->license_keys->update()`: `response.customer` **Changed** (Breaking ⚠️)\n* `polar->license_keys->getActivation()`: `response.licenseKey->customer` **Changed** (Breaking ⚠️)\n* `polar->license_keys->validate()`: `response.customer` **Changed** (Breaking ⚠️)\n* `polar->license_keys->activate()`: `response.licenseKey->customer` **Changed** (Breaking ⚠️)\n* `polar->checkout-links->list()`: `response.items[]` **Changed** (Breaking ⚠️)\n* `polar->checkout-links->create()`: \n * `request` **Changed**\n * `response` **Changed** (Breaking ⚠️)\n* `polar->checkout-links->get()`: `response` **Changed** (Breaking ⚠️)\n* `polar->checkout-links->update()`: \n * `request.checkoutLinkUpdate->seats` **Added**\n * `response` **Changed** (Breaking ⚠️)\n* `polar->customers->export()`: `response.status[200]` **Removed** (Breaking ⚠️)\n* `polar->discounts->create()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response.union(DiscountFixedRepeatDuration)->products[]` **Changed**\n* `polar->customers->create()`: `response` **Changed** (Breaking ⚠️)\n* `polar->members->deleteMember()`: **Removed** (Breaking ⚠️)\n* `polar->discounts->update()`: \n * `request.discountUpdate->currency` **Changed**\n * `response.union(DiscountFixedOnceForeverDuration)->products[]` **Changed**\n* `polar->discounts->get()`: `response.union(DiscountFixedOnceForeverDuration)->products[]` **Changed**\n* `polar->discounts->list()`: `response.items[]->union(DiscountFixedOnceForeverDuration)->products[]` **Changed**\n* `polar->metrics->get()`: `response` **Changed**\n* `polar->customers->listPaymentMethodsExternal()`: **Added**\n* `polar->customers->members->updateExternal()`: **Added**\n* `polar->disputes->get()`: `response` **Changed**\n* `polar->disputes->list()`: `response.items[]` **Changed**\n* `polar->refunds->list()`: `response.items[]->dispute` **Changed**\n* `polar->oauth2->introspect()`: `response.organizations` **Added**\n* `polar->organization_access_tokens->update()`: **Removed** (Breaking ⚠️)\n* `polar->organization_access_tokens->delete()`: **Removed** (Breaking ⚠️)\n* `polar->organization_access_tokens->create()`: **Removed** (Breaking ⚠️)\n* `polar->organization_access_tokens->list()`: **Removed** (Breaking ⚠️)\n* `polar->customer_portal->customers->addPaymentMethod()`: `error.status[400]` **Added**\n* `polar->customer_portal->seats->listSeats()`: `response.seats[]` **Changed**\n* `polar->customer_portal->seats->assignSeat()`: `response` **Changed**\n* `polar->customer_portal->seats->revokeSeat()`: `response` **Changed**\n* `polar->customer_portal->seats->resendInvitation()`: `response` **Changed**\n* `polar->members->updateMember()`: **Removed** (Breaking ⚠️)\n* `polar->members->getMember()`: **Removed** (Breaking ⚠️)\n* `polar->members->createMember()`: **Removed** (Breaking ⚠️)\n* `polar->organizations->list()`: **Removed** (Breaking ⚠️)\n* `polar->customer_portal->orders->receipt()`: **Added**\n* `polar->customer_portal->customers->verifyEmailUpdate()`: **Added**\n* `polar->customer_portal->members->updateMember()`: \n * `request.customerPortalMemberUpdate->name` **Added**\n* `polar->customer_portal->customers->checkEmailUpdate()`: **Added**\n* `polar->customer_portal->customers->requestEmailUpdate()`: **Added**\n* `polar->customers->members->deleteExternal()`: **Added**\n* `polar->customers->members->getExternal()`: **Added**\n* `polar->customer_portal->orders->confirmRetryPayment()`: `error.status[429]` **Added**\n* `polar->customers->members->update()`: **Added**\n* `polar->customers->members->delete()`: **Added**\n* `polar->customers->members->get()`: **Added**\n* `polar->customers->members->createExternal()`: **Added**\n* `polar->customers->members->create()`: **Added**\n* `polar->customer-seats->listSeats()`: `response.seats[]` **Changed**\n* `polar->customers->listPaymentMethods()`: **Added**\n* `polar->customer-seats->revokeSeat()`: `response` **Changed**\n* `polar->customer-seats->resendInvitation()`: `response` **Changed**\n* `polar->customer-seats->claimSeat()`: `response.seat` **Changed**\n* `polar->metrics->export()`: **Added**\n* `polar->disputes->accept()`: **Added**\n* `polar->events->listNames()`: `response.items[]->label` **Added**\n* `polar->orders->receipt()`: **Added**\n* `polar->orders->finalize()`: **Added**\n* `polar->meters->list()`: `response.items[]` **Changed**\n* `polar->meters->create()`: \n * `request` **Changed**\n * `response` **Changed**\n* `polar->meters->get()`: `response` **Changed**\n* `polar->meters->update()`: \n * `request.meterUpdate` **Changed**\n * `response` **Changed**\n* `polar->orders->create()`: **Added**\n* `polar->organizations->listOrganizations()`: **Added**\n* `polar->payments->list()`: \n * `request->customerId` **Added**\n * `response.items[]` **Changed**\n* `polar->payments->get()`: `response` **Changed**\n" generatedFiles: - .gitattributes - USAGE.md diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index 6829a3fb..c5231980 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -29,7 +29,7 @@ generation: generateNewTests: false skipResponseBodyAssertions: false php: - version: 0.10.0 + version: 0.11.0 additionalDependencies: autoload: {} autoload-dev: {} diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index 51506807..cc892a4e 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -1,20 +1,20 @@ -speakeasyVersion: 1.761.1 +speakeasyVersion: 1.790.3 sources: Polar-OAS: sourceNamespace: polar-oas - sourceRevisionDigest: sha256:e4cf14ef1457c450131e2b13ae08708a300d8b30c87c64a913a02d02e2bf2e99 - sourceBlobDigest: sha256:d5e55f4c7f96616a3eb731e9d7ba473485b86b6ef897b2fd5cacff504a1b21e9 + sourceRevisionDigest: sha256:dc380f1ca95d7d5d445451be3b2b9b39e2b782bd47dbbd95af96f312148ebcda + sourceBlobDigest: sha256:969a0695f327da72eb9c7f6a6496890180ce6b6c25d8a0a92808fd09dd4e0889 tags: - latest - - 0.1.0 + - 2026-04 targets: polar: source: Polar-OAS sourceNamespace: polar-oas - sourceRevisionDigest: sha256:e4cf14ef1457c450131e2b13ae08708a300d8b30c87c64a913a02d02e2bf2e99 - sourceBlobDigest: sha256:d5e55f4c7f96616a3eb731e9d7ba473485b86b6ef897b2fd5cacff504a1b21e9 + sourceRevisionDigest: sha256:dc380f1ca95d7d5d445451be3b2b9b39e2b782bd47dbbd95af96f312148ebcda + sourceBlobDigest: sha256:969a0695f327da72eb9c7f6a6496890180ce6b6c25d8a0a92808fd09dd4e0889 codeSamplesNamespace: polar-api-php-code-samples - codeSamplesRevisionDigest: sha256:ca15dae2fae6dadceb36cf8f956d8f2a659edd38fd656faee4cba6b4389e6ddf + codeSamplesRevisionDigest: sha256:881d63c9404da89b85ab9b731aecfbc46824ac4942a7f33d43d0d8fdd37d6456 workflow: workflowVersion: 1.0.0 speakeasyVersion: latest diff --git a/README.md b/README.md index 248c3658..2ec75e27 100644 --- a/README.md +++ b/README.md @@ -70,7 +70,7 @@ $sdk = Polar\Polar::builder() -$responses = $sdk->organizations->list( +$responses = $sdk->organizations->listOrganizations( page: 1, limit: 10 @@ -112,7 +112,7 @@ $sdk = Polar\Polar::builder() -$responses = $sdk->organizations->list( +$responses = $sdk->organizations->listOrganizations( page: 1, limit: 10 @@ -232,6 +232,9 @@ foreach ($responses as $response) { * [addPaymentMethod](docs/sdks/polarcustomers/README.md#addpaymentmethod) - Add Customer Payment Method * [confirmPaymentMethod](docs/sdks/polarcustomers/README.md#confirmpaymentmethod) - Confirm Customer Payment Method * [deletePaymentMethod](docs/sdks/polarcustomers/README.md#deletepaymentmethod) - Delete Customer Payment Method +* [requestEmailUpdate](docs/sdks/polarcustomers/README.md#requestemailupdate) - Request Email Change +* [checkEmailUpdate](docs/sdks/polarcustomers/README.md#checkemailupdate) - Check Email Change Token +* [verifyEmailUpdate](docs/sdks/polarcustomers/README.md#verifyemailupdate) - Verify Email Change ### [CustomerPortal.Downloadables](docs/sdks/downloadables/README.md) @@ -245,12 +248,12 @@ foreach ($responses as $response) { * [activate](docs/sdks/polarlicensekeys/README.md#activate) - Activate License Key * [deactivate](docs/sdks/polarlicensekeys/README.md#deactivate) - Deactivate License Key -### [CustomerPortal.Members](docs/sdks/polarmembers/README.md) +### [CustomerPortal.Members](docs/sdks/polarcustomerportalmembers/README.md) -* [listMembers](docs/sdks/polarmembers/README.md#listmembers) - List Members -* [addMember](docs/sdks/polarmembers/README.md#addmember) - Add Member -* [removeMember](docs/sdks/polarmembers/README.md#removemember) - Remove Member -* [updateMember](docs/sdks/polarmembers/README.md#updatemember) - Update Member +* [listMembers](docs/sdks/polarcustomerportalmembers/README.md#listmembers) - List Members +* [addMember](docs/sdks/polarcustomerportalmembers/README.md#addmember) - Add Member +* [removeMember](docs/sdks/polarcustomerportalmembers/README.md#removemember) - Remove Member +* [updateMember](docs/sdks/polarcustomerportalmembers/README.md#updatemember) - Update Member ### [CustomerPortal.Orders](docs/sdks/polarorders/README.md) @@ -259,6 +262,7 @@ foreach ($responses as $response) { * [update](docs/sdks/polarorders/README.md#update) - Update Order * [invoice](docs/sdks/polarorders/README.md#invoice) - Get Order Invoice * [generateInvoice](docs/sdks/polarorders/README.md#generateinvoice) - Generate Order Invoice +* [receipt](docs/sdks/polarorders/README.md#receipt) - Get Order Receipt * [getPaymentStatus](docs/sdks/polarorders/README.md#getpaymentstatus) - Get Order Payment Status * [confirmRetryPayment](docs/sdks/polarorders/README.md#confirmretrypayment) - Confirm Retry Payment @@ -312,6 +316,19 @@ foreach ($responses as $response) { * [updateExternal](docs/sdks/customers/README.md#updateexternal) - Update Customer by External ID * [getState](docs/sdks/customers/README.md#getstate) - Get Customer State * [getStateExternal](docs/sdks/customers/README.md#getstateexternal) - Get Customer State by External ID +* [listPaymentMethods](docs/sdks/customers/README.md#listpaymentmethods) - List Customer Payment Methods +* [listPaymentMethodsExternal](docs/sdks/customers/README.md#listpaymentmethodsexternal) - List Customer Payment Methods by External ID + +#### [Customers.Members](docs/sdks/polarmembers/README.md) + +* [create](docs/sdks/polarmembers/README.md#create) - Create Member +* [createExternal](docs/sdks/polarmembers/README.md#createexternal) - Create Member by Customer External ID +* [get](docs/sdks/polarmembers/README.md#get) - Get Member +* [delete](docs/sdks/polarmembers/README.md#delete) - Delete Member +* [update](docs/sdks/polarmembers/README.md#update) - Update Member +* [getExternal](docs/sdks/polarmembers/README.md#getexternal) - Get Member by External ID +* [deleteExternal](docs/sdks/polarmembers/README.md#deleteexternal) - Delete Member by External ID +* [updateExternal](docs/sdks/polarmembers/README.md#updateexternal) - Update Member by External ID ### [Discounts](docs/sdks/discounts/README.md) @@ -325,6 +342,7 @@ foreach ($responses as $response) { * [list](docs/sdks/disputes/README.md#list) - List Disputes * [get](docs/sdks/disputes/README.md#get) - Get Dispute +* [accept](docs/sdks/disputes/README.md#accept) - Accept Dispute ### [EventTypes](docs/sdks/eventtypes/README.md) @@ -359,10 +377,6 @@ foreach ($responses as $response) { ### [Members](docs/sdks/members/README.md) * [listMembers](docs/sdks/members/README.md#listmembers) - List Members -* [createMember](docs/sdks/members/README.md#createmember) - Create Member -* [getMember](docs/sdks/members/README.md#getmember) - Get Member -* [deleteMember](docs/sdks/members/README.md#deletemember) - Delete Member -* [updateMember](docs/sdks/members/README.md#updatemember) - Update Member ### [Meters](docs/sdks/meters/README.md) @@ -375,6 +389,7 @@ foreach ($responses as $response) { ### [Metrics](docs/sdks/metrics/README.md) * [get](docs/sdks/metrics/README.md#get) - Get Metrics +* [export](docs/sdks/metrics/README.md#export) - Export Metrics * [limits](docs/sdks/metrics/README.md#limits) - Get Metrics Limits * [listDashboards](docs/sdks/metrics/README.md#listdashboards) - List Metric Dashboards * [createDashboard](docs/sdks/metrics/README.md#createdashboard) - Create Metric Dashboard @@ -400,22 +415,18 @@ foreach ($responses as $response) { ### [Orders](docs/sdks/orders/README.md) * [list](docs/sdks/orders/README.md#list) - List Orders +* [create](docs/sdks/orders/README.md#create) - Create Order * [export](docs/sdks/orders/README.md#export) - Export Orders * [get](docs/sdks/orders/README.md#get) - Get Order * [update](docs/sdks/orders/README.md#update) - Update Order +* [finalize](docs/sdks/orders/README.md#finalize) - Finalize Order * [invoice](docs/sdks/orders/README.md#invoice) - Get Order Invoice * [generateInvoice](docs/sdks/orders/README.md#generateinvoice) - Generate Order Invoice - -### [OrganizationAccessTokens](docs/sdks/organizationaccesstokens/README.md) - -* [list](docs/sdks/organizationaccesstokens/README.md#list) - List -* [create](docs/sdks/organizationaccesstokens/README.md#create) - Create -* [delete](docs/sdks/organizationaccesstokens/README.md#delete) - Delete -* [update](docs/sdks/organizationaccesstokens/README.md#update) - Update +* [receipt](docs/sdks/orders/README.md#receipt) - Get Order Receipt ### [Organizations](docs/sdks/organizations/README.md) -* [list](docs/sdks/organizations/README.md#list) - List Organizations +* [listOrganizations](docs/sdks/organizations/README.md#listorganizations) - List Organizations * [create](docs/sdks/organizations/README.md#create) - Create Organization * [get](docs/sdks/organizations/README.md#get) - Get Organization * [update](docs/sdks/organizations/README.md#update) - Update Organization @@ -483,7 +494,7 @@ $sdk = Polar\Polar::builder() -$responses = $sdk->organizations->list( +$responses = $sdk->organizations->listOrganizations( page: 1, limit: 10 @@ -512,7 +523,7 @@ By default an API error will raise a `Errors\APIException` exception, which has | `$rawResponse` | *?\Psr\Http\Message\ResponseInterface* | The raw HTTP response | | `$body` | *string* | The response content | -When custom error responses are specified for an operation, the SDK may also throw their associated exception. You can refer to respective *Errors* tables in SDK docs for more details on possible exception types for each operation. For example, the `list` method throws the following exceptions: +When custom error responses are specified for an operation, the SDK may also throw their associated exception. You can refer to respective *Errors* tables in SDK docs for more details on possible exception types for each operation. For example, the `listOrganizations` method throws the following exceptions: | Error Type | Status Code | Content Type | | -------------------------- | ----------- | ---------------- | @@ -536,7 +547,7 @@ $sdk = Polar\Polar::builder() ->build(); try { - $responses = $sdk->organizations->list( + $responses = $sdk->organizations->listOrganizations( page: 1, limit: 10 @@ -587,7 +598,7 @@ $sdk = Polar\Polar::builder() -$responses = $sdk->organizations->list( +$responses = $sdk->organizations->listOrganizations( page: 1, limit: 10 @@ -620,7 +631,7 @@ $sdk = Polar\Polar::builder() -$responses = $sdk->organizations->list( +$responses = $sdk->organizations->listOrganizations( page: 1, limit: 10 diff --git a/RELEASES.md b/RELEASES.md index 94d94ab9..a93e93cd 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -428,4 +428,14 @@ Based on: ### Generated - [php v0.10.0] . ### Releases -- [Composer v0.10.0] https://packagist.org/packages/polar-sh/sdk#v0.10.0 - . \ No newline at end of file +- [Composer v0.10.0] https://packagist.org/packages/polar-sh/sdk#v0.10.0 - . + +## 2026-07-22 00:33:38 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.790.3 (2.918.4) https://github.com/speakeasy-api/speakeasy +### Generated +- [php v0.11.0] . +### Releases +- [Composer v0.11.0] https://packagist.org/packages/polar-sh/sdk#v0.11.0 - . \ No newline at end of file diff --git a/USAGE.md b/USAGE.md index 5e8264b9..f2939364 100644 --- a/USAGE.md +++ b/USAGE.md @@ -14,7 +14,7 @@ $sdk = Polar\Polar::builder() -$responses = $sdk->organizations->list( +$responses = $sdk->organizations->listOrganizations( page: 1, limit: 10 diff --git a/composer.json b/composer.json index d5b75f4f..3712ed24 100644 --- a/composer.json +++ b/composer.json @@ -10,7 +10,7 @@ "require": { "php": ">=8.2", "galbar/jsonpath": ">=3.0", - "guzzlehttp/guzzle": "^7.0", + "guzzlehttp/guzzle": "^7.12.1", "speakeasy/serializer": "^4.0.3", "brick/date-time": ">=0.7.0", "phpdocumentor/type-resolver": ">=1.8", @@ -19,7 +19,7 @@ "require-dev": { "laravel/pint": "1.29.0", "phpstan/phpstan": "2.1.44", - "phpunit/phpunit": ">=10", + "phpunit/phpunit": "^11.5.50 || ^12.5.8 || >=13.0.0", "roave/security-advisories": "dev-latest", "orchestra/testbench": ">=9.6" }, diff --git a/docs/Models/Components/AnnualRecurringRevenue.md b/docs/Models/Components/AnnualRecurringRevenue.md new file mode 100644 index 00000000..b557ac00 --- /dev/null +++ b/docs/Models/Components/AnnualRecurringRevenue.md @@ -0,0 +1,23 @@ +# AnnualRecurringRevenue + + +## Supported Types + +### `int` + +```php +/** +* @var int +*/ +int $value = /* values here */ +``` + +### `float` + +```php +/** +* @var float +*/ +float $value = /* values here */ +``` + diff --git a/docs/Models/Components/AuthorizeResponseOrganization.md b/docs/Models/Components/AuthorizeResponseOrganization.md index 345617ea..b763d53e 100644 --- a/docs/Models/Components/AuthorizeResponseOrganization.md +++ b/docs/Models/Components/AuthorizeResponseOrganization.md @@ -9,5 +9,6 @@ | `subType` | *string* | :heavy_check_mark: | N/A | | `sub` | [Components\AuthorizeOrganization](../../Models/Components/AuthorizeOrganization.md) | :heavy_check_mark: | N/A | | `scopes` | array<[Components\Scope](../../Models/Components/Scope.md)> | :heavy_check_mark: | N/A | -| `scopeDisplayNames` | array | :heavy_minus_sign: | N/A | -| `organizations` | array<[Components\AuthorizeOrganization](../../Models/Components/AuthorizeOrganization.md)> | :heavy_check_mark: | N/A | \ No newline at end of file +| `organizations` | array<[Components\AuthorizeOrganization](../../Models/Components/AuthorizeOrganization.md)> | :heavy_check_mark: | N/A | +| `requiresSingleOrganization` | *?bool* | :heavy_minus_sign: | N/A | +| `scopeDisplayNames` | array | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/AuthorizeResponseUser.md b/docs/Models/Components/AuthorizeResponseUser.md index 88bfad24..8cb2ee95 100644 --- a/docs/Models/Components/AuthorizeResponseUser.md +++ b/docs/Models/Components/AuthorizeResponseUser.md @@ -3,10 +3,12 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | -| `client` | [Components\OAuth2ClientPublic](../../Models/Components/OAuth2ClientPublic.md) | :heavy_check_mark: | N/A | -| `subType` | *string* | :heavy_check_mark: | N/A | -| `sub` | [Components\AuthorizeUser](../../Models/Components/AuthorizeUser.md) | :heavy_check_mark: | N/A | -| `scopes` | array<[Components\Scope](../../Models/Components/Scope.md)> | :heavy_check_mark: | N/A | -| `scopeDisplayNames` | array | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | +| `client` | [Components\OAuth2ClientPublic](../../Models/Components/OAuth2ClientPublic.md) | :heavy_check_mark: | N/A | +| `subType` | *string* | :heavy_check_mark: | N/A | +| `sub` | [Components\AuthorizeUser](../../Models/Components/AuthorizeUser.md) | :heavy_check_mark: | N/A | +| `scopes` | array<[Components\Scope](../../Models/Components/Scope.md)> | :heavy_check_mark: | N/A | +| `organizations` | array<[Components\AuthorizeOrganization](../../Models/Components/AuthorizeOrganization.md)> | :heavy_check_mark: | N/A | +| `requiresSingleOrganization` | *?bool* | :heavy_minus_sign: | N/A | +| `scopeDisplayNames` | array | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/AvailableScope.md b/docs/Models/Components/AvailableScope.md deleted file mode 100644 index f33bfc30..00000000 --- a/docs/Models/Components/AvailableScope.md +++ /dev/null @@ -1,69 +0,0 @@ -# AvailableScope - - -## Values - -| Name | Value | -| -------------------------------- | -------------------------------- | -| `Openid` | openid | -| `Profile` | profile | -| `Email` | email | -| `UserRead` | user:read | -| `UserWrite` | user:write | -| `OrganizationsRead` | organizations:read | -| `OrganizationsWrite` | organizations:write | -| `CustomFieldsRead` | custom_fields:read | -| `CustomFieldsWrite` | custom_fields:write | -| `DiscountsRead` | discounts:read | -| `DiscountsWrite` | discounts:write | -| `CheckoutLinksRead` | checkout_links:read | -| `CheckoutLinksWrite` | checkout_links:write | -| `CheckoutsRead` | checkouts:read | -| `CheckoutsWrite` | checkouts:write | -| `TransactionsRead` | transactions:read | -| `TransactionsWrite` | transactions:write | -| `PayoutsRead` | payouts:read | -| `PayoutsWrite` | payouts:write | -| `ProductsRead` | products:read | -| `ProductsWrite` | products:write | -| `BenefitsRead` | benefits:read | -| `BenefitsWrite` | benefits:write | -| `EventsRead` | events:read | -| `EventsWrite` | events:write | -| `MetersRead` | meters:read | -| `MetersWrite` | meters:write | -| `FilesRead` | files:read | -| `FilesWrite` | files:write | -| `SubscriptionsRead` | subscriptions:read | -| `SubscriptionsWrite` | subscriptions:write | -| `CustomersRead` | customers:read | -| `CustomersWrite` | customers:write | -| `MembersRead` | members:read | -| `MembersWrite` | members:write | -| `WalletsRead` | wallets:read | -| `WalletsWrite` | wallets:write | -| `DisputesRead` | disputes:read | -| `CustomerMetersRead` | customer_meters:read | -| `CustomerSessionsWrite` | customer_sessions:write | -| `MemberSessionsWrite` | member_sessions:write | -| `CustomerSeatsRead` | customer_seats:read | -| `CustomerSeatsWrite` | customer_seats:write | -| `OrdersRead` | orders:read | -| `OrdersWrite` | orders:write | -| `RefundsRead` | refunds:read | -| `RefundsWrite` | refunds:write | -| `PaymentsRead` | payments:read | -| `MetricsRead` | metrics:read | -| `MetricsWrite` | metrics:write | -| `WebhooksRead` | webhooks:read | -| `WebhooksWrite` | webhooks:write | -| `LicenseKeysRead` | license_keys:read | -| `LicenseKeysWrite` | license_keys:write | -| `CustomerPortalRead` | customer_portal:read | -| `CustomerPortalWrite` | customer_portal:write | -| `NotificationsRead` | notifications:read | -| `NotificationsWrite` | notifications:write | -| `NotificationRecipientsRead` | notification_recipients:read | -| `NotificationRecipientsWrite` | notification_recipients:write | -| `OrganizationAccessTokensRead` | organization_access_tokens:read | -| `OrganizationAccessTokensWrite` | organization_access_tokens:write | \ No newline at end of file diff --git a/docs/Models/Components/AverageSeatsPerCustomer.md b/docs/Models/Components/AverageSeatsPerCustomer.md new file mode 100644 index 00000000..a42a709d --- /dev/null +++ b/docs/Models/Components/AverageSeatsPerCustomer.md @@ -0,0 +1,23 @@ +# AverageSeatsPerCustomer + + +## Supported Types + +### `int` + +```php +/** +* @var int +*/ +int $value = /* values here */ +``` + +### `float` + +```php +/** +* @var float +*/ +float $value = /* values here */ +``` + diff --git a/docs/Models/Components/BalanceCreditOrderMetadata.md b/docs/Models/Components/BalanceCreditOrderMetadata.md index ec8cf5b1..fce3c128 100644 --- a/docs/Models/Components/BalanceCreditOrderMetadata.md +++ b/docs/Models/Components/BalanceCreditOrderMetadata.md @@ -13,4 +13,5 @@ | `taxAmount` | *int* | :heavy_check_mark: | N/A | | `taxState` | *?string* | :heavy_minus_sign: | N/A | | `taxCountry` | *?string* | :heavy_minus_sign: | N/A | -| `fee` | *int* | :heavy_check_mark: | N/A | \ No newline at end of file +| `fee` | *int* | :heavy_check_mark: | N/A | +| `exchangeRate` | *?float* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/Benefit.md b/docs/Models/Components/Benefit.md index 523bd884..00f276ab 100644 --- a/docs/Models/Components/Benefit.md +++ b/docs/Models/Components/Benefit.md @@ -66,3 +66,12 @@ Components\BenefitLicenseKeys $value = /* values here */ Components\BenefitMeterCredit $value = /* values here */ ``` +### `Components\BenefitSlackSharedChannel` + +```php +/** +* @var \Polar\Models\Components\BenefitSlackSharedChannel +*/ +Components\BenefitSlackSharedChannel $value = /* values here */ +``` + diff --git a/docs/Models/Components/BenefitCreate.md b/docs/Models/Components/BenefitCreate.md index 7f6aad9a..f0ad5a05 100644 --- a/docs/Models/Components/BenefitCreate.md +++ b/docs/Models/Components/BenefitCreate.md @@ -66,3 +66,12 @@ Components\BenefitLicenseKeysCreate $value = /* values here */ Components\BenefitMeterCreditCreate $value = /* values here */ ``` +### `Components\BenefitSlackSharedChannelCreate` + +```php +/** +* @var \Polar\Models\Components\BenefitSlackSharedChannelCreate +*/ +Components\BenefitSlackSharedChannelCreate $value = /* values here */ +``` + diff --git a/docs/Models/Components/BenefitCustom.md b/docs/Models/Components/BenefitCustom.md index 100eb7ba..4789df06 100644 --- a/docs/Models/Components/BenefitCustom.md +++ b/docs/Models/Components/BenefitCustom.md @@ -16,6 +16,9 @@ Use it to grant any kind of benefit that doesn't fit in the other types. | `description` | *string* | :heavy_check_mark: | The description of the benefit. | | `selectable` | *bool* | :heavy_check_mark: | Whether the benefit is selectable when creating a product. | | `deletable` | *bool* | :heavy_check_mark: | Whether the benefit is deletable. | +| `isDeleted` | *bool* | :heavy_check_mark: | Whether the benefit is deleted. | | `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the benefit. | | `metadata` | array | :heavy_check_mark: | N/A | -| `properties` | [Components\BenefitCustomProperties](../../Models/Components/BenefitCustomProperties.md) | :heavy_check_mark: | Properties for a benefit of type `custom`. | \ No newline at end of file +| `visibility` | [Components\BenefitVisibility](../../Models/Components/BenefitVisibility.md) | :heavy_check_mark: | N/A | +| `properties` | [Components\BenefitCustomProperties](../../Models/Components/BenefitCustomProperties.md) | :heavy_check_mark: | Properties for a benefit of type `custom`. | +| `visibilityConfigurable` | *bool* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/BenefitCustomCreate.md b/docs/Models/Components/BenefitCustomCreate.md index 30d4ec92..fa50d5a7 100644 --- a/docs/Models/Components/BenefitCustomCreate.md +++ b/docs/Models/Components/BenefitCustomCreate.md @@ -11,4 +11,5 @@ Schema to create a benefit of type `custom`. | `type` | *string* | :heavy_check_mark: | N/A | | | `description` | *string* | :heavy_check_mark: | The description of the benefit. Will be displayed on products having this benefit. | | | `organizationId` | *?string* | :heavy_minus_sign: | The ID of the organization owning the benefit. **Required unless you use an organization token.** | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | +| `visibility` | [?Components\BenefitVisibility](../../Models/Components/BenefitVisibility.md) | :heavy_minus_sign: | The visibility of the benefit in the customer portal. | | | `properties` | [Components\BenefitCustomCreateProperties](../../Models/Components/BenefitCustomCreateProperties.md) | :heavy_check_mark: | Properties for creating a benefit of type `custom`. | | \ No newline at end of file diff --git a/docs/Models/Components/BenefitCustomSubscriber.md b/docs/Models/Components/BenefitCustomSubscriber.md index 52c78ee8..eaa262a2 100644 --- a/docs/Models/Components/BenefitCustomSubscriber.md +++ b/docs/Models/Components/BenefitCustomSubscriber.md @@ -12,7 +12,7 @@ | `description` | *string* | :heavy_check_mark: | The description of the benefit. | | `selectable` | *bool* | :heavy_check_mark: | Whether the benefit is selectable when creating a product. | | `deletable` | *bool* | :heavy_check_mark: | Whether the benefit is deletable. | +| `isDeleted` | *bool* | :heavy_check_mark: | Whether the benefit is deleted. | | `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the benefit. | -| `metadata` | array | :heavy_check_mark: | N/A | | `organization` | [Components\BenefitSubscriberOrganization](../../Models/Components/BenefitSubscriberOrganization.md) | :heavy_check_mark: | N/A | | `properties` | [Components\BenefitCustomSubscriberProperties](../../Models/Components/BenefitCustomSubscriberProperties.md) | :heavy_check_mark: | Properties available to subscribers for a benefit of type `custom`. | \ No newline at end of file diff --git a/docs/Models/Components/BenefitCustomUpdate.md b/docs/Models/Components/BenefitCustomUpdate.md index 50992696..8d6c6a86 100644 --- a/docs/Models/Components/BenefitCustomUpdate.md +++ b/docs/Models/Components/BenefitCustomUpdate.md @@ -7,5 +7,6 @@ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `metadata` | array | :heavy_minus_sign: | Key-value object allowing you to store additional information.

The key must be a string with a maximum length of **40 characters**.
The value must be either:

* A string with a maximum length of **500 characters**
* An integer
* A floating-point number
* A boolean

You can store up to **50 key-value pairs**. | | `description` | *?string* | :heavy_minus_sign: | The description of the benefit. Will be displayed on products having this benefit. | +| `visibility` | [?Components\BenefitVisibility](../../Models/Components/BenefitVisibility.md) | :heavy_minus_sign: | The visibility of the benefit in the customer portal. | | `type` | *string* | :heavy_check_mark: | N/A | | `properties` | [?Components\BenefitCustomProperties](../../Models/Components/BenefitCustomProperties.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/BenefitDiscord.md b/docs/Models/Components/BenefitDiscord.md index a926033f..25d9399b 100644 --- a/docs/Models/Components/BenefitDiscord.md +++ b/docs/Models/Components/BenefitDiscord.md @@ -16,6 +16,9 @@ Use it to automatically invite your backers to a Discord server. | `description` | *string* | :heavy_check_mark: | The description of the benefit. | | `selectable` | *bool* | :heavy_check_mark: | Whether the benefit is selectable when creating a product. | | `deletable` | *bool* | :heavy_check_mark: | Whether the benefit is deletable. | +| `isDeleted` | *bool* | :heavy_check_mark: | Whether the benefit is deleted. | | `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the benefit. | | `metadata` | array | :heavy_check_mark: | N/A | -| `properties` | [Components\BenefitDiscordProperties](../../Models/Components/BenefitDiscordProperties.md) | :heavy_check_mark: | Properties for a benefit of type `discord`. | \ No newline at end of file +| `visibility` | [Components\BenefitVisibility](../../Models/Components/BenefitVisibility.md) | :heavy_check_mark: | N/A | +| `properties` | [Components\BenefitDiscordProperties](../../Models/Components/BenefitDiscordProperties.md) | :heavy_check_mark: | Properties for a benefit of type `discord`. | +| `visibilityConfigurable` | *bool* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/BenefitDiscordCreate.md b/docs/Models/Components/BenefitDiscordCreate.md index bcf821e4..c5864767 100644 --- a/docs/Models/Components/BenefitDiscordCreate.md +++ b/docs/Models/Components/BenefitDiscordCreate.md @@ -9,4 +9,5 @@ | `type` | *string* | :heavy_check_mark: | N/A | | | `description` | *string* | :heavy_check_mark: | The description of the benefit. Will be displayed on products having this benefit. | | | `organizationId` | *?string* | :heavy_minus_sign: | The ID of the organization owning the benefit. **Required unless you use an organization token.** | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | +| `visibility` | [?Components\BenefitVisibility](../../Models/Components/BenefitVisibility.md) | :heavy_minus_sign: | The visibility of the benefit in the customer portal. | | | `properties` | [Components\BenefitDiscordCreateProperties](../../Models/Components/BenefitDiscordCreateProperties.md) | :heavy_check_mark: | Properties to create a benefit of type `discord`. | | \ No newline at end of file diff --git a/docs/Models/Components/BenefitDiscordSubscriber.md b/docs/Models/Components/BenefitDiscordSubscriber.md index bcb7c585..f69ffbf8 100644 --- a/docs/Models/Components/BenefitDiscordSubscriber.md +++ b/docs/Models/Components/BenefitDiscordSubscriber.md @@ -12,7 +12,7 @@ | `description` | *string* | :heavy_check_mark: | The description of the benefit. | | `selectable` | *bool* | :heavy_check_mark: | Whether the benefit is selectable when creating a product. | | `deletable` | *bool* | :heavy_check_mark: | Whether the benefit is deletable. | +| `isDeleted` | *bool* | :heavy_check_mark: | Whether the benefit is deleted. | | `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the benefit. | -| `metadata` | array | :heavy_check_mark: | N/A | | `organization` | [Components\BenefitSubscriberOrganization](../../Models/Components/BenefitSubscriberOrganization.md) | :heavy_check_mark: | N/A | | `properties` | [Components\BenefitDiscordSubscriberProperties](../../Models/Components/BenefitDiscordSubscriberProperties.md) | :heavy_check_mark: | Properties available to subscribers for a benefit of type `discord`. | \ No newline at end of file diff --git a/docs/Models/Components/BenefitDownloadables.md b/docs/Models/Components/BenefitDownloadables.md index 7533ea9c..bfb9dc06 100644 --- a/docs/Models/Components/BenefitDownloadables.md +++ b/docs/Models/Components/BenefitDownloadables.md @@ -12,6 +12,9 @@ | `description` | *string* | :heavy_check_mark: | The description of the benefit. | | `selectable` | *bool* | :heavy_check_mark: | Whether the benefit is selectable when creating a product. | | `deletable` | *bool* | :heavy_check_mark: | Whether the benefit is deletable. | +| `isDeleted` | *bool* | :heavy_check_mark: | Whether the benefit is deleted. | | `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the benefit. | | `metadata` | array | :heavy_check_mark: | N/A | -| `properties` | [Components\BenefitDownloadablesProperties](../../Models/Components/BenefitDownloadablesProperties.md) | :heavy_check_mark: | N/A | \ No newline at end of file +| `visibility` | [Components\BenefitVisibility](../../Models/Components/BenefitVisibility.md) | :heavy_check_mark: | N/A | +| `properties` | [Components\BenefitDownloadablesProperties](../../Models/Components/BenefitDownloadablesProperties.md) | :heavy_check_mark: | N/A | +| `visibilityConfigurable` | *bool* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/BenefitDownloadablesCreate.md b/docs/Models/Components/BenefitDownloadablesCreate.md index 8e11a213..516e6a79 100644 --- a/docs/Models/Components/BenefitDownloadablesCreate.md +++ b/docs/Models/Components/BenefitDownloadablesCreate.md @@ -9,4 +9,5 @@ | `type` | *string* | :heavy_check_mark: | N/A | | | `description` | *string* | :heavy_check_mark: | The description of the benefit. Will be displayed on products having this benefit. | | | `organizationId` | *?string* | :heavy_minus_sign: | The ID of the organization owning the benefit. **Required unless you use an organization token.** | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | +| `visibility` | [?Components\BenefitVisibility](../../Models/Components/BenefitVisibility.md) | :heavy_minus_sign: | The visibility of the benefit in the customer portal. | | | `properties` | [Components\BenefitDownloadablesCreateProperties](../../Models/Components/BenefitDownloadablesCreateProperties.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/BenefitDownloadablesSubscriber.md b/docs/Models/Components/BenefitDownloadablesSubscriber.md index 7f30ec2f..dc31964d 100644 --- a/docs/Models/Components/BenefitDownloadablesSubscriber.md +++ b/docs/Models/Components/BenefitDownloadablesSubscriber.md @@ -12,7 +12,7 @@ | `description` | *string* | :heavy_check_mark: | The description of the benefit. | | `selectable` | *bool* | :heavy_check_mark: | Whether the benefit is selectable when creating a product. | | `deletable` | *bool* | :heavy_check_mark: | Whether the benefit is deletable. | +| `isDeleted` | *bool* | :heavy_check_mark: | Whether the benefit is deleted. | | `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the benefit. | -| `metadata` | array | :heavy_check_mark: | N/A | | `organization` | [Components\BenefitSubscriberOrganization](../../Models/Components/BenefitSubscriberOrganization.md) | :heavy_check_mark: | N/A | | `properties` | [Components\BenefitDownloadablesSubscriberProperties](../../Models/Components/BenefitDownloadablesSubscriberProperties.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/BenefitFeatureFlag.md b/docs/Models/Components/BenefitFeatureFlag.md index 59841582..7ac8c924 100644 --- a/docs/Models/Components/BenefitFeatureFlag.md +++ b/docs/Models/Components/BenefitFeatureFlag.md @@ -17,6 +17,9 @@ that can be queried via the API and webhooks. | `description` | *string* | :heavy_check_mark: | The description of the benefit. | | `selectable` | *bool* | :heavy_check_mark: | Whether the benefit is selectable when creating a product. | | `deletable` | *bool* | :heavy_check_mark: | Whether the benefit is deletable. | +| `isDeleted` | *bool* | :heavy_check_mark: | Whether the benefit is deleted. | | `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the benefit. | | `metadata` | array | :heavy_check_mark: | N/A | -| `properties` | [Components\BenefitFeatureFlagProperties](../../Models/Components/BenefitFeatureFlagProperties.md) | :heavy_check_mark: | Properties for a benefit of type `feature_flag`. | \ No newline at end of file +| `visibility` | [Components\BenefitVisibility](../../Models/Components/BenefitVisibility.md) | :heavy_check_mark: | N/A | +| `properties` | [Components\BenefitFeatureFlagProperties](../../Models/Components/BenefitFeatureFlagProperties.md) | :heavy_check_mark: | Properties for a benefit of type `feature_flag`. | +| `visibilityConfigurable` | *bool* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/BenefitFeatureFlagCreate.md b/docs/Models/Components/BenefitFeatureFlagCreate.md index c8a4a878..55096774 100644 --- a/docs/Models/Components/BenefitFeatureFlagCreate.md +++ b/docs/Models/Components/BenefitFeatureFlagCreate.md @@ -11,4 +11,5 @@ Schema to create a benefit of type `feature_flag`. | `type` | *string* | :heavy_check_mark: | N/A | | | `description` | *string* | :heavy_check_mark: | The description of the benefit. Will be displayed on products having this benefit. | | | `organizationId` | *?string* | :heavy_minus_sign: | The ID of the organization owning the benefit. **Required unless you use an organization token.** | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | +| `visibility` | [?Components\BenefitVisibility](../../Models/Components/BenefitVisibility.md) | :heavy_minus_sign: | The visibility of the benefit in the customer portal. | | | `properties` | [Components\BenefitFeatureFlagCreateProperties](../../Models/Components/BenefitFeatureFlagCreateProperties.md) | :heavy_check_mark: | Properties for creating a benefit of type `feature_flag`. | | \ No newline at end of file diff --git a/docs/Models/Components/BenefitFeatureFlagSubscriber.md b/docs/Models/Components/BenefitFeatureFlagSubscriber.md index ed8c8cbd..b79d6258 100644 --- a/docs/Models/Components/BenefitFeatureFlagSubscriber.md +++ b/docs/Models/Components/BenefitFeatureFlagSubscriber.md @@ -12,7 +12,7 @@ | `description` | *string* | :heavy_check_mark: | The description of the benefit. | | `selectable` | *bool* | :heavy_check_mark: | Whether the benefit is selectable when creating a product. | | `deletable` | *bool* | :heavy_check_mark: | Whether the benefit is deletable. | +| `isDeleted` | *bool* | :heavy_check_mark: | Whether the benefit is deleted. | | `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the benefit. | -| `metadata` | array | :heavy_check_mark: | N/A | | `organization` | [Components\BenefitSubscriberOrganization](../../Models/Components/BenefitSubscriberOrganization.md) | :heavy_check_mark: | N/A | | `properties` | [Components\BenefitFeatureFlagSubscriberProperties](../../Models/Components/BenefitFeatureFlagSubscriberProperties.md) | :heavy_check_mark: | Properties available to subscribers for a benefit of type `feature_flag`. | \ No newline at end of file diff --git a/docs/Models/Components/BenefitFeatureFlagUpdate.md b/docs/Models/Components/BenefitFeatureFlagUpdate.md index 00d43585..2cb1bbd7 100644 --- a/docs/Models/Components/BenefitFeatureFlagUpdate.md +++ b/docs/Models/Components/BenefitFeatureFlagUpdate.md @@ -7,5 +7,6 @@ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `metadata` | array | :heavy_minus_sign: | Key-value object allowing you to store additional information.

The key must be a string with a maximum length of **40 characters**.
The value must be either:

* A string with a maximum length of **500 characters**
* An integer
* A floating-point number
* A boolean

You can store up to **50 key-value pairs**. | | `description` | *?string* | :heavy_minus_sign: | The description of the benefit. Will be displayed on products having this benefit. | +| `visibility` | [?Components\BenefitVisibility](../../Models/Components/BenefitVisibility.md) | :heavy_minus_sign: | The visibility of the benefit in the customer portal. | | `type` | *string* | :heavy_check_mark: | N/A | | `properties` | [?Components\BenefitFeatureFlagProperties](../../Models/Components/BenefitFeatureFlagProperties.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/BenefitGitHubRepository.md b/docs/Models/Components/BenefitGitHubRepository.md index ea6a9f93..444fe26b 100644 --- a/docs/Models/Components/BenefitGitHubRepository.md +++ b/docs/Models/Components/BenefitGitHubRepository.md @@ -16,6 +16,9 @@ Use it to automatically invite your backers to a private GitHub repository. | `description` | *string* | :heavy_check_mark: | The description of the benefit. | | `selectable` | *bool* | :heavy_check_mark: | Whether the benefit is selectable when creating a product. | | `deletable` | *bool* | :heavy_check_mark: | Whether the benefit is deletable. | +| `isDeleted` | *bool* | :heavy_check_mark: | Whether the benefit is deleted. | | `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the benefit. | | `metadata` | array | :heavy_check_mark: | N/A | -| `properties` | [Components\BenefitGitHubRepositoryProperties](../../Models/Components/BenefitGitHubRepositoryProperties.md) | :heavy_check_mark: | Properties for a benefit of type `github_repository`. | \ No newline at end of file +| `visibility` | [Components\BenefitVisibility](../../Models/Components/BenefitVisibility.md) | :heavy_check_mark: | N/A | +| `properties` | [Components\BenefitGitHubRepositoryProperties](../../Models/Components/BenefitGitHubRepositoryProperties.md) | :heavy_check_mark: | Properties for a benefit of type `github_repository`. | +| `visibilityConfigurable` | *bool* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/BenefitGitHubRepositoryCreate.md b/docs/Models/Components/BenefitGitHubRepositoryCreate.md index d4775fbf..62817a29 100644 --- a/docs/Models/Components/BenefitGitHubRepositoryCreate.md +++ b/docs/Models/Components/BenefitGitHubRepositoryCreate.md @@ -9,4 +9,5 @@ | `type` | *string* | :heavy_check_mark: | N/A | | | `description` | *string* | :heavy_check_mark: | The description of the benefit. Will be displayed on products having this benefit. | | | `organizationId` | *?string* | :heavy_minus_sign: | The ID of the organization owning the benefit. **Required unless you use an organization token.** | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | +| `visibility` | [?Components\BenefitVisibility](../../Models/Components/BenefitVisibility.md) | :heavy_minus_sign: | The visibility of the benefit in the customer portal. | | | `properties` | [Components\BenefitGitHubRepositoryCreateProperties](../../Models/Components/BenefitGitHubRepositoryCreateProperties.md) | :heavy_check_mark: | Properties to create a benefit of type `github_repository`. | | \ No newline at end of file diff --git a/docs/Models/Components/BenefitGitHubRepositorySubscriber.md b/docs/Models/Components/BenefitGitHubRepositorySubscriber.md index f3662dd6..e193e883 100644 --- a/docs/Models/Components/BenefitGitHubRepositorySubscriber.md +++ b/docs/Models/Components/BenefitGitHubRepositorySubscriber.md @@ -12,7 +12,7 @@ | `description` | *string* | :heavy_check_mark: | The description of the benefit. | | `selectable` | *bool* | :heavy_check_mark: | Whether the benefit is selectable when creating a product. | | `deletable` | *bool* | :heavy_check_mark: | Whether the benefit is deletable. | +| `isDeleted` | *bool* | :heavy_check_mark: | Whether the benefit is deleted. | | `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the benefit. | -| `metadata` | array | :heavy_check_mark: | N/A | | `organization` | [Components\BenefitSubscriberOrganization](../../Models/Components/BenefitSubscriberOrganization.md) | :heavy_check_mark: | N/A | | `properties` | [Components\BenefitGitHubRepositorySubscriberProperties](../../Models/Components/BenefitGitHubRepositorySubscriberProperties.md) | :heavy_check_mark: | Properties available to subscribers for a benefit of type `github_repository`. | \ No newline at end of file diff --git a/docs/Models/Components/BenefitGrant.md b/docs/Models/Components/BenefitGrant.md index 90b633d0..a87fd49b 100644 --- a/docs/Models/Components/BenefitGrant.md +++ b/docs/Models/Components/BenefitGrant.md @@ -3,22 +3,22 @@ ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Creation timestamp of the object. | -| `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Last modification timestamp of the object. | -| `id` | *string* | :heavy_check_mark: | The ID of the grant. | -| `grantedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_minus_sign: | The timestamp when the benefit was granted. If `None`, the benefit is not granted. | -| `isGranted` | *bool* | :heavy_check_mark: | Whether the benefit is granted. | -| `revokedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_minus_sign: | The timestamp when the benefit was revoked. If `None`, the benefit is not revoked. | -| `isRevoked` | *bool* | :heavy_check_mark: | Whether the benefit is revoked. | -| `subscriptionId` | *string* | :heavy_check_mark: | The ID of the subscription that granted this benefit. | -| `orderId` | *string* | :heavy_check_mark: | The ID of the order that granted this benefit. | -| `customerId` | *string* | :heavy_check_mark: | The ID of the customer concerned by this grant. | -| `memberId` | *?string* | :heavy_minus_sign: | The ID of the member concerned by this grant. | -| `benefitId` | *string* | :heavy_check_mark: | The ID of the benefit concerned by this grant. | -| `error` | [?Components\BenefitGrantError](../../Models/Components/BenefitGrantError.md) | :heavy_minus_sign: | The error information if the benefit grant failed with an unrecoverable error. | -| `customer` | [Components\CustomerIndividual\|Components\CustomerTeam](../../Models/Components/Customer.md) | :heavy_check_mark: | N/A | -| `member` | [?Components\Member](../../Models/Components/Member.md) | :heavy_minus_sign: | N/A | -| `benefit` | [Components\BenefitCustom\|Components\BenefitDiscord\|Components\BenefitGitHubRepository\|Components\BenefitDownloadables\|Components\BenefitLicenseKeys\|Components\BenefitMeterCredit\|Components\BenefitFeatureFlag](../../Models/Components/Benefit.md) | :heavy_check_mark: | N/A | -| `properties` | [Components\BenefitGrantDiscordProperties\|Components\BenefitGrantGitHubRepositoryProperties\|Components\BenefitGrantDownloadablesProperties\|Components\BenefitGrantLicenseKeysProperties\|Components\BenefitGrantCustomProperties\|Components\BenefitGrantFeatureFlagProperties](../../Models/Components/Properties.md) | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Creation timestamp of the object. | +| `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Last modification timestamp of the object. | +| `id` | *string* | :heavy_check_mark: | The ID of the grant. | +| `grantedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_minus_sign: | The timestamp when the benefit was granted. If `None`, the benefit is not granted. | +| `isGranted` | *bool* | :heavy_check_mark: | Whether the benefit is granted. | +| `revokedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_minus_sign: | The timestamp when the benefit was revoked. If `None`, the benefit is not revoked. | +| `isRevoked` | *bool* | :heavy_check_mark: | Whether the benefit is revoked. | +| `subscriptionId` | *string* | :heavy_check_mark: | The ID of the subscription that granted this benefit. | +| `orderId` | *string* | :heavy_check_mark: | The ID of the order that granted this benefit. | +| `customerId` | *string* | :heavy_check_mark: | The ID of the customer concerned by this grant. | +| `memberId` | *?string* | :heavy_minus_sign: | The ID of the member concerned by this grant. | +| `benefitId` | *string* | :heavy_check_mark: | The ID of the benefit concerned by this grant. | +| `error` | [?Components\BenefitGrantError](../../Models/Components/BenefitGrantError.md) | :heavy_minus_sign: | The error information if the benefit grant failed with an unrecoverable error. | +| `customer` | [Components\CustomerIndividual\|Components\CustomerTeam](../../Models/Components/Customer.md) | :heavy_check_mark: | N/A | +| `member` | [?Components\Member](../../Models/Components/Member.md) | :heavy_minus_sign: | N/A | +| `benefit` | [Components\BenefitCustom\|Components\BenefitDiscord\|Components\BenefitGitHubRepository\|Components\BenefitDownloadables\|Components\BenefitLicenseKeys\|Components\BenefitMeterCredit\|Components\BenefitFeatureFlag\|Components\BenefitSlackSharedChannel](../../Models/Components/Benefit.md) | :heavy_check_mark: | N/A | +| `properties` | [Components\BenefitGrantDiscordProperties\|Components\BenefitGrantGitHubRepositoryProperties\|Components\BenefitGrantDownloadablesProperties\|Components\BenefitGrantLicenseKeysProperties\|Components\BenefitGrantCustomProperties\|Components\BenefitGrantFeatureFlagProperties\|Components\BenefitGrantSlackSharedChannelProperties](../../Models/Components/Properties.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/BenefitGrantSlackSharedChannelProperties.md b/docs/Models/Components/BenefitGrantSlackSharedChannelProperties.md new file mode 100644 index 00000000..3506f4f0 --- /dev/null +++ b/docs/Models/Components/BenefitGrantSlackSharedChannelProperties.md @@ -0,0 +1,13 @@ +# BenefitGrantSlackSharedChannelProperties + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `invitedEmail` | *?string* | :heavy_minus_sign: | N/A | +| `channelId` | *?string* | :heavy_minus_sign: | N/A | +| `channelName` | *?string* | :heavy_minus_sign: | N/A | +| `inviteId` | *?string* | :heavy_minus_sign: | N/A | +| `inviteUrl` | *?string* | :heavy_minus_sign: | N/A | +| `connectedTeamId` | *?string* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/BenefitGrantSlackSharedChannelWebhook.md b/docs/Models/Components/BenefitGrantSlackSharedChannelWebhook.md new file mode 100644 index 00000000..ea8363ac --- /dev/null +++ b/docs/Models/Components/BenefitGrantSlackSharedChannelWebhook.md @@ -0,0 +1,25 @@ +# BenefitGrantSlackSharedChannelWebhook + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | +| `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Creation timestamp of the object. | +| `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Last modification timestamp of the object. | +| `id` | *string* | :heavy_check_mark: | The ID of the grant. | +| `grantedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_minus_sign: | The timestamp when the benefit was granted. If `None`, the benefit is not granted. | +| `isGranted` | *bool* | :heavy_check_mark: | Whether the benefit is granted. | +| `revokedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_minus_sign: | The timestamp when the benefit was revoked. If `None`, the benefit is not revoked. | +| `isRevoked` | *bool* | :heavy_check_mark: | Whether the benefit is revoked. | +| `subscriptionId` | *string* | :heavy_check_mark: | The ID of the subscription that granted this benefit. | +| `orderId` | *string* | :heavy_check_mark: | The ID of the order that granted this benefit. | +| `customerId` | *string* | :heavy_check_mark: | The ID of the customer concerned by this grant. | +| `memberId` | *?string* | :heavy_minus_sign: | The ID of the member concerned by this grant. | +| `benefitId` | *string* | :heavy_check_mark: | The ID of the benefit concerned by this grant. | +| `error` | [?Components\BenefitGrantError](../../Models/Components/BenefitGrantError.md) | :heavy_minus_sign: | The error information if the benefit grant failed with an unrecoverable error. | +| `customer` | [Components\CustomerIndividual\|Components\CustomerTeam](../../Models/Components/Customer.md) | :heavy_check_mark: | N/A | +| `member` | [?Components\Member](../../Models/Components/Member.md) | :heavy_minus_sign: | N/A | +| `benefit` | [Components\BenefitSlackSharedChannel](../../Models/Components/BenefitSlackSharedChannel.md) | :heavy_check_mark: | N/A | +| `properties` | [Components\BenefitGrantSlackSharedChannelProperties](../../Models/Components/BenefitGrantSlackSharedChannelProperties.md) | :heavy_check_mark: | N/A | +| `previousProperties` | [?Components\BenefitGrantSlackSharedChannelProperties](../../Models/Components/BenefitGrantSlackSharedChannelProperties.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/BenefitGrantWebhook.md b/docs/Models/Components/BenefitGrantWebhook.md index a94b4262..eefa7622 100644 --- a/docs/Models/Components/BenefitGrantWebhook.md +++ b/docs/Models/Components/BenefitGrantWebhook.md @@ -66,3 +66,12 @@ Components\BenefitGrantMeterCreditWebhook $value = /* values here */ Components\BenefitGrantFeatureFlagWebhook $value = /* values here */ ``` +### `Components\BenefitGrantSlackSharedChannelWebhook` + +```php +/** +* @var \Polar\Models\Components\BenefitGrantSlackSharedChannelWebhook +*/ +Components\BenefitGrantSlackSharedChannelWebhook $value = /* values here */ +``` + diff --git a/docs/Models/Components/BenefitLicenseKeys.md b/docs/Models/Components/BenefitLicenseKeys.md index ef448939..daf8151f 100644 --- a/docs/Models/Components/BenefitLicenseKeys.md +++ b/docs/Models/Components/BenefitLicenseKeys.md @@ -12,6 +12,9 @@ | `description` | *string* | :heavy_check_mark: | The description of the benefit. | | `selectable` | *bool* | :heavy_check_mark: | Whether the benefit is selectable when creating a product. | | `deletable` | *bool* | :heavy_check_mark: | Whether the benefit is deletable. | +| `isDeleted` | *bool* | :heavy_check_mark: | Whether the benefit is deleted. | | `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the benefit. | | `metadata` | array | :heavy_check_mark: | N/A | -| `properties` | [Components\BenefitLicenseKeysProperties](../../Models/Components/BenefitLicenseKeysProperties.md) | :heavy_check_mark: | N/A | \ No newline at end of file +| `visibility` | [Components\BenefitVisibility](../../Models/Components/BenefitVisibility.md) | :heavy_check_mark: | N/A | +| `properties` | [Components\BenefitLicenseKeysProperties](../../Models/Components/BenefitLicenseKeysProperties.md) | :heavy_check_mark: | N/A | +| `visibilityConfigurable` | *bool* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/BenefitLicenseKeysCreate.md b/docs/Models/Components/BenefitLicenseKeysCreate.md index 8afdc213..7d7f5fcb 100644 --- a/docs/Models/Components/BenefitLicenseKeysCreate.md +++ b/docs/Models/Components/BenefitLicenseKeysCreate.md @@ -9,4 +9,5 @@ | `type` | *string* | :heavy_check_mark: | N/A | | | `description` | *string* | :heavy_check_mark: | The description of the benefit. Will be displayed on products having this benefit. | | | `organizationId` | *?string* | :heavy_minus_sign: | The ID of the organization owning the benefit. **Required unless you use an organization token.** | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | +| `visibility` | [?Components\BenefitVisibility](../../Models/Components/BenefitVisibility.md) | :heavy_minus_sign: | The visibility of the benefit in the customer portal. | | | `properties` | [Components\BenefitLicenseKeysCreateProperties](../../Models/Components/BenefitLicenseKeysCreateProperties.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/BenefitLicenseKeysSubscriber.md b/docs/Models/Components/BenefitLicenseKeysSubscriber.md index 2647a490..b357dd64 100644 --- a/docs/Models/Components/BenefitLicenseKeysSubscriber.md +++ b/docs/Models/Components/BenefitLicenseKeysSubscriber.md @@ -12,7 +12,7 @@ | `description` | *string* | :heavy_check_mark: | The description of the benefit. | | `selectable` | *bool* | :heavy_check_mark: | Whether the benefit is selectable when creating a product. | | `deletable` | *bool* | :heavy_check_mark: | Whether the benefit is deletable. | +| `isDeleted` | *bool* | :heavy_check_mark: | Whether the benefit is deleted. | | `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the benefit. | -| `metadata` | array | :heavy_check_mark: | N/A | | `organization` | [Components\BenefitSubscriberOrganization](../../Models/Components/BenefitSubscriberOrganization.md) | :heavy_check_mark: | N/A | | `properties` | [Components\BenefitLicenseKeysSubscriberProperties](../../Models/Components/BenefitLicenseKeysSubscriberProperties.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/BenefitLicenseKeysUpdate.md b/docs/Models/Components/BenefitLicenseKeysUpdate.md index d01b215f..0202e8a5 100644 --- a/docs/Models/Components/BenefitLicenseKeysUpdate.md +++ b/docs/Models/Components/BenefitLicenseKeysUpdate.md @@ -7,5 +7,6 @@ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `metadata` | array | :heavy_minus_sign: | Key-value object allowing you to store additional information.

The key must be a string with a maximum length of **40 characters**.
The value must be either:

* A string with a maximum length of **500 characters**
* An integer
* A floating-point number
* A boolean

You can store up to **50 key-value pairs**. | | `description` | *?string* | :heavy_minus_sign: | The description of the benefit. Will be displayed on products having this benefit. | +| `visibility` | [?Components\BenefitVisibility](../../Models/Components/BenefitVisibility.md) | :heavy_minus_sign: | The visibility of the benefit in the customer portal. | | `type` | *string* | :heavy_check_mark: | N/A | | `properties` | [?Components\BenefitLicenseKeysCreateProperties](../../Models/Components/BenefitLicenseKeysCreateProperties.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/BenefitMeterCredit.md b/docs/Models/Components/BenefitMeterCredit.md index 424c8f65..e21342e2 100644 --- a/docs/Models/Components/BenefitMeterCredit.md +++ b/docs/Models/Components/BenefitMeterCredit.md @@ -16,6 +16,9 @@ Use it to grant a number of units on a specific meter. | `description` | *string* | :heavy_check_mark: | The description of the benefit. | | `selectable` | *bool* | :heavy_check_mark: | Whether the benefit is selectable when creating a product. | | `deletable` | *bool* | :heavy_check_mark: | Whether the benefit is deletable. | +| `isDeleted` | *bool* | :heavy_check_mark: | Whether the benefit is deleted. | | `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the benefit. | | `metadata` | array | :heavy_check_mark: | N/A | -| `properties` | [Components\BenefitMeterCreditProperties](../../Models/Components/BenefitMeterCreditProperties.md) | :heavy_check_mark: | Properties for a benefit of type `meter_unit`. | \ No newline at end of file +| `visibility` | [Components\BenefitVisibility](../../Models/Components/BenefitVisibility.md) | :heavy_check_mark: | N/A | +| `properties` | [Components\BenefitMeterCreditProperties](../../Models/Components/BenefitMeterCreditProperties.md) | :heavy_check_mark: | Properties for a benefit of type `meter_unit`. | +| `visibilityConfigurable` | *bool* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/BenefitMeterCreditCreate.md b/docs/Models/Components/BenefitMeterCreditCreate.md index 0307924a..55b1322c 100644 --- a/docs/Models/Components/BenefitMeterCreditCreate.md +++ b/docs/Models/Components/BenefitMeterCreditCreate.md @@ -11,4 +11,5 @@ Schema to create a benefit of type `meter_unit`. | `type` | *string* | :heavy_check_mark: | N/A | | | `description` | *string* | :heavy_check_mark: | The description of the benefit. Will be displayed on products having this benefit. | | | `organizationId` | *?string* | :heavy_minus_sign: | The ID of the organization owning the benefit. **Required unless you use an organization token.** | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | +| `visibility` | [?Components\BenefitVisibility](../../Models/Components/BenefitVisibility.md) | :heavy_minus_sign: | The visibility of the benefit in the customer portal. | | | `properties` | [Components\BenefitMeterCreditCreateProperties](../../Models/Components/BenefitMeterCreditCreateProperties.md) | :heavy_check_mark: | Properties for creating a benefit of type `meter_unit`. | | \ No newline at end of file diff --git a/docs/Models/Components/BenefitMeterCreditSubscriber.md b/docs/Models/Components/BenefitMeterCreditSubscriber.md index 50013c03..2fc785be 100644 --- a/docs/Models/Components/BenefitMeterCreditSubscriber.md +++ b/docs/Models/Components/BenefitMeterCreditSubscriber.md @@ -12,7 +12,7 @@ | `description` | *string* | :heavy_check_mark: | The description of the benefit. | | `selectable` | *bool* | :heavy_check_mark: | Whether the benefit is selectable when creating a product. | | `deletable` | *bool* | :heavy_check_mark: | Whether the benefit is deletable. | +| `isDeleted` | *bool* | :heavy_check_mark: | Whether the benefit is deleted. | | `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the benefit. | -| `metadata` | array | :heavy_check_mark: | N/A | | `organization` | [Components\BenefitSubscriberOrganization](../../Models/Components/BenefitSubscriberOrganization.md) | :heavy_check_mark: | N/A | | `properties` | [Components\BenefitMeterCreditSubscriberProperties](../../Models/Components/BenefitMeterCreditSubscriberProperties.md) | :heavy_check_mark: | Properties available to subscribers for a benefit of type `meter_unit`. | \ No newline at end of file diff --git a/docs/Models/Components/BenefitMeterCreditUpdate.md b/docs/Models/Components/BenefitMeterCreditUpdate.md index 57629e98..e82c184b 100644 --- a/docs/Models/Components/BenefitMeterCreditUpdate.md +++ b/docs/Models/Components/BenefitMeterCreditUpdate.md @@ -7,5 +7,6 @@ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `metadata` | array | :heavy_minus_sign: | Key-value object allowing you to store additional information.

The key must be a string with a maximum length of **40 characters**.
The value must be either:

* A string with a maximum length of **500 characters**
* An integer
* A floating-point number
* A boolean

You can store up to **50 key-value pairs**. | | `description` | *?string* | :heavy_minus_sign: | The description of the benefit. Will be displayed on products having this benefit. | +| `visibility` | [?Components\BenefitVisibility](../../Models/Components/BenefitVisibility.md) | :heavy_minus_sign: | The visibility of the benefit in the customer portal. | | `type` | *string* | :heavy_check_mark: | N/A | | `properties` | [?Components\BenefitMeterCreditCreateProperties](../../Models/Components/BenefitMeterCreditCreateProperties.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/BenefitPublic.md b/docs/Models/Components/BenefitPublic.md index 06ef5997..5267830b 100644 --- a/docs/Models/Components/BenefitPublic.md +++ b/docs/Models/Components/BenefitPublic.md @@ -12,4 +12,5 @@ | `description` | *string* | :heavy_check_mark: | The description of the benefit. | | `selectable` | *bool* | :heavy_check_mark: | Whether the benefit is selectable when creating a product. | | `deletable` | *bool* | :heavy_check_mark: | Whether the benefit is deletable. | +| `isDeleted` | *bool* | :heavy_check_mark: | Whether the benefit is deleted. | | `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the benefit. | \ No newline at end of file diff --git a/docs/Models/Components/BenefitSlackSharedChannel.md b/docs/Models/Components/BenefitSlackSharedChannel.md new file mode 100644 index 00000000..88ae869b --- /dev/null +++ b/docs/Models/Components/BenefitSlackSharedChannel.md @@ -0,0 +1,20 @@ +# BenefitSlackSharedChannel + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | The ID of the benefit. | +| `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Creation timestamp of the object. | +| `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Last modification timestamp of the object. | +| `type` | *string* | :heavy_check_mark: | N/A | +| `description` | *string* | :heavy_check_mark: | The description of the benefit. | +| `selectable` | *bool* | :heavy_check_mark: | Whether the benefit is selectable when creating a product. | +| `deletable` | *bool* | :heavy_check_mark: | Whether the benefit is deletable. | +| `isDeleted` | *bool* | :heavy_check_mark: | Whether the benefit is deleted. | +| `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the benefit. | +| `metadata` | array | :heavy_check_mark: | N/A | +| `visibility` | [Components\BenefitVisibility](../../Models/Components/BenefitVisibility.md) | :heavy_check_mark: | N/A | +| `properties` | [Components\BenefitSlackSharedChannelProperties](../../Models/Components/BenefitSlackSharedChannelProperties.md) | :heavy_check_mark: | N/A | +| `visibilityConfigurable` | *bool* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/BenefitSlackSharedChannelCreate.md b/docs/Models/Components/BenefitSlackSharedChannelCreate.md new file mode 100644 index 00000000..587d723a --- /dev/null +++ b/docs/Models/Components/BenefitSlackSharedChannelCreate.md @@ -0,0 +1,13 @@ +# BenefitSlackSharedChannelCreate + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `metadata` | array | :heavy_minus_sign: | Key-value object allowing you to store additional information.

The key must be a string with a maximum length of **40 characters**.
The value must be either:

* A string with a maximum length of **500 characters**
* An integer
* A floating-point number
* A boolean

You can store up to **50 key-value pairs**. | | +| `type` | *string* | :heavy_check_mark: | N/A | | +| `description` | *string* | :heavy_check_mark: | The description of the benefit. Will be displayed on products having this benefit. | | +| `organizationId` | *?string* | :heavy_minus_sign: | The ID of the organization owning the benefit. **Required unless you use an organization token.** | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | +| `visibility` | [?Components\BenefitVisibility](../../Models/Components/BenefitVisibility.md) | :heavy_minus_sign: | The visibility of the benefit in the customer portal. | | +| `properties` | [Components\BenefitSlackSharedChannelCreateProperties](../../Models/Components/BenefitSlackSharedChannelCreateProperties.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/DiscountFixedRepeatDurationCreateMetadata.md b/docs/Models/Components/BenefitSlackSharedChannelCreateMetadata.md similarity index 88% rename from docs/Models/Components/DiscountFixedRepeatDurationCreateMetadata.md rename to docs/Models/Components/BenefitSlackSharedChannelCreateMetadata.md index 9cebea9f..9433bbc5 100644 --- a/docs/Models/Components/DiscountFixedRepeatDurationCreateMetadata.md +++ b/docs/Models/Components/BenefitSlackSharedChannelCreateMetadata.md @@ -1,4 +1,4 @@ -# DiscountFixedRepeatDurationCreateMetadata +# BenefitSlackSharedChannelCreateMetadata ## Supported Types diff --git a/docs/Models/Components/BenefitSlackSharedChannelCreateProperties.md b/docs/Models/Components/BenefitSlackSharedChannelCreateProperties.md new file mode 100644 index 00000000..36cecefc --- /dev/null +++ b/docs/Models/Components/BenefitSlackSharedChannelCreateProperties.md @@ -0,0 +1,13 @@ +# BenefitSlackSharedChannelCreateProperties + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ | +| `slackIntegrationId` | *string* | :heavy_check_mark: | Polar Slack integration to use for this benefit. | +| `channelNameTemplate` | *string* | :heavy_check_mark: | N/A | +| `private` | *?bool* | :heavy_minus_sign: | N/A | +| `welcomeMessage` | *?string* | :heavy_minus_sign: | N/A | +| `archiveOnRevoke` | *?bool* | :heavy_minus_sign: | N/A | +| `teamInvitees` | array<*string*> | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/BenefitSlackSharedChannelProperties.md b/docs/Models/Components/BenefitSlackSharedChannelProperties.md new file mode 100644 index 00000000..646fed5e --- /dev/null +++ b/docs/Models/Components/BenefitSlackSharedChannelProperties.md @@ -0,0 +1,13 @@ +# BenefitSlackSharedChannelProperties + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `slackIntegrationId` | *string* | :heavy_check_mark: | Polar Slack integration linked to this benefit. | +| `channelNameTemplate` | *string* | :heavy_check_mark: | Template for the channel name. Supports placeholders: {customer_name}, {customer_email_local}, and {metadata.} for any value stored in customer user metadata. | +| `private` | *?bool* | :heavy_minus_sign: | Create the channel as private (recommended). | +| `welcomeMessage` | *?string* | :heavy_minus_sign: | Optional message posted to the channel right after creation. | +| `archiveOnRevoke` | *?bool* | :heavy_minus_sign: | Archive the channel when the benefit is revoked. | +| `teamInvitees` | array<*string*> | :heavy_minus_sign: | Slack user IDs from the merchant workspace to invite to every channel created for this benefit. | \ No newline at end of file diff --git a/docs/Models/Components/BenefitSlackSharedChannelSubscriber.md b/docs/Models/Components/BenefitSlackSharedChannelSubscriber.md new file mode 100644 index 00000000..e4f3bc31 --- /dev/null +++ b/docs/Models/Components/BenefitSlackSharedChannelSubscriber.md @@ -0,0 +1,18 @@ +# BenefitSlackSharedChannelSubscriber + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ | +| `id` | *string* | :heavy_check_mark: | The ID of the benefit. | +| `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Creation timestamp of the object. | +| `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Last modification timestamp of the object. | +| `type` | *string* | :heavy_check_mark: | N/A | +| `description` | *string* | :heavy_check_mark: | The description of the benefit. | +| `selectable` | *bool* | :heavy_check_mark: | Whether the benefit is selectable when creating a product. | +| `deletable` | *bool* | :heavy_check_mark: | Whether the benefit is deletable. | +| `isDeleted` | *bool* | :heavy_check_mark: | Whether the benefit is deleted. | +| `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the benefit. | +| `organization` | [Components\BenefitSubscriberOrganization](../../Models/Components/BenefitSubscriberOrganization.md) | :heavy_check_mark: | N/A | +| `properties` | [Components\BenefitSlackSharedChannelSubscriberProperties](../../Models/Components/BenefitSlackSharedChannelSubscriberProperties.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/BenefitSlackSharedChannelSubscriberProperties.md b/docs/Models/Components/BenefitSlackSharedChannelSubscriberProperties.md new file mode 100644 index 00000000..c903d67f --- /dev/null +++ b/docs/Models/Components/BenefitSlackSharedChannelSubscriberProperties.md @@ -0,0 +1,7 @@ +# BenefitSlackSharedChannelSubscriberProperties + + +## Fields + +| Field | Type | Required | Description | +| ----------- | ----------- | ----------- | ----------- | \ No newline at end of file diff --git a/docs/Models/Components/BenefitSlackSharedChannelUpdate.md b/docs/Models/Components/BenefitSlackSharedChannelUpdate.md new file mode 100644 index 00000000..59a95852 --- /dev/null +++ b/docs/Models/Components/BenefitSlackSharedChannelUpdate.md @@ -0,0 +1,11 @@ +# BenefitSlackSharedChannelUpdate + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `metadata` | array | :heavy_minus_sign: | Key-value object allowing you to store additional information.

The key must be a string with a maximum length of **40 characters**.
The value must be either:

* A string with a maximum length of **500 characters**
* An integer
* A floating-point number
* A boolean

You can store up to **50 key-value pairs**. | +| `description` | *?string* | :heavy_minus_sign: | The description of the benefit. Will be displayed on products having this benefit. | +| `type` | *string* | :heavy_check_mark: | N/A | +| `properties` | [?Components\BenefitSlackSharedChannelCreateProperties](../../Models/Components/BenefitSlackSharedChannelCreateProperties.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/DiscountFixedOnceForeverDurationCreateMetadata.md b/docs/Models/Components/BenefitSlackSharedChannelUpdateMetadata.md similarity index 87% rename from docs/Models/Components/DiscountFixedOnceForeverDurationCreateMetadata.md rename to docs/Models/Components/BenefitSlackSharedChannelUpdateMetadata.md index 80c88641..2a475b08 100644 --- a/docs/Models/Components/DiscountFixedOnceForeverDurationCreateMetadata.md +++ b/docs/Models/Components/BenefitSlackSharedChannelUpdateMetadata.md @@ -1,4 +1,4 @@ -# DiscountFixedOnceForeverDurationCreateMetadata +# BenefitSlackSharedChannelUpdateMetadata ## Supported Types diff --git a/docs/Models/Components/BenefitType.md b/docs/Models/Components/BenefitType.md index 8e494b42..a8eb75cf 100644 --- a/docs/Models/Components/BenefitType.md +++ b/docs/Models/Components/BenefitType.md @@ -3,12 +3,13 @@ ## Values -| Name | Value | -| ------------------ | ------------------ | -| `Custom` | custom | -| `Discord` | discord | -| `GithubRepository` | github_repository | -| `Downloadables` | downloadables | -| `LicenseKeys` | license_keys | -| `MeterCredit` | meter_credit | -| `FeatureFlag` | feature_flag | \ No newline at end of file +| Name | Value | +| -------------------- | -------------------- | +| `Custom` | custom | +| `Discord` | discord | +| `GithubRepository` | github_repository | +| `Downloadables` | downloadables | +| `LicenseKeys` | license_keys | +| `MeterCredit` | meter_credit | +| `FeatureFlag` | feature_flag | +| `SlackSharedChannel` | slack_shared_channel | \ No newline at end of file diff --git a/docs/Models/Components/BenefitVisibility.md b/docs/Models/Components/BenefitVisibility.md new file mode 100644 index 00000000..cc8f70e5 --- /dev/null +++ b/docs/Models/Components/BenefitVisibility.md @@ -0,0 +1,10 @@ +# BenefitVisibility + + +## Values + +| Name | Value | +| --------- | --------- | +| `Draft` | draft | +| `Private` | private | +| `Public` | public | \ No newline at end of file diff --git a/docs/Models/Components/CardPayment.md b/docs/Models/Components/CardPayment.md index 9e220e2f..11f75d7d 100644 --- a/docs/Models/Components/CardPayment.md +++ b/docs/Models/Components/CardPayment.md @@ -5,20 +5,21 @@ Schema of a payment with a card payment method. ## Fields -| Field | Type | Required | Description | Example | -| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -| `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Creation timestamp of the object. | | -| `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Last modification timestamp of the object. | | -| `id` | *string* | :heavy_check_mark: | The ID of the object. | | -| `processor` | [Components\PaymentProcessor](../../Models/Components/PaymentProcessor.md) | :heavy_check_mark: | N/A | | -| `status` | [Components\PaymentStatus](../../Models/Components/PaymentStatus.md) | :heavy_check_mark: | N/A | | -| `amount` | *int* | :heavy_check_mark: | The payment amount in cents. | 1000 | -| `currency` | *string* | :heavy_check_mark: | The payment currency. Currently, only `usd` is supported. | usd | -| `method` | *string* | :heavy_check_mark: | The payment method used. | card | -| `declineReason` | *string* | :heavy_check_mark: | Error code, if the payment was declined. | insufficient_funds | -| `declineMessage` | *string* | :heavy_check_mark: | Human-readable error message, if the payment was declined. | Your card has insufficient funds. | -| `organizationId` | *string* | :heavy_check_mark: | The ID of the organization that owns the payment. | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | -| `checkoutId` | *string* | :heavy_check_mark: | The ID of the checkout session associated with this payment. | e4b478fa-cd25-4253-9f1f-8a41e6370ede | -| `orderId` | *string* | :heavy_check_mark: | The ID of the order associated with this payment. | e4b478fa-cd25-4253-9f1f-8a41e6370ede | -| `processorMetadata` | array | :heavy_minus_sign: | Additional metadata from the payment processor for internal use. | | -| `methodMetadata` | [Components\CardPaymentMetadata](../../Models/Components/CardPaymentMetadata.md) | :heavy_check_mark: | Additional metadata for a card payment method. | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | +| `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Creation timestamp of the object. | | +| `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Last modification timestamp of the object. | | +| `id` | *string* | :heavy_check_mark: | The ID of the object. | | +| `processor` | [Components\PaymentProcessor](../../Models/Components/PaymentProcessor.md) | :heavy_check_mark: | N/A | | +| `status` | [Components\PaymentStatus](../../Models/Components/PaymentStatus.md) | :heavy_check_mark: | N/A | | +| `amount` | *int* | :heavy_check_mark: | The payment amount in cents. | 1000 | +| `currency` | *string* | :heavy_check_mark: | The payment currency. Currently, only `usd` is supported. | usd | +| `method` | *string* | :heavy_check_mark: | The payment method used. | card | +| `trigger` | [Components\PaymentTrigger](../../Models/Components/PaymentTrigger.md) | :heavy_check_mark: | What initiated this payment attempt, e.g. initial purchase, subscription renewal, or an automated dunning retry. | subscription_cycle | +| `declineReason` | *string* | :heavy_check_mark: | Error code, if the payment was declined. | insufficient_funds | +| `declineMessage` | *string* | :heavy_check_mark: | Human-readable error message, if the payment was declined. | Your card has insufficient funds. | +| `organizationId` | *string* | :heavy_check_mark: | The ID of the organization that owns the payment. | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | +| `checkoutId` | *string* | :heavy_check_mark: | The ID of the checkout session associated with this payment. | e4b478fa-cd25-4253-9f1f-8a41e6370ede | +| `orderId` | *string* | :heavy_check_mark: | The ID of the order associated with this payment. | e4b478fa-cd25-4253-9f1f-8a41e6370ede | +| `processorMetadata` | array | :heavy_minus_sign: | Additional metadata from the payment processor for internal use. | | +| `methodMetadata` | [Components\CardPaymentMetadata](../../Models/Components/CardPaymentMetadata.md) | :heavy_check_mark: | Additional metadata for a card payment method. | | \ No newline at end of file diff --git a/docs/Models/Components/Checkout.md b/docs/Models/Components/Checkout.md index 7650fb92..66f973bc 100644 --- a/docs/Models/Components/Checkout.md +++ b/docs/Models/Components/Checkout.md @@ -5,64 +5,65 @@ Checkout session data retrieved using an access token. ## Fields -| Field | Type | Required | Description | -| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `id` | *string* | :heavy_check_mark: | The ID of the object. | -| `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Creation timestamp of the object. | -| `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Last modification timestamp of the object. | -| `customFieldData` | array | :heavy_minus_sign: | Key-value object storing custom field values. | -| `paymentProcessor` | [Components\PaymentProcessor](../../Models/Components/PaymentProcessor.md) | :heavy_check_mark: | N/A | -| `status` | [Components\CheckoutStatus](../../Models/Components/CheckoutStatus.md) | :heavy_check_mark: | N/A | -| `clientSecret` | *string* | :heavy_check_mark: | Client secret used to update and complete the checkout session from the client. | -| `url` | *string* | :heavy_check_mark: | URL where the customer can access the checkout session. | -| `expiresAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Expiration date and time of the checkout session. | -| `successUrl` | *string* | :heavy_check_mark: | URL where the customer will be redirected after a successful payment. | -| `returnUrl` | *string* | :heavy_check_mark: | When set, a back button will be shown in the checkout to return to this URL. | -| `embedOrigin` | *string* | :heavy_check_mark: | When checkout is embedded, represents the Origin of the page embedding the checkout. Used as a security measure to send messages only to the embedding page. | -| `amount` | *int* | :heavy_check_mark: | Amount in cents, before discounts and taxes. | -| `seats` | *?int* | :heavy_minus_sign: | Predefined number of seats (works with seat-based pricing only) | -| `minSeats` | *?int* | :heavy_minus_sign: | Minimum number of seats (works with seat-based pricing only) | -| `maxSeats` | *?int* | :heavy_minus_sign: | Maximum number of seats (works with seat-based pricing only) | -| `discountAmount` | *int* | :heavy_check_mark: | Discount amount in cents. | -| `netAmount` | *int* | :heavy_check_mark: | Amount in cents, after discounts but before taxes. | -| `taxAmount` | *int* | :heavy_check_mark: | Sales tax amount in cents. If `null`, it means there is no enough information yet to calculate it. | -| `totalAmount` | *int* | :heavy_check_mark: | Amount in cents, after discounts and taxes. | -| `currency` | *string* | :heavy_check_mark: | Currency code of the checkout session. | -| `allowTrial` | *bool* | :heavy_check_mark: | Whether to enable the trial period for the checkout session. If `false`, the trial period will be disabled, even if the selected product has a trial configured. | -| `activeTrialInterval` | [Components\TrialInterval](../../Models/Components/TrialInterval.md) | :heavy_check_mark: | Interval unit of the trial period, if any. This value is either set from the checkout, if `trial_interval` is set, or from the selected product. | -| `activeTrialIntervalCount` | *int* | :heavy_check_mark: | Number of interval units of the trial period, if any. This value is either set from the checkout, if `trial_interval_count` is set, or from the selected product. | -| `trialEnd` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | End date and time of the trial period, if any. | -| `organizationId` | *string* | :heavy_check_mark: | ID of the organization owning the checkout session. | -| `productId` | *string* | :heavy_check_mark: | ID of the product to checkout. | -| ~~`productPriceId`~~ | *string* | :heavy_check_mark: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

ID of the product price to checkout. | -| `discountId` | *string* | :heavy_check_mark: | ID of the discount applied to the checkout. | -| `allowDiscountCodes` | *bool* | :heavy_check_mark: | Whether to allow the customer to apply discount codes. If you apply a discount through `discount_id`, it'll still be applied, but the customer won't be able to change it. | -| `requireBillingAddress` | *bool* | :heavy_check_mark: | Whether to require the customer to fill their full billing address, instead of just the country. Customers in the US will always be required to fill their full address, regardless of this setting. If you preset the billing address, this setting will be automatically set to `true`. | -| `isDiscountApplicable` | *bool* | :heavy_check_mark: | Whether the discount is applicable to the checkout. Typically, free and custom prices are not discountable. | -| `isFreeProductPrice` | *bool* | :heavy_check_mark: | Whether the product price is free, regardless of discounts. | -| `isPaymentRequired` | *bool* | :heavy_check_mark: | Whether the checkout requires payment, e.g. in case of free products or discounts that cover the total amount. | -| `isPaymentSetupRequired` | *bool* | :heavy_check_mark: | Whether the checkout requires setting up a payment method, regardless of the amount, e.g. subscriptions that have first free cycles. | -| `isPaymentFormRequired` | *bool* | :heavy_check_mark: | Whether the checkout requires a payment form, whether because of a payment or payment method setup. | -| `customerId` | *string* | :heavy_check_mark: | N/A | -| `isBusinessCustomer` | *bool* | :heavy_check_mark: | Whether the customer is a business or an individual. If `true`, the customer will be required to fill their full billing address and billing name. | -| `customerName` | *string* | :heavy_check_mark: | Name of the customer. | -| `customerEmail` | *string* | :heavy_check_mark: | Email address of the customer. | -| `customerIpAddress` | *string* | :heavy_check_mark: | N/A | -| `customerBillingName` | *string* | :heavy_check_mark: | N/A | -| `customerBillingAddress` | [Components\Address](../../Models/Components/Address.md) | :heavy_check_mark: | N/A | -| `customerTaxId` | *string* | :heavy_check_mark: | N/A | -| `locale` | *?string* | :heavy_minus_sign: | N/A | -| `paymentProcessorMetadata` | array | :heavy_check_mark: | N/A | -| `billingAddressFields` | [Components\CheckoutBillingAddressFields](../../Models/Components/CheckoutBillingAddressFields.md) | :heavy_check_mark: | N/A | -| `trialInterval` | [Components\TrialInterval](../../Models/Components/TrialInterval.md) | :heavy_check_mark: | The interval unit for the trial period. | -| `trialIntervalCount` | *int* | :heavy_check_mark: | The number of interval units for the trial period. | -| `metadata` | array | :heavy_check_mark: | N/A | -| `externalCustomerId` | *string* | :heavy_check_mark: | ID of the customer in your system. If a matching customer exists on Polar, the resulting order will be linked to this customer. Otherwise, a new customer will be created with this external ID set. | -| `products` | array<[Components\CheckoutProduct](../../Models/Components/CheckoutProduct.md)> | :heavy_check_mark: | List of products available to select. | -| `product` | [Components\CheckoutProduct](../../Models/Components/CheckoutProduct.md) | :heavy_check_mark: | Product selected to checkout. | -| ~~`productPrice`~~ | [Components\LegacyRecurringProductPriceFixed\|Components\LegacyRecurringProductPriceCustom\|Components\LegacyRecurringProductPriceFree\|Components\ProductPriceFixed\|Components\ProductPriceCustom\|Components\ProductPriceFree\|Components\ProductPriceSeatBased\|Components\ProductPriceMeteredUnit](../../Models/Components/CheckoutProductPrice.md) | :heavy_check_mark: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

Price of the selected product. | -| `prices` | array> | :heavy_check_mark: | Mapping of product IDs to their list of prices. | -| `discount` | [Components\CheckoutDiscountFixedOnceForeverDuration\|Components\CheckoutDiscountFixedRepeatDuration\|Components\CheckoutDiscountPercentageOnceForeverDuration\|Components\CheckoutDiscountPercentageRepeatDuration](../../Models/Components/CheckoutDiscount.md) | :heavy_check_mark: | N/A | -| `subscriptionId` | *string* | :heavy_check_mark: | N/A | -| `attachedCustomFields` | array<[Components\AttachedCustomField](../../Models/Components/AttachedCustomField.md)> | :heavy_check_mark: | N/A | -| `customerMetadata` | array | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `id` | *string* | :heavy_check_mark: | The ID of the object. | +| `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Creation timestamp of the object. | +| `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Last modification timestamp of the object. | +| `customFieldData` | array | :heavy_minus_sign: | Key-value object storing custom field values. | +| `paymentProcessor` | [Components\PaymentProcessor](../../Models/Components/PaymentProcessor.md) | :heavy_check_mark: | N/A | +| `status` | [Components\CheckoutStatus](../../Models/Components/CheckoutStatus.md) | :heavy_check_mark: | N/A | +| `clientSecret` | *string* | :heavy_check_mark: | Client secret used to update and complete the checkout session from the client. | +| `url` | *string* | :heavy_check_mark: | URL where the customer can access the checkout session. | +| `expiresAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Expiration date and time of the checkout session. | +| `successUrl` | *string* | :heavy_check_mark: | URL where the customer will be redirected after a successful payment. | +| `returnUrl` | *string* | :heavy_check_mark: | When set, a back button will be shown in the checkout to return to this URL. | +| `embedOrigin` | *string* | :heavy_check_mark: | When checkout is embedded, represents the Origin of the page embedding the checkout. Used as a security measure to send messages only to the embedding page. | +| `amount` | *int* | :heavy_check_mark: | Amount in cents, before discounts and taxes. | +| `seats` | *?int* | :heavy_minus_sign: | Predefined number of seats (works with seat-based pricing only) | +| `minSeats` | *?int* | :heavy_minus_sign: | Minimum number of seats (works with seat-based pricing only) | +| `maxSeats` | *?int* | :heavy_minus_sign: | Maximum number of seats (works with seat-based pricing only) | +| `discountAmount` | *int* | :heavy_check_mark: | Discount amount in cents. | +| `netAmount` | *int* | :heavy_check_mark: | Amount in cents, after discounts but before taxes. | +| `taxAmount` | *int* | :heavy_check_mark: | Sales tax amount in cents. If `null`, it means there is no enough information yet to calculate it. | +| `taxBehavior` | [Components\TaxBehavior](../../Models/Components/TaxBehavior.md) | :heavy_check_mark: | Tax behavior of the checkout. `inclusive` means the price includes tax, `exclusive` means tax is added on top. If `null`, tax is not yet calculated. | +| `totalAmount` | *int* | :heavy_check_mark: | Amount in cents, after discounts and taxes. | +| `currency` | *string* | :heavy_check_mark: | Currency code of the checkout session. | +| `allowTrial` | *bool* | :heavy_check_mark: | Whether to enable the trial period for the checkout session. If `false`, the trial period will be disabled, even if the selected product has a trial configured. | +| `activeTrialInterval` | [Components\TrialInterval](../../Models/Components/TrialInterval.md) | :heavy_check_mark: | Interval unit of the trial period, if any. This value is either set from the checkout, if `trial_interval` is set, or from the selected product. | +| `activeTrialIntervalCount` | *int* | :heavy_check_mark: | Number of interval units of the trial period, if any. This value is either set from the checkout, if `trial_interval_count` is set, or from the selected product. | +| `trialEnd` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | End date and time of the trial period, if any. | +| `organizationId` | *string* | :heavy_check_mark: | ID of the organization owning the checkout session. | +| `productId` | *string* | :heavy_check_mark: | ID of the product to checkout. | +| ~~`productPriceId`~~ | *string* | :heavy_check_mark: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

ID of the product price to checkout. | +| `discountId` | *string* | :heavy_check_mark: | ID of the discount applied to the checkout. | +| `allowDiscountCodes` | *bool* | :heavy_check_mark: | Whether to allow the customer to apply discount codes. If you apply a discount through `discount_id`, it'll still be applied, but the customer won't be able to change it. | +| `requireBillingAddress` | *bool* | :heavy_check_mark: | Whether to require the customer to fill their full billing address, instead of just the country. Customers in the US will always be required to fill their full address, regardless of this setting. If you preset the billing address, this setting will be automatically set to `true`. | +| `isDiscountApplicable` | *bool* | :heavy_check_mark: | Whether the discount is applicable to the checkout. Typically, free and custom prices are not discountable. | +| `isFreeProductPrice` | *bool* | :heavy_check_mark: | Whether the product price is free, regardless of discounts. | +| `isPaymentRequired` | *bool* | :heavy_check_mark: | Whether the checkout requires payment, e.g. in case of free products or discounts that cover the total amount. | +| `isPaymentSetupRequired` | *bool* | :heavy_check_mark: | Whether the checkout requires setting up a payment method, regardless of the amount, e.g. subscriptions that have first free cycles. | +| `isPaymentFormRequired` | *bool* | :heavy_check_mark: | Whether the checkout requires a payment form, whether because of a payment or payment method setup. | +| `customerId` | *string* | :heavy_check_mark: | N/A | +| `isBusinessCustomer` | *bool* | :heavy_check_mark: | Whether the customer is a business or an individual. If `true`, the customer will be required to fill their full billing address and billing name. | +| `customerName` | *string* | :heavy_check_mark: | Name of the customer. | +| `customerEmail` | *string* | :heavy_check_mark: | Email address of the customer. | +| `customerIpAddress` | *string* | :heavy_check_mark: | N/A | +| `customerBillingName` | *string* | :heavy_check_mark: | N/A | +| `customerBillingAddress` | [Components\Address](../../Models/Components/Address.md) | :heavy_check_mark: | N/A | +| `customerTaxId` | *string* | :heavy_check_mark: | N/A | +| `locale` | *?string* | :heavy_minus_sign: | N/A | +| `paymentProcessorMetadata` | array | :heavy_check_mark: | N/A | +| `billingAddressFields` | [Components\CheckoutBillingAddressFields](../../Models/Components/CheckoutBillingAddressFields.md) | :heavy_check_mark: | N/A | +| `trialInterval` | [Components\TrialInterval](../../Models/Components/TrialInterval.md) | :heavy_check_mark: | The interval unit for the trial period. | +| `trialIntervalCount` | *int* | :heavy_check_mark: | The number of interval units for the trial period. | +| `metadata` | array | :heavy_check_mark: | N/A | +| `externalCustomerId` | *string* | :heavy_check_mark: | ID of the customer in your system. If a matching customer exists on Polar, the resulting order will be linked to this customer. Otherwise, a new customer will be created with this external ID set. | +| `products` | array<[Components\CheckoutProduct](../../Models/Components/CheckoutProduct.md)> | :heavy_check_mark: | List of products available to select. | +| `product` | [Components\CheckoutProduct](../../Models/Components/CheckoutProduct.md) | :heavy_check_mark: | Product selected to checkout. | +| ~~`productPrice`~~ | [Components\LegacyRecurringProductPriceFixed\|Components\LegacyRecurringProductPriceCustom\|Components\ProductPriceFixed\|Components\ProductPriceCustom\|Components\ProductPriceSeatBased\|Components\ProductPriceMeteredUnit](../../Models/Components/CheckoutProductPrice.md) | :heavy_check_mark: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

Price of the selected product. | +| `prices` | array> | :heavy_check_mark: | Mapping of product IDs to their list of prices. | +| `discount` | [Components\CheckoutDiscountFixedOnceForeverDuration\|Components\CheckoutDiscountFixedRepeatDuration\|Components\CheckoutDiscountPercentageOnceForeverDuration\|Components\CheckoutDiscountPercentageRepeatDuration](../../Models/Components/CheckoutDiscount.md) | :heavy_check_mark: | N/A | +| `subscriptionId` | *string* | :heavy_check_mark: | N/A | +| `attachedCustomFields` | array<[Components\AttachedCustomField](../../Models/Components/AttachedCustomField.md)> | :heavy_check_mark: | N/A | +| `customerMetadata` | array | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/CheckoutCreate.md b/docs/Models/Components/CheckoutCreate.md index 3a1cfbc1..7b3aab5a 100644 --- a/docs/Models/Components/CheckoutCreate.md +++ b/docs/Models/Components/CheckoutCreate.md @@ -40,4 +40,4 @@ to the resulting order and/or subscription. | `locale` | *?string* | :heavy_minus_sign: | N/A | **Example 1:** en
**Example 2:** en-US
**Example 3:** fr
**Example 4:** fr-CA | | `currency` | [?Components\PresentmentCurrency](../../Models/Components/PresentmentCurrency.md) | :heavy_minus_sign: | N/A | | | `products` | array<*string*> | :heavy_check_mark: | List of product IDs available to select at that checkout. The first one will be selected by default. | | -| `prices` | array> | :heavy_minus_sign: | Optional mapping of product IDs to a list of ad-hoc prices to create for that product. If not set, catalog prices of the product will be used. | | \ No newline at end of file +| `prices` | array> | :heavy_minus_sign: | Optional mapping of product IDs to a list of ad-hoc prices to create for that product. If not set, catalog prices of the product will be used. | | \ No newline at end of file diff --git a/docs/Models/Components/CheckoutCreatePrices.md b/docs/Models/Components/CheckoutCreatePrices.md index edb4f7d7..bb50d14a 100644 --- a/docs/Models/Components/CheckoutCreatePrices.md +++ b/docs/Models/Components/CheckoutCreatePrices.md @@ -21,15 +21,6 @@ Components\ProductPriceCustomCreate $value = /* values here */ Components\ProductPriceFixedCreate $value = /* values here */ ``` -### `Components\ProductPriceFreeCreate` - -```php -/** -* @var \Polar\Models\Components\ProductPriceFreeCreate -*/ -Components\ProductPriceFreeCreate $value = /* values here */ -``` - ### `Components\ProductPriceMeteredUnitCreate` ```php diff --git a/docs/Models/Components/CheckoutLink.md b/docs/Models/Components/CheckoutLink.md index 28584e38..fff41bae 100644 --- a/docs/Models/Components/CheckoutLink.md +++ b/docs/Models/Components/CheckoutLink.md @@ -5,23 +5,24 @@ Checkout link data. ## Fields -| Field | Type | Required | Description | Example | -| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `id` | *string* | :heavy_check_mark: | The ID of the object. | | -| `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Creation timestamp of the object. | | -| `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Last modification timestamp of the object. | | -| `trialInterval` | [Components\TrialInterval](../../Models/Components/TrialInterval.md) | :heavy_check_mark: | The interval unit for the trial period. | | -| `trialIntervalCount` | *int* | :heavy_check_mark: | The number of interval units for the trial period. | | -| `metadata` | array | :heavy_check_mark: | N/A | | -| `paymentProcessor` | [Components\PaymentProcessor](../../Models/Components/PaymentProcessor.md) | :heavy_check_mark: | N/A | | -| `clientSecret` | *string* | :heavy_check_mark: | Client secret used to access the checkout link. | | -| `successUrl` | *string* | :heavy_check_mark: | URL where the customer will be redirected after a successful payment. | | -| `returnUrl` | *string* | :heavy_check_mark: | When set, a back button will be shown in the checkout to return to this URL. | | -| `label` | *string* | :heavy_check_mark: | Optional label to distinguish links internally | | -| `allowDiscountCodes` | *bool* | :heavy_check_mark: | Whether to allow the customer to apply discount codes. If you apply a discount through `discount_id`, it'll still be applied, but the customer won't be able to change it. | | -| `requireBillingAddress` | *bool* | :heavy_check_mark: | Whether to require the customer to fill their full billing address, instead of just the country. Customers in the US will always be required to fill their full address, regardless of this setting. | | -| `discountId` | *string* | :heavy_check_mark: | ID of the discount to apply to the checkout. If the discount is not applicable anymore when opening the checkout link, it'll be ignored. | | -| `organizationId` | *string* | :heavy_check_mark: | The organization ID. | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | -| `products` | array<[Components\CheckoutLinkProduct](../../Models/Components/CheckoutLinkProduct.md)> | :heavy_check_mark: | N/A | | -| `discount` | [Components\DiscountFixedOnceForeverDurationBase\|Components\DiscountFixedRepeatDurationBase\|Components\DiscountPercentageOnceForeverDurationBase\|Components\DiscountPercentageRepeatDurationBase](../../Models/Components/CheckoutLinkDiscount.md) | :heavy_check_mark: | N/A | | -| `url` | *string* | :heavy_check_mark: | N/A | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | The ID of the object. | | +| `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Creation timestamp of the object. | | +| `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Last modification timestamp of the object. | | +| `trialInterval` | [Components\TrialInterval](../../Models/Components/TrialInterval.md) | :heavy_check_mark: | The interval unit for the trial period. | | +| `trialIntervalCount` | *int* | :heavy_check_mark: | The number of interval units for the trial period. | | +| `metadata` | array | :heavy_check_mark: | N/A | | +| `paymentProcessor` | [Components\PaymentProcessor](../../Models/Components/PaymentProcessor.md) | :heavy_check_mark: | N/A | | +| `clientSecret` | *string* | :heavy_check_mark: | Client secret used to access the checkout link. | | +| `successUrl` | *string* | :heavy_check_mark: | URL where the customer will be redirected after a successful payment. | | +| `returnUrl` | *string* | :heavy_check_mark: | When set, a back button will be shown in the checkout to return to this URL. | | +| `label` | *string* | :heavy_check_mark: | Optional label to distinguish links internally | | +| `allowDiscountCodes` | *bool* | :heavy_check_mark: | Whether to allow the customer to apply discount codes. If you apply a discount through `discount_id`, it'll still be applied, but the customer won't be able to change it. | | +| `requireBillingAddress` | *bool* | :heavy_check_mark: | Whether to require the customer to fill their full billing address, instead of just the country. Customers in the US will always be required to fill their full address, regardless of this setting. | | +| `discountId` | *string* | :heavy_check_mark: | ID of the discount to apply to the checkout. If the discount is not applicable anymore when opening the checkout link, it'll be ignored. | | +| `seats` | *int* | :heavy_check_mark: | Preconfigured number of seats for seat-based pricing. When set, checkout sessions created from this link are locked to this number of seats and the customer won't be able to change it. All products on the link must use seat-based pricing and allow this number of seats. If the products no longer accommodate this value when the link is opened, it'll be ignored. | | +| `organizationId` | *string* | :heavy_check_mark: | The organization ID. | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | +| `products` | array<[Components\CheckoutLinkProduct](../../Models/Components/CheckoutLinkProduct.md)> | :heavy_check_mark: | N/A | | +| `discount` | [Components\DiscountFixedOnceForeverDurationBase\|Components\DiscountFixedRepeatDurationBase\|Components\DiscountPercentageOnceForeverDurationBase\|Components\DiscountPercentageRepeatDurationBase](../../Models/Components/CheckoutLinkDiscount.md) | :heavy_check_mark: | N/A | | +| `url` | *string* | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/CheckoutLinkCreateProduct.md b/docs/Models/Components/CheckoutLinkCreateProduct.md index 51516b97..c259a744 100644 --- a/docs/Models/Components/CheckoutLinkCreateProduct.md +++ b/docs/Models/Components/CheckoutLinkCreateProduct.md @@ -7,16 +7,17 @@ Schema to create a new checkout link from a a single product. ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `metadata` | array | :heavy_minus_sign: | Key-value object allowing you to store additional information.

The key must be a string with a maximum length of **40 characters**.
The value must be either:

* A string with a maximum length of **500 characters**
* An integer
* A floating-point number
* A boolean

You can store up to **50 key-value pairs**. | -| `trialInterval` | [?Components\TrialInterval](../../Models/Components/TrialInterval.md) | :heavy_minus_sign: | The interval unit for the trial period. | -| `trialIntervalCount` | *?int* | :heavy_minus_sign: | The number of interval units for the trial period. | -| `paymentProcessor` | *string* | :heavy_check_mark: | Payment processor to use. Currently only Stripe is supported. | -| `label` | *?string* | :heavy_minus_sign: | Optional label to distinguish links internally | -| `allowDiscountCodes` | *?bool* | :heavy_minus_sign: | Whether to allow the customer to apply discount codes. If you apply a discount through `discount_id`, it'll still be applied, but the customer won't be able to change it. | -| `requireBillingAddress` | *?bool* | :heavy_minus_sign: | Whether to require the customer to fill their full billing address, instead of just the country. Customers in the US will always be required to fill their full address, regardless of this setting. | -| `discountId` | *?string* | :heavy_minus_sign: | ID of the discount to apply to the checkout. If the discount is not applicable anymore when opening the checkout link, it'll be ignored. | -| `successUrl` | *?string* | :heavy_minus_sign: | URL where the customer will be redirected after a successful payment.You can add the `checkout_id={CHECKOUT_ID}` query parameter to retrieve the checkout session id. | -| `returnUrl` | *?string* | :heavy_minus_sign: | When set, a back button will be shown in the checkout to return to this URL. | -| `productId` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `metadata` | array | :heavy_minus_sign: | Key-value object allowing you to store additional information.

The key must be a string with a maximum length of **40 characters**.
The value must be either:

* A string with a maximum length of **500 characters**
* An integer
* A floating-point number
* A boolean

You can store up to **50 key-value pairs**. | +| `trialInterval` | [?Components\TrialInterval](../../Models/Components/TrialInterval.md) | :heavy_minus_sign: | The interval unit for the trial period. | +| `trialIntervalCount` | *?int* | :heavy_minus_sign: | The number of interval units for the trial period. | +| `paymentProcessor` | *string* | :heavy_check_mark: | Payment processor to use. Currently only Stripe is supported. | +| `label` | *?string* | :heavy_minus_sign: | Optional label to distinguish links internally | +| `allowDiscountCodes` | *?bool* | :heavy_minus_sign: | Whether to allow the customer to apply discount codes. If you apply a discount through `discount_id`, it'll still be applied, but the customer won't be able to change it. | +| `requireBillingAddress` | *?bool* | :heavy_minus_sign: | Whether to require the customer to fill their full billing address, instead of just the country. Customers in the US will always be required to fill their full address, regardless of this setting. | +| `discountId` | *?string* | :heavy_minus_sign: | ID of the discount to apply to the checkout. If the discount is not applicable anymore when opening the checkout link, it'll be ignored. | +| `seats` | *?int* | :heavy_minus_sign: | Preconfigured number of seats for seat-based pricing. When set, checkout sessions created from this link are locked to this number of seats and the customer won't be able to change it. All products on the link must use seat-based pricing and allow this number of seats. If the products no longer accommodate this value when the link is opened, it'll be ignored. | +| `successUrl` | *?string* | :heavy_minus_sign: | URL where the customer will be redirected after a successful payment.You can add the `checkout_id={CHECKOUT_ID}` query parameter to retrieve the checkout session id. | +| `returnUrl` | *?string* | :heavy_minus_sign: | When set, a back button will be shown in the checkout to return to this URL. | +| `productId` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/CheckoutLinkCreateProductPrice.md b/docs/Models/Components/CheckoutLinkCreateProductPrice.md index 5c34c5a2..c5e499ef 100644 --- a/docs/Models/Components/CheckoutLinkCreateProductPrice.md +++ b/docs/Models/Components/CheckoutLinkCreateProductPrice.md @@ -7,16 +7,17 @@ Schema to create a new checkout link from a a single product price. ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `metadata` | array | :heavy_minus_sign: | Key-value object allowing you to store additional information.

The key must be a string with a maximum length of **40 characters**.
The value must be either:

* A string with a maximum length of **500 characters**
* An integer
* A floating-point number
* A boolean

You can store up to **50 key-value pairs**. | -| `trialInterval` | [?Components\TrialInterval](../../Models/Components/TrialInterval.md) | :heavy_minus_sign: | The interval unit for the trial period. | -| `trialIntervalCount` | *?int* | :heavy_minus_sign: | The number of interval units for the trial period. | -| `paymentProcessor` | *string* | :heavy_check_mark: | Payment processor to use. Currently only Stripe is supported. | -| `label` | *?string* | :heavy_minus_sign: | Optional label to distinguish links internally | -| `allowDiscountCodes` | *?bool* | :heavy_minus_sign: | Whether to allow the customer to apply discount codes. If you apply a discount through `discount_id`, it'll still be applied, but the customer won't be able to change it. | -| `requireBillingAddress` | *?bool* | :heavy_minus_sign: | Whether to require the customer to fill their full billing address, instead of just the country. Customers in the US will always be required to fill their full address, regardless of this setting. | -| `discountId` | *?string* | :heavy_minus_sign: | ID of the discount to apply to the checkout. If the discount is not applicable anymore when opening the checkout link, it'll be ignored. | -| `successUrl` | *?string* | :heavy_minus_sign: | URL where the customer will be redirected after a successful payment.You can add the `checkout_id={CHECKOUT_ID}` query parameter to retrieve the checkout session id. | -| `returnUrl` | *?string* | :heavy_minus_sign: | When set, a back button will be shown in the checkout to return to this URL. | -| `productPriceId` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `metadata` | array | :heavy_minus_sign: | Key-value object allowing you to store additional information.

The key must be a string with a maximum length of **40 characters**.
The value must be either:

* A string with a maximum length of **500 characters**
* An integer
* A floating-point number
* A boolean

You can store up to **50 key-value pairs**. | +| `trialInterval` | [?Components\TrialInterval](../../Models/Components/TrialInterval.md) | :heavy_minus_sign: | The interval unit for the trial period. | +| `trialIntervalCount` | *?int* | :heavy_minus_sign: | The number of interval units for the trial period. | +| `paymentProcessor` | *string* | :heavy_check_mark: | Payment processor to use. Currently only Stripe is supported. | +| `label` | *?string* | :heavy_minus_sign: | Optional label to distinguish links internally | +| `allowDiscountCodes` | *?bool* | :heavy_minus_sign: | Whether to allow the customer to apply discount codes. If you apply a discount through `discount_id`, it'll still be applied, but the customer won't be able to change it. | +| `requireBillingAddress` | *?bool* | :heavy_minus_sign: | Whether to require the customer to fill their full billing address, instead of just the country. Customers in the US will always be required to fill their full address, regardless of this setting. | +| `discountId` | *?string* | :heavy_minus_sign: | ID of the discount to apply to the checkout. If the discount is not applicable anymore when opening the checkout link, it'll be ignored. | +| `seats` | *?int* | :heavy_minus_sign: | Preconfigured number of seats for seat-based pricing. When set, checkout sessions created from this link are locked to this number of seats and the customer won't be able to change it. All products on the link must use seat-based pricing and allow this number of seats. If the products no longer accommodate this value when the link is opened, it'll be ignored. | +| `successUrl` | *?string* | :heavy_minus_sign: | URL where the customer will be redirected after a successful payment.You can add the `checkout_id={CHECKOUT_ID}` query parameter to retrieve the checkout session id. | +| `returnUrl` | *?string* | :heavy_minus_sign: | When set, a back button will be shown in the checkout to return to this URL. | +| `productPriceId` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/CheckoutLinkCreateProducts.md b/docs/Models/Components/CheckoutLinkCreateProducts.md index e5713ba1..853272b8 100644 --- a/docs/Models/Components/CheckoutLinkCreateProducts.md +++ b/docs/Models/Components/CheckoutLinkCreateProducts.md @@ -5,16 +5,17 @@ Schema to create a new checkout link. ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `metadata` | array | :heavy_minus_sign: | Key-value object allowing you to store additional information.

The key must be a string with a maximum length of **40 characters**.
The value must be either:

* A string with a maximum length of **500 characters**
* An integer
* A floating-point number
* A boolean

You can store up to **50 key-value pairs**. | -| `trialInterval` | [?Components\TrialInterval](../../Models/Components/TrialInterval.md) | :heavy_minus_sign: | The interval unit for the trial period. | -| `trialIntervalCount` | *?int* | :heavy_minus_sign: | The number of interval units for the trial period. | -| `paymentProcessor` | *string* | :heavy_check_mark: | Payment processor to use. Currently only Stripe is supported. | -| `label` | *?string* | :heavy_minus_sign: | Optional label to distinguish links internally | -| `allowDiscountCodes` | *?bool* | :heavy_minus_sign: | Whether to allow the customer to apply discount codes. If you apply a discount through `discount_id`, it'll still be applied, but the customer won't be able to change it. | -| `requireBillingAddress` | *?bool* | :heavy_minus_sign: | Whether to require the customer to fill their full billing address, instead of just the country. Customers in the US will always be required to fill their full address, regardless of this setting. | -| `discountId` | *?string* | :heavy_minus_sign: | ID of the discount to apply to the checkout. If the discount is not applicable anymore when opening the checkout link, it'll be ignored. | -| `successUrl` | *?string* | :heavy_minus_sign: | URL where the customer will be redirected after a successful payment.You can add the `checkout_id={CHECKOUT_ID}` query parameter to retrieve the checkout session id. | -| `returnUrl` | *?string* | :heavy_minus_sign: | When set, a back button will be shown in the checkout to return to this URL. | -| `products` | array<*string*> | :heavy_check_mark: | List of products that will be available to select at checkout. | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `metadata` | array | :heavy_minus_sign: | Key-value object allowing you to store additional information.

The key must be a string with a maximum length of **40 characters**.
The value must be either:

* A string with a maximum length of **500 characters**
* An integer
* A floating-point number
* A boolean

You can store up to **50 key-value pairs**. | +| `trialInterval` | [?Components\TrialInterval](../../Models/Components/TrialInterval.md) | :heavy_minus_sign: | The interval unit for the trial period. | +| `trialIntervalCount` | *?int* | :heavy_minus_sign: | The number of interval units for the trial period. | +| `paymentProcessor` | *string* | :heavy_check_mark: | Payment processor to use. Currently only Stripe is supported. | +| `label` | *?string* | :heavy_minus_sign: | Optional label to distinguish links internally | +| `allowDiscountCodes` | *?bool* | :heavy_minus_sign: | Whether to allow the customer to apply discount codes. If you apply a discount through `discount_id`, it'll still be applied, but the customer won't be able to change it. | +| `requireBillingAddress` | *?bool* | :heavy_minus_sign: | Whether to require the customer to fill their full billing address, instead of just the country. Customers in the US will always be required to fill their full address, regardless of this setting. | +| `discountId` | *?string* | :heavy_minus_sign: | ID of the discount to apply to the checkout. If the discount is not applicable anymore when opening the checkout link, it'll be ignored. | +| `seats` | *?int* | :heavy_minus_sign: | Preconfigured number of seats for seat-based pricing. When set, checkout sessions created from this link are locked to this number of seats and the customer won't be able to change it. All products on the link must use seat-based pricing and allow this number of seats. If the products no longer accommodate this value when the link is opened, it'll be ignored. | +| `successUrl` | *?string* | :heavy_minus_sign: | URL where the customer will be redirected after a successful payment.You can add the `checkout_id={CHECKOUT_ID}` query parameter to retrieve the checkout session id. | +| `returnUrl` | *?string* | :heavy_minus_sign: | When set, a back button will be shown in the checkout to return to this URL. | +| `products` | array<*string*> | :heavy_check_mark: | List of products that will be available to select at checkout. | \ No newline at end of file diff --git a/docs/Models/Components/CheckoutLinkProduct.md b/docs/Models/Components/CheckoutLinkProduct.md index 09326f2a..4ca02006 100644 --- a/docs/Models/Components/CheckoutLinkProduct.md +++ b/docs/Models/Components/CheckoutLinkProduct.md @@ -5,22 +5,24 @@ Product data for a checkout link. ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `metadata` | array | :heavy_check_mark: | N/A | -| `id` | *string* | :heavy_check_mark: | The ID of the object. | -| `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Creation timestamp of the object. | -| `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Last modification timestamp of the object. | -| `trialInterval` | [Components\TrialInterval](../../Models/Components/TrialInterval.md) | :heavy_check_mark: | The interval unit for the trial period. | -| `trialIntervalCount` | *int* | :heavy_check_mark: | The number of interval units for the trial period. | -| `name` | *string* | :heavy_check_mark: | The name of the product. | -| `description` | *string* | :heavy_check_mark: | The description of the product. | -| `visibility` | [Components\ProductVisibility](../../Models/Components/ProductVisibility.md) | :heavy_check_mark: | N/A | -| `recurringInterval` | [Components\SubscriptionRecurringInterval](../../Models/Components/SubscriptionRecurringInterval.md) | :heavy_check_mark: | The recurring interval of the product. If `None`, the product is a one-time purchase. | -| `recurringIntervalCount` | *int* | :heavy_check_mark: | Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. None for one-time products. | -| `isRecurring` | *bool* | :heavy_check_mark: | Whether the product is a subscription. | -| `isArchived` | *bool* | :heavy_check_mark: | Whether the product is archived and no longer available. | -| `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the product. | -| `prices` | array<[Components\LegacyRecurringProductPriceFixed\|Components\LegacyRecurringProductPriceCustom\|Components\LegacyRecurringProductPriceFree\|Components\ProductPriceFixed\|Components\ProductPriceCustom\|Components\ProductPriceFree\|Components\ProductPriceSeatBased\|Components\ProductPriceMeteredUnit](../../Models/Components/CheckoutLinkProductPrices.md)> | :heavy_check_mark: | List of prices for this product. | -| `benefits` | array<[Components\BenefitPublic](../../Models/Components/BenefitPublic.md)> | :heavy_check_mark: | List of benefits granted by the product. | -| `medias` | array<[Components\ProductMediaFileRead](../../Models/Components/ProductMediaFileRead.md)> | :heavy_check_mark: | List of medias associated to the product. | \ No newline at end of file +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `metadata` | array | :heavy_check_mark: | N/A | +| `id` | *string* | :heavy_check_mark: | The ID of the object. | +| `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Creation timestamp of the object. | +| `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Last modification timestamp of the object. | +| `trialInterval` | [Components\TrialInterval](../../Models/Components/TrialInterval.md) | :heavy_check_mark: | The interval unit for the trial period. | +| `trialIntervalCount` | *int* | :heavy_check_mark: | The number of interval units for the trial period. | +| `name` | *string* | :heavy_check_mark: | The name of the product. | +| `description` | *string* | :heavy_check_mark: | The description of the product. | +| `visibility` | [Components\ProductVisibility](../../Models/Components/ProductVisibility.md) | :heavy_check_mark: | N/A | +| `recurringInterval` | [Components\RecurringInterval](../../Models/Components/RecurringInterval.md) | :heavy_check_mark: | The recurring interval of the product. If `None`, the product is a one-time purchase. | +| `recurringIntervalCount` | *int* | :heavy_check_mark: | Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. None for one-time products. | +| `meterInterval` | [Components\RecurringInterval](../../Models/Components/RecurringInterval.md) | :heavy_check_mark: | The meter cycle of the product, independent of the billing interval. If `None`, metered concerns follow the billing interval. | +| `meterIntervalCount` | *int* | :heavy_check_mark: | Number of meter interval units. None when no meter cycle is set. | +| `isRecurring` | *bool* | :heavy_check_mark: | Whether the product is a subscription. | +| `isArchived` | *bool* | :heavy_check_mark: | Whether the product is archived and no longer available. | +| `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the product. | +| `prices` | array<[Components\LegacyRecurringProductPriceFixed\|Components\LegacyRecurringProductPriceCustom\|Components\ProductPriceFixed\|Components\ProductPriceCustom\|Components\ProductPriceSeatBased\|Components\ProductPriceMeteredUnit](../../Models/Components/CheckoutLinkProductPrices.md)> | :heavy_check_mark: | List of prices for this product. | +| `benefits` | array<[Components\BenefitPublic](../../Models/Components/BenefitPublic.md)> | :heavy_check_mark: | List of benefits granted by the product. | +| `medias` | array<[Components\ProductMediaFileRead](../../Models/Components/ProductMediaFileRead.md)> | :heavy_check_mark: | List of medias associated to the product. | \ No newline at end of file diff --git a/docs/Models/Components/CheckoutLinkProductPrices.md b/docs/Models/Components/CheckoutLinkProductPrices.md index 0b88d235..ab650b3a 100644 --- a/docs/Models/Components/CheckoutLinkProductPrices.md +++ b/docs/Models/Components/CheckoutLinkProductPrices.md @@ -3,21 +3,21 @@ ## Supported Types -### `Components\LegacyRecurringProductPriceFixed|Components\LegacyRecurringProductPriceCustom|Components\LegacyRecurringProductPriceFree` +### `Components\LegacyRecurringProductPriceFixed|Components\LegacyRecurringProductPriceCustom` ```php /** -* @var \Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\LegacyRecurringProductPriceFree +* @var \Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom */ -Components\LegacyRecurringProductPriceFixed|Components\LegacyRecurringProductPriceCustom|Components\LegacyRecurringProductPriceFree $value = /* values here */ +Components\LegacyRecurringProductPriceFixed|Components\LegacyRecurringProductPriceCustom $value = /* values here */ ``` -### `Components\ProductPriceFixed|Components\ProductPriceCustom|Components\ProductPriceFree|Components\ProductPriceSeatBased|Components\ProductPriceMeteredUnit` +### `Components\ProductPriceFixed|Components\ProductPriceCustom|Components\ProductPriceSeatBased|Components\ProductPriceMeteredUnit` ```php /** -* @var \Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceFree|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit +* @var \Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit */ -Components\ProductPriceFixed|Components\ProductPriceCustom|Components\ProductPriceFree|Components\ProductPriceSeatBased|Components\ProductPriceMeteredUnit $value = /* values here */ +Components\ProductPriceFixed|Components\ProductPriceCustom|Components\ProductPriceSeatBased|Components\ProductPriceMeteredUnit $value = /* values here */ ``` diff --git a/docs/Models/Components/CheckoutLinkUpdate.md b/docs/Models/Components/CheckoutLinkUpdate.md index 96843f02..9132ebf5 100644 --- a/docs/Models/Components/CheckoutLinkUpdate.md +++ b/docs/Models/Components/CheckoutLinkUpdate.md @@ -5,15 +5,16 @@ Schema to update an existing checkout link. ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `trialInterval` | [?Components\TrialInterval](../../Models/Components/TrialInterval.md) | :heavy_minus_sign: | The interval unit for the trial period. | -| `trialIntervalCount` | *?int* | :heavy_minus_sign: | The number of interval units for the trial period. | -| `metadata` | array | :heavy_minus_sign: | Key-value object allowing you to store additional information.

The key must be a string with a maximum length of **40 characters**.
The value must be either:

* A string with a maximum length of **500 characters**
* An integer
* A floating-point number
* A boolean

You can store up to **50 key-value pairs**. | -| `products` | array<*string*> | :heavy_minus_sign: | List of products that will be available to select at checkout. | -| `label` | *?string* | :heavy_minus_sign: | N/A | -| `allowDiscountCodes` | *?bool* | :heavy_minus_sign: | Whether to allow the customer to apply discount codes. If you apply a discount through `discount_id`, it'll still be applied, but the customer won't be able to change it. | -| `requireBillingAddress` | *?bool* | :heavy_minus_sign: | Whether to require the customer to fill their full billing address, instead of just the country. Customers in the US will always be required to fill their full address, regardless of this setting. | -| `discountId` | *?string* | :heavy_minus_sign: | ID of the discount to apply to the checkout. If the discount is not applicable anymore when opening the checkout link, it'll be ignored. | -| `successUrl` | *?string* | :heavy_minus_sign: | URL where the customer will be redirected after a successful payment.You can add the `checkout_id={CHECKOUT_ID}` query parameter to retrieve the checkout session id. | -| `returnUrl` | *?string* | :heavy_minus_sign: | When set, a back button will be shown in the checkout to return to this URL. | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `trialInterval` | [?Components\TrialInterval](../../Models/Components/TrialInterval.md) | :heavy_minus_sign: | The interval unit for the trial period. | +| `trialIntervalCount` | *?int* | :heavy_minus_sign: | The number of interval units for the trial period. | +| `metadata` | array | :heavy_minus_sign: | Key-value object allowing you to store additional information.

The key must be a string with a maximum length of **40 characters**.
The value must be either:

* A string with a maximum length of **500 characters**
* An integer
* A floating-point number
* A boolean

You can store up to **50 key-value pairs**. | +| `products` | array<*string*> | :heavy_minus_sign: | List of products that will be available to select at checkout. | +| `label` | *?string* | :heavy_minus_sign: | N/A | +| `allowDiscountCodes` | *?bool* | :heavy_minus_sign: | Whether to allow the customer to apply discount codes. If you apply a discount through `discount_id`, it'll still be applied, but the customer won't be able to change it. | +| `requireBillingAddress` | *?bool* | :heavy_minus_sign: | Whether to require the customer to fill their full billing address, instead of just the country. Customers in the US will always be required to fill their full address, regardless of this setting. | +| `discountId` | *?string* | :heavy_minus_sign: | ID of the discount to apply to the checkout. If the discount is not applicable anymore when opening the checkout link, it'll be ignored. | +| `seats` | *?int* | :heavy_minus_sign: | Preconfigured number of seats for seat-based pricing. When set, checkout sessions created from this link are locked to this number of seats and the customer won't be able to change it. All products on the link must use seat-based pricing and allow this number of seats. If the products no longer accommodate this value when the link is opened, it'll be ignored. | +| `successUrl` | *?string* | :heavy_minus_sign: | URL where the customer will be redirected after a successful payment.You can add the `checkout_id={CHECKOUT_ID}` query parameter to retrieve the checkout session id. | +| `returnUrl` | *?string* | :heavy_minus_sign: | When set, a back button will be shown in the checkout to return to this URL. | \ No newline at end of file diff --git a/docs/Models/Components/CheckoutPrices.md b/docs/Models/Components/CheckoutPrices.md index e9099b2b..afee04b0 100644 --- a/docs/Models/Components/CheckoutPrices.md +++ b/docs/Models/Components/CheckoutPrices.md @@ -3,21 +3,21 @@ ## Supported Types -### `Components\LegacyRecurringProductPriceFixed|Components\LegacyRecurringProductPriceCustom|Components\LegacyRecurringProductPriceFree` +### `Components\LegacyRecurringProductPriceFixed|Components\LegacyRecurringProductPriceCustom` ```php /** -* @var \Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\LegacyRecurringProductPriceFree +* @var \Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom */ -Components\LegacyRecurringProductPriceFixed|Components\LegacyRecurringProductPriceCustom|Components\LegacyRecurringProductPriceFree $value = /* values here */ +Components\LegacyRecurringProductPriceFixed|Components\LegacyRecurringProductPriceCustom $value = /* values here */ ``` -### `Components\ProductPriceFixed|Components\ProductPriceCustom|Components\ProductPriceFree|Components\ProductPriceSeatBased|Components\ProductPriceMeteredUnit` +### `Components\ProductPriceFixed|Components\ProductPriceCustom|Components\ProductPriceSeatBased|Components\ProductPriceMeteredUnit` ```php /** -* @var \Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceFree|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit +* @var \Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit */ -Components\ProductPriceFixed|Components\ProductPriceCustom|Components\ProductPriceFree|Components\ProductPriceSeatBased|Components\ProductPriceMeteredUnit $value = /* values here */ +Components\ProductPriceFixed|Components\ProductPriceCustom|Components\ProductPriceSeatBased|Components\ProductPriceMeteredUnit $value = /* values here */ ``` diff --git a/docs/Models/Components/CheckoutProduct.md b/docs/Models/Components/CheckoutProduct.md index 5622925e..ab8851aa 100644 --- a/docs/Models/Components/CheckoutProduct.md +++ b/docs/Models/Components/CheckoutProduct.md @@ -5,21 +5,23 @@ Product data for a checkout session. ## Fields -| Field | Type | Required | Description | -| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `id` | *string* | :heavy_check_mark: | The ID of the object. | -| `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Creation timestamp of the object. | -| `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Last modification timestamp of the object. | -| `trialInterval` | [Components\TrialInterval](../../Models/Components/TrialInterval.md) | :heavy_check_mark: | The interval unit for the trial period. | -| `trialIntervalCount` | *int* | :heavy_check_mark: | The number of interval units for the trial period. | -| `name` | *string* | :heavy_check_mark: | The name of the product. | -| `description` | *string* | :heavy_check_mark: | The description of the product. | -| `visibility` | [Components\ProductVisibility](../../Models/Components/ProductVisibility.md) | :heavy_check_mark: | N/A | -| `recurringInterval` | [Components\SubscriptionRecurringInterval](../../Models/Components/SubscriptionRecurringInterval.md) | :heavy_check_mark: | The recurring interval of the product. If `None`, the product is a one-time purchase. | -| `recurringIntervalCount` | *int* | :heavy_check_mark: | Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. None for one-time products. | -| `isRecurring` | *bool* | :heavy_check_mark: | Whether the product is a subscription. | -| `isArchived` | *bool* | :heavy_check_mark: | Whether the product is archived and no longer available. | -| `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the product. | -| `prices` | array<[Components\LegacyRecurringProductPriceFixed\|Components\LegacyRecurringProductPriceCustom\|Components\LegacyRecurringProductPriceFree\|Components\ProductPriceFixed\|Components\ProductPriceCustom\|Components\ProductPriceFree\|Components\ProductPriceSeatBased\|Components\ProductPriceMeteredUnit](../../Models/Components/CheckoutProductPrices.md)> | :heavy_check_mark: | List of prices for this product. | -| `benefits` | array<[Components\BenefitPublic](../../Models/Components/BenefitPublic.md)> | :heavy_check_mark: | List of benefits granted by the product. | -| `medias` | array<[Components\ProductMediaFileRead](../../Models/Components/ProductMediaFileRead.md)> | :heavy_check_mark: | List of medias associated to the product. | \ No newline at end of file +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | The ID of the object. | +| `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Creation timestamp of the object. | +| `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Last modification timestamp of the object. | +| `trialInterval` | [Components\TrialInterval](../../Models/Components/TrialInterval.md) | :heavy_check_mark: | The interval unit for the trial period. | +| `trialIntervalCount` | *int* | :heavy_check_mark: | The number of interval units for the trial period. | +| `name` | *string* | :heavy_check_mark: | The name of the product. | +| `description` | *string* | :heavy_check_mark: | The description of the product. | +| `visibility` | [Components\ProductVisibility](../../Models/Components/ProductVisibility.md) | :heavy_check_mark: | N/A | +| `recurringInterval` | [Components\RecurringInterval](../../Models/Components/RecurringInterval.md) | :heavy_check_mark: | The recurring interval of the product. If `None`, the product is a one-time purchase. | +| `recurringIntervalCount` | *int* | :heavy_check_mark: | Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. None for one-time products. | +| `meterInterval` | [Components\RecurringInterval](../../Models/Components/RecurringInterval.md) | :heavy_check_mark: | The meter cycle of the product, independent of the billing interval. If `None`, metered concerns follow the billing interval. | +| `meterIntervalCount` | *int* | :heavy_check_mark: | Number of meter interval units. None when no meter cycle is set. | +| `isRecurring` | *bool* | :heavy_check_mark: | Whether the product is a subscription. | +| `isArchived` | *bool* | :heavy_check_mark: | Whether the product is archived and no longer available. | +| `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the product. | +| `prices` | array<[Components\LegacyRecurringProductPriceFixed\|Components\LegacyRecurringProductPriceCustom\|Components\ProductPriceFixed\|Components\ProductPriceCustom\|Components\ProductPriceSeatBased\|Components\ProductPriceMeteredUnit](../../Models/Components/CheckoutProductPrices.md)> | :heavy_check_mark: | List of prices for this product. | +| `benefits` | array<[Components\BenefitPublic](../../Models/Components/BenefitPublic.md)> | :heavy_check_mark: | List of benefits granted by the product. | +| `medias` | array<[Components\ProductMediaFileRead](../../Models/Components/ProductMediaFileRead.md)> | :heavy_check_mark: | List of medias associated to the product. | \ No newline at end of file diff --git a/docs/Models/Components/CheckoutProductPrice.md b/docs/Models/Components/CheckoutProductPrice.md index c299cca0..ec3ded3c 100644 --- a/docs/Models/Components/CheckoutProductPrice.md +++ b/docs/Models/Components/CheckoutProductPrice.md @@ -3,21 +3,21 @@ ## Supported Types -### `Components\LegacyRecurringProductPriceFixed|Components\LegacyRecurringProductPriceCustom|Components\LegacyRecurringProductPriceFree` +### `Components\LegacyRecurringProductPriceFixed|Components\LegacyRecurringProductPriceCustom` ```php /** -* @var \Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\LegacyRecurringProductPriceFree +* @var \Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom */ -Components\LegacyRecurringProductPriceFixed|Components\LegacyRecurringProductPriceCustom|Components\LegacyRecurringProductPriceFree $value = /* values here */ +Components\LegacyRecurringProductPriceFixed|Components\LegacyRecurringProductPriceCustom $value = /* values here */ ``` -### `Components\ProductPriceFixed|Components\ProductPriceCustom|Components\ProductPriceFree|Components\ProductPriceSeatBased|Components\ProductPriceMeteredUnit` +### `Components\ProductPriceFixed|Components\ProductPriceCustom|Components\ProductPriceSeatBased|Components\ProductPriceMeteredUnit` ```php /** -* @var \Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceFree|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit +* @var \Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit */ -Components\ProductPriceFixed|Components\ProductPriceCustom|Components\ProductPriceFree|Components\ProductPriceSeatBased|Components\ProductPriceMeteredUnit $value = /* values here */ +Components\ProductPriceFixed|Components\ProductPriceCustom|Components\ProductPriceSeatBased|Components\ProductPriceMeteredUnit $value = /* values here */ ``` diff --git a/docs/Models/Components/CheckoutProductPrices.md b/docs/Models/Components/CheckoutProductPrices.md index 0f83fbfe..721f72c4 100644 --- a/docs/Models/Components/CheckoutProductPrices.md +++ b/docs/Models/Components/CheckoutProductPrices.md @@ -3,21 +3,21 @@ ## Supported Types -### `Components\LegacyRecurringProductPriceFixed|Components\LegacyRecurringProductPriceCustom|Components\LegacyRecurringProductPriceFree` +### `Components\LegacyRecurringProductPriceFixed|Components\LegacyRecurringProductPriceCustom` ```php /** -* @var \Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\LegacyRecurringProductPriceFree +* @var \Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom */ -Components\LegacyRecurringProductPriceFixed|Components\LegacyRecurringProductPriceCustom|Components\LegacyRecurringProductPriceFree $value = /* values here */ +Components\LegacyRecurringProductPriceFixed|Components\LegacyRecurringProductPriceCustom $value = /* values here */ ``` -### `Components\ProductPriceFixed|Components\ProductPriceCustom|Components\ProductPriceFree|Components\ProductPriceSeatBased|Components\ProductPriceMeteredUnit` +### `Components\ProductPriceFixed|Components\ProductPriceCustom|Components\ProductPriceSeatBased|Components\ProductPriceMeteredUnit` ```php /** -* @var \Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceFree|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit +* @var \Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit */ -Components\ProductPriceFixed|Components\ProductPriceCustom|Components\ProductPriceFree|Components\ProductPriceSeatBased|Components\ProductPriceMeteredUnit $value = /* values here */ +Components\ProductPriceFixed|Components\ProductPriceCustom|Components\ProductPriceSeatBased|Components\ProductPriceMeteredUnit $value = /* values here */ ``` diff --git a/docs/Models/Components/CheckoutPublic.md b/docs/Models/Components/CheckoutPublic.md index 32c79c39..d3145cf1 100644 --- a/docs/Models/Components/CheckoutPublic.md +++ b/docs/Models/Components/CheckoutPublic.md @@ -5,59 +5,60 @@ Checkout session data retrieved using the client secret. ## Fields -| Field | Type | Required | Description | -| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `id` | *string* | :heavy_check_mark: | The ID of the object. | -| `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Creation timestamp of the object. | -| `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Last modification timestamp of the object. | -| `customFieldData` | array | :heavy_minus_sign: | Key-value object storing custom field values. | -| `paymentProcessor` | [Components\PaymentProcessor](../../Models/Components/PaymentProcessor.md) | :heavy_check_mark: | N/A | -| `status` | [Components\CheckoutStatus](../../Models/Components/CheckoutStatus.md) | :heavy_check_mark: | N/A | -| `clientSecret` | *string* | :heavy_check_mark: | Client secret used to update and complete the checkout session from the client. | -| `url` | *string* | :heavy_check_mark: | URL where the customer can access the checkout session. | -| `expiresAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Expiration date and time of the checkout session. | -| `successUrl` | *string* | :heavy_check_mark: | URL where the customer will be redirected after a successful payment. | -| `returnUrl` | *string* | :heavy_check_mark: | When set, a back button will be shown in the checkout to return to this URL. | -| `embedOrigin` | *string* | :heavy_check_mark: | When checkout is embedded, represents the Origin of the page embedding the checkout. Used as a security measure to send messages only to the embedding page. | -| `amount` | *int* | :heavy_check_mark: | Amount in cents, before discounts and taxes. | -| `seats` | *?int* | :heavy_minus_sign: | Predefined number of seats (works with seat-based pricing only) | -| `minSeats` | *?int* | :heavy_minus_sign: | Minimum number of seats (works with seat-based pricing only) | -| `maxSeats` | *?int* | :heavy_minus_sign: | Maximum number of seats (works with seat-based pricing only) | -| `discountAmount` | *int* | :heavy_check_mark: | Discount amount in cents. | -| `netAmount` | *int* | :heavy_check_mark: | Amount in cents, after discounts but before taxes. | -| `taxAmount` | *int* | :heavy_check_mark: | Sales tax amount in cents. If `null`, it means there is no enough information yet to calculate it. | -| `totalAmount` | *int* | :heavy_check_mark: | Amount in cents, after discounts and taxes. | -| `currency` | *string* | :heavy_check_mark: | Currency code of the checkout session. | -| `allowTrial` | *bool* | :heavy_check_mark: | Whether to enable the trial period for the checkout session. If `false`, the trial period will be disabled, even if the selected product has a trial configured. | -| `activeTrialInterval` | [Components\TrialInterval](../../Models/Components/TrialInterval.md) | :heavy_check_mark: | Interval unit of the trial period, if any. This value is either set from the checkout, if `trial_interval` is set, or from the selected product. | -| `activeTrialIntervalCount` | *int* | :heavy_check_mark: | Number of interval units of the trial period, if any. This value is either set from the checkout, if `trial_interval_count` is set, or from the selected product. | -| `trialEnd` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | End date and time of the trial period, if any. | -| `organizationId` | *string* | :heavy_check_mark: | ID of the organization owning the checkout session. | -| `productId` | *string* | :heavy_check_mark: | ID of the product to checkout. | -| ~~`productPriceId`~~ | *string* | :heavy_check_mark: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

ID of the product price to checkout. | -| `discountId` | *string* | :heavy_check_mark: | ID of the discount applied to the checkout. | -| `allowDiscountCodes` | *bool* | :heavy_check_mark: | Whether to allow the customer to apply discount codes. If you apply a discount through `discount_id`, it'll still be applied, but the customer won't be able to change it. | -| `requireBillingAddress` | *bool* | :heavy_check_mark: | Whether to require the customer to fill their full billing address, instead of just the country. Customers in the US will always be required to fill their full address, regardless of this setting. If you preset the billing address, this setting will be automatically set to `true`. | -| `isDiscountApplicable` | *bool* | :heavy_check_mark: | Whether the discount is applicable to the checkout. Typically, free and custom prices are not discountable. | -| `isFreeProductPrice` | *bool* | :heavy_check_mark: | Whether the product price is free, regardless of discounts. | -| `isPaymentRequired` | *bool* | :heavy_check_mark: | Whether the checkout requires payment, e.g. in case of free products or discounts that cover the total amount. | -| `isPaymentSetupRequired` | *bool* | :heavy_check_mark: | Whether the checkout requires setting up a payment method, regardless of the amount, e.g. subscriptions that have first free cycles. | -| `isPaymentFormRequired` | *bool* | :heavy_check_mark: | Whether the checkout requires a payment form, whether because of a payment or payment method setup. | -| `customerId` | *string* | :heavy_check_mark: | N/A | -| `isBusinessCustomer` | *bool* | :heavy_check_mark: | Whether the customer is a business or an individual. If `true`, the customer will be required to fill their full billing address and billing name. | -| `customerName` | *string* | :heavy_check_mark: | Name of the customer. | -| `customerEmail` | *string* | :heavy_check_mark: | Email address of the customer. | -| `customerIpAddress` | *string* | :heavy_check_mark: | N/A | -| `customerBillingName` | *string* | :heavy_check_mark: | N/A | -| `customerBillingAddress` | [Components\Address](../../Models/Components/Address.md) | :heavy_check_mark: | N/A | -| `customerTaxId` | *string* | :heavy_check_mark: | N/A | -| `locale` | *?string* | :heavy_minus_sign: | N/A | -| `paymentProcessorMetadata` | array | :heavy_check_mark: | N/A | -| `billingAddressFields` | [Components\CheckoutBillingAddressFields](../../Models/Components/CheckoutBillingAddressFields.md) | :heavy_check_mark: | N/A | -| `products` | array<[Components\CheckoutProduct](../../Models/Components/CheckoutProduct.md)> | :heavy_check_mark: | List of products available to select. | -| `product` | [Components\CheckoutProduct](../../Models/Components/CheckoutProduct.md) | :heavy_check_mark: | Product selected to checkout. | -| ~~`productPrice`~~ | [Components\LegacyRecurringProductPriceFixed\|Components\LegacyRecurringProductPriceCustom\|Components\LegacyRecurringProductPriceFree\|Components\ProductPriceFixed\|Components\ProductPriceCustom\|Components\ProductPriceFree\|Components\ProductPriceSeatBased\|Components\ProductPriceMeteredUnit](../../Models/Components/CheckoutPublicProductPrice.md) | :heavy_check_mark: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

Price of the selected product. | -| `prices` | array> | :heavy_check_mark: | Mapping of product IDs to their list of prices. | -| `discount` | [Components\CheckoutDiscountFixedOnceForeverDuration\|Components\CheckoutDiscountFixedRepeatDuration\|Components\CheckoutDiscountPercentageOnceForeverDuration\|Components\CheckoutDiscountPercentageRepeatDuration](../../Models/Components/CheckoutPublicDiscount.md) | :heavy_check_mark: | N/A | -| `organization` | [Components\CheckoutOrganization](../../Models/Components/CheckoutOrganization.md) | :heavy_check_mark: | N/A | -| `attachedCustomFields` | array<[Components\AttachedCustomField](../../Models/Components/AttachedCustomField.md)> | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `id` | *string* | :heavy_check_mark: | The ID of the object. | +| `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Creation timestamp of the object. | +| `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Last modification timestamp of the object. | +| `customFieldData` | array | :heavy_minus_sign: | Key-value object storing custom field values. | +| `paymentProcessor` | [Components\PaymentProcessor](../../Models/Components/PaymentProcessor.md) | :heavy_check_mark: | N/A | +| `status` | [Components\CheckoutStatus](../../Models/Components/CheckoutStatus.md) | :heavy_check_mark: | N/A | +| `clientSecret` | *string* | :heavy_check_mark: | Client secret used to update and complete the checkout session from the client. | +| `url` | *string* | :heavy_check_mark: | URL where the customer can access the checkout session. | +| `expiresAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Expiration date and time of the checkout session. | +| `successUrl` | *string* | :heavy_check_mark: | URL where the customer will be redirected after a successful payment. | +| `returnUrl` | *string* | :heavy_check_mark: | When set, a back button will be shown in the checkout to return to this URL. | +| `embedOrigin` | *string* | :heavy_check_mark: | When checkout is embedded, represents the Origin of the page embedding the checkout. Used as a security measure to send messages only to the embedding page. | +| `amount` | *int* | :heavy_check_mark: | Amount in cents, before discounts and taxes. | +| `seats` | *?int* | :heavy_minus_sign: | Predefined number of seats (works with seat-based pricing only) | +| `minSeats` | *?int* | :heavy_minus_sign: | Minimum number of seats (works with seat-based pricing only) | +| `maxSeats` | *?int* | :heavy_minus_sign: | Maximum number of seats (works with seat-based pricing only) | +| `discountAmount` | *int* | :heavy_check_mark: | Discount amount in cents. | +| `netAmount` | *int* | :heavy_check_mark: | Amount in cents, after discounts but before taxes. | +| `taxAmount` | *int* | :heavy_check_mark: | Sales tax amount in cents. If `null`, it means there is no enough information yet to calculate it. | +| `taxBehavior` | [Components\TaxBehavior](../../Models/Components/TaxBehavior.md) | :heavy_check_mark: | Tax behavior of the checkout. `inclusive` means the price includes tax, `exclusive` means tax is added on top. If `null`, tax is not yet calculated. | +| `totalAmount` | *int* | :heavy_check_mark: | Amount in cents, after discounts and taxes. | +| `currency` | *string* | :heavy_check_mark: | Currency code of the checkout session. | +| `allowTrial` | *bool* | :heavy_check_mark: | Whether to enable the trial period for the checkout session. If `false`, the trial period will be disabled, even if the selected product has a trial configured. | +| `activeTrialInterval` | [Components\TrialInterval](../../Models/Components/TrialInterval.md) | :heavy_check_mark: | Interval unit of the trial period, if any. This value is either set from the checkout, if `trial_interval` is set, or from the selected product. | +| `activeTrialIntervalCount` | *int* | :heavy_check_mark: | Number of interval units of the trial period, if any. This value is either set from the checkout, if `trial_interval_count` is set, or from the selected product. | +| `trialEnd` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | End date and time of the trial period, if any. | +| `organizationId` | *string* | :heavy_check_mark: | ID of the organization owning the checkout session. | +| `productId` | *string* | :heavy_check_mark: | ID of the product to checkout. | +| ~~`productPriceId`~~ | *string* | :heavy_check_mark: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

ID of the product price to checkout. | +| `discountId` | *string* | :heavy_check_mark: | ID of the discount applied to the checkout. | +| `allowDiscountCodes` | *bool* | :heavy_check_mark: | Whether to allow the customer to apply discount codes. If you apply a discount through `discount_id`, it'll still be applied, but the customer won't be able to change it. | +| `requireBillingAddress` | *bool* | :heavy_check_mark: | Whether to require the customer to fill their full billing address, instead of just the country. Customers in the US will always be required to fill their full address, regardless of this setting. If you preset the billing address, this setting will be automatically set to `true`. | +| `isDiscountApplicable` | *bool* | :heavy_check_mark: | Whether the discount is applicable to the checkout. Typically, free and custom prices are not discountable. | +| `isFreeProductPrice` | *bool* | :heavy_check_mark: | Whether the product price is free, regardless of discounts. | +| `isPaymentRequired` | *bool* | :heavy_check_mark: | Whether the checkout requires payment, e.g. in case of free products or discounts that cover the total amount. | +| `isPaymentSetupRequired` | *bool* | :heavy_check_mark: | Whether the checkout requires setting up a payment method, regardless of the amount, e.g. subscriptions that have first free cycles. | +| `isPaymentFormRequired` | *bool* | :heavy_check_mark: | Whether the checkout requires a payment form, whether because of a payment or payment method setup. | +| `customerId` | *string* | :heavy_check_mark: | N/A | +| `isBusinessCustomer` | *bool* | :heavy_check_mark: | Whether the customer is a business or an individual. If `true`, the customer will be required to fill their full billing address and billing name. | +| `customerName` | *string* | :heavy_check_mark: | Name of the customer. | +| `customerEmail` | *string* | :heavy_check_mark: | Email address of the customer. | +| `customerIpAddress` | *string* | :heavy_check_mark: | N/A | +| `customerBillingName` | *string* | :heavy_check_mark: | N/A | +| `customerBillingAddress` | [Components\Address](../../Models/Components/Address.md) | :heavy_check_mark: | N/A | +| `customerTaxId` | *string* | :heavy_check_mark: | N/A | +| `locale` | *?string* | :heavy_minus_sign: | N/A | +| `paymentProcessorMetadata` | array | :heavy_check_mark: | N/A | +| `billingAddressFields` | [Components\CheckoutBillingAddressFields](../../Models/Components/CheckoutBillingAddressFields.md) | :heavy_check_mark: | N/A | +| `products` | array<[Components\CheckoutProduct](../../Models/Components/CheckoutProduct.md)> | :heavy_check_mark: | List of products available to select. | +| `product` | [Components\CheckoutProduct](../../Models/Components/CheckoutProduct.md) | :heavy_check_mark: | Product selected to checkout. | +| ~~`productPrice`~~ | [Components\LegacyRecurringProductPriceFixed\|Components\LegacyRecurringProductPriceCustom\|Components\ProductPriceFixed\|Components\ProductPriceCustom\|Components\ProductPriceSeatBased\|Components\ProductPriceMeteredUnit](../../Models/Components/CheckoutPublicProductPrice.md) | :heavy_check_mark: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

Price of the selected product. | +| `prices` | array> | :heavy_check_mark: | Mapping of product IDs to their list of prices. | +| `discount` | [Components\CheckoutDiscountFixedOnceForeverDuration\|Components\CheckoutDiscountFixedRepeatDuration\|Components\CheckoutDiscountPercentageOnceForeverDuration\|Components\CheckoutDiscountPercentageRepeatDuration](../../Models/Components/CheckoutPublicDiscount.md) | :heavy_check_mark: | N/A | +| `organization` | [Components\CheckoutOrganization](../../Models/Components/CheckoutOrganization.md) | :heavy_check_mark: | N/A | +| `attachedCustomFields` | array<[Components\AttachedCustomField](../../Models/Components/AttachedCustomField.md)> | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/CheckoutPublicConfirmed.md b/docs/Models/Components/CheckoutPublicConfirmed.md index 8642f4c4..c4391150 100644 --- a/docs/Models/Components/CheckoutPublicConfirmed.md +++ b/docs/Models/Components/CheckoutPublicConfirmed.md @@ -8,60 +8,61 @@ right after the checkout. ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `id` | *string* | :heavy_check_mark: | The ID of the object. | -| `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Creation timestamp of the object. | -| `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Last modification timestamp of the object. | -| `customFieldData` | array | :heavy_minus_sign: | Key-value object storing custom field values. | -| `paymentProcessor` | [Components\PaymentProcessor](../../Models/Components/PaymentProcessor.md) | :heavy_check_mark: | N/A | -| `status` | *string* | :heavy_check_mark: | N/A | -| `clientSecret` | *string* | :heavy_check_mark: | Client secret used to update and complete the checkout session from the client. | -| `url` | *string* | :heavy_check_mark: | URL where the customer can access the checkout session. | -| `expiresAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Expiration date and time of the checkout session. | -| `successUrl` | *string* | :heavy_check_mark: | URL where the customer will be redirected after a successful payment. | -| `returnUrl` | *string* | :heavy_check_mark: | When set, a back button will be shown in the checkout to return to this URL. | -| `embedOrigin` | *string* | :heavy_check_mark: | When checkout is embedded, represents the Origin of the page embedding the checkout. Used as a security measure to send messages only to the embedding page. | -| `amount` | *int* | :heavy_check_mark: | Amount in cents, before discounts and taxes. | -| `seats` | *?int* | :heavy_minus_sign: | Predefined number of seats (works with seat-based pricing only) | -| `minSeats` | *?int* | :heavy_minus_sign: | Minimum number of seats (works with seat-based pricing only) | -| `maxSeats` | *?int* | :heavy_minus_sign: | Maximum number of seats (works with seat-based pricing only) | -| `discountAmount` | *int* | :heavy_check_mark: | Discount amount in cents. | -| `netAmount` | *int* | :heavy_check_mark: | Amount in cents, after discounts but before taxes. | -| `taxAmount` | *int* | :heavy_check_mark: | Sales tax amount in cents. If `null`, it means there is no enough information yet to calculate it. | -| `totalAmount` | *int* | :heavy_check_mark: | Amount in cents, after discounts and taxes. | -| `currency` | *string* | :heavy_check_mark: | Currency code of the checkout session. | -| `allowTrial` | *bool* | :heavy_check_mark: | Whether to enable the trial period for the checkout session. If `false`, the trial period will be disabled, even if the selected product has a trial configured. | -| `activeTrialInterval` | [Components\TrialInterval](../../Models/Components/TrialInterval.md) | :heavy_check_mark: | Interval unit of the trial period, if any. This value is either set from the checkout, if `trial_interval` is set, or from the selected product. | -| `activeTrialIntervalCount` | *int* | :heavy_check_mark: | Number of interval units of the trial period, if any. This value is either set from the checkout, if `trial_interval_count` is set, or from the selected product. | -| `trialEnd` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | End date and time of the trial period, if any. | -| `organizationId` | *string* | :heavy_check_mark: | ID of the organization owning the checkout session. | -| `productId` | *string* | :heavy_check_mark: | ID of the product to checkout. | -| ~~`productPriceId`~~ | *string* | :heavy_check_mark: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

ID of the product price to checkout. | -| `discountId` | *string* | :heavy_check_mark: | ID of the discount applied to the checkout. | -| `allowDiscountCodes` | *bool* | :heavy_check_mark: | Whether to allow the customer to apply discount codes. If you apply a discount through `discount_id`, it'll still be applied, but the customer won't be able to change it. | -| `requireBillingAddress` | *bool* | :heavy_check_mark: | Whether to require the customer to fill their full billing address, instead of just the country. Customers in the US will always be required to fill their full address, regardless of this setting. If you preset the billing address, this setting will be automatically set to `true`. | -| `isDiscountApplicable` | *bool* | :heavy_check_mark: | Whether the discount is applicable to the checkout. Typically, free and custom prices are not discountable. | -| `isFreeProductPrice` | *bool* | :heavy_check_mark: | Whether the product price is free, regardless of discounts. | -| `isPaymentRequired` | *bool* | :heavy_check_mark: | Whether the checkout requires payment, e.g. in case of free products or discounts that cover the total amount. | -| `isPaymentSetupRequired` | *bool* | :heavy_check_mark: | Whether the checkout requires setting up a payment method, regardless of the amount, e.g. subscriptions that have first free cycles. | -| `isPaymentFormRequired` | *bool* | :heavy_check_mark: | Whether the checkout requires a payment form, whether because of a payment or payment method setup. | -| `customerId` | *string* | :heavy_check_mark: | N/A | -| `isBusinessCustomer` | *bool* | :heavy_check_mark: | Whether the customer is a business or an individual. If `true`, the customer will be required to fill their full billing address and billing name. | -| `customerName` | *string* | :heavy_check_mark: | Name of the customer. | -| `customerEmail` | *string* | :heavy_check_mark: | Email address of the customer. | -| `customerIpAddress` | *string* | :heavy_check_mark: | N/A | -| `customerBillingName` | *string* | :heavy_check_mark: | N/A | -| `customerBillingAddress` | [Components\Address](../../Models/Components/Address.md) | :heavy_check_mark: | N/A | -| `customerTaxId` | *string* | :heavy_check_mark: | N/A | -| `locale` | *?string* | :heavy_minus_sign: | N/A | -| `paymentProcessorMetadata` | array | :heavy_check_mark: | N/A | -| `billingAddressFields` | [Components\CheckoutBillingAddressFields](../../Models/Components/CheckoutBillingAddressFields.md) | :heavy_check_mark: | N/A | -| `products` | array<[Components\CheckoutProduct](../../Models/Components/CheckoutProduct.md)> | :heavy_check_mark: | List of products available to select. | -| `product` | [Components\CheckoutProduct](../../Models/Components/CheckoutProduct.md) | :heavy_check_mark: | Product selected to checkout. | -| ~~`productPrice`~~ | [Components\LegacyRecurringProductPriceFixed\|Components\LegacyRecurringProductPriceCustom\|Components\LegacyRecurringProductPriceFree\|Components\ProductPriceFixed\|Components\ProductPriceCustom\|Components\ProductPriceFree\|Components\ProductPriceSeatBased\|Components\ProductPriceMeteredUnit](../../Models/Components/CheckoutPublicConfirmedProductPrice.md) | :heavy_check_mark: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

Price of the selected product. | -| `prices` | array> | :heavy_check_mark: | Mapping of product IDs to their list of prices. | -| `discount` | [Components\CheckoutDiscountFixedOnceForeverDuration\|Components\CheckoutDiscountFixedRepeatDuration\|Components\CheckoutDiscountPercentageOnceForeverDuration\|Components\CheckoutDiscountPercentageRepeatDuration](../../Models/Components/CheckoutPublicConfirmedDiscount.md) | :heavy_check_mark: | N/A | -| `organization` | [Components\CheckoutOrganization](../../Models/Components/CheckoutOrganization.md) | :heavy_check_mark: | N/A | -| `attachedCustomFields` | array<[Components\AttachedCustomField](../../Models/Components/AttachedCustomField.md)> | :heavy_check_mark: | N/A | -| `customerSessionToken` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | The ID of the object. | +| `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Creation timestamp of the object. | +| `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Last modification timestamp of the object. | +| `customFieldData` | array | :heavy_minus_sign: | Key-value object storing custom field values. | +| `paymentProcessor` | [Components\PaymentProcessor](../../Models/Components/PaymentProcessor.md) | :heavy_check_mark: | N/A | +| `status` | *string* | :heavy_check_mark: | N/A | +| `clientSecret` | *string* | :heavy_check_mark: | Client secret used to update and complete the checkout session from the client. | +| `url` | *string* | :heavy_check_mark: | URL where the customer can access the checkout session. | +| `expiresAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Expiration date and time of the checkout session. | +| `successUrl` | *string* | :heavy_check_mark: | URL where the customer will be redirected after a successful payment. | +| `returnUrl` | *string* | :heavy_check_mark: | When set, a back button will be shown in the checkout to return to this URL. | +| `embedOrigin` | *string* | :heavy_check_mark: | When checkout is embedded, represents the Origin of the page embedding the checkout. Used as a security measure to send messages only to the embedding page. | +| `amount` | *int* | :heavy_check_mark: | Amount in cents, before discounts and taxes. | +| `seats` | *?int* | :heavy_minus_sign: | Predefined number of seats (works with seat-based pricing only) | +| `minSeats` | *?int* | :heavy_minus_sign: | Minimum number of seats (works with seat-based pricing only) | +| `maxSeats` | *?int* | :heavy_minus_sign: | Maximum number of seats (works with seat-based pricing only) | +| `discountAmount` | *int* | :heavy_check_mark: | Discount amount in cents. | +| `netAmount` | *int* | :heavy_check_mark: | Amount in cents, after discounts but before taxes. | +| `taxAmount` | *int* | :heavy_check_mark: | Sales tax amount in cents. If `null`, it means there is no enough information yet to calculate it. | +| `taxBehavior` | [Components\TaxBehavior](../../Models/Components/TaxBehavior.md) | :heavy_check_mark: | Tax behavior of the checkout. `inclusive` means the price includes tax, `exclusive` means tax is added on top. If `null`, tax is not yet calculated. | +| `totalAmount` | *int* | :heavy_check_mark: | Amount in cents, after discounts and taxes. | +| `currency` | *string* | :heavy_check_mark: | Currency code of the checkout session. | +| `allowTrial` | *bool* | :heavy_check_mark: | Whether to enable the trial period for the checkout session. If `false`, the trial period will be disabled, even if the selected product has a trial configured. | +| `activeTrialInterval` | [Components\TrialInterval](../../Models/Components/TrialInterval.md) | :heavy_check_mark: | Interval unit of the trial period, if any. This value is either set from the checkout, if `trial_interval` is set, or from the selected product. | +| `activeTrialIntervalCount` | *int* | :heavy_check_mark: | Number of interval units of the trial period, if any. This value is either set from the checkout, if `trial_interval_count` is set, or from the selected product. | +| `trialEnd` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | End date and time of the trial period, if any. | +| `organizationId` | *string* | :heavy_check_mark: | ID of the organization owning the checkout session. | +| `productId` | *string* | :heavy_check_mark: | ID of the product to checkout. | +| ~~`productPriceId`~~ | *string* | :heavy_check_mark: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

ID of the product price to checkout. | +| `discountId` | *string* | :heavy_check_mark: | ID of the discount applied to the checkout. | +| `allowDiscountCodes` | *bool* | :heavy_check_mark: | Whether to allow the customer to apply discount codes. If you apply a discount through `discount_id`, it'll still be applied, but the customer won't be able to change it. | +| `requireBillingAddress` | *bool* | :heavy_check_mark: | Whether to require the customer to fill their full billing address, instead of just the country. Customers in the US will always be required to fill their full address, regardless of this setting. If you preset the billing address, this setting will be automatically set to `true`. | +| `isDiscountApplicable` | *bool* | :heavy_check_mark: | Whether the discount is applicable to the checkout. Typically, free and custom prices are not discountable. | +| `isFreeProductPrice` | *bool* | :heavy_check_mark: | Whether the product price is free, regardless of discounts. | +| `isPaymentRequired` | *bool* | :heavy_check_mark: | Whether the checkout requires payment, e.g. in case of free products or discounts that cover the total amount. | +| `isPaymentSetupRequired` | *bool* | :heavy_check_mark: | Whether the checkout requires setting up a payment method, regardless of the amount, e.g. subscriptions that have first free cycles. | +| `isPaymentFormRequired` | *bool* | :heavy_check_mark: | Whether the checkout requires a payment form, whether because of a payment or payment method setup. | +| `customerId` | *string* | :heavy_check_mark: | N/A | +| `isBusinessCustomer` | *bool* | :heavy_check_mark: | Whether the customer is a business or an individual. If `true`, the customer will be required to fill their full billing address and billing name. | +| `customerName` | *string* | :heavy_check_mark: | Name of the customer. | +| `customerEmail` | *string* | :heavy_check_mark: | Email address of the customer. | +| `customerIpAddress` | *string* | :heavy_check_mark: | N/A | +| `customerBillingName` | *string* | :heavy_check_mark: | N/A | +| `customerBillingAddress` | [Components\Address](../../Models/Components/Address.md) | :heavy_check_mark: | N/A | +| `customerTaxId` | *string* | :heavy_check_mark: | N/A | +| `locale` | *?string* | :heavy_minus_sign: | N/A | +| `paymentProcessorMetadata` | array | :heavy_check_mark: | N/A | +| `billingAddressFields` | [Components\CheckoutBillingAddressFields](../../Models/Components/CheckoutBillingAddressFields.md) | :heavy_check_mark: | N/A | +| `products` | array<[Components\CheckoutProduct](../../Models/Components/CheckoutProduct.md)> | :heavy_check_mark: | List of products available to select. | +| `product` | [Components\CheckoutProduct](../../Models/Components/CheckoutProduct.md) | :heavy_check_mark: | Product selected to checkout. | +| ~~`productPrice`~~ | [Components\LegacyRecurringProductPriceFixed\|Components\LegacyRecurringProductPriceCustom\|Components\ProductPriceFixed\|Components\ProductPriceCustom\|Components\ProductPriceSeatBased\|Components\ProductPriceMeteredUnit](../../Models/Components/CheckoutPublicConfirmedProductPrice.md) | :heavy_check_mark: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

Price of the selected product. | +| `prices` | array> | :heavy_check_mark: | Mapping of product IDs to their list of prices. | +| `discount` | [Components\CheckoutDiscountFixedOnceForeverDuration\|Components\CheckoutDiscountFixedRepeatDuration\|Components\CheckoutDiscountPercentageOnceForeverDuration\|Components\CheckoutDiscountPercentageRepeatDuration](../../Models/Components/CheckoutPublicConfirmedDiscount.md) | :heavy_check_mark: | N/A | +| `organization` | [Components\CheckoutOrganization](../../Models/Components/CheckoutOrganization.md) | :heavy_check_mark: | N/A | +| `attachedCustomFields` | array<[Components\AttachedCustomField](../../Models/Components/AttachedCustomField.md)> | :heavy_check_mark: | N/A | +| `customerSessionToken` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/CheckoutPublicConfirmedPrices.md b/docs/Models/Components/CheckoutPublicConfirmedPrices.md index fb80e695..5af22ffe 100644 --- a/docs/Models/Components/CheckoutPublicConfirmedPrices.md +++ b/docs/Models/Components/CheckoutPublicConfirmedPrices.md @@ -3,21 +3,21 @@ ## Supported Types -### `Components\LegacyRecurringProductPriceFixed|Components\LegacyRecurringProductPriceCustom|Components\LegacyRecurringProductPriceFree` +### `Components\LegacyRecurringProductPriceFixed|Components\LegacyRecurringProductPriceCustom` ```php /** -* @var \Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\LegacyRecurringProductPriceFree +* @var \Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom */ -Components\LegacyRecurringProductPriceFixed|Components\LegacyRecurringProductPriceCustom|Components\LegacyRecurringProductPriceFree $value = /* values here */ +Components\LegacyRecurringProductPriceFixed|Components\LegacyRecurringProductPriceCustom $value = /* values here */ ``` -### `Components\ProductPriceFixed|Components\ProductPriceCustom|Components\ProductPriceFree|Components\ProductPriceSeatBased|Components\ProductPriceMeteredUnit` +### `Components\ProductPriceFixed|Components\ProductPriceCustom|Components\ProductPriceSeatBased|Components\ProductPriceMeteredUnit` ```php /** -* @var \Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceFree|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit +* @var \Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit */ -Components\ProductPriceFixed|Components\ProductPriceCustom|Components\ProductPriceFree|Components\ProductPriceSeatBased|Components\ProductPriceMeteredUnit $value = /* values here */ +Components\ProductPriceFixed|Components\ProductPriceCustom|Components\ProductPriceSeatBased|Components\ProductPriceMeteredUnit $value = /* values here */ ``` diff --git a/docs/Models/Components/CheckoutPublicConfirmedProductPrice.md b/docs/Models/Components/CheckoutPublicConfirmedProductPrice.md index 5a8eaace..687cb6eb 100644 --- a/docs/Models/Components/CheckoutPublicConfirmedProductPrice.md +++ b/docs/Models/Components/CheckoutPublicConfirmedProductPrice.md @@ -3,21 +3,21 @@ ## Supported Types -### `Components\LegacyRecurringProductPriceFixed|Components\LegacyRecurringProductPriceCustom|Components\LegacyRecurringProductPriceFree` +### `Components\LegacyRecurringProductPriceFixed|Components\LegacyRecurringProductPriceCustom` ```php /** -* @var \Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\LegacyRecurringProductPriceFree +* @var \Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom */ -Components\LegacyRecurringProductPriceFixed|Components\LegacyRecurringProductPriceCustom|Components\LegacyRecurringProductPriceFree $value = /* values here */ +Components\LegacyRecurringProductPriceFixed|Components\LegacyRecurringProductPriceCustom $value = /* values here */ ``` -### `Components\ProductPriceFixed|Components\ProductPriceCustom|Components\ProductPriceFree|Components\ProductPriceSeatBased|Components\ProductPriceMeteredUnit` +### `Components\ProductPriceFixed|Components\ProductPriceCustom|Components\ProductPriceSeatBased|Components\ProductPriceMeteredUnit` ```php /** -* @var \Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceFree|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit +* @var \Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit */ -Components\ProductPriceFixed|Components\ProductPriceCustom|Components\ProductPriceFree|Components\ProductPriceSeatBased|Components\ProductPriceMeteredUnit $value = /* values here */ +Components\ProductPriceFixed|Components\ProductPriceCustom|Components\ProductPriceSeatBased|Components\ProductPriceMeteredUnit $value = /* values here */ ``` diff --git a/docs/Models/Components/CheckoutPublicPrices.md b/docs/Models/Components/CheckoutPublicPrices.md index 27d0ffa4..9ddc7e2a 100644 --- a/docs/Models/Components/CheckoutPublicPrices.md +++ b/docs/Models/Components/CheckoutPublicPrices.md @@ -3,21 +3,21 @@ ## Supported Types -### `Components\LegacyRecurringProductPriceFixed|Components\LegacyRecurringProductPriceCustom|Components\LegacyRecurringProductPriceFree` +### `Components\LegacyRecurringProductPriceFixed|Components\LegacyRecurringProductPriceCustom` ```php /** -* @var \Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\LegacyRecurringProductPriceFree +* @var \Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom */ -Components\LegacyRecurringProductPriceFixed|Components\LegacyRecurringProductPriceCustom|Components\LegacyRecurringProductPriceFree $value = /* values here */ +Components\LegacyRecurringProductPriceFixed|Components\LegacyRecurringProductPriceCustom $value = /* values here */ ``` -### `Components\ProductPriceFixed|Components\ProductPriceCustom|Components\ProductPriceFree|Components\ProductPriceSeatBased|Components\ProductPriceMeteredUnit` +### `Components\ProductPriceFixed|Components\ProductPriceCustom|Components\ProductPriceSeatBased|Components\ProductPriceMeteredUnit` ```php /** -* @var \Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceFree|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit +* @var \Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit */ -Components\ProductPriceFixed|Components\ProductPriceCustom|Components\ProductPriceFree|Components\ProductPriceSeatBased|Components\ProductPriceMeteredUnit $value = /* values here */ +Components\ProductPriceFixed|Components\ProductPriceCustom|Components\ProductPriceSeatBased|Components\ProductPriceMeteredUnit $value = /* values here */ ``` diff --git a/docs/Models/Components/CheckoutPublicProductPrice.md b/docs/Models/Components/CheckoutPublicProductPrice.md index 008f021c..155b0486 100644 --- a/docs/Models/Components/CheckoutPublicProductPrice.md +++ b/docs/Models/Components/CheckoutPublicProductPrice.md @@ -3,21 +3,21 @@ ## Supported Types -### `Components\LegacyRecurringProductPriceFixed|Components\LegacyRecurringProductPriceCustom|Components\LegacyRecurringProductPriceFree` +### `Components\LegacyRecurringProductPriceFixed|Components\LegacyRecurringProductPriceCustom` ```php /** -* @var \Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\LegacyRecurringProductPriceFree +* @var \Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom */ -Components\LegacyRecurringProductPriceFixed|Components\LegacyRecurringProductPriceCustom|Components\LegacyRecurringProductPriceFree $value = /* values here */ +Components\LegacyRecurringProductPriceFixed|Components\LegacyRecurringProductPriceCustom $value = /* values here */ ``` -### `Components\ProductPriceFixed|Components\ProductPriceCustom|Components\ProductPriceFree|Components\ProductPriceSeatBased|Components\ProductPriceMeteredUnit` +### `Components\ProductPriceFixed|Components\ProductPriceCustom|Components\ProductPriceSeatBased|Components\ProductPriceMeteredUnit` ```php /** -* @var \Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceFree|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit +* @var \Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit */ -Components\ProductPriceFixed|Components\ProductPriceCustom|Components\ProductPriceFree|Components\ProductPriceSeatBased|Components\ProductPriceMeteredUnit $value = /* values here */ +Components\ProductPriceFixed|Components\ProductPriceCustom|Components\ProductPriceSeatBased|Components\ProductPriceMeteredUnit $value = /* values here */ ``` diff --git a/docs/Models/Components/ChurnedSeatCustomers.md b/docs/Models/Components/ChurnedSeatCustomers.md new file mode 100644 index 00000000..aeb8e16b --- /dev/null +++ b/docs/Models/Components/ChurnedSeatCustomers.md @@ -0,0 +1,23 @@ +# ChurnedSeatCustomers + + +## Supported Types + +### `int` + +```php +/** +* @var int +*/ +int $value = /* values here */ +``` + +### `float` + +```php +/** +* @var float +*/ +float $value = /* values here */ +``` + diff --git a/docs/Models/Components/CommittedAnnualRecurringRevenue.md b/docs/Models/Components/CommittedAnnualRecurringRevenue.md new file mode 100644 index 00000000..79320e57 --- /dev/null +++ b/docs/Models/Components/CommittedAnnualRecurringRevenue.md @@ -0,0 +1,23 @@ +# CommittedAnnualRecurringRevenue + + +## Supported Types + +### `int` + +```php +/** +* @var int +*/ +int $value = /* values here */ +``` + +### `float` + +```php +/** +* @var float +*/ +float $value = /* values here */ +``` + diff --git a/docs/Models/Components/CustomerBenefitGrant.md b/docs/Models/Components/CustomerBenefitGrant.md index 825dfd11..a5468245 100644 --- a/docs/Models/Components/CustomerBenefitGrant.md +++ b/docs/Models/Components/CustomerBenefitGrant.md @@ -66,3 +66,12 @@ Components\CustomerBenefitGrantMeterCredit $value = /* values here */ Components\CustomerBenefitGrantFeatureFlag $value = /* values here */ ``` +### `Components\CustomerBenefitGrantSlackSharedChannel` + +```php +/** +* @var \Polar\Models\Components\CustomerBenefitGrantSlackSharedChannel +*/ +Components\CustomerBenefitGrantSlackSharedChannel $value = /* values here */ +``` + diff --git a/docs/Models/Components/CustomerBenefitGrantSlackSharedChannel.md b/docs/Models/Components/CustomerBenefitGrantSlackSharedChannel.md new file mode 100644 index 00000000..713a9e81 --- /dev/null +++ b/docs/Models/Components/CustomerBenefitGrantSlackSharedChannel.md @@ -0,0 +1,23 @@ +# CustomerBenefitGrantSlackSharedChannel + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | +| `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Creation timestamp of the object. | +| `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Last modification timestamp of the object. | +| `id` | *string* | :heavy_check_mark: | The ID of the object. | +| `grantedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | N/A | +| `revokedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | N/A | +| `customerId` | *string* | :heavy_check_mark: | N/A | +| `memberId` | *?string* | :heavy_minus_sign: | N/A | +| `benefitId` | *string* | :heavy_check_mark: | N/A | +| `subscriptionId` | *string* | :heavy_check_mark: | N/A | +| `orderId` | *string* | :heavy_check_mark: | N/A | +| `isGranted` | *bool* | :heavy_check_mark: | N/A | +| `isRevoked` | *bool* | :heavy_check_mark: | N/A | +| `error` | [?Components\BenefitGrantError](../../Models/Components/BenefitGrantError.md) | :heavy_minus_sign: | N/A | +| `customer` | [Components\CustomerPortalCustomer](../../Models/Components/CustomerPortalCustomer.md) | :heavy_check_mark: | N/A | +| `benefit` | [Components\BenefitSlackSharedChannelSubscriber](../../Models/Components/BenefitSlackSharedChannelSubscriber.md) | :heavy_check_mark: | N/A | +| `properties` | [Components\BenefitGrantSlackSharedChannelProperties](../../Models/Components/BenefitGrantSlackSharedChannelProperties.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/CustomerBenefitGrantSlackSharedChannelPropertiesUpdate.md b/docs/Models/Components/CustomerBenefitGrantSlackSharedChannelPropertiesUpdate.md new file mode 100644 index 00000000..58c4011e --- /dev/null +++ b/docs/Models/Components/CustomerBenefitGrantSlackSharedChannelPropertiesUpdate.md @@ -0,0 +1,8 @@ +# CustomerBenefitGrantSlackSharedChannelPropertiesUpdate + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `invitedEmail` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/SubscriptionUpdateDiscount.md b/docs/Models/Components/CustomerBenefitGrantSlackSharedChannelUpdate.md similarity index 64% rename from docs/Models/Components/SubscriptionUpdateDiscount.md rename to docs/Models/Components/CustomerBenefitGrantSlackSharedChannelUpdate.md index 5742c409..bbbb87b0 100644 --- a/docs/Models/Components/SubscriptionUpdateDiscount.md +++ b/docs/Models/Components/CustomerBenefitGrantSlackSharedChannelUpdate.md @@ -1,8 +1,9 @@ -# SubscriptionUpdateDiscount +# CustomerBenefitGrantSlackSharedChannelUpdate ## Fields | Field | Type | Required | Description | | ------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `discountId` | *string* | :heavy_check_mark: | Update the subscription to apply a new discount. If set to `null`, the discount will be removed. The change will be applied on the next billing cycle. | \ No newline at end of file +| `benefitType` | *string* | :heavy_check_mark: | N/A | +| `properties` | [Components\CustomerBenefitGrantSlackSharedChannelPropertiesUpdate](../../Models/Components/CustomerBenefitGrantSlackSharedChannelPropertiesUpdate.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/CustomerBenefitGrantUpdate.md b/docs/Models/Components/CustomerBenefitGrantUpdate.md index 467891ee..64ab4be8 100644 --- a/docs/Models/Components/CustomerBenefitGrantUpdate.md +++ b/docs/Models/Components/CustomerBenefitGrantUpdate.md @@ -66,3 +66,12 @@ Components\CustomerBenefitGrantLicenseKeysUpdate $value = /* values here */ Components\CustomerBenefitGrantMeterCreditUpdate $value = /* values here */ ``` +### `Components\CustomerBenefitGrantSlackSharedChannelUpdate` + +```php +/** +* @var \Polar\Models\Components\CustomerBenefitGrantSlackSharedChannelUpdate +*/ +Components\CustomerBenefitGrantSlackSharedChannelUpdate $value = /* values here */ +``` + diff --git a/docs/Models/Components/CustomerEmailUpdateRequest.md b/docs/Models/Components/CustomerEmailUpdateRequest.md new file mode 100644 index 00000000..9d09dcc8 --- /dev/null +++ b/docs/Models/Components/CustomerEmailUpdateRequest.md @@ -0,0 +1,8 @@ +# CustomerEmailUpdateRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `email` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/CustomerEmailUpdateVerifyRequest.md b/docs/Models/Components/CustomerEmailUpdateVerifyRequest.md new file mode 100644 index 00000000..c80ba0ab --- /dev/null +++ b/docs/Models/Components/CustomerEmailUpdateVerifyRequest.md @@ -0,0 +1,8 @@ +# CustomerEmailUpdateVerifyRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `token` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/CustomerEmailUpdateVerifyResponse.md b/docs/Models/Components/CustomerEmailUpdateVerifyResponse.md new file mode 100644 index 00000000..6f849205 --- /dev/null +++ b/docs/Models/Components/CustomerEmailUpdateVerifyResponse.md @@ -0,0 +1,8 @@ +# CustomerEmailUpdateVerifyResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `token` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/CustomerIndividual.md b/docs/Models/Components/CustomerIndividual.md index a76c3345..abad16db 100644 --- a/docs/Models/Components/CustomerIndividual.md +++ b/docs/Models/Components/CustomerIndividual.md @@ -16,9 +16,11 @@ A customer in an organization. | `emailVerified` | *bool* | :heavy_check_mark: | Whether the customer email address is verified. The address is automatically verified when the customer accesses the customer portal using their email address. | true | | `type` | *string* | :heavy_check_mark: | The type of customer. | individual | | `name` | *string* | :heavy_check_mark: | The name of the customer. | John Doe | +| `billingName` | *string* | :heavy_check_mark: | The name that should appear on the customer's invoices. Falls back to the customer name when not explicitly set. | John Doe | | `billingAddress` | [Components\Address](../../Models/Components/Address.md) | :heavy_check_mark: | N/A | | | `taxId` | array<[string\|Components\TaxIDFormat](../../Models/Components/CustomerIndividualTaxId.md)> | :heavy_check_mark: | N/A | **Example 1:** [
"911144442",
"us_ein"
]
**Example 2:** [
"FR61954506077",
"eu_vat"
] | | `locale` | *?string* | :heavy_minus_sign: | N/A | | | `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the customer. | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | +| `defaultPaymentMethodId` | *?string* | :heavy_minus_sign: | The ID of the customer's default payment method, if any. Use the payment methods endpoint to retrieve its details. | | | `deletedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Timestamp for when the customer was soft deleted. | | | `avatarUrl` | *string* | :heavy_check_mark: | N/A | https://www.gravatar.com/avatar/xxx?d=404 | \ No newline at end of file diff --git a/docs/Models/Components/CustomerOrder.md b/docs/Models/Components/CustomerOrder.md index 50800a55..6308b915 100644 --- a/docs/Models/Components/CustomerOrder.md +++ b/docs/Models/Components/CustomerOrder.md @@ -23,16 +23,19 @@ | `billingReason` | [Components\OrderBillingReason](../../Models/Components/OrderBillingReason.md) | :heavy_check_mark: | N/A | | | `billingName` | *string* | :heavy_check_mark: | The name of the customer that should appear on the invoice. | | | `billingAddress` | [Components\Address](../../Models/Components/Address.md) | :heavy_check_mark: | N/A | | -| `invoiceNumber` | *string* | :heavy_check_mark: | The invoice number associated with this order. | | +| `invoiceNumber` | *string* | :heavy_check_mark: | The invoice number associated with this order. `null` while the order is in `draft` status; assigned at finalize. | | | `isInvoiceGenerated` | *bool* | :heavy_check_mark: | Whether an invoice has been generated for this order. | | +| `receiptNumber` | *string* | :heavy_check_mark: | The receipt number for this order. Set once the order is paid for organizations with receipts enabled. When set, a downloadable receipt PDF can be obtained via the receipt endpoint. | | | `seats` | *?int* | :heavy_minus_sign: | Number of seats purchased (for seat-based one-time orders). | | | `customerId` | *string* | :heavy_check_mark: | N/A | | | `productId` | *string* | :heavy_check_mark: | N/A | | | `discountId` | *string* | :heavy_check_mark: | N/A | | | `subscriptionId` | *string* | :heavy_check_mark: | N/A | | | `checkoutId` | *string* | :heavy_check_mark: | N/A | | +| `nextPaymentAttemptAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_minus_sign: | When the next automatic payment retry is scheduled. `null` if the order is not in dunning or all retries have been exhausted. | | | `product` | [Components\CustomerOrderProduct](../../Models/Components/CustomerOrderProduct.md) | :heavy_check_mark: | N/A | | | `subscription` | [Components\CustomerOrderSubscription](../../Models/Components/CustomerOrderSubscription.md) | :heavy_check_mark: | N/A | | | `items` | array<[Components\OrderItemSchema](../../Models/Components/OrderItemSchema.md)> | :heavy_check_mark: | Line items composing the order. | | | `description` | *string* | :heavy_check_mark: | A summary description of the order. | Pro Plan | -| `nextPaymentAttemptAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_minus_sign: | When the next payment retry is scheduled | | \ No newline at end of file +| `refundableAmount` | *int* | :heavy_check_mark: | Amount in cents that can still be refunded (net, before taxes). Accounts for any applied customer balance and previous refunds. | 9000 | +| `refundableTaxAmount` | *int* | :heavy_check_mark: | Sales tax in cents that would be refunded if the full refundable amount is refunded. | 720 | \ No newline at end of file diff --git a/docs/Models/Components/CustomerOrderProduct.md b/docs/Models/Components/CustomerOrderProduct.md index d327f862..32e45d75 100644 --- a/docs/Models/Components/CustomerOrderProduct.md +++ b/docs/Models/Components/CustomerOrderProduct.md @@ -3,22 +3,24 @@ ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `id` | *string* | :heavy_check_mark: | The ID of the object. | -| `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Creation timestamp of the object. | -| `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Last modification timestamp of the object. | -| `trialInterval` | [Components\TrialInterval](../../Models/Components/TrialInterval.md) | :heavy_check_mark: | The interval unit for the trial period. | -| `trialIntervalCount` | *int* | :heavy_check_mark: | The number of interval units for the trial period. | -| `name` | *string* | :heavy_check_mark: | The name of the product. | -| `description` | *string* | :heavy_check_mark: | The description of the product. | -| `visibility` | [Components\ProductVisibility](../../Models/Components/ProductVisibility.md) | :heavy_check_mark: | N/A | -| `recurringInterval` | [Components\SubscriptionRecurringInterval](../../Models/Components/SubscriptionRecurringInterval.md) | :heavy_check_mark: | The recurring interval of the product. If `None`, the product is a one-time purchase. | -| `recurringIntervalCount` | *int* | :heavy_check_mark: | Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. None for one-time products. | -| `isRecurring` | *bool* | :heavy_check_mark: | Whether the product is a subscription. | -| `isArchived` | *bool* | :heavy_check_mark: | Whether the product is archived and no longer available. | -| `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the product. | -| `prices` | array<[Components\LegacyRecurringProductPriceFixed\|Components\LegacyRecurringProductPriceCustom\|Components\LegacyRecurringProductPriceFree\|Components\ProductPriceFixed\|Components\ProductPriceCustom\|Components\ProductPriceFree\|Components\ProductPriceSeatBased\|Components\ProductPriceMeteredUnit](../../Models/Components/CustomerOrderProductPrices.md)> | :heavy_check_mark: | List of prices for this product. | -| `benefits` | array<[Components\BenefitPublic](../../Models/Components/BenefitPublic.md)> | :heavy_check_mark: | List of benefits granted by the product. | -| `medias` | array<[Components\ProductMediaFileRead](../../Models/Components/ProductMediaFileRead.md)> | :heavy_check_mark: | List of medias associated to the product. | -| `organization` | [Components\CustomerOrganization](../../Models/Components/CustomerOrganization.md) | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | The ID of the object. | +| `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Creation timestamp of the object. | +| `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Last modification timestamp of the object. | +| `trialInterval` | [Components\TrialInterval](../../Models/Components/TrialInterval.md) | :heavy_check_mark: | The interval unit for the trial period. | +| `trialIntervalCount` | *int* | :heavy_check_mark: | The number of interval units for the trial period. | +| `name` | *string* | :heavy_check_mark: | The name of the product. | +| `description` | *string* | :heavy_check_mark: | The description of the product. | +| `visibility` | [Components\ProductVisibility](../../Models/Components/ProductVisibility.md) | :heavy_check_mark: | N/A | +| `recurringInterval` | [Components\RecurringInterval](../../Models/Components/RecurringInterval.md) | :heavy_check_mark: | The recurring interval of the product. If `None`, the product is a one-time purchase. | +| `recurringIntervalCount` | *int* | :heavy_check_mark: | Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. None for one-time products. | +| `meterInterval` | [Components\RecurringInterval](../../Models/Components/RecurringInterval.md) | :heavy_check_mark: | The meter cycle of the product, independent of the billing interval. If `None`, metered concerns follow the billing interval. | +| `meterIntervalCount` | *int* | :heavy_check_mark: | Number of meter interval units. None when no meter cycle is set. | +| `isRecurring` | *bool* | :heavy_check_mark: | Whether the product is a subscription. | +| `isArchived` | *bool* | :heavy_check_mark: | Whether the product is archived and no longer available. | +| `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the product. | +| `prices` | array<[Components\LegacyRecurringProductPriceFixed\|Components\LegacyRecurringProductPriceCustom\|Components\ProductPriceFixed\|Components\ProductPriceCustom\|Components\ProductPriceSeatBased\|Components\ProductPriceMeteredUnit](../../Models/Components/CustomerOrderProductPrices.md)> | :heavy_check_mark: | List of prices for this product. | +| `benefits` | array<[Components\BenefitPublic](../../Models/Components/BenefitPublic.md)> | :heavy_check_mark: | List of benefits granted by the product. | +| `medias` | array<[Components\ProductMediaFileRead](../../Models/Components/ProductMediaFileRead.md)> | :heavy_check_mark: | List of medias associated to the product. | +| `organization` | [Components\CustomerOrganization](../../Models/Components/CustomerOrganization.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/CustomerOrderProductPrices.md b/docs/Models/Components/CustomerOrderProductPrices.md index ee4e59d3..27c0bc2d 100644 --- a/docs/Models/Components/CustomerOrderProductPrices.md +++ b/docs/Models/Components/CustomerOrderProductPrices.md @@ -3,21 +3,21 @@ ## Supported Types -### `Components\LegacyRecurringProductPriceFixed|Components\LegacyRecurringProductPriceCustom|Components\LegacyRecurringProductPriceFree` +### `Components\LegacyRecurringProductPriceFixed|Components\LegacyRecurringProductPriceCustom` ```php /** -* @var \Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\LegacyRecurringProductPriceFree +* @var \Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom */ -Components\LegacyRecurringProductPriceFixed|Components\LegacyRecurringProductPriceCustom|Components\LegacyRecurringProductPriceFree $value = /* values here */ +Components\LegacyRecurringProductPriceFixed|Components\LegacyRecurringProductPriceCustom $value = /* values here */ ``` -### `Components\ProductPriceFixed|Components\ProductPriceCustom|Components\ProductPriceFree|Components\ProductPriceSeatBased|Components\ProductPriceMeteredUnit` +### `Components\ProductPriceFixed|Components\ProductPriceCustom|Components\ProductPriceSeatBased|Components\ProductPriceMeteredUnit` ```php /** -* @var \Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceFree|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit +* @var \Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit */ -Components\ProductPriceFixed|Components\ProductPriceCustom|Components\ProductPriceFree|Components\ProductPriceSeatBased|Components\ProductPriceMeteredUnit $value = /* values here */ +Components\ProductPriceFixed|Components\ProductPriceCustom|Components\ProductPriceSeatBased|Components\ProductPriceMeteredUnit $value = /* values here */ ``` diff --git a/docs/Models/Components/CustomerOrderReceipt.md b/docs/Models/Components/CustomerOrderReceipt.md new file mode 100644 index 00000000..ed39035a --- /dev/null +++ b/docs/Models/Components/CustomerOrderReceipt.md @@ -0,0 +1,10 @@ +# CustomerOrderReceipt + +Order's receipt data. + + +## Fields + +| Field | Type | Required | Description | +| --------------------------- | --------------------------- | --------------------------- | --------------------------- | +| `url` | *string* | :heavy_check_mark: | The URL to the receipt PDF. | \ No newline at end of file diff --git a/docs/Models/Components/CustomerOrderSubscription.md b/docs/Models/Components/CustomerOrderSubscription.md index 8b8c3ced..261d19d1 100644 --- a/docs/Models/Components/CustomerOrderSubscription.md +++ b/docs/Models/Components/CustomerOrderSubscription.md @@ -10,11 +10,13 @@ | `id` | *string* | :heavy_check_mark: | The ID of the object. | | | `amount` | *int* | :heavy_check_mark: | The amount of the subscription. | 10000 | | `currency` | *string* | :heavy_check_mark: | The currency of the subscription. | usd | -| `recurringInterval` | [Components\SubscriptionRecurringInterval](../../Models/Components/SubscriptionRecurringInterval.md) | :heavy_check_mark: | N/A | | +| `recurringInterval` | [Components\RecurringInterval](../../Models/Components/RecurringInterval.md) | :heavy_check_mark: | N/A | | | `recurringIntervalCount` | *int* | :heavy_check_mark: | Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. | | | `status` | [Components\SubscriptionStatus](../../Models/Components/SubscriptionStatus.md) | :heavy_check_mark: | N/A | | | `currentPeriodStart` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The start timestamp of the current billing period. | | | `currentPeriodEnd` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The end timestamp of the current billing period. | | +| `currentMeterPeriodStart` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The start timestamp of the current meter period, if the product has a meter cycle set. Metered credits are granted and overage is settled on this cadence. | | +| `currentMeterPeriodEnd` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The end timestamp of the current meter period, if the product has a meter cycle set. This is when credits next renew. | | | `trialStart` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The start timestamp of the trial period, if any. | | | `trialEnd` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The end timestamp of the trial period, if any. | | | `cancelAtPeriodEnd` | *bool* | :heavy_check_mark: | Whether the subscription will be canceled at the end of the current period. | | @@ -22,6 +24,10 @@ | `startedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The timestamp when the subscription started. | | | `endsAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The timestamp when the subscription will end. | | | `endedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The timestamp when the subscription ended. | | +| `pastDueAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_minus_sign: | The timestamp when the subscription entered `past_due` status. | | +| `pauseAtPeriodEnd` | *bool* | :heavy_check_mark: | Whether the subscription will be paused at the end of the current period. | | +| `pausedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The timestamp when the subscription was paused. | | +| `resumesAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The timestamp when a paused subscription is scheduled to automatically resume, if set. | | | `customerId` | *string* | :heavy_check_mark: | The ID of the subscribed customer. | | | `productId` | *string* | :heavy_check_mark: | The ID of the subscribed product. | | | `discountId` | *string* | :heavy_check_mark: | The ID of the applied discount, if any. | | diff --git a/docs/Models/Components/CustomerOrganizationFeatureSettings.md b/docs/Models/Components/CustomerOrganizationFeatureSettings.md index ef20e4e1..f15e010e 100644 --- a/docs/Models/Components/CustomerOrganizationFeatureSettings.md +++ b/docs/Models/Components/CustomerOrganizationFeatureSettings.md @@ -7,4 +7,5 @@ Feature flags exposed to the customer portal. | Field | Type | Required | Description | | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | -| `memberModelEnabled` | *?bool* | :heavy_minus_sign: | Whether the member model is enabled for this organization. | \ No newline at end of file +| `memberModelEnabled` | *?bool* | :heavy_minus_sign: | Whether the member model is enabled for this organization. | +| `checkoutLocalizationEnabled` | *?bool* | :heavy_minus_sign: | Whether localization is enabled for this organization. | \ No newline at end of file diff --git a/docs/Models/Components/CustomerPaymentMethodCard.md b/docs/Models/Components/CustomerPaymentMethodCard.md new file mode 100644 index 00000000..19eddf7b --- /dev/null +++ b/docs/Models/Components/CustomerPaymentMethodCard.md @@ -0,0 +1,15 @@ +# CustomerPaymentMethodCard + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | The ID of the object. | | +| `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Creation timestamp of the object. | | +| `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Last modification timestamp of the object. | | +| `processor` | [Components\PaymentProcessor](../../Models/Components/PaymentProcessor.md) | :heavy_check_mark: | N/A | | +| `customerId` | *string* | :heavy_check_mark: | N/A | | +| `type` | *string* | :heavy_check_mark: | N/A | | +| `methodMetadata` | [Components\PaymentMethodCardMetadata](../../Models/Components/PaymentMethodCardMetadata.md) | :heavy_check_mark: | N/A | | +| `isDefault` | *bool* | :heavy_check_mark: | Whether this payment method is the customer's default payment method. | true | \ No newline at end of file diff --git a/docs/Models/Components/CustomerPaymentMethodGeneric.md b/docs/Models/Components/CustomerPaymentMethodGeneric.md new file mode 100644 index 00000000..9d51cc13 --- /dev/null +++ b/docs/Models/Components/CustomerPaymentMethodGeneric.md @@ -0,0 +1,14 @@ +# CustomerPaymentMethodGeneric + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | The ID of the object. | | +| `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Creation timestamp of the object. | | +| `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Last modification timestamp of the object. | | +| `processor` | [Components\PaymentProcessor](../../Models/Components/PaymentProcessor.md) | :heavy_check_mark: | N/A | | +| `customerId` | *string* | :heavy_check_mark: | N/A | | +| `type` | *string* | :heavy_check_mark: | N/A | | +| `isDefault` | *bool* | :heavy_check_mark: | Whether this payment method is the customer's default payment method. | false | \ No newline at end of file diff --git a/docs/Models/Components/CustomerPortalCustomer.md b/docs/Models/Components/CustomerPortalCustomer.md index f3eeb1f9..bec51740 100644 --- a/docs/Models/Components/CustomerPortalCustomer.md +++ b/docs/Models/Components/CustomerPortalCustomer.md @@ -16,4 +16,5 @@ | `taxId` | array<[string\|Components\TaxIDFormat](../../Models/Components/CustomerPortalCustomerTaxId.md)> | :heavy_check_mark: | N/A | **Example 1:** [
"911144442",
"us_ein"
]
**Example 2:** [
"FR61954506077",
"eu_vat"
] | | `oauthAccounts` | array | :heavy_check_mark: | N/A | | | `defaultPaymentMethodId` | *?string* | :heavy_minus_sign: | N/A | | -| `type` | [?Components\CustomerType](../../Models/Components/CustomerType.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file +| `type` | [?Components\CustomerType](../../Models/Components/CustomerType.md) | :heavy_minus_sign: | N/A | | +| `locale` | *?string* | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/CustomerPortalCustomerSettings.md b/docs/Models/Components/CustomerPortalCustomerSettings.md new file mode 100644 index 00000000..f645619b --- /dev/null +++ b/docs/Models/Components/CustomerPortalCustomerSettings.md @@ -0,0 +1,8 @@ +# CustomerPortalCustomerSettings + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `allowEmailChange` | *?bool* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/CustomerPortalCustomerUpdate.md b/docs/Models/Components/CustomerPortalCustomerUpdate.md index ce0e5ca3..223870bc 100644 --- a/docs/Models/Components/CustomerPortalCustomerUpdate.md +++ b/docs/Models/Components/CustomerPortalCustomerUpdate.md @@ -7,4 +7,5 @@ | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | | `billingName` | *?string* | :heavy_minus_sign: | N/A | | `billingAddress` | [?Components\AddressInput](../../Models/Components/AddressInput.md) | :heavy_minus_sign: | N/A | -| `taxId` | *?string* | :heavy_minus_sign: | N/A | \ No newline at end of file +| `taxId` | *?string* | :heavy_minus_sign: | N/A | +| `defaultPaymentMethodId` | *?string* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/CustomerPortalMemberUpdate.md b/docs/Models/Components/CustomerPortalMemberUpdate.md index 05f17e64..64bcd3d6 100644 --- a/docs/Models/Components/CustomerPortalMemberUpdate.md +++ b/docs/Models/Components/CustomerPortalMemberUpdate.md @@ -1,10 +1,11 @@ # CustomerPortalMemberUpdate -Schema for updating a member's role in the customer portal. +Schema for updating a member in the customer portal. ## Fields -| Field | Type | Required | Description | -| --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | -| `role` | [?Components\MemberRole](../../Models/Components/MemberRole.md) | :heavy_minus_sign: | The new role for the member. | \ No newline at end of file +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | +| `name` | *?string* | :heavy_minus_sign: | The new name for the member. | Jane Doe | +| `role` | [?Components\MemberRole](../../Models/Components/MemberRole.md) | :heavy_minus_sign: | The new role for the member. | | \ No newline at end of file diff --git a/docs/Models/Components/CustomerPortalSubscriptionSettings.md b/docs/Models/Components/CustomerPortalSubscriptionSettings.md index 3a789e8b..00dff956 100644 --- a/docs/Models/Components/CustomerPortalSubscriptionSettings.md +++ b/docs/Models/Components/CustomerPortalSubscriptionSettings.md @@ -6,4 +6,5 @@ | Field | Type | Required | Description | | ------------------ | ------------------ | ------------------ | ------------------ | | `updateSeats` | *bool* | :heavy_check_mark: | N/A | -| `updatePlan` | *bool* | :heavy_check_mark: | N/A | \ No newline at end of file +| `updatePlan` | *bool* | :heavy_check_mark: | N/A | +| `pause` | *?bool* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/CustomerProduct.md b/docs/Models/Components/CustomerProduct.md index 6a4bcac9..2e5d1111 100644 --- a/docs/Models/Components/CustomerProduct.md +++ b/docs/Models/Components/CustomerProduct.md @@ -5,21 +5,23 @@ Schema of a product for customer portal. ## Fields -| Field | Type | Required | Description | -| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `id` | *string* | :heavy_check_mark: | The ID of the object. | -| `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Creation timestamp of the object. | -| `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Last modification timestamp of the object. | -| `trialInterval` | [Components\TrialInterval](../../Models/Components/TrialInterval.md) | :heavy_check_mark: | The interval unit for the trial period. | -| `trialIntervalCount` | *int* | :heavy_check_mark: | The number of interval units for the trial period. | -| `name` | *string* | :heavy_check_mark: | The name of the product. | -| `description` | *string* | :heavy_check_mark: | The description of the product. | -| `visibility` | [Components\ProductVisibility](../../Models/Components/ProductVisibility.md) | :heavy_check_mark: | N/A | -| `recurringInterval` | [Components\SubscriptionRecurringInterval](../../Models/Components/SubscriptionRecurringInterval.md) | :heavy_check_mark: | The recurring interval of the product. If `None`, the product is a one-time purchase. | -| `recurringIntervalCount` | *int* | :heavy_check_mark: | Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. None for one-time products. | -| `isRecurring` | *bool* | :heavy_check_mark: | Whether the product is a subscription. | -| `isArchived` | *bool* | :heavy_check_mark: | Whether the product is archived and no longer available. | -| `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the product. | -| `prices` | array<[Components\LegacyRecurringProductPriceFixed\|Components\LegacyRecurringProductPriceCustom\|Components\LegacyRecurringProductPriceFree\|Components\ProductPriceFixed\|Components\ProductPriceCustom\|Components\ProductPriceFree\|Components\ProductPriceSeatBased\|Components\ProductPriceMeteredUnit](../../Models/Components/CustomerProductPrices.md)> | :heavy_check_mark: | List of available prices for this product. | -| `benefits` | array<[Components\BenefitPublic](../../Models/Components/BenefitPublic.md)> | :heavy_check_mark: | The benefits granted by the product. | -| `medias` | array<[Components\ProductMediaFileRead](../../Models/Components/ProductMediaFileRead.md)> | :heavy_check_mark: | The medias associated to the product. | \ No newline at end of file +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | The ID of the object. | +| `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Creation timestamp of the object. | +| `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Last modification timestamp of the object. | +| `trialInterval` | [Components\TrialInterval](../../Models/Components/TrialInterval.md) | :heavy_check_mark: | The interval unit for the trial period. | +| `trialIntervalCount` | *int* | :heavy_check_mark: | The number of interval units for the trial period. | +| `name` | *string* | :heavy_check_mark: | The name of the product. | +| `description` | *string* | :heavy_check_mark: | The description of the product. | +| `visibility` | [Components\ProductVisibility](../../Models/Components/ProductVisibility.md) | :heavy_check_mark: | N/A | +| `recurringInterval` | [Components\RecurringInterval](../../Models/Components/RecurringInterval.md) | :heavy_check_mark: | The recurring interval of the product. If `None`, the product is a one-time purchase. | +| `recurringIntervalCount` | *int* | :heavy_check_mark: | Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. None for one-time products. | +| `meterInterval` | [Components\RecurringInterval](../../Models/Components/RecurringInterval.md) | :heavy_check_mark: | The meter cycle of the product, independent of the billing interval. If `None`, metered concerns follow the billing interval. | +| `meterIntervalCount` | *int* | :heavy_check_mark: | Number of meter interval units. None when no meter cycle is set. | +| `isRecurring` | *bool* | :heavy_check_mark: | Whether the product is a subscription. | +| `isArchived` | *bool* | :heavy_check_mark: | Whether the product is archived and no longer available. | +| `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the product. | +| `prices` | array<[Components\LegacyRecurringProductPriceFixed\|Components\LegacyRecurringProductPriceCustom\|Components\ProductPriceFixed\|Components\ProductPriceCustom\|Components\ProductPriceSeatBased\|Components\ProductPriceMeteredUnit](../../Models/Components/CustomerProductPrices.md)> | :heavy_check_mark: | List of available prices for this product. | +| `benefits` | array<[Components\BenefitPublic](../../Models/Components/BenefitPublic.md)> | :heavy_check_mark: | List of benefits granted by the product. | +| `medias` | array<[Components\ProductMediaFileRead](../../Models/Components/ProductMediaFileRead.md)> | :heavy_check_mark: | The medias associated to the product. | \ No newline at end of file diff --git a/docs/Models/Components/CustomerProductPrices.md b/docs/Models/Components/CustomerProductPrices.md index b5e44f8c..9564b383 100644 --- a/docs/Models/Components/CustomerProductPrices.md +++ b/docs/Models/Components/CustomerProductPrices.md @@ -3,21 +3,21 @@ ## Supported Types -### `Components\LegacyRecurringProductPriceFixed|Components\LegacyRecurringProductPriceCustom|Components\LegacyRecurringProductPriceFree` +### `Components\LegacyRecurringProductPriceFixed|Components\LegacyRecurringProductPriceCustom` ```php /** -* @var \Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\LegacyRecurringProductPriceFree +* @var \Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom */ -Components\LegacyRecurringProductPriceFixed|Components\LegacyRecurringProductPriceCustom|Components\LegacyRecurringProductPriceFree $value = /* values here */ +Components\LegacyRecurringProductPriceFixed|Components\LegacyRecurringProductPriceCustom $value = /* values here */ ``` -### `Components\ProductPriceFixed|Components\ProductPriceCustom|Components\ProductPriceFree|Components\ProductPriceSeatBased|Components\ProductPriceMeteredUnit` +### `Components\ProductPriceFixed|Components\ProductPriceCustom|Components\ProductPriceSeatBased|Components\ProductPriceMeteredUnit` ```php /** -* @var \Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceFree|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit +* @var \Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit */ -Components\ProductPriceFixed|Components\ProductPriceCustom|Components\ProductPriceFree|Components\ProductPriceSeatBased|Components\ProductPriceMeteredUnit $value = /* values here */ +Components\ProductPriceFixed|Components\ProductPriceCustom|Components\ProductPriceSeatBased|Components\ProductPriceMeteredUnit $value = /* values here */ ``` diff --git a/docs/Models/Components/CustomerSeat.md b/docs/Models/Components/CustomerSeat.md index f161e3b7..34274cee 100644 --- a/docs/Models/Components/CustomerSeat.md +++ b/docs/Models/Components/CustomerSeat.md @@ -8,15 +8,15 @@ | `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Creation timestamp of the object. | | `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Last modification timestamp of the object. | | `id` | *string* | :heavy_check_mark: | The seat ID | -| `subscriptionId` | *?string* | :heavy_minus_sign: | The subscription ID (for recurring seats) | -| `orderId` | *?string* | :heavy_minus_sign: | The order ID (for one-time purchase seats) | +| `subscriptionId` | *string* | :heavy_check_mark: | The subscription ID (for recurring seats) | +| `orderId` | *string* | :heavy_check_mark: | The order ID (for one-time purchase seats) | | `status` | [Components\SeatStatus](../../Models/Components/SeatStatus.md) | :heavy_check_mark: | N/A | -| `customerId` | *?string* | :heavy_minus_sign: | The customer ID. When member_model_enabled is true, this is the billing customer (purchaser). When false, this is the seat member customer. | -| `memberId` | *?string* | :heavy_minus_sign: | The member ID of the seat occupant | -| `member` | [?Components\Member](../../Models/Components/Member.md) | :heavy_minus_sign: | The member associated with this seat | -| `email` | *?string* | :heavy_minus_sign: | Email of the seat member (set when member_model_enabled is true) | -| `customerEmail` | *?string* | :heavy_minus_sign: | The assigned customer email | -| `invitationTokenExpiresAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_minus_sign: | When the invitation token expires | -| `claimedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_minus_sign: | When the seat was claimed | -| `revokedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_minus_sign: | When the seat was revoked | -| `seatMetadata` | array | :heavy_minus_sign: | Additional metadata for the seat | \ No newline at end of file +| `customerId` | *string* | :heavy_check_mark: | The customer ID. When member_model_enabled is true, this is the billing customer (purchaser). When false, this is the seat member customer. | +| `memberId` | *string* | :heavy_check_mark: | The member ID of the seat occupant | +| `member` | [Components\Member](../../Models/Components/Member.md) | :heavy_check_mark: | The member associated with this seat | +| `email` | *string* | :heavy_check_mark: | Email of the seat member (set when member_model_enabled is true) | +| `customerEmail` | *string* | :heavy_check_mark: | The assigned customer email | +| `invitationTokenExpiresAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | When the invitation token expires | +| `claimedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | When the seat was claimed | +| `revokedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | When the seat was revoked | +| `seatMetadata` | array | :heavy_check_mark: | Additional metadata for the seat | \ No newline at end of file diff --git a/docs/Models/Components/CustomerSeatAssign.md b/docs/Models/Components/CustomerSeatAssign.md new file mode 100644 index 00000000..09affa14 --- /dev/null +++ b/docs/Models/Components/CustomerSeatAssign.md @@ -0,0 +1,17 @@ +# CustomerSeatAssign + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | +| `subscriptionId` | *?string* | :heavy_minus_sign: | Subscription ID. Required if neither order_id nor checkout_id is provided. | +| `orderId` | *?string* | :heavy_minus_sign: | Order ID for one-time purchases. Required if subscription_id is not provided. | +| `email` | *?string* | :heavy_minus_sign: | Email of the customer to assign the seat to | +| `externalCustomerId` | *?string* | :heavy_minus_sign: | External customer ID for the seat assignment | +| `customerId` | *?string* | :heavy_minus_sign: | Customer ID for the seat assignment | +| `externalMemberId` | *?string* | :heavy_minus_sign: | External member ID for the seat assignment. Can be used alone (lookup existing member) or with email (create/validate member). | +| `memberId` | *?string* | :heavy_minus_sign: | Member ID for the seat assignment. | +| `metadata` | array | :heavy_minus_sign: | Additional metadata for the seat (max 10 keys, 1KB total) | +| `immediateClaim` | *?bool* | :heavy_minus_sign: | If true, the seat will be immediately claimed without sending an invitation email. API-only feature. | +| `checkoutId` | *?string* | :heavy_minus_sign: | Checkout ID. Resolves to the subscription or order produced by the checkout. | \ No newline at end of file diff --git a/docs/Models/Components/CustomerStateBenefitGrant.md b/docs/Models/Components/CustomerStateBenefitGrant.md index 2dbac66c..155b4ca3 100644 --- a/docs/Models/Components/CustomerStateBenefitGrant.md +++ b/docs/Models/Components/CustomerStateBenefitGrant.md @@ -5,13 +5,13 @@ An active benefit grant for a customer. ## Fields -| Field | Type | Required | Description | Example | -| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `id` | *string* | :heavy_check_mark: | The ID of the grant. | d322132c-a9d0-4e0d-b8d3-d81ad021a3a9 | -| `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Creation timestamp of the object. | | -| `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Last modification timestamp of the object. | | -| `grantedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The timestamp when the benefit was granted. | 2025-01-03T13:37:00Z | -| `benefitId` | *string* | :heavy_check_mark: | The ID of the benefit concerned by this grant. | 397a17aa-15cf-4cb4-9333-18040203cf98 | -| `benefitType` | [Components\BenefitType](../../Models/Components/BenefitType.md) | :heavy_check_mark: | N/A | | -| `benefitMetadata` | array | :heavy_check_mark: | N/A | | -| `properties` | [Components\BenefitGrantDiscordProperties\|Components\BenefitGrantGitHubRepositoryProperties\|Components\BenefitGrantDownloadablesProperties\|Components\BenefitGrantLicenseKeysProperties\|Components\BenefitGrantCustomProperties\|Components\BenefitGrantFeatureFlagProperties](../../Models/Components/CustomerStateBenefitGrantProperties.md) | :heavy_check_mark: | N/A | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | The ID of the grant. | d322132c-a9d0-4e0d-b8d3-d81ad021a3a9 | +| `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Creation timestamp of the object. | | +| `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Last modification timestamp of the object. | | +| `grantedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The timestamp when the benefit was granted. | 2025-01-03T13:37:00Z | +| `benefitId` | *string* | :heavy_check_mark: | The ID of the benefit concerned by this grant. | 397a17aa-15cf-4cb4-9333-18040203cf98 | +| `benefitType` | [Components\BenefitType](../../Models/Components/BenefitType.md) | :heavy_check_mark: | N/A | | +| `benefitMetadata` | array | :heavy_check_mark: | N/A | | +| `properties` | [Components\BenefitGrantDiscordProperties\|Components\BenefitGrantGitHubRepositoryProperties\|Components\BenefitGrantDownloadablesProperties\|Components\BenefitGrantLicenseKeysProperties\|Components\BenefitGrantCustomProperties\|Components\BenefitGrantFeatureFlagProperties\|Components\BenefitGrantSlackSharedChannelProperties](../../Models/Components/CustomerStateBenefitGrantProperties.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/CustomerStateBenefitGrantProperties.md b/docs/Models/Components/CustomerStateBenefitGrantProperties.md index a78e0e2e..eb7ec14b 100644 --- a/docs/Models/Components/CustomerStateBenefitGrantProperties.md +++ b/docs/Models/Components/CustomerStateBenefitGrantProperties.md @@ -57,3 +57,12 @@ Components\BenefitGrantCustomProperties $value = /* values here */ Components\BenefitGrantFeatureFlagProperties $value = /* values here */ ``` +### `Components\BenefitGrantSlackSharedChannelProperties` + +```php +/** +* @var \Polar\Models\Components\BenefitGrantSlackSharedChannelProperties +*/ +Components\BenefitGrantSlackSharedChannelProperties $value = /* values here */ +``` + diff --git a/docs/Models/Components/CustomerStateIndividual.md b/docs/Models/Components/CustomerStateIndividual.md index ef7aca85..db03afae 100644 --- a/docs/Models/Components/CustomerStateIndividual.md +++ b/docs/Models/Components/CustomerStateIndividual.md @@ -20,12 +20,14 @@ A customer along with additional state information: | `emailVerified` | *bool* | :heavy_check_mark: | Whether the customer email address is verified. The address is automatically verified when the customer accesses the customer portal using their email address. | true | | `type` | *string* | :heavy_check_mark: | The type of customer. | individual | | `name` | *string* | :heavy_check_mark: | The name of the customer. | John Doe | +| `billingName` | *string* | :heavy_check_mark: | The name that should appear on the customer's invoices. Falls back to the customer name when not explicitly set. | John Doe | | `billingAddress` | [Components\Address](../../Models/Components/Address.md) | :heavy_check_mark: | N/A | | | `taxId` | array<[string\|Components\TaxIDFormat](../../Models/Components/CustomerStateIndividualTaxId.md)> | :heavy_check_mark: | N/A | **Example 1:** [
"911144442",
"us_ein"
]
**Example 2:** [
"FR61954506077",
"eu_vat"
] | | `locale` | *?string* | :heavy_minus_sign: | N/A | | | `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the customer. | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | +| `defaultPaymentMethodId` | *?string* | :heavy_minus_sign: | The ID of the customer's default payment method, if any. Use the payment methods endpoint to retrieve its details. | | | `deletedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Timestamp for when the customer was soft deleted. | | +| `avatarUrl` | *string* | :heavy_check_mark: | N/A | https://www.gravatar.com/avatar/xxx?d=404 | | `activeSubscriptions` | array<[Components\CustomerStateSubscription](../../Models/Components/CustomerStateSubscription.md)> | :heavy_check_mark: | The customer's active subscriptions. | | | `grantedBenefits` | array<[Components\CustomerStateBenefitGrant](../../Models/Components/CustomerStateBenefitGrant.md)> | :heavy_check_mark: | The customer's active benefit grants. | | -| `activeMeters` | array<[Components\CustomerStateMeter](../../Models/Components/CustomerStateMeter.md)> | :heavy_check_mark: | The customer's active meters. | | -| `avatarUrl` | *string* | :heavy_check_mark: | N/A | https://www.gravatar.com/avatar/xxx?d=404 | \ No newline at end of file +| `activeMeters` | array<[Components\CustomerStateMeter](../../Models/Components/CustomerStateMeter.md)> | :heavy_check_mark: | The customer's active meters. | | \ No newline at end of file diff --git a/docs/Models/Components/CustomerStateSubscription.md b/docs/Models/Components/CustomerStateSubscription.md index bdcada8f..d058f4c4 100644 --- a/docs/Models/Components/CustomerStateSubscription.md +++ b/docs/Models/Components/CustomerStateSubscription.md @@ -15,7 +15,7 @@ An active customer subscription. | `status` | [Components\Status](../../Models/Components/Status.md) | :heavy_check_mark: | N/A | **Example 1:** active
**Example 2:** trialing | | `amount` | *int* | :heavy_check_mark: | The amount of the subscription. | 1000 | | `currency` | *string* | :heavy_check_mark: | The currency of the subscription. | usd | -| `recurringInterval` | [Components\SubscriptionRecurringInterval](../../Models/Components/SubscriptionRecurringInterval.md) | :heavy_check_mark: | N/A | | +| `recurringInterval` | [Components\RecurringInterval](../../Models/Components/RecurringInterval.md) | :heavy_check_mark: | N/A | | | `currentPeriodStart` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The start timestamp of the current billing period. | 2025-02-03T13:37:00Z | | `currentPeriodEnd` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The end timestamp of the current billing period. | 2025-03-03T13:37:00Z | | `trialStart` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The start timestamp of the trial period, if any. | 2025-02-03T13:37:00Z | diff --git a/docs/Models/Components/CustomerStateTeam.md b/docs/Models/Components/CustomerStateTeam.md index 18c99a92..1284ef6b 100644 --- a/docs/Models/Components/CustomerStateTeam.md +++ b/docs/Models/Components/CustomerStateTeam.md @@ -20,12 +20,14 @@ A team customer along with additional state information: | `emailVerified` | *bool* | :heavy_check_mark: | Whether the customer email address is verified. The address is automatically verified when the customer accesses the customer portal using their email address. | true | | `type` | *string* | :heavy_check_mark: | The type of customer. Team customers can have multiple members. | team | | `name` | *string* | :heavy_check_mark: | The name of the customer. | John Doe | +| `billingName` | *string* | :heavy_check_mark: | The name that should appear on the customer's invoices. Falls back to the customer name when not explicitly set. | John Doe | | `billingAddress` | [Components\Address](../../Models/Components/Address.md) | :heavy_check_mark: | N/A | | | `taxId` | array<[string\|Components\TaxIDFormat](../../Models/Components/CustomerStateTeamTaxId.md)> | :heavy_check_mark: | N/A | **Example 1:** [
"911144442",
"us_ein"
]
**Example 2:** [
"FR61954506077",
"eu_vat"
] | | `locale` | *?string* | :heavy_minus_sign: | N/A | | | `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the customer. | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | +| `defaultPaymentMethodId` | *?string* | :heavy_minus_sign: | The ID of the customer's default payment method, if any. Use the payment methods endpoint to retrieve its details. | | | `deletedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Timestamp for when the customer was soft deleted. | | +| `avatarUrl` | *string* | :heavy_check_mark: | N/A | https://www.gravatar.com/avatar/xxx?d=404 | | `activeSubscriptions` | array<[Components\CustomerStateSubscription](../../Models/Components/CustomerStateSubscription.md)> | :heavy_check_mark: | The customer's active subscriptions. | | | `grantedBenefits` | array<[Components\CustomerStateBenefitGrant](../../Models/Components/CustomerStateBenefitGrant.md)> | :heavy_check_mark: | The customer's active benefit grants. | | -| `activeMeters` | array<[Components\CustomerStateMeter](../../Models/Components/CustomerStateMeter.md)> | :heavy_check_mark: | The customer's active meters. | | -| `avatarUrl` | *string* | :heavy_check_mark: | N/A | https://www.gravatar.com/avatar/xxx?d=404 | \ No newline at end of file +| `activeMeters` | array<[Components\CustomerStateMeter](../../Models/Components/CustomerStateMeter.md)> | :heavy_check_mark: | The customer's active meters. | | \ No newline at end of file diff --git a/docs/Models/Components/CustomerSubscription.md b/docs/Models/Components/CustomerSubscription.md index bb042df9..6a3e8000 100644 --- a/docs/Models/Components/CustomerSubscription.md +++ b/docs/Models/Components/CustomerSubscription.md @@ -3,33 +3,39 @@ ## Fields -| Field | Type | Required | Description | Example | -| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Creation timestamp of the object. | | -| `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Last modification timestamp of the object. | | -| `id` | *string* | :heavy_check_mark: | The ID of the object. | | -| `amount` | *int* | :heavy_check_mark: | The amount of the subscription. | 10000 | -| `currency` | *string* | :heavy_check_mark: | The currency of the subscription. | usd | -| `recurringInterval` | [Components\SubscriptionRecurringInterval](../../Models/Components/SubscriptionRecurringInterval.md) | :heavy_check_mark: | N/A | | -| `recurringIntervalCount` | *int* | :heavy_check_mark: | Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. | | -| `status` | [Components\SubscriptionStatus](../../Models/Components/SubscriptionStatus.md) | :heavy_check_mark: | N/A | | -| `currentPeriodStart` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The start timestamp of the current billing period. | | -| `currentPeriodEnd` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The end timestamp of the current billing period. | | -| `trialStart` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The start timestamp of the trial period, if any. | | -| `trialEnd` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The end timestamp of the trial period, if any. | | -| `cancelAtPeriodEnd` | *bool* | :heavy_check_mark: | Whether the subscription will be canceled at the end of the current period. | | -| `canceledAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The timestamp when the subscription was canceled. The subscription might still be active if `cancel_at_period_end` is `true`. | | -| `startedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The timestamp when the subscription started. | | -| `endsAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The timestamp when the subscription will end. | | -| `endedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The timestamp when the subscription ended. | | -| `customerId` | *string* | :heavy_check_mark: | The ID of the subscribed customer. | | -| `productId` | *string* | :heavy_check_mark: | The ID of the subscribed product. | | -| `discountId` | *string* | :heavy_check_mark: | The ID of the applied discount, if any. | | -| `checkoutId` | *string* | :heavy_check_mark: | N/A | | -| `seats` | *?int* | :heavy_minus_sign: | The number of seats for seat-based subscriptions. None for non-seat subscriptions. | | -| `customerCancellationReason` | [Components\CustomerCancellationReason](../../Models/Components/CustomerCancellationReason.md) | :heavy_check_mark: | N/A | | -| `customerCancellationComment` | *string* | :heavy_check_mark: | N/A | | -| `product` | [Components\CustomerSubscriptionProduct](../../Models/Components/CustomerSubscriptionProduct.md) | :heavy_check_mark: | N/A | | -| `prices` | array<[Components\LegacyRecurringProductPriceFixed\|Components\LegacyRecurringProductPriceCustom\|Components\LegacyRecurringProductPriceFree\|Components\ProductPriceFixed\|Components\ProductPriceCustom\|Components\ProductPriceFree\|Components\ProductPriceSeatBased\|Components\ProductPriceMeteredUnit](../../Models/Components/CustomerSubscriptionPrices.md)> | :heavy_check_mark: | List of enabled prices for the subscription. | | -| `meters` | array<[Components\CustomerSubscriptionMeter](../../Models/Components/CustomerSubscriptionMeter.md)> | :heavy_check_mark: | List of meters associated with the subscription. | | -| `pendingUpdate` | [Components\PendingSubscriptionUpdate](../../Models/Components/PendingSubscriptionUpdate.md) | :heavy_check_mark: | Pending subscription update that will be applied at the beginning of the next period. If `null`, there is no pending update. | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Creation timestamp of the object. | | +| `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Last modification timestamp of the object. | | +| `id` | *string* | :heavy_check_mark: | The ID of the object. | | +| `amount` | *int* | :heavy_check_mark: | The amount of the subscription. | 10000 | +| `currency` | *string* | :heavy_check_mark: | The currency of the subscription. | usd | +| `recurringInterval` | [Components\RecurringInterval](../../Models/Components/RecurringInterval.md) | :heavy_check_mark: | N/A | | +| `recurringIntervalCount` | *int* | :heavy_check_mark: | Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. | | +| `status` | [Components\SubscriptionStatus](../../Models/Components/SubscriptionStatus.md) | :heavy_check_mark: | N/A | | +| `currentPeriodStart` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The start timestamp of the current billing period. | | +| `currentPeriodEnd` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The end timestamp of the current billing period. | | +| `currentMeterPeriodStart` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The start timestamp of the current meter period, if the product has a meter cycle set. Metered credits are granted and overage is settled on this cadence. | | +| `currentMeterPeriodEnd` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The end timestamp of the current meter period, if the product has a meter cycle set. This is when credits next renew. | | +| `trialStart` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The start timestamp of the trial period, if any. | | +| `trialEnd` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The end timestamp of the trial period, if any. | | +| `cancelAtPeriodEnd` | *bool* | :heavy_check_mark: | Whether the subscription will be canceled at the end of the current period. | | +| `canceledAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The timestamp when the subscription was canceled. The subscription might still be active if `cancel_at_period_end` is `true`. | | +| `startedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The timestamp when the subscription started. | | +| `endsAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The timestamp when the subscription will end. | | +| `endedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The timestamp when the subscription ended. | | +| `pastDueAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_minus_sign: | The timestamp when the subscription entered `past_due` status. | | +| `pauseAtPeriodEnd` | *bool* | :heavy_check_mark: | Whether the subscription will be paused at the end of the current period. | | +| `pausedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The timestamp when the subscription was paused. | | +| `resumesAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The timestamp when a paused subscription is scheduled to automatically resume, if set. | | +| `customerId` | *string* | :heavy_check_mark: | The ID of the subscribed customer. | | +| `productId` | *string* | :heavy_check_mark: | The ID of the subscribed product. | | +| `discountId` | *string* | :heavy_check_mark: | The ID of the applied discount, if any. | | +| `checkoutId` | *string* | :heavy_check_mark: | N/A | | +| `seats` | *?int* | :heavy_minus_sign: | The number of seats for seat-based subscriptions. None for non-seat subscriptions. | | +| `customerCancellationReason` | [Components\CustomerCancellationReason](../../Models/Components/CustomerCancellationReason.md) | :heavy_check_mark: | N/A | | +| `customerCancellationComment` | *string* | :heavy_check_mark: | N/A | | +| `product` | [Components\CustomerSubscriptionProduct](../../Models/Components/CustomerSubscriptionProduct.md) | :heavy_check_mark: | N/A | | +| `prices` | array<[Components\LegacyRecurringProductPriceFixed\|Components\LegacyRecurringProductPriceCustom\|Components\ProductPriceFixed\|Components\ProductPriceCustom\|Components\ProductPriceSeatBased\|Components\ProductPriceMeteredUnit](../../Models/Components/CustomerSubscriptionPrices.md)> | :heavy_check_mark: | List of enabled prices for the subscription. | | +| `meters` | array<[Components\CustomerSubscriptionMeter](../../Models/Components/CustomerSubscriptionMeter.md)> | :heavy_check_mark: | List of meters associated with the subscription. | | +| `pendingUpdate` | [Components\PendingSubscriptionUpdate](../../Models/Components/PendingSubscriptionUpdate.md) | :heavy_check_mark: | Pending subscription update that will be applied at the beginning of the next period. If `null`, there is no pending update. | | \ No newline at end of file diff --git a/docs/Models/Components/CustomerSubscriptionPause.md b/docs/Models/Components/CustomerSubscriptionPause.md new file mode 100644 index 00000000..53bcd3c8 --- /dev/null +++ b/docs/Models/Components/CustomerSubscriptionPause.md @@ -0,0 +1,9 @@ +# CustomerSubscriptionPause + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | +| `pauseAtPeriodEnd` | *bool* | :heavy_check_mark: | Pause an active subscription at the end of the current period.

Or cancel a scheduled pause on a subscription set to be paused at
period end. | +| `resumesAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_minus_sign: | Date at which the paused subscription should automatically resume. If not set, it stays paused until resumed. Must be after the current period end. | \ No newline at end of file diff --git a/docs/Models/Components/CustomerSubscriptionPrices.md b/docs/Models/Components/CustomerSubscriptionPrices.md index b19ca6fc..f4c4ac5d 100644 --- a/docs/Models/Components/CustomerSubscriptionPrices.md +++ b/docs/Models/Components/CustomerSubscriptionPrices.md @@ -3,21 +3,21 @@ ## Supported Types -### `Components\LegacyRecurringProductPriceFixed|Components\LegacyRecurringProductPriceCustom|Components\LegacyRecurringProductPriceFree` +### `Components\LegacyRecurringProductPriceFixed|Components\LegacyRecurringProductPriceCustom` ```php /** -* @var \Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\LegacyRecurringProductPriceFree +* @var \Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom */ -Components\LegacyRecurringProductPriceFixed|Components\LegacyRecurringProductPriceCustom|Components\LegacyRecurringProductPriceFree $value = /* values here */ +Components\LegacyRecurringProductPriceFixed|Components\LegacyRecurringProductPriceCustom $value = /* values here */ ``` -### `Components\ProductPriceFixed|Components\ProductPriceCustom|Components\ProductPriceFree|Components\ProductPriceSeatBased|Components\ProductPriceMeteredUnit` +### `Components\ProductPriceFixed|Components\ProductPriceCustom|Components\ProductPriceSeatBased|Components\ProductPriceMeteredUnit` ```php /** -* @var \Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceFree|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit +* @var \Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit */ -Components\ProductPriceFixed|Components\ProductPriceCustom|Components\ProductPriceFree|Components\ProductPriceSeatBased|Components\ProductPriceMeteredUnit $value = /* values here */ +Components\ProductPriceFixed|Components\ProductPriceCustom|Components\ProductPriceSeatBased|Components\ProductPriceMeteredUnit $value = /* values here */ ``` diff --git a/docs/Models/Components/CustomerSubscriptionProduct.md b/docs/Models/Components/CustomerSubscriptionProduct.md index c9b1e885..73cfa939 100644 --- a/docs/Models/Components/CustomerSubscriptionProduct.md +++ b/docs/Models/Components/CustomerSubscriptionProduct.md @@ -3,22 +3,24 @@ ## Fields -| Field | Type | Required | Description | -| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `id` | *string* | :heavy_check_mark: | The ID of the object. | -| `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Creation timestamp of the object. | -| `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Last modification timestamp of the object. | -| `trialInterval` | [Components\TrialInterval](../../Models/Components/TrialInterval.md) | :heavy_check_mark: | The interval unit for the trial period. | -| `trialIntervalCount` | *int* | :heavy_check_mark: | The number of interval units for the trial period. | -| `name` | *string* | :heavy_check_mark: | The name of the product. | -| `description` | *string* | :heavy_check_mark: | The description of the product. | -| `visibility` | [Components\ProductVisibility](../../Models/Components/ProductVisibility.md) | :heavy_check_mark: | N/A | -| `recurringInterval` | [Components\SubscriptionRecurringInterval](../../Models/Components/SubscriptionRecurringInterval.md) | :heavy_check_mark: | The recurring interval of the product. If `None`, the product is a one-time purchase. | -| `recurringIntervalCount` | *int* | :heavy_check_mark: | Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. None for one-time products. | -| `isRecurring` | *bool* | :heavy_check_mark: | Whether the product is a subscription. | -| `isArchived` | *bool* | :heavy_check_mark: | Whether the product is archived and no longer available. | -| `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the product. | -| `prices` | array<[Components\LegacyRecurringProductPriceFixed\|Components\LegacyRecurringProductPriceCustom\|Components\LegacyRecurringProductPriceFree\|Components\ProductPriceFixed\|Components\ProductPriceCustom\|Components\ProductPriceFree\|Components\ProductPriceSeatBased\|Components\ProductPriceMeteredUnit](../../Models/Components/CustomerSubscriptionProductPrices.md)> | :heavy_check_mark: | List of prices for this product. | -| `benefits` | array<[Components\BenefitPublic](../../Models/Components/BenefitPublic.md)> | :heavy_check_mark: | List of benefits granted by the product. | -| `medias` | array<[Components\ProductMediaFileRead](../../Models/Components/ProductMediaFileRead.md)> | :heavy_check_mark: | List of medias associated to the product. | -| `organization` | [Components\CustomerOrganization](../../Models/Components/CustomerOrganization.md) | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | The ID of the object. | +| `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Creation timestamp of the object. | +| `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Last modification timestamp of the object. | +| `trialInterval` | [Components\TrialInterval](../../Models/Components/TrialInterval.md) | :heavy_check_mark: | The interval unit for the trial period. | +| `trialIntervalCount` | *int* | :heavy_check_mark: | The number of interval units for the trial period. | +| `name` | *string* | :heavy_check_mark: | The name of the product. | +| `description` | *string* | :heavy_check_mark: | The description of the product. | +| `visibility` | [Components\ProductVisibility](../../Models/Components/ProductVisibility.md) | :heavy_check_mark: | N/A | +| `recurringInterval` | [Components\RecurringInterval](../../Models/Components/RecurringInterval.md) | :heavy_check_mark: | The recurring interval of the product. If `None`, the product is a one-time purchase. | +| `recurringIntervalCount` | *int* | :heavy_check_mark: | Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. None for one-time products. | +| `meterInterval` | [Components\RecurringInterval](../../Models/Components/RecurringInterval.md) | :heavy_check_mark: | The meter cycle of the product, independent of the billing interval. If `None`, metered concerns follow the billing interval. | +| `meterIntervalCount` | *int* | :heavy_check_mark: | Number of meter interval units. None when no meter cycle is set. | +| `isRecurring` | *bool* | :heavy_check_mark: | Whether the product is a subscription. | +| `isArchived` | *bool* | :heavy_check_mark: | Whether the product is archived and no longer available. | +| `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the product. | +| `prices` | array<[Components\LegacyRecurringProductPriceFixed\|Components\LegacyRecurringProductPriceCustom\|Components\ProductPriceFixed\|Components\ProductPriceCustom\|Components\ProductPriceSeatBased\|Components\ProductPriceMeteredUnit](../../Models/Components/CustomerSubscriptionProductPrices.md)> | :heavy_check_mark: | List of prices for this product. | +| `benefits` | array<[Components\BenefitPublic](../../Models/Components/BenefitPublic.md)> | :heavy_check_mark: | List of benefits granted by the product. | +| `medias` | array<[Components\ProductMediaFileRead](../../Models/Components/ProductMediaFileRead.md)> | :heavy_check_mark: | List of medias associated to the product. | +| `organization` | [Components\CustomerOrganization](../../Models/Components/CustomerOrganization.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/CustomerSubscriptionProductPrices.md b/docs/Models/Components/CustomerSubscriptionProductPrices.md index 4afed7d8..e2b1319f 100644 --- a/docs/Models/Components/CustomerSubscriptionProductPrices.md +++ b/docs/Models/Components/CustomerSubscriptionProductPrices.md @@ -3,21 +3,21 @@ ## Supported Types -### `Components\LegacyRecurringProductPriceFixed|Components\LegacyRecurringProductPriceCustom|Components\LegacyRecurringProductPriceFree` +### `Components\LegacyRecurringProductPriceFixed|Components\LegacyRecurringProductPriceCustom` ```php /** -* @var \Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\LegacyRecurringProductPriceFree +* @var \Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom */ -Components\LegacyRecurringProductPriceFixed|Components\LegacyRecurringProductPriceCustom|Components\LegacyRecurringProductPriceFree $value = /* values here */ +Components\LegacyRecurringProductPriceFixed|Components\LegacyRecurringProductPriceCustom $value = /* values here */ ``` -### `Components\ProductPriceFixed|Components\ProductPriceCustom|Components\ProductPriceFree|Components\ProductPriceSeatBased|Components\ProductPriceMeteredUnit` +### `Components\ProductPriceFixed|Components\ProductPriceCustom|Components\ProductPriceSeatBased|Components\ProductPriceMeteredUnit` ```php /** -* @var \Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceFree|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit +* @var \Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit */ -Components\ProductPriceFixed|Components\ProductPriceCustom|Components\ProductPriceFree|Components\ProductPriceSeatBased|Components\ProductPriceMeteredUnit $value = /* values here */ +Components\ProductPriceFixed|Components\ProductPriceCustom|Components\ProductPriceSeatBased|Components\ProductPriceMeteredUnit $value = /* values here */ ``` diff --git a/docs/Models/Components/CustomerSubscriptionResume.md b/docs/Models/Components/CustomerSubscriptionResume.md new file mode 100644 index 00000000..cb6a6910 --- /dev/null +++ b/docs/Models/Components/CustomerSubscriptionResume.md @@ -0,0 +1,8 @@ +# CustomerSubscriptionResume + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | +| `resume` | *bool* | :heavy_check_mark: | Resume a paused subscription immediately, starting a new billing period and charging the customer. | \ No newline at end of file diff --git a/docs/Models/Components/CustomerSubscriptionUpdate.md b/docs/Models/Components/CustomerSubscriptionUpdate.md index 2d983492..f9701c40 100644 --- a/docs/Models/Components/CustomerSubscriptionUpdate.md +++ b/docs/Models/Components/CustomerSubscriptionUpdate.md @@ -30,3 +30,30 @@ Components\CustomerSubscriptionUpdateSeats $value = /* values here */ Components\CustomerSubscriptionCancel $value = /* values here */ ``` +### `Components\CustomerSubscriptionPause` + +```php +/** +* @var \Polar\Models\Components\CustomerSubscriptionPause +*/ +Components\CustomerSubscriptionPause $value = /* values here */ +``` + +### `Components\CustomerSubscriptionResume` + +```php +/** +* @var \Polar\Models\Components\CustomerSubscriptionResume +*/ +Components\CustomerSubscriptionResume $value = /* values here */ +``` + +### `Components\CustomerSubscriptionUpdateClear` + +```php +/** +* @var \Polar\Models\Components\CustomerSubscriptionUpdateClear +*/ +Components\CustomerSubscriptionUpdateClear $value = /* values here */ +``` + diff --git a/docs/Models/Components/CustomerSubscriptionUpdateClear.md b/docs/Models/Components/CustomerSubscriptionUpdateClear.md new file mode 100644 index 00000000..e9bf9992 --- /dev/null +++ b/docs/Models/Components/CustomerSubscriptionUpdateClear.md @@ -0,0 +1,8 @@ +# CustomerSubscriptionUpdateClear + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------- | -------------------------------------- | -------------------------------------- | -------------------------------------- | +| `pendingUpdate` | *mixed* | :heavy_check_mark: | Clear the pending subscription update. | \ No newline at end of file diff --git a/docs/Models/Components/CustomerSubscriptionUpdateSeats.md b/docs/Models/Components/CustomerSubscriptionUpdateSeats.md index 8038e0a5..56a0595c 100644 --- a/docs/Models/Components/CustomerSubscriptionUpdateSeats.md +++ b/docs/Models/Components/CustomerSubscriptionUpdateSeats.md @@ -3,7 +3,6 @@ ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | -| `seats` | *int* | :heavy_check_mark: | Update the number of seats for this subscription. | -| `prorationBehavior` | [?Components\SubscriptionProrationBehavior](../../Models/Components/SubscriptionProrationBehavior.md) | :heavy_minus_sign: | Determine how to handle the proration billing. If not provided, will use the default organization setting. | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | +| `seats` | *int* | :heavy_check_mark: | Update the number of seats for this subscription. | \ No newline at end of file diff --git a/docs/Models/Components/CustomerTeam.md b/docs/Models/Components/CustomerTeam.md index 3936d369..bf07525c 100644 --- a/docs/Models/Components/CustomerTeam.md +++ b/docs/Models/Components/CustomerTeam.md @@ -16,9 +16,11 @@ A team customer in an organization. | `emailVerified` | *bool* | :heavy_check_mark: | Whether the customer email address is verified. The address is automatically verified when the customer accesses the customer portal using their email address. | true | | `type` | *string* | :heavy_check_mark: | The type of customer. Team customers can have multiple members. | team | | `name` | *string* | :heavy_check_mark: | The name of the customer. | John Doe | +| `billingName` | *string* | :heavy_check_mark: | The name that should appear on the customer's invoices. Falls back to the customer name when not explicitly set. | John Doe | | `billingAddress` | [Components\Address](../../Models/Components/Address.md) | :heavy_check_mark: | N/A | | | `taxId` | array<[string\|Components\TaxIDFormat](../../Models/Components/CustomerTeamTaxId.md)> | :heavy_check_mark: | N/A | **Example 1:** [
"911144442",
"us_ein"
]
**Example 2:** [
"FR61954506077",
"eu_vat"
] | | `locale` | *?string* | :heavy_minus_sign: | N/A | | | `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the customer. | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | +| `defaultPaymentMethodId` | *?string* | :heavy_minus_sign: | The ID of the customer's default payment method, if any. Use the payment methods endpoint to retrieve its details. | | | `deletedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Timestamp for when the customer was soft deleted. | | | `avatarUrl` | *string* | :heavy_check_mark: | N/A | https://www.gravatar.com/avatar/xxx?d=404 | \ No newline at end of file diff --git a/docs/Models/Components/CustomerUpdatedFields.md b/docs/Models/Components/CustomerUpdatedFields.md index 0c30b13d..64c6c446 100644 --- a/docs/Models/Components/CustomerUpdatedFields.md +++ b/docs/Models/Components/CustomerUpdatedFields.md @@ -6,6 +6,7 @@ | Field | Type | Required | Description | | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | | `name` | *?string* | :heavy_minus_sign: | N/A | +| `billingName` | *?string* | :heavy_minus_sign: | N/A | | `email` | *?string* | :heavy_minus_sign: | N/A | | `billingAddress` | [?Components\AddressDict](../../Models/Components/AddressDict.md) | :heavy_minus_sign: | N/A | | `taxId` | *?string* | :heavy_minus_sign: | N/A | diff --git a/docs/Models/Components/DiscountCreate.md b/docs/Models/Components/DiscountCreate.md index 8b859ee2..c4015693 100644 --- a/docs/Models/Components/DiscountCreate.md +++ b/docs/Models/Components/DiscountCreate.md @@ -3,39 +3,21 @@ ## Supported Types -### `Components\DiscountFixedOnceForeverDurationCreate` +### `Components\DiscountFixedCreate` ```php /** -* @var \Polar\Models\Components\DiscountFixedOnceForeverDurationCreate +* @var \Polar\Models\Components\DiscountFixedCreate */ -Components\DiscountFixedOnceForeverDurationCreate $value = /* values here */ +Components\DiscountFixedCreate $value = /* values here */ ``` -### `Components\DiscountFixedRepeatDurationCreate` +### `Components\DiscountPercentageCreate` ```php /** -* @var \Polar\Models\Components\DiscountFixedRepeatDurationCreate +* @var \Polar\Models\Components\DiscountPercentageCreate */ -Components\DiscountFixedRepeatDurationCreate $value = /* values here */ -``` - -### `Components\DiscountPercentageOnceForeverDurationCreate` - -```php -/** -* @var \Polar\Models\Components\DiscountPercentageOnceForeverDurationCreate -*/ -Components\DiscountPercentageOnceForeverDurationCreate $value = /* values here */ -``` - -### `Components\DiscountPercentageRepeatDurationCreate` - -```php -/** -* @var \Polar\Models\Components\DiscountPercentageRepeatDurationCreate -*/ -Components\DiscountPercentageRepeatDurationCreate $value = /* values here */ +Components\DiscountPercentageCreate $value = /* values here */ ``` diff --git a/docs/Models/Components/DiscountFixedRepeatDurationCreate.md b/docs/Models/Components/DiscountFixedCreate.md similarity index 96% rename from docs/Models/Components/DiscountFixedRepeatDurationCreate.md rename to docs/Models/Components/DiscountFixedCreate.md index d0f0cd17..44e59ea3 100644 --- a/docs/Models/Components/DiscountFixedRepeatDurationCreate.md +++ b/docs/Models/Components/DiscountFixedCreate.md @@ -1,24 +1,23 @@ -# DiscountFixedRepeatDurationCreate +# DiscountFixedCreate -Schema to create a fixed amount discount that is applied on every invoice -for a certain number of months. +Schema to create a fixed amount discount. ## Fields | Field | Type | Required | Description | Example | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `duration` | [Components\DiscountDuration](../../Models/Components/DiscountDuration.md) | :heavy_check_mark: | N/A | | -| `durationInMonths` | *int* | :heavy_check_mark: | Number of months the discount should be applied.

For this to work on yearly pricing, you should multiply this by 12.
For example, to apply the discount for 2 years, set this to 24. | | -| `type` | [Components\DiscountType](../../Models/Components/DiscountType.md) | :heavy_check_mark: | N/A | | -| ~~`amount`~~ | *?int* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible. | | -| ~~`currency`~~ | [?Components\PresentmentCurrency](../../Models/Components/PresentmentCurrency.md) | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible. | | -| `amounts` | array | :heavy_minus_sign: | N/A | | -| `metadata` | array | :heavy_minus_sign: | Key-value object allowing you to store additional information.

The key must be a string with a maximum length of **40 characters**.
The value must be either:

* A string with a maximum length of **500 characters**
* An integer
* A floating-point number
* A boolean

You can store up to **50 key-value pairs**. | | +| `metadata` | array | :heavy_minus_sign: | Key-value object allowing you to store additional information.

The key must be a string with a maximum length of **40 characters**.
The value must be either:

* A string with a maximum length of **500 characters**
* An integer
* A floating-point number
* A boolean

You can store up to **50 key-value pairs**. | | | `name` | *string* | :heavy_check_mark: | Name of the discount. Will be displayed to the customer when the discount is applied. | | | `code` | *?string* | :heavy_minus_sign: | Code customers can use to apply the discount during checkout. Must be between 3 and 256 characters long and contain only alphanumeric characters.If not provided, the discount can only be applied via the API. | | | `startsAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_minus_sign: | Optional timestamp after which the discount is redeemable. | | | `endsAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_minus_sign: | Optional timestamp after which the discount is no longer redeemable. | | | `maxRedemptions` | *?int* | :heavy_minus_sign: | Optional maximum number of times the discount can be redeemed. | | | `products` | array<*string*> | :heavy_minus_sign: | N/A | | -| `organizationId` | *?string* | :heavy_minus_sign: | The ID of the organization owning the discount. **Required unless you use an organization token.** | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | \ No newline at end of file +| `organizationId` | *?string* | :heavy_minus_sign: | The ID of the organization owning the discount. **Required unless you use an organization token.** | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | +| `type` | *?string* | :heavy_minus_sign: | N/A | | +| `duration` | [Components\DiscountDuration](../../Models/Components/DiscountDuration.md) | :heavy_check_mark: | N/A | | +| `durationInMonths` | *?int* | :heavy_minus_sign: | Number of months the discount should be applied.

Required when `duration` is `repeating`. Must be omitted otherwise.

For this to work on yearly pricing, you should multiply this by 12.
For example, to apply the discount for 2 years, set this to 24. | | +| ~~`amount`~~ | *?int* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible. | | +| ~~`currency`~~ | [?Components\PresentmentCurrency](../../Models/Components/PresentmentCurrency.md) | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible. | | +| `amounts` | array | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/DiscountPercentageRepeatDurationCreateMetadata.md b/docs/Models/Components/DiscountFixedCreateMetadata.md similarity index 87% rename from docs/Models/Components/DiscountPercentageRepeatDurationCreateMetadata.md rename to docs/Models/Components/DiscountFixedCreateMetadata.md index c3bfcb1b..abedf2ed 100644 --- a/docs/Models/Components/DiscountPercentageRepeatDurationCreateMetadata.md +++ b/docs/Models/Components/DiscountFixedCreateMetadata.md @@ -1,4 +1,4 @@ -# DiscountPercentageRepeatDurationCreateMetadata +# DiscountFixedCreateMetadata ## Supported Types diff --git a/docs/Models/Components/DiscountFixedOnceForeverDurationCreate.md b/docs/Models/Components/DiscountFixedOnceForeverDurationCreate.md deleted file mode 100644 index 284d41b0..00000000 --- a/docs/Models/Components/DiscountFixedOnceForeverDurationCreate.md +++ /dev/null @@ -1,22 +0,0 @@ -# DiscountFixedOnceForeverDurationCreate - -Schema to create a fixed amount discount that is applied once or forever. - - -## Fields - -| Field | Type | Required | Description | Example | -| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `duration` | [Components\DiscountDuration](../../Models/Components/DiscountDuration.md) | :heavy_check_mark: | N/A | | -| `type` | [Components\DiscountType](../../Models/Components/DiscountType.md) | :heavy_check_mark: | N/A | | -| ~~`amount`~~ | *?int* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible. | | -| ~~`currency`~~ | [?Components\PresentmentCurrency](../../Models/Components/PresentmentCurrency.md) | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible. | | -| `amounts` | array | :heavy_minus_sign: | N/A | | -| `metadata` | array | :heavy_minus_sign: | Key-value object allowing you to store additional information.

The key must be a string with a maximum length of **40 characters**.
The value must be either:

* A string with a maximum length of **500 characters**
* An integer
* A floating-point number
* A boolean

You can store up to **50 key-value pairs**. | | -| `name` | *string* | :heavy_check_mark: | Name of the discount. Will be displayed to the customer when the discount is applied. | | -| `code` | *?string* | :heavy_minus_sign: | Code customers can use to apply the discount during checkout. Must be between 3 and 256 characters long and contain only alphanumeric characters.If not provided, the discount can only be applied via the API. | | -| `startsAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_minus_sign: | Optional timestamp after which the discount is redeemable. | | -| `endsAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_minus_sign: | Optional timestamp after which the discount is no longer redeemable. | | -| `maxRedemptions` | *?int* | :heavy_minus_sign: | Optional maximum number of times the discount can be redeemed. | | -| `products` | array<*string*> | :heavy_minus_sign: | N/A | | -| `organizationId` | *?string* | :heavy_minus_sign: | The ID of the organization owning the discount. **Required unless you use an organization token.** | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | \ No newline at end of file diff --git a/docs/Models/Components/DiscountPercentageRepeatDurationCreate.md b/docs/Models/Components/DiscountPercentageCreate.md similarity index 95% rename from docs/Models/Components/DiscountPercentageRepeatDurationCreate.md rename to docs/Models/Components/DiscountPercentageCreate.md index 10892047..55fc9167 100644 --- a/docs/Models/Components/DiscountPercentageRepeatDurationCreate.md +++ b/docs/Models/Components/DiscountPercentageCreate.md @@ -1,22 +1,21 @@ -# DiscountPercentageRepeatDurationCreate +# DiscountPercentageCreate -Schema to create a percentage discount that is applied on every invoice -for a certain number of months. +Schema to create a percentage discount. ## Fields | Field | Type | Required | Description | Example | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `duration` | [Components\DiscountDuration](../../Models/Components/DiscountDuration.md) | :heavy_check_mark: | N/A | | -| `durationInMonths` | *int* | :heavy_check_mark: | Number of months the discount should be applied.

For this to work on yearly pricing, you should multiply this by 12.
For example, to apply the discount for 2 years, set this to 24. | | -| `type` | [Components\DiscountType](../../Models/Components/DiscountType.md) | :heavy_check_mark: | N/A | | -| `basisPoints` | *int* | :heavy_check_mark: | Discount percentage in basis points.

A basis point is 1/100th of a percent.
For example, to create a 25.5% discount, set this to 2550. | | -| `metadata` | array | :heavy_minus_sign: | Key-value object allowing you to store additional information.

The key must be a string with a maximum length of **40 characters**.
The value must be either:

* A string with a maximum length of **500 characters**
* An integer
* A floating-point number
* A boolean

You can store up to **50 key-value pairs**. | | +| `metadata` | array | :heavy_minus_sign: | Key-value object allowing you to store additional information.

The key must be a string with a maximum length of **40 characters**.
The value must be either:

* A string with a maximum length of **500 characters**
* An integer
* A floating-point number
* A boolean

You can store up to **50 key-value pairs**. | | | `name` | *string* | :heavy_check_mark: | Name of the discount. Will be displayed to the customer when the discount is applied. | | | `code` | *?string* | :heavy_minus_sign: | Code customers can use to apply the discount during checkout. Must be between 3 and 256 characters long and contain only alphanumeric characters.If not provided, the discount can only be applied via the API. | | | `startsAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_minus_sign: | Optional timestamp after which the discount is redeemable. | | | `endsAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_minus_sign: | Optional timestamp after which the discount is no longer redeemable. | | | `maxRedemptions` | *?int* | :heavy_minus_sign: | Optional maximum number of times the discount can be redeemed. | | | `products` | array<*string*> | :heavy_minus_sign: | N/A | | -| `organizationId` | *?string* | :heavy_minus_sign: | The ID of the organization owning the discount. **Required unless you use an organization token.** | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | \ No newline at end of file +| `organizationId` | *?string* | :heavy_minus_sign: | The ID of the organization owning the discount. **Required unless you use an organization token.** | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | +| `type` | *?string* | :heavy_minus_sign: | N/A | | +| `duration` | [Components\DiscountDuration](../../Models/Components/DiscountDuration.md) | :heavy_check_mark: | N/A | | +| `durationInMonths` | *?int* | :heavy_minus_sign: | Number of months the discount should be applied.

Required when `duration` is `repeating`. Must be omitted otherwise.

For this to work on yearly pricing, you should multiply this by 12.
For example, to apply the discount for 2 years, set this to 24. | | +| `basisPoints` | *int* | :heavy_check_mark: | Discount percentage in basis points.

A basis point is 1/100th of a percent.
For example, to create a 25.5% discount, set this to 2550. | | \ No newline at end of file diff --git a/docs/Models/Components/DiscountPercentageOnceForeverDurationCreateMetadata.md b/docs/Models/Components/DiscountPercentageCreateMetadata.md similarity index 85% rename from docs/Models/Components/DiscountPercentageOnceForeverDurationCreateMetadata.md rename to docs/Models/Components/DiscountPercentageCreateMetadata.md index f41e2bd0..0d3a8a73 100644 --- a/docs/Models/Components/DiscountPercentageOnceForeverDurationCreateMetadata.md +++ b/docs/Models/Components/DiscountPercentageCreateMetadata.md @@ -1,4 +1,4 @@ -# DiscountPercentageOnceForeverDurationCreateMetadata +# DiscountPercentageCreateMetadata ## Supported Types diff --git a/docs/Models/Components/DiscountProduct.md b/docs/Models/Components/DiscountProduct.md index 2378b31a..01ba86fa 100644 --- a/docs/Models/Components/DiscountProduct.md +++ b/docs/Models/Components/DiscountProduct.md @@ -16,8 +16,10 @@ A product that a discount can be applied to. | `name` | *string* | :heavy_check_mark: | The name of the product. | | `description` | *string* | :heavy_check_mark: | The description of the product. | | `visibility` | [Components\ProductVisibility](../../Models/Components/ProductVisibility.md) | :heavy_check_mark: | N/A | -| `recurringInterval` | [Components\SubscriptionRecurringInterval](../../Models/Components/SubscriptionRecurringInterval.md) | :heavy_check_mark: | The recurring interval of the product. If `None`, the product is a one-time purchase. | +| `recurringInterval` | [Components\RecurringInterval](../../Models/Components/RecurringInterval.md) | :heavy_check_mark: | The recurring interval of the product. If `None`, the product is a one-time purchase. | | `recurringIntervalCount` | *int* | :heavy_check_mark: | Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. None for one-time products. | +| `meterInterval` | [Components\RecurringInterval](../../Models/Components/RecurringInterval.md) | :heavy_check_mark: | The meter cycle of the product, independent of the billing interval. If `None`, metered concerns follow the billing interval. | +| `meterIntervalCount` | *int* | :heavy_check_mark: | Number of meter interval units. None when no meter cycle is set. | | `isRecurring` | *bool* | :heavy_check_mark: | Whether the product is a subscription. | | `isArchived` | *bool* | :heavy_check_mark: | Whether the product is archived and no longer available. | | `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the product. | \ No newline at end of file diff --git a/docs/Models/Components/Dispute.md b/docs/Models/Components/Dispute.md index ff30550a..3456c47a 100644 --- a/docs/Models/Components/Dispute.md +++ b/docs/Models/Components/Dispute.md @@ -7,16 +7,21 @@ A dispute is a challenge raised by a customer or their bank regarding a payment. ## Fields -| Field | Type | Required | Description | Example | -| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -| `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Creation timestamp of the object. | | -| `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Last modification timestamp of the object. | | -| `id` | *string* | :heavy_check_mark: | The ID of the object. | | -| `status` | [Components\DisputeStatus](../../Models/Components/DisputeStatus.md) | :heavy_check_mark: | N/A | | -| `resolved` | *bool* | :heavy_check_mark: | Whether the dispute has been resolved (won or lost). | false | -| `closed` | *bool* | :heavy_check_mark: | Whether the dispute is closed (prevented, won, or lost). | false | -| `amount` | *int* | :heavy_check_mark: | Amount in cents disputed. | 1000 | -| `taxAmount` | *int* | :heavy_check_mark: | Tax amount in cents disputed. | 200 | -| `currency` | *string* | :heavy_check_mark: | Currency code of the dispute. | usd | -| `orderId` | *string* | :heavy_check_mark: | The ID of the order associated with the dispute. | 57107b74-8400-4d80-a2fc-54c2b4239cb3 | -| `paymentId` | *string* | :heavy_check_mark: | The ID of the payment associated with the dispute. | 42b94870-36b9-4573-96b6-b90b1c99a353 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | +| `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Creation timestamp of the object. | | +| `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Last modification timestamp of the object. | | +| `id` | *string* | :heavy_check_mark: | The ID of the object. | | +| `status` | [Components\DisputeStatus](../../Models/Components/DisputeStatus.md) | :heavy_check_mark: | N/A | | +| `resolved` | *bool* | :heavy_check_mark: | Whether the dispute has been resolved (won or lost). | false | +| `closed` | *bool* | :heavy_check_mark: | Whether the dispute is closed (prevented, won, or lost). | false | +| `amount` | *int* | :heavy_check_mark: | Amount in cents disputed. | 1000 | +| `taxAmount` | *int* | :heavy_check_mark: | Tax amount in cents disputed. | 200 | +| `currency` | *string* | :heavy_check_mark: | Currency code of the dispute. | usd | +| `reason` | *string* | :heavy_check_mark: | The reason for the dispute as reported by the card network (e.g. `fraudulent`, `product_not_received`). `None` until the processor reports it. | fraudulent | +| `evidenceDueBy` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Deadline to submit evidence in response to the dispute. `None` when no response is required. | | +| `pastDue` | *bool* | :heavy_check_mark: | Whether the evidence submission deadline has passed. | false | +| `orderId` | *string* | :heavy_check_mark: | The ID of the order associated with the dispute. | 57107b74-8400-4d80-a2fc-54c2b4239cb3 | +| `paymentId` | *string* | :heavy_check_mark: | The ID of the payment associated with the dispute. | 42b94870-36b9-4573-96b6-b90b1c99a353 | +| `customer` | [Components\DisputeCustomer](../../Models/Components/DisputeCustomer.md) | :heavy_check_mark: | N/A | | +| `caseId` | *string* | :heavy_check_mark: | The ID of the support case for this dispute, if one was opened. | | \ No newline at end of file diff --git a/docs/Models/Components/DisputeCustomer.md b/docs/Models/Components/DisputeCustomer.md new file mode 100644 index 00000000..d945c504 --- /dev/null +++ b/docs/Models/Components/DisputeCustomer.md @@ -0,0 +1,24 @@ +# DisputeCustomer + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | The ID of the customer. | 992fae2a-2a17-4b7a-8d9e-e287cf90131b | +| `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Creation timestamp of the object. | | +| `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Last modification timestamp of the object. | | +| `metadata` | array | :heavy_check_mark: | N/A | | +| `externalId` | *?string* | :heavy_minus_sign: | The ID of the customer in your system. This must be unique within the organization. Once set, it can't be updated. | usr_1337 | +| `email` | *?string* | :heavy_minus_sign: | The email address of the customer. This must be unique within the organization. | customer@example.com | +| `emailVerified` | *bool* | :heavy_check_mark: | Whether the customer email address is verified. The address is automatically verified when the customer accesses the customer portal using their email address. | true | +| `type` | [Components\CustomerType](../../Models/Components/CustomerType.md) | :heavy_check_mark: | N/A | | +| `name` | *string* | :heavy_check_mark: | The name of the customer. | John Doe | +| `billingName` | *string* | :heavy_check_mark: | The name that should appear on the customer's invoices. Falls back to the customer name when not explicitly set. | John Doe | +| `billingAddress` | [Components\Address](../../Models/Components/Address.md) | :heavy_check_mark: | N/A | | +| `taxId` | array<[string\|Components\TaxIDFormat](../../Models/Components/DisputeCustomerTaxId.md)> | :heavy_check_mark: | N/A | **Example 1:** [
"911144442",
"us_ein"
]
**Example 2:** [
"FR61954506077",
"eu_vat"
] | +| `locale` | *?string* | :heavy_minus_sign: | N/A | | +| `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the customer. | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | +| `defaultPaymentMethodId` | *?string* | :heavy_minus_sign: | The ID of the customer's default payment method, if any. Use the payment methods endpoint to retrieve its details. | | +| `deletedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Timestamp for when the customer was soft deleted. | | +| `avatarUrl` | *string* | :heavy_check_mark: | N/A | https://www.gravatar.com/avatar/xxx?d=404 | \ No newline at end of file diff --git a/docs/Models/Components/DisputeCustomerTaxId.md b/docs/Models/Components/DisputeCustomerTaxId.md new file mode 100644 index 00000000..2609c272 --- /dev/null +++ b/docs/Models/Components/DisputeCustomerTaxId.md @@ -0,0 +1,23 @@ +# DisputeCustomerTaxId + + +## Supported Types + +### `string` + +```php +/** +* @var string +*/ +string $value = /* values here */ +``` + +### `Components\TaxIDFormat` + +```php +/** +* @var \Polar\Models\Components\TaxIDFormat +*/ +Components\TaxIDFormat $value = /* values here */ +``` + diff --git a/docs/Models/Components/Event.md b/docs/Models/Components/Event.md index bea6190b..6dc39eb4 100644 --- a/docs/Models/Components/Event.md +++ b/docs/Models/Components/Event.md @@ -3,13 +3,13 @@ ## Supported Types -### `Components\MeterCreditEvent|Components\MeterResetEvent|Components\BenefitGrantedEvent|Components\BenefitCycledEvent|Components\BenefitUpdatedEvent|Components\BenefitRevokedEvent|Components\SubscriptionCreatedEvent|Components\SubscriptionUpdatedEvent|Components\SubscriptionCycledEvent|Components\SubscriptionCanceledEvent|Components\SubscriptionRevokedEvent|Components\SubscriptionUncanceledEvent|Components\SubscriptionProductUpdatedEvent|Components\SubscriptionSeatsUpdatedEvent|Components\SubscriptionBillingPeriodUpdatedEvent|Components\OrderPaidEvent|Components\OrderRefundedEvent|Components\OrderVoidedEvent|Components\CheckoutCreatedEvent|Components\CustomerCreatedEvent|Components\CustomerUpdatedEvent|Components\CustomerDeletedEvent|Components\BalanceOrderEvent|Components\BalanceCreditOrderEvent|Components\BalanceRefundEvent|Components\BalanceRefundReversalEvent|Components\BalanceDisputeEvent|Components\BalanceDisputeReversalEvent` +### `Components\MeterCreditEvent|Components\MeterResetEvent|Components\BenefitGrantedEvent|Components\BenefitCycledEvent|Components\BenefitUpdatedEvent|Components\BenefitRevokedEvent|Components\SubscriptionCreatedEvent|Components\SubscriptionUpdatedEvent|Components\SubscriptionCycledEvent|Components\SubscriptionCanceledEvent|Components\SubscriptionRevokedEvent|Components\SubscriptionPastDueEvent|Components\SubscriptionReactivatedEvent|Components\SubscriptionPausedEvent|Components\SubscriptionResumedEvent|Components\SubscriptionUncanceledEvent|Components\SubscriptionProductUpdatedEvent|Components\SubscriptionSeatsUpdatedEvent|Components\SubscriptionBillingPeriodUpdatedEvent|Components\SubscriptionUpdateClearedEvent|Components\OrderPaidEvent|Components\OrderRefundedEvent|Components\OrderVoidedEvent|Components\CheckoutCreatedEvent|Components\CustomerCreatedEvent|Components\CustomerUpdatedEvent|Components\CustomerDeletedEvent|Components\BalanceOrderEvent|Components\BalanceCreditOrderEvent|Components\BalanceRefundEvent|Components\BalanceRefundReversalEvent|Components\BalanceDisputeEvent|Components\BalanceDisputeReversalEvent` ```php /** -* @var \Polar\Models\Components\MeterCreditEvent|\Polar\Models\Components\MeterResetEvent|\Polar\Models\Components\BenefitGrantedEvent|\Polar\Models\Components\BenefitCycledEvent|\Polar\Models\Components\BenefitUpdatedEvent|\Polar\Models\Components\BenefitRevokedEvent|\Polar\Models\Components\SubscriptionCreatedEvent|\Polar\Models\Components\SubscriptionUpdatedEvent|\Polar\Models\Components\SubscriptionCycledEvent|\Polar\Models\Components\SubscriptionCanceledEvent|\Polar\Models\Components\SubscriptionRevokedEvent|\Polar\Models\Components\SubscriptionUncanceledEvent|\Polar\Models\Components\SubscriptionProductUpdatedEvent|\Polar\Models\Components\SubscriptionSeatsUpdatedEvent|\Polar\Models\Components\SubscriptionBillingPeriodUpdatedEvent|\Polar\Models\Components\OrderPaidEvent|\Polar\Models\Components\OrderRefundedEvent|\Polar\Models\Components\OrderVoidedEvent|\Polar\Models\Components\CheckoutCreatedEvent|\Polar\Models\Components\CustomerCreatedEvent|\Polar\Models\Components\CustomerUpdatedEvent|\Polar\Models\Components\CustomerDeletedEvent|\Polar\Models\Components\BalanceOrderEvent|\Polar\Models\Components\BalanceCreditOrderEvent|\Polar\Models\Components\BalanceRefundEvent|\Polar\Models\Components\BalanceRefundReversalEvent|\Polar\Models\Components\BalanceDisputeEvent|\Polar\Models\Components\BalanceDisputeReversalEvent +* @var \Polar\Models\Components\MeterCreditEvent|\Polar\Models\Components\MeterResetEvent|\Polar\Models\Components\BenefitGrantedEvent|\Polar\Models\Components\BenefitCycledEvent|\Polar\Models\Components\BenefitUpdatedEvent|\Polar\Models\Components\BenefitRevokedEvent|\Polar\Models\Components\SubscriptionCreatedEvent|\Polar\Models\Components\SubscriptionUpdatedEvent|\Polar\Models\Components\SubscriptionCycledEvent|\Polar\Models\Components\SubscriptionCanceledEvent|\Polar\Models\Components\SubscriptionRevokedEvent|\Polar\Models\Components\SubscriptionPastDueEvent|\Polar\Models\Components\SubscriptionReactivatedEvent|\Polar\Models\Components\SubscriptionPausedEvent|\Polar\Models\Components\SubscriptionResumedEvent|\Polar\Models\Components\SubscriptionUncanceledEvent|\Polar\Models\Components\SubscriptionProductUpdatedEvent|\Polar\Models\Components\SubscriptionSeatsUpdatedEvent|\Polar\Models\Components\SubscriptionBillingPeriodUpdatedEvent|\Polar\Models\Components\SubscriptionUpdateClearedEvent|\Polar\Models\Components\OrderPaidEvent|\Polar\Models\Components\OrderRefundedEvent|\Polar\Models\Components\OrderVoidedEvent|\Polar\Models\Components\CheckoutCreatedEvent|\Polar\Models\Components\CustomerCreatedEvent|\Polar\Models\Components\CustomerUpdatedEvent|\Polar\Models\Components\CustomerDeletedEvent|\Polar\Models\Components\BalanceOrderEvent|\Polar\Models\Components\BalanceCreditOrderEvent|\Polar\Models\Components\BalanceRefundEvent|\Polar\Models\Components\BalanceRefundReversalEvent|\Polar\Models\Components\BalanceDisputeEvent|\Polar\Models\Components\BalanceDisputeReversalEvent */ -Components\MeterCreditEvent|Components\MeterResetEvent|Components\BenefitGrantedEvent|Components\BenefitCycledEvent|Components\BenefitUpdatedEvent|Components\BenefitRevokedEvent|Components\SubscriptionCreatedEvent|Components\SubscriptionUpdatedEvent|Components\SubscriptionCycledEvent|Components\SubscriptionCanceledEvent|Components\SubscriptionRevokedEvent|Components\SubscriptionUncanceledEvent|Components\SubscriptionProductUpdatedEvent|Components\SubscriptionSeatsUpdatedEvent|Components\SubscriptionBillingPeriodUpdatedEvent|Components\OrderPaidEvent|Components\OrderRefundedEvent|Components\OrderVoidedEvent|Components\CheckoutCreatedEvent|Components\CustomerCreatedEvent|Components\CustomerUpdatedEvent|Components\CustomerDeletedEvent|Components\BalanceOrderEvent|Components\BalanceCreditOrderEvent|Components\BalanceRefundEvent|Components\BalanceRefundReversalEvent|Components\BalanceDisputeEvent|Components\BalanceDisputeReversalEvent $value = /* values here */ +Components\MeterCreditEvent|Components\MeterResetEvent|Components\BenefitGrantedEvent|Components\BenefitCycledEvent|Components\BenefitUpdatedEvent|Components\BenefitRevokedEvent|Components\SubscriptionCreatedEvent|Components\SubscriptionUpdatedEvent|Components\SubscriptionCycledEvent|Components\SubscriptionCanceledEvent|Components\SubscriptionRevokedEvent|Components\SubscriptionPastDueEvent|Components\SubscriptionReactivatedEvent|Components\SubscriptionPausedEvent|Components\SubscriptionResumedEvent|Components\SubscriptionUncanceledEvent|Components\SubscriptionProductUpdatedEvent|Components\SubscriptionSeatsUpdatedEvent|Components\SubscriptionBillingPeriodUpdatedEvent|Components\SubscriptionUpdateClearedEvent|Components\OrderPaidEvent|Components\OrderRefundedEvent|Components\OrderVoidedEvent|Components\CheckoutCreatedEvent|Components\CustomerCreatedEvent|Components\CustomerUpdatedEvent|Components\CustomerDeletedEvent|Components\BalanceOrderEvent|Components\BalanceCreditOrderEvent|Components\BalanceRefundEvent|Components\BalanceRefundReversalEvent|Components\BalanceDisputeEvent|Components\BalanceDisputeReversalEvent $value = /* values here */ ``` ### `Components\UserEvent` diff --git a/docs/Models/Components/EventName.md b/docs/Models/Components/EventName.md index 713ce0a6..fa73bf75 100644 --- a/docs/Models/Components/EventName.md +++ b/docs/Models/Components/EventName.md @@ -6,6 +6,7 @@ | Field | Type | Required | Description | | ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | | `name` | *string* | :heavy_check_mark: | The name of the event. | +| `label` | *string* | :heavy_check_mark: | Human readable label of the event. | | `source` | [Components\EventSource](../../Models/Components/EventSource.md) | :heavy_check_mark: | N/A | | `occurrences` | *int* | :heavy_check_mark: | Number of times the event has occurred. | | `firstSeen` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The first time the event occurred. | diff --git a/docs/Models/Components/EventTypeWithStats.md b/docs/Models/Components/EventTypeWithStats.md index c819381f..a343d3de 100644 --- a/docs/Models/Components/EventTypeWithStats.md +++ b/docs/Models/Components/EventTypeWithStats.md @@ -3,16 +3,16 @@ ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | -| `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Creation timestamp of the object. | -| `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Last modification timestamp of the object. | -| `id` | *string* | :heavy_check_mark: | The ID of the object. | -| `name` | *string* | :heavy_check_mark: | The name of the event type. | -| `label` | *string* | :heavy_check_mark: | The label for the event type. | -| `labelPropertySelector` | *?string* | :heavy_minus_sign: | Property path to extract dynamic label from event metadata. | -| `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the event type. | -| `source` | [Components\EventSource](../../Models/Components/EventSource.md) | :heavy_check_mark: | N/A | -| `occurrences` | *int* | :heavy_check_mark: | Number of times the event has occurred. | -| `firstSeen` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The first time the event occurred. | -| `lastSeen` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The last time the event occurred. | \ No newline at end of file +| Field | Type | Required | Description | +| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | +| `id` | *?string* | :heavy_minus_sign: | The ID of the event type. Null for system event types. | +| `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_minus_sign: | Creation timestamp of the event type. Null for system event types. | +| `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_minus_sign: | Last modification timestamp of the event type. Null for system event types. | +| `name` | *string* | :heavy_check_mark: | The name of the event type. | +| `label` | *string* | :heavy_check_mark: | The label for the event type. | +| `labelPropertySelector` | *?string* | :heavy_minus_sign: | Property path to extract dynamic label from event metadata. | +| `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the event type. | +| `source` | [Components\EventSource](../../Models/Components/EventSource.md) | :heavy_check_mark: | N/A | +| `occurrences` | *int* | :heavy_check_mark: | Number of times the event has occurred. | +| `firstSeen` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The first time the event occurred. | +| `lastSeen` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The last time the event occurred. | \ No newline at end of file diff --git a/docs/Models/Components/FileCreate.md b/docs/Models/Components/FileCreate.md index ddc3bf7e..f320e4fb 100644 --- a/docs/Models/Components/FileCreate.md +++ b/docs/Models/Components/FileCreate.md @@ -30,3 +30,12 @@ Components\OrganizationAvatarFileCreate $value = /* values here */ Components\ProductMediaFileCreate $value = /* values here */ ``` +### `Components\SupportCaseAttachmentFileCreate` + +```php +/** +* @var \Polar\Models\Components\SupportCaseAttachmentFileCreate +*/ +Components\SupportCaseAttachmentFileCreate $value = /* values here */ +``` + diff --git a/docs/Models/Components/FileRead.md b/docs/Models/Components/FileRead.md index b68778c8..2009abdb 100644 --- a/docs/Models/Components/FileRead.md +++ b/docs/Models/Components/FileRead.md @@ -30,3 +30,12 @@ Components\OrganizationAvatarFileRead $value = /* values here */ Components\ProductMediaFileRead $value = /* values here */ ``` +### `Components\SupportCaseAttachmentFileRead` + +```php +/** +* @var \Polar\Models\Components\SupportCaseAttachmentFileRead +*/ +Components\SupportCaseAttachmentFileRead $value = /* values here */ +``` + diff --git a/docs/Models/Components/FileServiceTypes.md b/docs/Models/Components/FileServiceTypes.md index b530e2c6..05a3d80c 100644 --- a/docs/Models/Components/FileServiceTypes.md +++ b/docs/Models/Components/FileServiceTypes.md @@ -3,8 +3,9 @@ ## Values -| Name | Value | -| -------------------- | -------------------- | -| `Downloadable` | downloadable | -| `ProductMedia` | product_media | -| `OrganizationAvatar` | organization_avatar | \ No newline at end of file +| Name | Value | +| ----------------------- | ----------------------- | +| `Downloadable` | downloadable | +| `ProductMedia` | product_media | +| `OrganizationAvatar` | organization_avatar | +| `SupportCaseAttachment` | support_case_attachment | \ No newline at end of file diff --git a/docs/Models/Components/GenericPayment.md b/docs/Models/Components/GenericPayment.md index 0119dfbe..5f9e33e2 100644 --- a/docs/Models/Components/GenericPayment.md +++ b/docs/Models/Components/GenericPayment.md @@ -5,19 +5,20 @@ Schema of a payment with a generic payment method. ## Fields -| Field | Type | Required | Description | Example | -| -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -| `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Creation timestamp of the object. | | -| `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Last modification timestamp of the object. | | -| `id` | *string* | :heavy_check_mark: | The ID of the object. | | -| `processor` | [Components\PaymentProcessor](../../Models/Components/PaymentProcessor.md) | :heavy_check_mark: | N/A | | -| `status` | [Components\PaymentStatus](../../Models/Components/PaymentStatus.md) | :heavy_check_mark: | N/A | | -| `amount` | *int* | :heavy_check_mark: | The payment amount in cents. | 1000 | -| `currency` | *string* | :heavy_check_mark: | The payment currency. Currently, only `usd` is supported. | usd | -| `method` | *string* | :heavy_check_mark: | The payment method used. | card | -| `declineReason` | *string* | :heavy_check_mark: | Error code, if the payment was declined. | insufficient_funds | -| `declineMessage` | *string* | :heavy_check_mark: | Human-readable error message, if the payment was declined. | Your card has insufficient funds. | -| `organizationId` | *string* | :heavy_check_mark: | The ID of the organization that owns the payment. | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | -| `checkoutId` | *string* | :heavy_check_mark: | The ID of the checkout session associated with this payment. | e4b478fa-cd25-4253-9f1f-8a41e6370ede | -| `orderId` | *string* | :heavy_check_mark: | The ID of the order associated with this payment. | e4b478fa-cd25-4253-9f1f-8a41e6370ede | -| `processorMetadata` | array | :heavy_minus_sign: | Additional metadata from the payment processor for internal use. | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | +| `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Creation timestamp of the object. | | +| `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Last modification timestamp of the object. | | +| `id` | *string* | :heavy_check_mark: | The ID of the object. | | +| `processor` | [Components\PaymentProcessor](../../Models/Components/PaymentProcessor.md) | :heavy_check_mark: | N/A | | +| `status` | [Components\PaymentStatus](../../Models/Components/PaymentStatus.md) | :heavy_check_mark: | N/A | | +| `amount` | *int* | :heavy_check_mark: | The payment amount in cents. | 1000 | +| `currency` | *string* | :heavy_check_mark: | The payment currency. Currently, only `usd` is supported. | usd | +| `method` | *string* | :heavy_check_mark: | The payment method used. | card | +| `trigger` | [Components\PaymentTrigger](../../Models/Components/PaymentTrigger.md) | :heavy_check_mark: | What initiated this payment attempt, e.g. initial purchase, subscription renewal, or an automated dunning retry. | subscription_cycle | +| `declineReason` | *string* | :heavy_check_mark: | Error code, if the payment was declined. | insufficient_funds | +| `declineMessage` | *string* | :heavy_check_mark: | Human-readable error message, if the payment was declined. | Your card has insufficient funds. | +| `organizationId` | *string* | :heavy_check_mark: | The ID of the organization that owns the payment. | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | +| `checkoutId` | *string* | :heavy_check_mark: | The ID of the checkout session associated with this payment. | e4b478fa-cd25-4253-9f1f-8a41e6370ede | +| `orderId` | *string* | :heavy_check_mark: | The ID of the order associated with this payment. | e4b478fa-cd25-4253-9f1f-8a41e6370ede | +| `processorMetadata` | array | :heavy_minus_sign: | Additional metadata from the payment processor for internal use. | | \ No newline at end of file diff --git a/docs/Models/Components/IntrospectTokenResponse.md b/docs/Models/Components/IntrospectTokenResponse.md index 0f5dfabc..fa3b6530 100644 --- a/docs/Models/Components/IntrospectTokenResponse.md +++ b/docs/Models/Components/IntrospectTokenResponse.md @@ -11,6 +11,7 @@ | `scope` | *string* | :heavy_check_mark: | N/A | | `subType` | [Components\SubType](../../Models/Components/SubType.md) | :heavy_check_mark: | N/A | | `sub` | *string* | :heavy_check_mark: | N/A | +| `organizations` | array<*string*> | :heavy_check_mark: | N/A | | `aud` | *string* | :heavy_check_mark: | N/A | | `iss` | *string* | :heavy_check_mark: | N/A | | `exp` | *int* | :heavy_check_mark: | N/A | diff --git a/docs/Models/Components/LegacyRecurringProductPrice.md b/docs/Models/Components/LegacyRecurringProductPrice.md index 0c271e28..7d81ca2c 100644 --- a/docs/Models/Components/LegacyRecurringProductPrice.md +++ b/docs/Models/Components/LegacyRecurringProductPrice.md @@ -21,12 +21,3 @@ Components\LegacyRecurringProductPriceCustom $value = /* values here */ Components\LegacyRecurringProductPriceFixed $value = /* values here */ ``` -### `Components\LegacyRecurringProductPriceFree` - -```php -/** -* @var \Polar\Models\Components\LegacyRecurringProductPriceFree -*/ -Components\LegacyRecurringProductPriceFree $value = /* values here */ -``` - diff --git a/docs/Models/Components/LegacyRecurringProductPriceCustom.md b/docs/Models/Components/LegacyRecurringProductPriceCustom.md index 014bbad1..97f3eaab 100644 --- a/docs/Models/Components/LegacyRecurringProductPriceCustom.md +++ b/docs/Models/Components/LegacyRecurringProductPriceCustom.md @@ -7,20 +7,20 @@ A pay-what-you-want recurring price for a product, i.e. a subscription. ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -| `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Creation timestamp of the object. | -| `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Last modification timestamp of the object. | -| `id` | *string* | :heavy_check_mark: | The ID of the price. | -| `source` | [Components\ProductPriceSource](../../Models/Components/ProductPriceSource.md) | :heavy_check_mark: | N/A | -| `amountType` | *string* | :heavy_check_mark: | N/A | -| `priceCurrency` | *string* | :heavy_check_mark: | The currency in which the customer will be charged. | -| `taxBehavior` | [Components\TaxBehaviorOption](../../Models/Components/TaxBehaviorOption.md) | :heavy_check_mark: | The tax behavior of the price. If null, it defaults to the organization's default tax behavior. | -| `isArchived` | *bool* | :heavy_check_mark: | Whether the price is archived and no longer available. | -| `productId` | *string* | :heavy_check_mark: | The ID of the product owning the price. | -| `type` | *string* | :heavy_check_mark: | The type of the price. | -| `recurringInterval` | [Components\SubscriptionRecurringInterval](../../Models/Components/SubscriptionRecurringInterval.md) | :heavy_check_mark: | N/A | -| `minimumAmount` | *int* | :heavy_check_mark: | The minimum amount the customer can pay. If 0, the price is 'free or pay what you want'. Defaults to 50 cents. | -| `maximumAmount` | *int* | :heavy_check_mark: | The maximum amount the customer can pay. | -| `presetAmount` | *int* | :heavy_check_mark: | The initial amount shown to the customer. | -| `legacy` | *bool* | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | +| `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Creation timestamp of the object. | +| `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Last modification timestamp of the object. | +| `id` | *string* | :heavy_check_mark: | The ID of the price. | +| `source` | [Components\ProductPriceSource](../../Models/Components/ProductPriceSource.md) | :heavy_check_mark: | N/A | +| `amountType` | *string* | :heavy_check_mark: | N/A | +| `priceCurrency` | *string* | :heavy_check_mark: | The currency in which the customer will be charged. | +| `taxBehavior` | [Components\TaxBehaviorOption](../../Models/Components/TaxBehaviorOption.md) | :heavy_check_mark: | The tax behavior of the price. If null, it defaults to the organization's default tax behavior. | +| `isArchived` | *bool* | :heavy_check_mark: | Whether the price is archived and no longer available. | +| `productId` | *string* | :heavy_check_mark: | The ID of the product owning the price. | +| `type` | *string* | :heavy_check_mark: | The type of the price. | +| `recurringInterval` | [Components\RecurringInterval](../../Models/Components/RecurringInterval.md) | :heavy_check_mark: | N/A | +| `minimumAmount` | *int* | :heavy_check_mark: | The minimum amount the customer can pay. If 0, the price is 'free or pay what you want'. | +| `maximumAmount` | *int* | :heavy_check_mark: | The maximum amount the customer can pay. | +| `presetAmount` | *int* | :heavy_check_mark: | The initial amount shown to the customer. | +| `legacy` | *bool* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/LegacyRecurringProductPriceFixed.md b/docs/Models/Components/LegacyRecurringProductPriceFixed.md index 98e3b38e..ad53608f 100644 --- a/docs/Models/Components/LegacyRecurringProductPriceFixed.md +++ b/docs/Models/Components/LegacyRecurringProductPriceFixed.md @@ -7,18 +7,18 @@ A recurring price for a product, i.e. a subscription. ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | -| `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Creation timestamp of the object. | -| `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Last modification timestamp of the object. | -| `id` | *string* | :heavy_check_mark: | The ID of the price. | -| `source` | [Components\ProductPriceSource](../../Models/Components/ProductPriceSource.md) | :heavy_check_mark: | N/A | -| `amountType` | *string* | :heavy_check_mark: | N/A | -| `priceCurrency` | *string* | :heavy_check_mark: | The currency in which the customer will be charged. | -| `taxBehavior` | [Components\TaxBehaviorOption](../../Models/Components/TaxBehaviorOption.md) | :heavy_check_mark: | The tax behavior of the price. If null, it defaults to the organization's default tax behavior. | -| `isArchived` | *bool* | :heavy_check_mark: | Whether the price is archived and no longer available. | -| `productId` | *string* | :heavy_check_mark: | The ID of the product owning the price. | -| `type` | *string* | :heavy_check_mark: | The type of the price. | -| `recurringInterval` | [Components\SubscriptionRecurringInterval](../../Models/Components/SubscriptionRecurringInterval.md) | :heavy_check_mark: | N/A | -| `priceAmount` | *int* | :heavy_check_mark: | The price in cents. | -| `legacy` | *bool* | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | +| `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Creation timestamp of the object. | +| `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Last modification timestamp of the object. | +| `id` | *string* | :heavy_check_mark: | The ID of the price. | +| `source` | [Components\ProductPriceSource](../../Models/Components/ProductPriceSource.md) | :heavy_check_mark: | N/A | +| `amountType` | *string* | :heavy_check_mark: | N/A | +| `priceCurrency` | *string* | :heavy_check_mark: | The currency in which the customer will be charged. | +| `taxBehavior` | [Components\TaxBehaviorOption](../../Models/Components/TaxBehaviorOption.md) | :heavy_check_mark: | The tax behavior of the price. If null, it defaults to the organization's default tax behavior. | +| `isArchived` | *bool* | :heavy_check_mark: | Whether the price is archived and no longer available. | +| `productId` | *string* | :heavy_check_mark: | The ID of the product owning the price. | +| `type` | *string* | :heavy_check_mark: | The type of the price. | +| `recurringInterval` | [Components\RecurringInterval](../../Models/Components/RecurringInterval.md) | :heavy_check_mark: | N/A | +| `priceAmount` | *int* | :heavy_check_mark: | The price in cents. | +| `legacy` | *bool* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/LegacyRecurringProductPriceFree.md b/docs/Models/Components/LegacyRecurringProductPriceFree.md deleted file mode 100644 index 4a4157b4..00000000 --- a/docs/Models/Components/LegacyRecurringProductPriceFree.md +++ /dev/null @@ -1,23 +0,0 @@ -# LegacyRecurringProductPriceFree - -A free recurring price for a product, i.e. a subscription. - -**Deprecated**: The recurring interval should be set on the product itself. - - -## Fields - -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | -| `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Creation timestamp of the object. | -| `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Last modification timestamp of the object. | -| `id` | *string* | :heavy_check_mark: | The ID of the price. | -| `source` | [Components\ProductPriceSource](../../Models/Components/ProductPriceSource.md) | :heavy_check_mark: | N/A | -| `amountType` | *string* | :heavy_check_mark: | N/A | -| `priceCurrency` | *string* | :heavy_check_mark: | The currency in which the customer will be charged. | -| `taxBehavior` | [Components\TaxBehaviorOption](../../Models/Components/TaxBehaviorOption.md) | :heavy_check_mark: | The tax behavior of the price. If null, it defaults to the organization's default tax behavior. | -| `isArchived` | *bool* | :heavy_check_mark: | Whether the price is archived and no longer available. | -| `productId` | *string* | :heavy_check_mark: | The ID of the product owning the price. | -| `type` | *string* | :heavy_check_mark: | The type of the price. | -| `recurringInterval` | [Components\SubscriptionRecurringInterval](../../Models/Components/SubscriptionRecurringInterval.md) | :heavy_check_mark: | N/A | -| `legacy` | *bool* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/LicenseKeyCustomer.md b/docs/Models/Components/LicenseKeyCustomer.md index 9da4291e..c27922f2 100644 --- a/docs/Models/Components/LicenseKeyCustomer.md +++ b/docs/Models/Components/LicenseKeyCustomer.md @@ -14,9 +14,11 @@ | `emailVerified` | *bool* | :heavy_check_mark: | Whether the customer email address is verified. The address is automatically verified when the customer accesses the customer portal using their email address. | true | | `type` | [Components\CustomerType](../../Models/Components/CustomerType.md) | :heavy_check_mark: | N/A | | | `name` | *string* | :heavy_check_mark: | The name of the customer. | John Doe | +| `billingName` | *string* | :heavy_check_mark: | The name that should appear on the customer's invoices. Falls back to the customer name when not explicitly set. | John Doe | | `billingAddress` | [Components\Address](../../Models/Components/Address.md) | :heavy_check_mark: | N/A | | | `taxId` | array<[string\|Components\TaxIDFormat](../../Models/Components/LicenseKeyCustomerTaxId.md)> | :heavy_check_mark: | N/A | **Example 1:** [
"911144442",
"us_ein"
]
**Example 2:** [
"FR61954506077",
"eu_vat"
] | | `locale` | *?string* | :heavy_minus_sign: | N/A | | | `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the customer. | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | +| `defaultPaymentMethodId` | *?string* | :heavy_minus_sign: | The ID of the customer's default payment method, if any. Use the payment methods endpoint to retrieve its details. | | | `deletedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Timestamp for when the customer was soft deleted. | | | `avatarUrl` | *string* | :heavy_check_mark: | N/A | https://www.gravatar.com/avatar/xxx?d=404 | \ No newline at end of file diff --git a/docs/Models/Components/ListResourceBenefit.md b/docs/Models/Components/ListResourceBenefit.md index 9ab2c980..3ee54ca5 100644 --- a/docs/Models/Components/ListResourceBenefit.md +++ b/docs/Models/Components/ListResourceBenefit.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `items` | array<[Components\BenefitCustom\|Components\BenefitDiscord\|Components\BenefitGitHubRepository\|Components\BenefitDownloadables\|Components\BenefitLicenseKeys\|Components\BenefitMeterCredit\|Components\BenefitFeatureFlag](../../Models/Components/Benefit.md)> | :heavy_check_mark: | N/A | -| `pagination` | [Components\Pagination](../../Models/Components/Pagination.md) | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `items` | array<[Components\BenefitCustom\|Components\BenefitDiscord\|Components\BenefitGitHubRepository\|Components\BenefitDownloadables\|Components\BenefitLicenseKeys\|Components\BenefitMeterCredit\|Components\BenefitFeatureFlag\|Components\BenefitSlackSharedChannel](../../Models/Components/Benefit.md)> | :heavy_check_mark: | N/A | +| `pagination` | [Components\Pagination](../../Models/Components/Pagination.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/ListResourceCustomerBenefitGrant.md b/docs/Models/Components/ListResourceCustomerBenefitGrant.md index 49effdb1..818dc550 100644 --- a/docs/Models/Components/ListResourceCustomerBenefitGrant.md +++ b/docs/Models/Components/ListResourceCustomerBenefitGrant.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `items` | array<[Components\CustomerBenefitGrantDiscord\|Components\CustomerBenefitGrantGitHubRepository\|Components\CustomerBenefitGrantDownloadables\|Components\CustomerBenefitGrantLicenseKeys\|Components\CustomerBenefitGrantCustom\|Components\CustomerBenefitGrantMeterCredit\|Components\CustomerBenefitGrantFeatureFlag](../../Models/Components/CustomerBenefitGrant.md)> | :heavy_check_mark: | N/A | -| `pagination` | [Components\Pagination](../../Models/Components/Pagination.md) | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `items` | array<[Components\CustomerBenefitGrantDiscord\|Components\CustomerBenefitGrantGitHubRepository\|Components\CustomerBenefitGrantDownloadables\|Components\CustomerBenefitGrantLicenseKeys\|Components\CustomerBenefitGrantCustom\|Components\CustomerBenefitGrantMeterCredit\|Components\CustomerBenefitGrantFeatureFlag\|Components\CustomerBenefitGrantSlackSharedChannel](../../Models/Components/CustomerBenefitGrant.md)> | :heavy_check_mark: | N/A | +| `pagination` | [Components\Pagination](../../Models/Components/Pagination.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/ListResourceEvent.md b/docs/Models/Components/ListResourceEvent.md index 0d3aa49f..4db3db33 100644 --- a/docs/Models/Components/ListResourceEvent.md +++ b/docs/Models/Components/ListResourceEvent.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | -| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `items` | array<[Components\MeterCreditEvent\|Components\MeterResetEvent\|Components\BenefitGrantedEvent\|Components\BenefitCycledEvent\|Components\BenefitUpdatedEvent\|Components\BenefitRevokedEvent\|Components\SubscriptionCreatedEvent\|Components\SubscriptionUpdatedEvent\|Components\SubscriptionCycledEvent\|Components\SubscriptionCanceledEvent\|Components\SubscriptionRevokedEvent\|Components\SubscriptionUncanceledEvent\|Components\SubscriptionProductUpdatedEvent\|Components\SubscriptionSeatsUpdatedEvent\|Components\SubscriptionBillingPeriodUpdatedEvent\|Components\OrderPaidEvent\|Components\OrderRefundedEvent\|Components\OrderVoidedEvent\|Components\CheckoutCreatedEvent\|Components\CustomerCreatedEvent\|Components\CustomerUpdatedEvent\|Components\CustomerDeletedEvent\|Components\BalanceOrderEvent\|Components\BalanceCreditOrderEvent\|Components\BalanceRefundEvent\|Components\BalanceRefundReversalEvent\|Components\BalanceDisputeEvent\|Components\BalanceDisputeReversalEvent\|Components\UserEvent](../../Models/Components/Event.md)> | :heavy_check_mark: | N/A | -| `pagination` | [Components\Pagination](../../Models/Components/Pagination.md) | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `items` | array<[Components\MeterCreditEvent\|Components\MeterResetEvent\|Components\BenefitGrantedEvent\|Components\BenefitCycledEvent\|Components\BenefitUpdatedEvent\|Components\BenefitRevokedEvent\|Components\SubscriptionCreatedEvent\|Components\SubscriptionUpdatedEvent\|Components\SubscriptionCycledEvent\|Components\SubscriptionCanceledEvent\|Components\SubscriptionRevokedEvent\|Components\SubscriptionPastDueEvent\|Components\SubscriptionReactivatedEvent\|Components\SubscriptionPausedEvent\|Components\SubscriptionResumedEvent\|Components\SubscriptionUncanceledEvent\|Components\SubscriptionProductUpdatedEvent\|Components\SubscriptionSeatsUpdatedEvent\|Components\SubscriptionBillingPeriodUpdatedEvent\|Components\SubscriptionUpdateClearedEvent\|Components\OrderPaidEvent\|Components\OrderRefundedEvent\|Components\OrderVoidedEvent\|Components\CheckoutCreatedEvent\|Components\CustomerCreatedEvent\|Components\CustomerUpdatedEvent\|Components\CustomerDeletedEvent\|Components\BalanceOrderEvent\|Components\BalanceCreditOrderEvent\|Components\BalanceRefundEvent\|Components\BalanceRefundReversalEvent\|Components\BalanceDisputeEvent\|Components\BalanceDisputeReversalEvent\|Components\UserEvent](../../Models/Components/Event.md)> | :heavy_check_mark: | N/A | +| `pagination` | [Components\Pagination](../../Models/Components/Pagination.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/ListResourceFileRead.md b/docs/Models/Components/ListResourceFileRead.md index 39842297..ee58e52d 100644 --- a/docs/Models/Components/ListResourceFileRead.md +++ b/docs/Models/Components/ListResourceFileRead.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | -| --------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | -| `items` | array<[Components\DownloadableFileRead\|Components\ProductMediaFileRead\|Components\OrganizationAvatarFileRead](../../Models/Components/FileRead.md)> | :heavy_check_mark: | N/A | -| `pagination` | [Components\Pagination](../../Models/Components/Pagination.md) | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `items` | array<[Components\DownloadableFileRead\|Components\ProductMediaFileRead\|Components\OrganizationAvatarFileRead\|Components\SupportCaseAttachmentFileRead](../../Models/Components/FileRead.md)> | :heavy_check_mark: | N/A | +| `pagination` | [Components\Pagination](../../Models/Components/Pagination.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/ListResourceOrganizationAccessToken.md b/docs/Models/Components/ListResourceOrganizationAccessToken.md deleted file mode 100644 index 7f13e534..00000000 --- a/docs/Models/Components/ListResourceOrganizationAccessToken.md +++ /dev/null @@ -1,9 +0,0 @@ -# ListResourceOrganizationAccessToken - - -## Fields - -| Field | Type | Required | Description | -| ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | -| `items` | array<[Components\OrganizationAccessToken](../../Models/Components/OrganizationAccessToken.md)> | :heavy_check_mark: | N/A | -| `pagination` | [Components\Pagination](../../Models/Components/Pagination.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/ListResourcePaymentMethod.md b/docs/Models/Components/ListResourcePaymentMethod.md new file mode 100644 index 00000000..7c24c857 --- /dev/null +++ b/docs/Models/Components/ListResourcePaymentMethod.md @@ -0,0 +1,9 @@ +# ListResourcePaymentMethod + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | +| `items` | array<[Components\CustomerPaymentMethodCard\|Components\CustomerPaymentMethodGeneric](../../Models/Components/PaymentMethod.md)> | :heavy_check_mark: | N/A | +| `pagination` | [Components\Pagination](../../Models/Components/Pagination.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/ListResourceWithCursorPaginationEvent.md b/docs/Models/Components/ListResourceWithCursorPaginationEvent.md index 1d7a6035..d0e40fd5 100644 --- a/docs/Models/Components/ListResourceWithCursorPaginationEvent.md +++ b/docs/Models/Components/ListResourceWithCursorPaginationEvent.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | -| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `items` | array<[Components\MeterCreditEvent\|Components\MeterResetEvent\|Components\BenefitGrantedEvent\|Components\BenefitCycledEvent\|Components\BenefitUpdatedEvent\|Components\BenefitRevokedEvent\|Components\SubscriptionCreatedEvent\|Components\SubscriptionUpdatedEvent\|Components\SubscriptionCycledEvent\|Components\SubscriptionCanceledEvent\|Components\SubscriptionRevokedEvent\|Components\SubscriptionUncanceledEvent\|Components\SubscriptionProductUpdatedEvent\|Components\SubscriptionSeatsUpdatedEvent\|Components\SubscriptionBillingPeriodUpdatedEvent\|Components\OrderPaidEvent\|Components\OrderRefundedEvent\|Components\OrderVoidedEvent\|Components\CheckoutCreatedEvent\|Components\CustomerCreatedEvent\|Components\CustomerUpdatedEvent\|Components\CustomerDeletedEvent\|Components\BalanceOrderEvent\|Components\BalanceCreditOrderEvent\|Components\BalanceRefundEvent\|Components\BalanceRefundReversalEvent\|Components\BalanceDisputeEvent\|Components\BalanceDisputeReversalEvent\|Components\UserEvent](../../Models/Components/Event.md)> | :heavy_check_mark: | N/A | -| `pagination` | [Components\CursorPagination](../../Models/Components/CursorPagination.md) | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `items` | array<[Components\MeterCreditEvent\|Components\MeterResetEvent\|Components\BenefitGrantedEvent\|Components\BenefitCycledEvent\|Components\BenefitUpdatedEvent\|Components\BenefitRevokedEvent\|Components\SubscriptionCreatedEvent\|Components\SubscriptionUpdatedEvent\|Components\SubscriptionCycledEvent\|Components\SubscriptionCanceledEvent\|Components\SubscriptionRevokedEvent\|Components\SubscriptionPastDueEvent\|Components\SubscriptionReactivatedEvent\|Components\SubscriptionPausedEvent\|Components\SubscriptionResumedEvent\|Components\SubscriptionUncanceledEvent\|Components\SubscriptionProductUpdatedEvent\|Components\SubscriptionSeatsUpdatedEvent\|Components\SubscriptionBillingPeriodUpdatedEvent\|Components\SubscriptionUpdateClearedEvent\|Components\OrderPaidEvent\|Components\OrderRefundedEvent\|Components\OrderVoidedEvent\|Components\CheckoutCreatedEvent\|Components\CustomerCreatedEvent\|Components\CustomerUpdatedEvent\|Components\CustomerDeletedEvent\|Components\BalanceOrderEvent\|Components\BalanceCreditOrderEvent\|Components\BalanceRefundEvent\|Components\BalanceRefundReversalEvent\|Components\BalanceDisputeEvent\|Components\BalanceDisputeReversalEvent\|Components\UserEvent](../../Models/Components/Event.md)> | :heavy_check_mark: | N/A | +| `pagination` | [Components\CursorPagination](../../Models/Components/CursorPagination.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/MemberCreate.md b/docs/Models/Components/MemberCreate.md deleted file mode 100644 index 067be42d..00000000 --- a/docs/Models/Components/MemberCreate.md +++ /dev/null @@ -1,14 +0,0 @@ -# MemberCreate - -Schema for creating a new member. - - -## Fields - -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | -| `customerId` | *string* | :heavy_check_mark: | The ID of the customer this member belongs to. | | -| `email` | *string* | :heavy_check_mark: | The email address of the member. | member@example.com | -| `name` | *?string* | :heavy_minus_sign: | N/A | Jane Doe | -| `externalId` | *?string* | :heavy_minus_sign: | The ID of the member in your system. This must be unique within the customer. | usr_1337 | -| `role` | [?Components\MemberRole](../../Models/Components/MemberRole.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/MemberCreateFromCustomer.md b/docs/Models/Components/MemberCreateFromCustomer.md new file mode 100644 index 00000000..4691cf54 --- /dev/null +++ b/docs/Models/Components/MemberCreateFromCustomer.md @@ -0,0 +1,15 @@ +# MemberCreateFromCustomer + +Schema for creating a new member nested under a customer. + +The customer is taken from the URL path, so it's not part of the body. + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `email` | *string* | :heavy_check_mark: | The email address of the member. | member@example.com | +| `name` | *?string* | :heavy_minus_sign: | N/A | Jane Doe | +| `externalId` | *?string* | :heavy_minus_sign: | The ID of the member in your system. This must be unique within the customer. | usr_1337 | +| `role` | [?Components\Role](../../Models/Components/Role.md) | :heavy_minus_sign: | The role of the member within the customer. To assign or transfer ownership, use the member update endpoint. | member | \ No newline at end of file diff --git a/docs/Models/Components/MemberUpdate.md b/docs/Models/Components/MemberUpdate.md index 9b791827..183ca1ce 100644 --- a/docs/Models/Components/MemberUpdate.md +++ b/docs/Models/Components/MemberUpdate.md @@ -8,4 +8,5 @@ Schema for updating a member. | Field | Type | Required | Description | Example | | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | | `name` | *?string* | :heavy_minus_sign: | N/A | Jane Doe | +| `email` | *?string* | :heavy_minus_sign: | N/A | | | `role` | [?Components\MemberRole](../../Models/Components/MemberRole.md) | :heavy_minus_sign: | The role of the member within the customer. | | \ No newline at end of file diff --git a/docs/Models/Components/Meter.md b/docs/Models/Components/Meter.md index 9b5067df..9ac3b11c 100644 --- a/docs/Models/Components/Meter.md +++ b/docs/Models/Components/Meter.md @@ -10,6 +10,9 @@ | `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Last modification timestamp of the object. | | `id` | *string* | :heavy_check_mark: | The ID of the object. | | `name` | *string* | :heavy_check_mark: | The name of the meter. Will be shown on customer's invoices and usage. | +| `unit` | [Components\MeterUnit](../../Models/Components/MeterUnit.md) | :heavy_check_mark: | N/A | +| `customLabel` | *?string* | :heavy_minus_sign: | The label for the custom unit. | +| `customMultiplier` | *?int* | :heavy_minus_sign: | The multiplier to convert from base unit to display scale. | | `filter` | [Components\Filter](../../Models/Components/Filter.md) | :heavy_check_mark: | N/A | | `aggregation` | [Components\CountAggregation\|Components\PropertyAggregation\|Components\UniqueAggregation](../../Models/Components/MeterAggregation.md) | :heavy_check_mark: | The aggregation to apply on the filtered events to calculate the meter. | | `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the meter. | diff --git a/docs/Models/Components/MeterCreate.md b/docs/Models/Components/MeterCreate.md index d07e658a..75ab938a 100644 --- a/docs/Models/Components/MeterCreate.md +++ b/docs/Models/Components/MeterCreate.md @@ -7,6 +7,9 @@ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `metadata` | array | :heavy_minus_sign: | Key-value object allowing you to store additional information.

The key must be a string with a maximum length of **40 characters**.
The value must be either:

* A string with a maximum length of **500 characters**
* An integer
* A floating-point number
* A boolean

You can store up to **50 key-value pairs**. | | | `name` | *string* | :heavy_check_mark: | The name of the meter. Will be shown on customer's invoices and usage. | | +| `unit` | [?Components\MeterUnit](../../Models/Components/MeterUnit.md) | :heavy_minus_sign: | N/A | | +| `customLabel` | *?string* | :heavy_minus_sign: | The label for the custom unit, e.g. 'request'. Required when unit is 'custom'. | | +| `customMultiplier` | *?int* | :heavy_minus_sign: | The multiplier to convert from the base unit to display scale, e.g. 1000 to display per 1000 units. Defaults to 1 when not provided. | | | `filter` | [Components\Filter](../../Models/Components/Filter.md) | :heavy_check_mark: | N/A | | | `aggregation` | [Components\CountAggregation\|Components\PropertyAggregation\|Components\UniqueAggregation](../../Models/Components/MeterCreateAggregation.md) | :heavy_check_mark: | The aggregation to apply on the filtered events to calculate the meter. | | | `organizationId` | *?string* | :heavy_minus_sign: | The ID of the organization owning the meter. **Required unless you use an organization token.** | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | \ No newline at end of file diff --git a/docs/Models/Components/MeterUnit.md b/docs/Models/Components/MeterUnit.md new file mode 100644 index 00000000..721b7e3c --- /dev/null +++ b/docs/Models/Components/MeterUnit.md @@ -0,0 +1,10 @@ +# MeterUnit + + +## Values + +| Name | Value | +| -------- | -------- | +| `Scalar` | scalar | +| `Token` | token | +| `Custom` | custom | \ No newline at end of file diff --git a/docs/Models/Components/MeterUpdate.md b/docs/Models/Components/MeterUpdate.md index 71f7b6ea..3b1a4182 100644 --- a/docs/Models/Components/MeterUpdate.md +++ b/docs/Models/Components/MeterUpdate.md @@ -7,6 +7,9 @@ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `metadata` | array | :heavy_minus_sign: | Key-value object allowing you to store additional information.

The key must be a string with a maximum length of **40 characters**.
The value must be either:

* A string with a maximum length of **500 characters**
* An integer
* A floating-point number
* A boolean

You can store up to **50 key-value pairs**. | | `name` | *?string* | :heavy_minus_sign: | The name of the meter. Will be shown on customer's invoices and usage. | +| `unit` | [?Components\MeterUnit](../../Models/Components/MeterUnit.md) | :heavy_minus_sign: | The unit of the meter. | +| `customLabel` | *?string* | :heavy_minus_sign: | The label for the custom unit. Required when unit is 'custom'. | +| `customMultiplier` | *?int* | :heavy_minus_sign: | The multiplier to convert from base unit to display scale. Required when unit is 'custom'. | | `filter` | [?Components\Filter](../../Models/Components/Filter.md) | :heavy_minus_sign: | The filter to apply on events that'll be used to calculate the meter. | | `aggregation` | [Components\CountAggregation\|Components\PropertyAggregation\|Components\UniqueAggregation\|null](../../Models/Components/Aggregation.md) | :heavy_minus_sign: | The aggregation to apply on the filtered events to calculate the meter. | | `isArchived` | *?bool* | :heavy_minus_sign: | Whether the meter is archived. Archived meters are no longer used for billing. | \ No newline at end of file diff --git a/docs/Models/Components/MetricPeriod.md b/docs/Models/Components/MetricPeriod.md index 89fc5ef3..a78f8abd 100644 --- a/docs/Models/Components/MetricPeriod.md +++ b/docs/Models/Components/MetricPeriod.md @@ -3,49 +3,61 @@ ## Fields -| Field | Type | Required | Description | -| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | -| `timestamp` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Timestamp of this period data. | -| `activeSubscriptions` | [int\|float\|null](../../Models/Components/ActiveSubscriptions.md) | :heavy_minus_sign: | N/A | -| `committedSubscriptions` | [int\|float\|null](../../Models/Components/CommittedSubscriptions.md) | :heavy_minus_sign: | N/A | -| `monthlyRecurringRevenue` | [int\|float\|null](../../Models/Components/MonthlyRecurringRevenue.md) | :heavy_minus_sign: | N/A | -| `committedMonthlyRecurringRevenue` | [int\|float\|null](../../Models/Components/CommittedMonthlyRecurringRevenue.md) | :heavy_minus_sign: | N/A | -| `averageRevenuePerUser` | [int\|float\|null](../../Models/Components/AverageRevenuePerUser.md) | :heavy_minus_sign: | N/A | -| `checkouts` | [int\|float\|null](../../Models/Components/Checkouts.md) | :heavy_minus_sign: | N/A | -| `succeededCheckouts` | [int\|float\|null](../../Models/Components/SucceededCheckouts.md) | :heavy_minus_sign: | N/A | -| `churnedSubscriptions` | [int\|float\|null](../../Models/Components/ChurnedSubscriptions.md) | :heavy_minus_sign: | N/A | -| `churnRate` | [int\|float\|null](../../Models/Components/ChurnRate.md) | :heavy_minus_sign: | N/A | -| `orders` | [int\|float\|null](../../Models/Components/Orders.md) | :heavy_minus_sign: | N/A | -| `revenue` | [int\|float\|null](../../Models/Components/Revenue.md) | :heavy_minus_sign: | N/A | -| `netRevenue` | [int\|float\|null](../../Models/Components/NetRevenue.md) | :heavy_minus_sign: | N/A | -| `cumulativeRevenue` | [int\|float\|null](../../Models/Components/CumulativeRevenue.md) | :heavy_minus_sign: | N/A | -| `netCumulativeRevenue` | [int\|float\|null](../../Models/Components/NetCumulativeRevenue.md) | :heavy_minus_sign: | N/A | -| `costs` | [int\|float\|null](../../Models/Components/Costs.md) | :heavy_minus_sign: | N/A | -| `cumulativeCosts` | [int\|float\|null](../../Models/Components/CumulativeCosts.md) | :heavy_minus_sign: | N/A | -| `averageOrderValue` | [int\|float\|null](../../Models/Components/AverageOrderValue.md) | :heavy_minus_sign: | N/A | -| `netAverageOrderValue` | [int\|float\|null](../../Models/Components/NetAverageOrderValue.md) | :heavy_minus_sign: | N/A | -| `costPerUser` | [int\|float\|null](../../Models/Components/CostPerUser.md) | :heavy_minus_sign: | N/A | -| `activeUserByEvent` | [int\|float\|null](../../Models/Components/ActiveUserByEvent.md) | :heavy_minus_sign: | N/A | -| `oneTimeProducts` | [int\|float\|null](../../Models/Components/OneTimeProducts.md) | :heavy_minus_sign: | N/A | -| `oneTimeProductsRevenue` | [int\|float\|null](../../Models/Components/OneTimeProductsRevenue.md) | :heavy_minus_sign: | N/A | -| `oneTimeProductsNetRevenue` | [int\|float\|null](../../Models/Components/OneTimeProductsNetRevenue.md) | :heavy_minus_sign: | N/A | -| `newSubscriptions` | [int\|float\|null](../../Models/Components/NewSubscriptions.md) | :heavy_minus_sign: | N/A | -| `newSubscriptionsRevenue` | [int\|float\|null](../../Models/Components/NewSubscriptionsRevenue.md) | :heavy_minus_sign: | N/A | -| `newSubscriptionsNetRevenue` | [int\|float\|null](../../Models/Components/NewSubscriptionsNetRevenue.md) | :heavy_minus_sign: | N/A | -| `renewedSubscriptions` | [int\|float\|null](../../Models/Components/RenewedSubscriptions.md) | :heavy_minus_sign: | N/A | -| `renewedSubscriptionsRevenue` | [int\|float\|null](../../Models/Components/RenewedSubscriptionsRevenue.md) | :heavy_minus_sign: | N/A | -| `renewedSubscriptionsNetRevenue` | [int\|float\|null](../../Models/Components/RenewedSubscriptionsNetRevenue.md) | :heavy_minus_sign: | N/A | -| `canceledSubscriptions` | [int\|float\|null](../../Models/Components/CanceledSubscriptions.md) | :heavy_minus_sign: | N/A | -| `canceledSubscriptionsCustomerService` | [int\|float\|null](../../Models/Components/CanceledSubscriptionsCustomerService.md) | :heavy_minus_sign: | N/A | -| `canceledSubscriptionsLowQuality` | [int\|float\|null](../../Models/Components/CanceledSubscriptionsLowQuality.md) | :heavy_minus_sign: | N/A | -| `canceledSubscriptionsMissingFeatures` | [int\|float\|null](../../Models/Components/CanceledSubscriptionsMissingFeatures.md) | :heavy_minus_sign: | N/A | -| `canceledSubscriptionsSwitchedService` | [int\|float\|null](../../Models/Components/CanceledSubscriptionsSwitchedService.md) | :heavy_minus_sign: | N/A | -| `canceledSubscriptionsTooComplex` | [int\|float\|null](../../Models/Components/CanceledSubscriptionsTooComplex.md) | :heavy_minus_sign: | N/A | -| `canceledSubscriptionsTooExpensive` | [int\|float\|null](../../Models/Components/CanceledSubscriptionsTooExpensive.md) | :heavy_minus_sign: | N/A | -| `canceledSubscriptionsUnused` | [int\|float\|null](../../Models/Components/CanceledSubscriptionsUnused.md) | :heavy_minus_sign: | N/A | -| `canceledSubscriptionsOther` | [int\|float\|null](../../Models/Components/CanceledSubscriptionsOther.md) | :heavy_minus_sign: | N/A | -| `checkoutsConversion` | [int\|float\|null](../../Models/Components/CheckoutsConversion.md) | :heavy_minus_sign: | N/A | -| `ltv` | [int\|float\|null](../../Models/Components/Ltv.md) | :heavy_minus_sign: | N/A | -| `grossMargin` | [int\|float\|null](../../Models/Components/GrossMargin.md) | :heavy_minus_sign: | N/A | -| `grossMarginPercentage` | [int\|float\|null](../../Models/Components/GrossMarginPercentage.md) | :heavy_minus_sign: | N/A | -| `cashflow` | [int\|float\|null](../../Models/Components/Cashflow.md) | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | +| `timestamp` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Timestamp of this period data. | +| `activeSubscriptions` | [int\|float\|null](../../Models/Components/ActiveSubscriptions.md) | :heavy_minus_sign: | N/A | +| `committedSubscriptions` | [int\|float\|null](../../Models/Components/CommittedSubscriptions.md) | :heavy_minus_sign: | N/A | +| `monthlyRecurringRevenue` | [int\|float\|null](../../Models/Components/MonthlyRecurringRevenue.md) | :heavy_minus_sign: | N/A | +| `trialMonthlyRecurringRevenue` | [int\|float\|null](../../Models/Components/TrialMonthlyRecurringRevenue.md) | :heavy_minus_sign: | N/A | +| `committedMonthlyRecurringRevenue` | [int\|float\|null](../../Models/Components/CommittedMonthlyRecurringRevenue.md) | :heavy_minus_sign: | N/A | +| `trialCommittedMonthlyRecurringRevenue` | [int\|float\|null](../../Models/Components/TrialCommittedMonthlyRecurringRevenue.md) | :heavy_minus_sign: | N/A | +| `averageRevenuePerUser` | [int\|float\|null](../../Models/Components/AverageRevenuePerUser.md) | :heavy_minus_sign: | N/A | +| `checkouts` | [int\|float\|null](../../Models/Components/Checkouts.md) | :heavy_minus_sign: | N/A | +| `succeededCheckouts` | [int\|float\|null](../../Models/Components/SucceededCheckouts.md) | :heavy_minus_sign: | N/A | +| `churnedSubscriptions` | [int\|float\|null](../../Models/Components/ChurnedSubscriptions.md) | :heavy_minus_sign: | N/A | +| `churnRate` | [int\|float\|null](../../Models/Components/ChurnRate.md) | :heavy_minus_sign: | N/A | +| `seatsTotal` | [int\|float\|null](../../Models/Components/SeatsTotal.md) | :heavy_minus_sign: | N/A | +| `seatsClaimed` | [int\|float\|null](../../Models/Components/SeatsClaimed.md) | :heavy_minus_sign: | N/A | +| `seatsPending` | [int\|float\|null](../../Models/Components/SeatsPending.md) | :heavy_minus_sign: | N/A | +| `seatCustomers` | [int\|float\|null](../../Models/Components/SeatCustomers.md) | :heavy_minus_sign: | N/A | +| `newSeatCustomers` | [int\|float\|null](../../Models/Components/NewSeatCustomers.md) | :heavy_minus_sign: | N/A | +| `churnedSeatCustomers` | [int\|float\|null](../../Models/Components/ChurnedSeatCustomers.md) | :heavy_minus_sign: | N/A | +| `orders` | [int\|float\|null](../../Models/Components/Orders.md) | :heavy_minus_sign: | N/A | +| `revenue` | [int\|float\|null](../../Models/Components/Revenue.md) | :heavy_minus_sign: | N/A | +| `netRevenue` | [int\|float\|null](../../Models/Components/NetRevenue.md) | :heavy_minus_sign: | N/A | +| `cumulativeRevenue` | [int\|float\|null](../../Models/Components/CumulativeRevenue.md) | :heavy_minus_sign: | N/A | +| `netCumulativeRevenue` | [int\|float\|null](../../Models/Components/NetCumulativeRevenue.md) | :heavy_minus_sign: | N/A | +| `costs` | [int\|float\|null](../../Models/Components/Costs.md) | :heavy_minus_sign: | N/A | +| `cumulativeCosts` | [int\|float\|null](../../Models/Components/CumulativeCosts.md) | :heavy_minus_sign: | N/A | +| `averageOrderValue` | [int\|float\|null](../../Models/Components/AverageOrderValue.md) | :heavy_minus_sign: | N/A | +| `netAverageOrderValue` | [int\|float\|null](../../Models/Components/NetAverageOrderValue.md) | :heavy_minus_sign: | N/A | +| `costPerUser` | [int\|float\|null](../../Models/Components/CostPerUser.md) | :heavy_minus_sign: | N/A | +| `activeUserByEvent` | [int\|float\|null](../../Models/Components/ActiveUserByEvent.md) | :heavy_minus_sign: | N/A | +| `oneTimeProducts` | [int\|float\|null](../../Models/Components/OneTimeProducts.md) | :heavy_minus_sign: | N/A | +| `oneTimeProductsRevenue` | [int\|float\|null](../../Models/Components/OneTimeProductsRevenue.md) | :heavy_minus_sign: | N/A | +| `oneTimeProductsNetRevenue` | [int\|float\|null](../../Models/Components/OneTimeProductsNetRevenue.md) | :heavy_minus_sign: | N/A | +| `newSubscriptions` | [int\|float\|null](../../Models/Components/NewSubscriptions.md) | :heavy_minus_sign: | N/A | +| `newSubscriptionsRevenue` | [int\|float\|null](../../Models/Components/NewSubscriptionsRevenue.md) | :heavy_minus_sign: | N/A | +| `newSubscriptionsNetRevenue` | [int\|float\|null](../../Models/Components/NewSubscriptionsNetRevenue.md) | :heavy_minus_sign: | N/A | +| `renewedSubscriptions` | [int\|float\|null](../../Models/Components/RenewedSubscriptions.md) | :heavy_minus_sign: | N/A | +| `renewedSubscriptionsRevenue` | [int\|float\|null](../../Models/Components/RenewedSubscriptionsRevenue.md) | :heavy_minus_sign: | N/A | +| `renewedSubscriptionsNetRevenue` | [int\|float\|null](../../Models/Components/RenewedSubscriptionsNetRevenue.md) | :heavy_minus_sign: | N/A | +| `canceledSubscriptions` | [int\|float\|null](../../Models/Components/CanceledSubscriptions.md) | :heavy_minus_sign: | N/A | +| `canceledSubscriptionsCustomerService` | [int\|float\|null](../../Models/Components/CanceledSubscriptionsCustomerService.md) | :heavy_minus_sign: | N/A | +| `canceledSubscriptionsLowQuality` | [int\|float\|null](../../Models/Components/CanceledSubscriptionsLowQuality.md) | :heavy_minus_sign: | N/A | +| `canceledSubscriptionsMissingFeatures` | [int\|float\|null](../../Models/Components/CanceledSubscriptionsMissingFeatures.md) | :heavy_minus_sign: | N/A | +| `canceledSubscriptionsSwitchedService` | [int\|float\|null](../../Models/Components/CanceledSubscriptionsSwitchedService.md) | :heavy_minus_sign: | N/A | +| `canceledSubscriptionsTooComplex` | [int\|float\|null](../../Models/Components/CanceledSubscriptionsTooComplex.md) | :heavy_minus_sign: | N/A | +| `canceledSubscriptionsTooExpensive` | [int\|float\|null](../../Models/Components/CanceledSubscriptionsTooExpensive.md) | :heavy_minus_sign: | N/A | +| `canceledSubscriptionsUnused` | [int\|float\|null](../../Models/Components/CanceledSubscriptionsUnused.md) | :heavy_minus_sign: | N/A | +| `canceledSubscriptionsOther` | [int\|float\|null](../../Models/Components/CanceledSubscriptionsOther.md) | :heavy_minus_sign: | N/A | +| `annualRecurringRevenue` | [int\|float\|null](../../Models/Components/AnnualRecurringRevenue.md) | :heavy_minus_sign: | N/A | +| `committedAnnualRecurringRevenue` | [int\|float\|null](../../Models/Components/CommittedAnnualRecurringRevenue.md) | :heavy_minus_sign: | N/A | +| `checkoutsConversion` | [int\|float\|null](../../Models/Components/CheckoutsConversion.md) | :heavy_minus_sign: | N/A | +| `ltv` | [int\|float\|null](../../Models/Components/Ltv.md) | :heavy_minus_sign: | N/A | +| `grossMargin` | [int\|float\|null](../../Models/Components/GrossMargin.md) | :heavy_minus_sign: | N/A | +| `grossMarginPercentage` | [int\|float\|null](../../Models/Components/GrossMarginPercentage.md) | :heavy_minus_sign: | N/A | +| `cashflow` | [int\|float\|null](../../Models/Components/Cashflow.md) | :heavy_minus_sign: | N/A | +| `averageSeatsPerCustomer` | [int\|float\|null](../../Models/Components/AverageSeatsPerCustomer.md) | :heavy_minus_sign: | N/A | +| `seatUtilizationRate` | [int\|float\|null](../../Models/Components/SeatUtilizationRate.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/Metrics.md b/docs/Models/Components/Metrics.md index 4fd65c97..35b0ddc3 100644 --- a/docs/Models/Components/Metrics.md +++ b/docs/Models/Components/Metrics.md @@ -8,12 +8,20 @@ | `activeSubscriptions` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | | `committedSubscriptions` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | | `monthlyRecurringRevenue` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | +| `trialMonthlyRecurringRevenue` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | | `committedMonthlyRecurringRevenue` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | +| `trialCommittedMonthlyRecurringRevenue` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | | `averageRevenuePerUser` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | | `checkouts` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | | `succeededCheckouts` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | | `churnedSubscriptions` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | | `churnRate` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | +| `seatsTotal` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | +| `seatsClaimed` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | +| `seatsPending` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | +| `seatCustomers` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | +| `newSeatCustomers` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | +| `churnedSeatCustomers` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | | `orders` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | | `revenue` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | | `netRevenue` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | @@ -43,8 +51,12 @@ | `canceledSubscriptionsTooExpensive` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | | `canceledSubscriptionsUnused` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | | `canceledSubscriptionsOther` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | +| `annualRecurringRevenue` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | +| `committedAnnualRecurringRevenue` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | | `checkoutsConversion` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | | `ltv` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | | `grossMargin` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | | `grossMarginPercentage` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | -| `cashflow` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | \ No newline at end of file +| `cashflow` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | +| `averageSeatsPerCustomer` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | +| `seatUtilizationRate` | [?Components\Metric](../../Models/Components/Metric.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/MetricsTotals.md b/docs/Models/Components/MetricsTotals.md index 1845e88b..94b5b9a8 100644 --- a/docs/Models/Components/MetricsTotals.md +++ b/docs/Models/Components/MetricsTotals.md @@ -3,48 +3,60 @@ ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | -| `activeSubscriptions` | [int\|float\|null](../../Models/Components/MetricsTotalsActiveSubscriptions.md) | :heavy_minus_sign: | N/A | -| `committedSubscriptions` | [int\|float\|null](../../Models/Components/MetricsTotalsCommittedSubscriptions.md) | :heavy_minus_sign: | N/A | -| `monthlyRecurringRevenue` | [int\|float\|null](../../Models/Components/MetricsTotalsMonthlyRecurringRevenue.md) | :heavy_minus_sign: | N/A | -| `committedMonthlyRecurringRevenue` | [int\|float\|null](../../Models/Components/MetricsTotalsCommittedMonthlyRecurringRevenue.md) | :heavy_minus_sign: | N/A | -| `averageRevenuePerUser` | [int\|float\|null](../../Models/Components/MetricsTotalsAverageRevenuePerUser.md) | :heavy_minus_sign: | N/A | -| `checkouts` | [int\|float\|null](../../Models/Components/MetricsTotalsCheckouts.md) | :heavy_minus_sign: | N/A | -| `succeededCheckouts` | [int\|float\|null](../../Models/Components/MetricsTotalsSucceededCheckouts.md) | :heavy_minus_sign: | N/A | -| `churnedSubscriptions` | [int\|float\|null](../../Models/Components/MetricsTotalsChurnedSubscriptions.md) | :heavy_minus_sign: | N/A | -| `churnRate` | [int\|float\|null](../../Models/Components/MetricsTotalsChurnRate.md) | :heavy_minus_sign: | N/A | -| `orders` | [int\|float\|null](../../Models/Components/MetricsTotalsOrders.md) | :heavy_minus_sign: | N/A | -| `revenue` | [int\|float\|null](../../Models/Components/MetricsTotalsRevenue.md) | :heavy_minus_sign: | N/A | -| `netRevenue` | [int\|float\|null](../../Models/Components/MetricsTotalsNetRevenue.md) | :heavy_minus_sign: | N/A | -| `cumulativeRevenue` | [int\|float\|null](../../Models/Components/MetricsTotalsCumulativeRevenue.md) | :heavy_minus_sign: | N/A | -| `netCumulativeRevenue` | [int\|float\|null](../../Models/Components/MetricsTotalsNetCumulativeRevenue.md) | :heavy_minus_sign: | N/A | -| `costs` | [int\|float\|null](../../Models/Components/MetricsTotalsCosts.md) | :heavy_minus_sign: | N/A | -| `cumulativeCosts` | [int\|float\|null](../../Models/Components/MetricsTotalsCumulativeCosts.md) | :heavy_minus_sign: | N/A | -| `averageOrderValue` | [int\|float\|null](../../Models/Components/MetricsTotalsAverageOrderValue.md) | :heavy_minus_sign: | N/A | -| `netAverageOrderValue` | [int\|float\|null](../../Models/Components/MetricsTotalsNetAverageOrderValue.md) | :heavy_minus_sign: | N/A | -| `costPerUser` | [int\|float\|null](../../Models/Components/MetricsTotalsCostPerUser.md) | :heavy_minus_sign: | N/A | -| `activeUserByEvent` | [int\|float\|null](../../Models/Components/MetricsTotalsActiveUserByEvent.md) | :heavy_minus_sign: | N/A | -| `oneTimeProducts` | [int\|float\|null](../../Models/Components/MetricsTotalsOneTimeProducts.md) | :heavy_minus_sign: | N/A | -| `oneTimeProductsRevenue` | [int\|float\|null](../../Models/Components/MetricsTotalsOneTimeProductsRevenue.md) | :heavy_minus_sign: | N/A | -| `oneTimeProductsNetRevenue` | [int\|float\|null](../../Models/Components/MetricsTotalsOneTimeProductsNetRevenue.md) | :heavy_minus_sign: | N/A | -| `newSubscriptions` | [int\|float\|null](../../Models/Components/MetricsTotalsNewSubscriptions.md) | :heavy_minus_sign: | N/A | -| `newSubscriptionsRevenue` | [int\|float\|null](../../Models/Components/MetricsTotalsNewSubscriptionsRevenue.md) | :heavy_minus_sign: | N/A | -| `newSubscriptionsNetRevenue` | [int\|float\|null](../../Models/Components/MetricsTotalsNewSubscriptionsNetRevenue.md) | :heavy_minus_sign: | N/A | -| `renewedSubscriptions` | [int\|float\|null](../../Models/Components/MetricsTotalsRenewedSubscriptions.md) | :heavy_minus_sign: | N/A | -| `renewedSubscriptionsRevenue` | [int\|float\|null](../../Models/Components/MetricsTotalsRenewedSubscriptionsRevenue.md) | :heavy_minus_sign: | N/A | -| `renewedSubscriptionsNetRevenue` | [int\|float\|null](../../Models/Components/MetricsTotalsRenewedSubscriptionsNetRevenue.md) | :heavy_minus_sign: | N/A | -| `canceledSubscriptions` | [int\|float\|null](../../Models/Components/MetricsTotalsCanceledSubscriptions.md) | :heavy_minus_sign: | N/A | -| `canceledSubscriptionsCustomerService` | [int\|float\|null](../../Models/Components/MetricsTotalsCanceledSubscriptionsCustomerService.md) | :heavy_minus_sign: | N/A | -| `canceledSubscriptionsLowQuality` | [int\|float\|null](../../Models/Components/MetricsTotalsCanceledSubscriptionsLowQuality.md) | :heavy_minus_sign: | N/A | -| `canceledSubscriptionsMissingFeatures` | [int\|float\|null](../../Models/Components/MetricsTotalsCanceledSubscriptionsMissingFeatures.md) | :heavy_minus_sign: | N/A | -| `canceledSubscriptionsSwitchedService` | [int\|float\|null](../../Models/Components/MetricsTotalsCanceledSubscriptionsSwitchedService.md) | :heavy_minus_sign: | N/A | -| `canceledSubscriptionsTooComplex` | [int\|float\|null](../../Models/Components/MetricsTotalsCanceledSubscriptionsTooComplex.md) | :heavy_minus_sign: | N/A | -| `canceledSubscriptionsTooExpensive` | [int\|float\|null](../../Models/Components/MetricsTotalsCanceledSubscriptionsTooExpensive.md) | :heavy_minus_sign: | N/A | -| `canceledSubscriptionsUnused` | [int\|float\|null](../../Models/Components/MetricsTotalsCanceledSubscriptionsUnused.md) | :heavy_minus_sign: | N/A | -| `canceledSubscriptionsOther` | [int\|float\|null](../../Models/Components/MetricsTotalsCanceledSubscriptionsOther.md) | :heavy_minus_sign: | N/A | -| `checkoutsConversion` | [int\|float\|null](../../Models/Components/MetricsTotalsCheckoutsConversion.md) | :heavy_minus_sign: | N/A | -| `ltv` | [int\|float\|null](../../Models/Components/MetricsTotalsLtv.md) | :heavy_minus_sign: | N/A | -| `grossMargin` | [int\|float\|null](../../Models/Components/MetricsTotalsGrossMargin.md) | :heavy_minus_sign: | N/A | -| `grossMarginPercentage` | [int\|float\|null](../../Models/Components/MetricsTotalsGrossMarginPercentage.md) | :heavy_minus_sign: | N/A | -| `cashflow` | [int\|float\|null](../../Models/Components/MetricsTotalsCashflow.md) | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | +| `activeSubscriptions` | [int\|float\|null](../../Models/Components/MetricsTotalsActiveSubscriptions.md) | :heavy_minus_sign: | N/A | +| `committedSubscriptions` | [int\|float\|null](../../Models/Components/MetricsTotalsCommittedSubscriptions.md) | :heavy_minus_sign: | N/A | +| `monthlyRecurringRevenue` | [int\|float\|null](../../Models/Components/MetricsTotalsMonthlyRecurringRevenue.md) | :heavy_minus_sign: | N/A | +| `trialMonthlyRecurringRevenue` | [int\|float\|null](../../Models/Components/MetricsTotalsTrialMonthlyRecurringRevenue.md) | :heavy_minus_sign: | N/A | +| `committedMonthlyRecurringRevenue` | [int\|float\|null](../../Models/Components/MetricsTotalsCommittedMonthlyRecurringRevenue.md) | :heavy_minus_sign: | N/A | +| `trialCommittedMonthlyRecurringRevenue` | [int\|float\|null](../../Models/Components/MetricsTotalsTrialCommittedMonthlyRecurringRevenue.md) | :heavy_minus_sign: | N/A | +| `averageRevenuePerUser` | [int\|float\|null](../../Models/Components/MetricsTotalsAverageRevenuePerUser.md) | :heavy_minus_sign: | N/A | +| `checkouts` | [int\|float\|null](../../Models/Components/MetricsTotalsCheckouts.md) | :heavy_minus_sign: | N/A | +| `succeededCheckouts` | [int\|float\|null](../../Models/Components/MetricsTotalsSucceededCheckouts.md) | :heavy_minus_sign: | N/A | +| `churnedSubscriptions` | [int\|float\|null](../../Models/Components/MetricsTotalsChurnedSubscriptions.md) | :heavy_minus_sign: | N/A | +| `churnRate` | [int\|float\|null](../../Models/Components/MetricsTotalsChurnRate.md) | :heavy_minus_sign: | N/A | +| `seatsTotal` | [int\|float\|null](../../Models/Components/MetricsTotalsSeatsTotal.md) | :heavy_minus_sign: | N/A | +| `seatsClaimed` | [int\|float\|null](../../Models/Components/MetricsTotalsSeatsClaimed.md) | :heavy_minus_sign: | N/A | +| `seatsPending` | [int\|float\|null](../../Models/Components/MetricsTotalsSeatsPending.md) | :heavy_minus_sign: | N/A | +| `seatCustomers` | [int\|float\|null](../../Models/Components/MetricsTotalsSeatCustomers.md) | :heavy_minus_sign: | N/A | +| `newSeatCustomers` | [int\|float\|null](../../Models/Components/MetricsTotalsNewSeatCustomers.md) | :heavy_minus_sign: | N/A | +| `churnedSeatCustomers` | [int\|float\|null](../../Models/Components/MetricsTotalsChurnedSeatCustomers.md) | :heavy_minus_sign: | N/A | +| `orders` | [int\|float\|null](../../Models/Components/MetricsTotalsOrders.md) | :heavy_minus_sign: | N/A | +| `revenue` | [int\|float\|null](../../Models/Components/MetricsTotalsRevenue.md) | :heavy_minus_sign: | N/A | +| `netRevenue` | [int\|float\|null](../../Models/Components/MetricsTotalsNetRevenue.md) | :heavy_minus_sign: | N/A | +| `cumulativeRevenue` | [int\|float\|null](../../Models/Components/MetricsTotalsCumulativeRevenue.md) | :heavy_minus_sign: | N/A | +| `netCumulativeRevenue` | [int\|float\|null](../../Models/Components/MetricsTotalsNetCumulativeRevenue.md) | :heavy_minus_sign: | N/A | +| `costs` | [int\|float\|null](../../Models/Components/MetricsTotalsCosts.md) | :heavy_minus_sign: | N/A | +| `cumulativeCosts` | [int\|float\|null](../../Models/Components/MetricsTotalsCumulativeCosts.md) | :heavy_minus_sign: | N/A | +| `averageOrderValue` | [int\|float\|null](../../Models/Components/MetricsTotalsAverageOrderValue.md) | :heavy_minus_sign: | N/A | +| `netAverageOrderValue` | [int\|float\|null](../../Models/Components/MetricsTotalsNetAverageOrderValue.md) | :heavy_minus_sign: | N/A | +| `costPerUser` | [int\|float\|null](../../Models/Components/MetricsTotalsCostPerUser.md) | :heavy_minus_sign: | N/A | +| `activeUserByEvent` | [int\|float\|null](../../Models/Components/MetricsTotalsActiveUserByEvent.md) | :heavy_minus_sign: | N/A | +| `oneTimeProducts` | [int\|float\|null](../../Models/Components/MetricsTotalsOneTimeProducts.md) | :heavy_minus_sign: | N/A | +| `oneTimeProductsRevenue` | [int\|float\|null](../../Models/Components/MetricsTotalsOneTimeProductsRevenue.md) | :heavy_minus_sign: | N/A | +| `oneTimeProductsNetRevenue` | [int\|float\|null](../../Models/Components/MetricsTotalsOneTimeProductsNetRevenue.md) | :heavy_minus_sign: | N/A | +| `newSubscriptions` | [int\|float\|null](../../Models/Components/MetricsTotalsNewSubscriptions.md) | :heavy_minus_sign: | N/A | +| `newSubscriptionsRevenue` | [int\|float\|null](../../Models/Components/MetricsTotalsNewSubscriptionsRevenue.md) | :heavy_minus_sign: | N/A | +| `newSubscriptionsNetRevenue` | [int\|float\|null](../../Models/Components/MetricsTotalsNewSubscriptionsNetRevenue.md) | :heavy_minus_sign: | N/A | +| `renewedSubscriptions` | [int\|float\|null](../../Models/Components/MetricsTotalsRenewedSubscriptions.md) | :heavy_minus_sign: | N/A | +| `renewedSubscriptionsRevenue` | [int\|float\|null](../../Models/Components/MetricsTotalsRenewedSubscriptionsRevenue.md) | :heavy_minus_sign: | N/A | +| `renewedSubscriptionsNetRevenue` | [int\|float\|null](../../Models/Components/MetricsTotalsRenewedSubscriptionsNetRevenue.md) | :heavy_minus_sign: | N/A | +| `canceledSubscriptions` | [int\|float\|null](../../Models/Components/MetricsTotalsCanceledSubscriptions.md) | :heavy_minus_sign: | N/A | +| `canceledSubscriptionsCustomerService` | [int\|float\|null](../../Models/Components/MetricsTotalsCanceledSubscriptionsCustomerService.md) | :heavy_minus_sign: | N/A | +| `canceledSubscriptionsLowQuality` | [int\|float\|null](../../Models/Components/MetricsTotalsCanceledSubscriptionsLowQuality.md) | :heavy_minus_sign: | N/A | +| `canceledSubscriptionsMissingFeatures` | [int\|float\|null](../../Models/Components/MetricsTotalsCanceledSubscriptionsMissingFeatures.md) | :heavy_minus_sign: | N/A | +| `canceledSubscriptionsSwitchedService` | [int\|float\|null](../../Models/Components/MetricsTotalsCanceledSubscriptionsSwitchedService.md) | :heavy_minus_sign: | N/A | +| `canceledSubscriptionsTooComplex` | [int\|float\|null](../../Models/Components/MetricsTotalsCanceledSubscriptionsTooComplex.md) | :heavy_minus_sign: | N/A | +| `canceledSubscriptionsTooExpensive` | [int\|float\|null](../../Models/Components/MetricsTotalsCanceledSubscriptionsTooExpensive.md) | :heavy_minus_sign: | N/A | +| `canceledSubscriptionsUnused` | [int\|float\|null](../../Models/Components/MetricsTotalsCanceledSubscriptionsUnused.md) | :heavy_minus_sign: | N/A | +| `canceledSubscriptionsOther` | [int\|float\|null](../../Models/Components/MetricsTotalsCanceledSubscriptionsOther.md) | :heavy_minus_sign: | N/A | +| `annualRecurringRevenue` | [int\|float\|null](../../Models/Components/MetricsTotalsAnnualRecurringRevenue.md) | :heavy_minus_sign: | N/A | +| `committedAnnualRecurringRevenue` | [int\|float\|null](../../Models/Components/MetricsTotalsCommittedAnnualRecurringRevenue.md) | :heavy_minus_sign: | N/A | +| `checkoutsConversion` | [int\|float\|null](../../Models/Components/MetricsTotalsCheckoutsConversion.md) | :heavy_minus_sign: | N/A | +| `ltv` | [int\|float\|null](../../Models/Components/MetricsTotalsLtv.md) | :heavy_minus_sign: | N/A | +| `grossMargin` | [int\|float\|null](../../Models/Components/MetricsTotalsGrossMargin.md) | :heavy_minus_sign: | N/A | +| `grossMarginPercentage` | [int\|float\|null](../../Models/Components/MetricsTotalsGrossMarginPercentage.md) | :heavy_minus_sign: | N/A | +| `cashflow` | [int\|float\|null](../../Models/Components/MetricsTotalsCashflow.md) | :heavy_minus_sign: | N/A | +| `averageSeatsPerCustomer` | [int\|float\|null](../../Models/Components/MetricsTotalsAverageSeatsPerCustomer.md) | :heavy_minus_sign: | N/A | +| `seatUtilizationRate` | [int\|float\|null](../../Models/Components/MetricsTotalsSeatUtilizationRate.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/MetricsTotalsAnnualRecurringRevenue.md b/docs/Models/Components/MetricsTotalsAnnualRecurringRevenue.md new file mode 100644 index 00000000..57e70302 --- /dev/null +++ b/docs/Models/Components/MetricsTotalsAnnualRecurringRevenue.md @@ -0,0 +1,23 @@ +# MetricsTotalsAnnualRecurringRevenue + + +## Supported Types + +### `int` + +```php +/** +* @var int +*/ +int $value = /* values here */ +``` + +### `float` + +```php +/** +* @var float +*/ +float $value = /* values here */ +``` + diff --git a/docs/Models/Components/MetricsTotalsAverageSeatsPerCustomer.md b/docs/Models/Components/MetricsTotalsAverageSeatsPerCustomer.md new file mode 100644 index 00000000..f4920456 --- /dev/null +++ b/docs/Models/Components/MetricsTotalsAverageSeatsPerCustomer.md @@ -0,0 +1,23 @@ +# MetricsTotalsAverageSeatsPerCustomer + + +## Supported Types + +### `int` + +```php +/** +* @var int +*/ +int $value = /* values here */ +``` + +### `float` + +```php +/** +* @var float +*/ +float $value = /* values here */ +``` + diff --git a/docs/Models/Components/MetricsTotalsChurnedSeatCustomers.md b/docs/Models/Components/MetricsTotalsChurnedSeatCustomers.md new file mode 100644 index 00000000..c52d0e8b --- /dev/null +++ b/docs/Models/Components/MetricsTotalsChurnedSeatCustomers.md @@ -0,0 +1,23 @@ +# MetricsTotalsChurnedSeatCustomers + + +## Supported Types + +### `int` + +```php +/** +* @var int +*/ +int $value = /* values here */ +``` + +### `float` + +```php +/** +* @var float +*/ +float $value = /* values here */ +``` + diff --git a/docs/Models/Components/MetricsTotalsCommittedAnnualRecurringRevenue.md b/docs/Models/Components/MetricsTotalsCommittedAnnualRecurringRevenue.md new file mode 100644 index 00000000..a49dc7af --- /dev/null +++ b/docs/Models/Components/MetricsTotalsCommittedAnnualRecurringRevenue.md @@ -0,0 +1,23 @@ +# MetricsTotalsCommittedAnnualRecurringRevenue + + +## Supported Types + +### `int` + +```php +/** +* @var int +*/ +int $value = /* values here */ +``` + +### `float` + +```php +/** +* @var float +*/ +float $value = /* values here */ +``` + diff --git a/docs/Models/Components/MetricsTotalsNewSeatCustomers.md b/docs/Models/Components/MetricsTotalsNewSeatCustomers.md new file mode 100644 index 00000000..d3625222 --- /dev/null +++ b/docs/Models/Components/MetricsTotalsNewSeatCustomers.md @@ -0,0 +1,23 @@ +# MetricsTotalsNewSeatCustomers + + +## Supported Types + +### `int` + +```php +/** +* @var int +*/ +int $value = /* values here */ +``` + +### `float` + +```php +/** +* @var float +*/ +float $value = /* values here */ +``` + diff --git a/docs/Models/Components/MetricsTotalsSeatCustomers.md b/docs/Models/Components/MetricsTotalsSeatCustomers.md new file mode 100644 index 00000000..de70edcc --- /dev/null +++ b/docs/Models/Components/MetricsTotalsSeatCustomers.md @@ -0,0 +1,23 @@ +# MetricsTotalsSeatCustomers + + +## Supported Types + +### `int` + +```php +/** +* @var int +*/ +int $value = /* values here */ +``` + +### `float` + +```php +/** +* @var float +*/ +float $value = /* values here */ +``` + diff --git a/docs/Models/Components/MetricsTotalsSeatUtilizationRate.md b/docs/Models/Components/MetricsTotalsSeatUtilizationRate.md new file mode 100644 index 00000000..a55b5674 --- /dev/null +++ b/docs/Models/Components/MetricsTotalsSeatUtilizationRate.md @@ -0,0 +1,23 @@ +# MetricsTotalsSeatUtilizationRate + + +## Supported Types + +### `int` + +```php +/** +* @var int +*/ +int $value = /* values here */ +``` + +### `float` + +```php +/** +* @var float +*/ +float $value = /* values here */ +``` + diff --git a/docs/Models/Components/MetricsTotalsSeatsClaimed.md b/docs/Models/Components/MetricsTotalsSeatsClaimed.md new file mode 100644 index 00000000..fab67a71 --- /dev/null +++ b/docs/Models/Components/MetricsTotalsSeatsClaimed.md @@ -0,0 +1,23 @@ +# MetricsTotalsSeatsClaimed + + +## Supported Types + +### `int` + +```php +/** +* @var int +*/ +int $value = /* values here */ +``` + +### `float` + +```php +/** +* @var float +*/ +float $value = /* values here */ +``` + diff --git a/docs/Models/Components/MetricsTotalsSeatsPending.md b/docs/Models/Components/MetricsTotalsSeatsPending.md new file mode 100644 index 00000000..30c23fa4 --- /dev/null +++ b/docs/Models/Components/MetricsTotalsSeatsPending.md @@ -0,0 +1,23 @@ +# MetricsTotalsSeatsPending + + +## Supported Types + +### `int` + +```php +/** +* @var int +*/ +int $value = /* values here */ +``` + +### `float` + +```php +/** +* @var float +*/ +float $value = /* values here */ +``` + diff --git a/docs/Models/Components/MetricsTotalsSeatsTotal.md b/docs/Models/Components/MetricsTotalsSeatsTotal.md new file mode 100644 index 00000000..4b6748b7 --- /dev/null +++ b/docs/Models/Components/MetricsTotalsSeatsTotal.md @@ -0,0 +1,23 @@ +# MetricsTotalsSeatsTotal + + +## Supported Types + +### `int` + +```php +/** +* @var int +*/ +int $value = /* values here */ +``` + +### `float` + +```php +/** +* @var float +*/ +float $value = /* values here */ +``` + diff --git a/docs/Models/Components/MetricsTotalsTrialCommittedMonthlyRecurringRevenue.md b/docs/Models/Components/MetricsTotalsTrialCommittedMonthlyRecurringRevenue.md new file mode 100644 index 00000000..3b7519a6 --- /dev/null +++ b/docs/Models/Components/MetricsTotalsTrialCommittedMonthlyRecurringRevenue.md @@ -0,0 +1,23 @@ +# MetricsTotalsTrialCommittedMonthlyRecurringRevenue + + +## Supported Types + +### `int` + +```php +/** +* @var int +*/ +int $value = /* values here */ +``` + +### `float` + +```php +/** +* @var float +*/ +float $value = /* values here */ +``` + diff --git a/docs/Models/Components/MetricsTotalsTrialMonthlyRecurringRevenue.md b/docs/Models/Components/MetricsTotalsTrialMonthlyRecurringRevenue.md new file mode 100644 index 00000000..85c27db2 --- /dev/null +++ b/docs/Models/Components/MetricsTotalsTrialMonthlyRecurringRevenue.md @@ -0,0 +1,23 @@ +# MetricsTotalsTrialMonthlyRecurringRevenue + + +## Supported Types + +### `int` + +```php +/** +* @var int +*/ +int $value = /* values here */ +``` + +### `float` + +```php +/** +* @var float +*/ +float $value = /* values here */ +``` + diff --git a/docs/Models/Components/NewSeatCustomers.md b/docs/Models/Components/NewSeatCustomers.md new file mode 100644 index 00000000..b6b2b0aa --- /dev/null +++ b/docs/Models/Components/NewSeatCustomers.md @@ -0,0 +1,23 @@ +# NewSeatCustomers + + +## Supported Types + +### `int` + +```php +/** +* @var int +*/ +int $value = /* values here */ +``` + +### `float` + +```php +/** +* @var float +*/ +float $value = /* values here */ +``` + diff --git a/docs/Models/Components/Order.md b/docs/Models/Components/Order.md index 25eef8df..5d6e994b 100644 --- a/docs/Models/Components/Order.md +++ b/docs/Models/Components/Order.md @@ -23,14 +23,16 @@ | `billingReason` | [Components\OrderBillingReason](../../Models/Components/OrderBillingReason.md) | :heavy_check_mark: | N/A | | | `billingName` | *string* | :heavy_check_mark: | The name of the customer that should appear on the invoice. | | | `billingAddress` | [Components\Address](../../Models/Components/Address.md) | :heavy_check_mark: | N/A | | -| `invoiceNumber` | *string* | :heavy_check_mark: | The invoice number associated with this order. | | +| `invoiceNumber` | *string* | :heavy_check_mark: | The invoice number associated with this order. `null` while the order is in `draft` status; assigned at finalize. | | | `isInvoiceGenerated` | *bool* | :heavy_check_mark: | Whether an invoice has been generated for this order. | | +| `receiptNumber` | *string* | :heavy_check_mark: | The receipt number for this order. Set once the order is paid for organizations with receipts enabled. When set, a downloadable receipt PDF can be obtained via the receipt endpoint. | | | `seats` | *?int* | :heavy_minus_sign: | Number of seats purchased (for seat-based one-time orders). | | | `customerId` | *string* | :heavy_check_mark: | N/A | | | `productId` | *string* | :heavy_check_mark: | N/A | | | `discountId` | *string* | :heavy_check_mark: | N/A | | | `subscriptionId` | *string* | :heavy_check_mark: | N/A | | | `checkoutId` | *string* | :heavy_check_mark: | N/A | | +| `nextPaymentAttemptAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_minus_sign: | When the next automatic payment retry is scheduled. `null` if the order is not in dunning or all retries have been exhausted. | | | `metadata` | array | :heavy_check_mark: | N/A | | | `customFieldData` | array | :heavy_minus_sign: | Key-value object storing custom field values. | | | `platformFeeAmount` | *int* | :heavy_check_mark: | Platform fee amount in cents. | 500 | @@ -40,4 +42,6 @@ | `discount` | [Components\DiscountFixedOnceForeverDurationBase\|Components\DiscountFixedRepeatDurationBase\|Components\DiscountPercentageOnceForeverDurationBase\|Components\DiscountPercentageRepeatDurationBase](../../Models/Components/OrderDiscount.md) | :heavy_check_mark: | N/A | | | `subscription` | [Components\OrderSubscription](../../Models/Components/OrderSubscription.md) | :heavy_check_mark: | N/A | | | `items` | array<[Components\OrderItemSchema](../../Models/Components/OrderItemSchema.md)> | :heavy_check_mark: | Line items composing the order. | | -| `description` | *string* | :heavy_check_mark: | A summary description of the order. | Pro Plan | \ No newline at end of file +| `description` | *string* | :heavy_check_mark: | A summary description of the order. | Pro Plan | +| `refundableAmount` | *int* | :heavy_check_mark: | Amount in cents that can still be refunded (net, before taxes). Accounts for any applied customer balance and previous refunds. | 9000 | +| `refundableTaxAmount` | *int* | :heavy_check_mark: | Sales tax in cents that would be refunded if the full refundable amount is refunded. | 720 | \ No newline at end of file diff --git a/docs/Models/Components/DiscountPercentageOnceForeverDurationCreate.md b/docs/Models/Components/OrderCreate.md similarity index 65% rename from docs/Models/Components/DiscountPercentageOnceForeverDurationCreate.md rename to docs/Models/Components/OrderCreate.md index a9bc79e9..8143873b 100644 --- a/docs/Models/Components/DiscountPercentageOnceForeverDurationCreate.md +++ b/docs/Models/Components/OrderCreate.md @@ -1,20 +1,17 @@ -# DiscountPercentageOnceForeverDurationCreate +# OrderCreate -Schema to create a percentage discount that is applied once or forever. +Schema to create a draft order for an off-session charge. ## Fields | Field | Type | Required | Description | Example | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `duration` | [Components\DiscountDuration](../../Models/Components/DiscountDuration.md) | :heavy_check_mark: | N/A | | -| `type` | [Components\DiscountType](../../Models/Components/DiscountType.md) | :heavy_check_mark: | N/A | | -| `basisPoints` | *int* | :heavy_check_mark: | Discount percentage in basis points.

A basis point is 1/100th of a percent.
For example, to create a 25.5% discount, set this to 2550. | | -| `metadata` | array | :heavy_minus_sign: | Key-value object allowing you to store additional information.

The key must be a string with a maximum length of **40 characters**.
The value must be either:

* A string with a maximum length of **500 characters**
* An integer
* A floating-point number
* A boolean

You can store up to **50 key-value pairs**. | | -| `name` | *string* | :heavy_check_mark: | Name of the discount. Will be displayed to the customer when the discount is applied. | | -| `code` | *?string* | :heavy_minus_sign: | Code customers can use to apply the discount during checkout. Must be between 3 and 256 characters long and contain only alphanumeric characters.If not provided, the discount can only be applied via the API. | | -| `startsAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_minus_sign: | Optional timestamp after which the discount is redeemable. | | -| `endsAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_minus_sign: | Optional timestamp after which the discount is no longer redeemable. | | -| `maxRedemptions` | *?int* | :heavy_minus_sign: | Optional maximum number of times the discount can be redeemed. | | -| `products` | array<*string*> | :heavy_minus_sign: | N/A | | -| `organizationId` | *?string* | :heavy_minus_sign: | The ID of the organization owning the discount. **Required unless you use an organization token.** | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | \ No newline at end of file +| `customFieldData` | array | :heavy_minus_sign: | Key-value object storing custom field values. | | +| `metadata` | array | :heavy_minus_sign: | Key-value object allowing you to store additional information.

The key must be a string with a maximum length of **40 characters**.
The value must be either:

* A string with a maximum length of **500 characters**
* An integer
* A floating-point number
* A boolean

You can store up to **50 key-value pairs**. | | +| `organizationId` | *?string* | :heavy_minus_sign: | The ID of the organization the order belongs to. **Required unless you use an organization token.** The customer and product must belong to this organization. | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | +| `customerId` | *string* | :heavy_check_mark: | The ID of the customer the order is for. Must belong to the order's organization. | | +| `productId` | *string* | :heavy_check_mark: | The ID of the one-time product to charge for. Must belong to the order's organization. Only fixed-price and free products are supported. | | +| `currency` | *?string* | :heavy_minus_sign: | The currency to charge in (ISO 4217, lowercase, e.g. `usd`). Defaults to the organization's default currency; specify it to force a different one, or when the product isn't priced in the organization's default currency. | | +| `amount` | *?int* | :heavy_minus_sign: | A custom amount to charge, in the smallest currency unit. Overrides the product's price; defaults to the product's configured price (0 for free products). A positive amount must be at least the currency's minimum. | | +| `description` | *?string* | :heavy_minus_sign: | A custom description for the order's line item, shown on the invoice and receipt (e.g. `5,000 tokens`). Defaults to the product name. | | \ No newline at end of file diff --git a/docs/Models/Components/OrderCreateCustomFieldData.md b/docs/Models/Components/OrderCreateCustomFieldData.md new file mode 100644 index 00000000..26d60750 --- /dev/null +++ b/docs/Models/Components/OrderCreateCustomFieldData.md @@ -0,0 +1,41 @@ +# OrderCreateCustomFieldData + + +## Supported Types + +### `string` + +```php +/** +* @var string +*/ +string $value = /* values here */ +``` + +### `int` + +```php +/** +* @var int +*/ +int $value = /* values here */ +``` + +### `bool` + +```php +/** +* @var bool +*/ +bool $value = /* values here */ +``` + +### `\DateTime` + +```php +/** +* @var \DateTime +*/ +\DateTime $value = /* values here */ +``` + diff --git a/docs/Models/Components/OrderCreateMetadata.md b/docs/Models/Components/OrderCreateMetadata.md new file mode 100644 index 00000000..3248775d --- /dev/null +++ b/docs/Models/Components/OrderCreateMetadata.md @@ -0,0 +1,41 @@ +# OrderCreateMetadata + + +## Supported Types + +### `string` + +```php +/** +* @var string +*/ +string $value = /* values here */ +``` + +### `int` + +```php +/** +* @var int +*/ +int $value = /* values here */ +``` + +### `float` + +```php +/** +* @var float +*/ +float $value = /* values here */ +``` + +### `bool` + +```php +/** +* @var bool +*/ +bool $value = /* values here */ +``` + diff --git a/docs/Models/Components/OrderCustomer.md b/docs/Models/Components/OrderCustomer.md index 3ffeaa11..85565443 100644 --- a/docs/Models/Components/OrderCustomer.md +++ b/docs/Models/Components/OrderCustomer.md @@ -14,9 +14,11 @@ | `emailVerified` | *bool* | :heavy_check_mark: | Whether the customer email address is verified. The address is automatically verified when the customer accesses the customer portal using their email address. | true | | `type` | [Components\CustomerType](../../Models/Components/CustomerType.md) | :heavy_check_mark: | N/A | | | `name` | *string* | :heavy_check_mark: | The name of the customer. | John Doe | +| `billingName` | *string* | :heavy_check_mark: | The name that should appear on the customer's invoices. Falls back to the customer name when not explicitly set. | John Doe | | `billingAddress` | [Components\Address](../../Models/Components/Address.md) | :heavy_check_mark: | N/A | | | `taxId` | array<[string\|Components\TaxIDFormat](../../Models/Components/OrderCustomerTaxId.md)> | :heavy_check_mark: | N/A | **Example 1:** [
"911144442",
"us_ein"
]
**Example 2:** [
"FR61954506077",
"eu_vat"
] | | `locale` | *?string* | :heavy_minus_sign: | N/A | | | `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the customer. | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | +| `defaultPaymentMethodId` | *?string* | :heavy_minus_sign: | The ID of the customer's default payment method, if any. Use the payment methods endpoint to retrieve its details. | | | `deletedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Timestamp for when the customer was soft deleted. | | | `avatarUrl` | *string* | :heavy_check_mark: | N/A | https://www.gravatar.com/avatar/xxx?d=404 | \ No newline at end of file diff --git a/docs/Models/Components/OrderFinalize.md b/docs/Models/Components/OrderFinalize.md new file mode 100644 index 00000000..ebbabb88 --- /dev/null +++ b/docs/Models/Components/OrderFinalize.md @@ -0,0 +1,10 @@ +# OrderFinalize + +Schema to finalize a draft order and trigger an off-session charge. + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | +| `paymentMethodId` | *?string* | :heavy_minus_sign: | ID of the payment method to charge. Must belong to the order's customer. Falls back to the customer's default payment method when unset. | \ No newline at end of file diff --git a/docs/Models/Components/OrderProduct.md b/docs/Models/Components/OrderProduct.md index bdd031d8..e253f527 100644 --- a/docs/Models/Components/OrderProduct.md +++ b/docs/Models/Components/OrderProduct.md @@ -14,8 +14,10 @@ | `name` | *string* | :heavy_check_mark: | The name of the product. | | `description` | *string* | :heavy_check_mark: | The description of the product. | | `visibility` | [Components\ProductVisibility](../../Models/Components/ProductVisibility.md) | :heavy_check_mark: | N/A | -| `recurringInterval` | [Components\SubscriptionRecurringInterval](../../Models/Components/SubscriptionRecurringInterval.md) | :heavy_check_mark: | The recurring interval of the product. If `None`, the product is a one-time purchase. | +| `recurringInterval` | [Components\RecurringInterval](../../Models/Components/RecurringInterval.md) | :heavy_check_mark: | The recurring interval of the product. If `None`, the product is a one-time purchase. | | `recurringIntervalCount` | *int* | :heavy_check_mark: | Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. None for one-time products. | +| `meterInterval` | [Components\RecurringInterval](../../Models/Components/RecurringInterval.md) | :heavy_check_mark: | The meter cycle of the product, independent of the billing interval. If `None`, metered concerns follow the billing interval. | +| `meterIntervalCount` | *int* | :heavy_check_mark: | Number of meter interval units. None when no meter cycle is set. | | `isRecurring` | *bool* | :heavy_check_mark: | Whether the product is a subscription. | | `isArchived` | *bool* | :heavy_check_mark: | Whether the product is archived and no longer available. | | `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the product. | \ No newline at end of file diff --git a/docs/Models/Components/OrderReceipt.md b/docs/Models/Components/OrderReceipt.md new file mode 100644 index 00000000..26a2564e --- /dev/null +++ b/docs/Models/Components/OrderReceipt.md @@ -0,0 +1,10 @@ +# OrderReceipt + +Order's receipt data. + + +## Fields + +| Field | Type | Required | Description | +| --------------------------- | --------------------------- | --------------------------- | --------------------------- | +| `url` | *string* | :heavy_check_mark: | The URL to the receipt PDF. | \ No newline at end of file diff --git a/docs/Models/Components/OrderStatus.md b/docs/Models/Components/OrderStatus.md index 25ad2217..fae69ae1 100644 --- a/docs/Models/Components/OrderStatus.md +++ b/docs/Models/Components/OrderStatus.md @@ -5,6 +5,7 @@ | Name | Value | | ------------------- | ------------------- | +| `Draft` | draft | | `Pending` | pending | | `Paid` | paid | | `Refunded` | refunded | diff --git a/docs/Models/Components/OrderSubscription.md b/docs/Models/Components/OrderSubscription.md index 0d1c7141..017f3709 100644 --- a/docs/Models/Components/OrderSubscription.md +++ b/docs/Models/Components/OrderSubscription.md @@ -11,11 +11,13 @@ | `id` | *string* | :heavy_check_mark: | The ID of the object. | | | `amount` | *int* | :heavy_check_mark: | The amount of the subscription. | 10000 | | `currency` | *string* | :heavy_check_mark: | The currency of the subscription. | usd | -| `recurringInterval` | [Components\SubscriptionRecurringInterval](../../Models/Components/SubscriptionRecurringInterval.md) | :heavy_check_mark: | N/A | | +| `recurringInterval` | [Components\RecurringInterval](../../Models/Components/RecurringInterval.md) | :heavy_check_mark: | N/A | | | `recurringIntervalCount` | *int* | :heavy_check_mark: | Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. | | | `status` | [Components\SubscriptionStatus](../../Models/Components/SubscriptionStatus.md) | :heavy_check_mark: | N/A | | | `currentPeriodStart` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The start timestamp of the current billing period. | | | `currentPeriodEnd` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The end timestamp of the current billing period. | | +| `currentMeterPeriodStart` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The start timestamp of the current meter period, if the product has a meter cycle set. Metered credits are granted and overage is settled on this cadence. | | +| `currentMeterPeriodEnd` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The end timestamp of the current meter period, if the product has a meter cycle set. This is when credits next renew. | | | `trialStart` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The start timestamp of the trial period, if any. | | | `trialEnd` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The end timestamp of the trial period, if any. | | | `cancelAtPeriodEnd` | *bool* | :heavy_check_mark: | Whether the subscription will be canceled at the end of the current period. | | @@ -23,6 +25,10 @@ | `startedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The timestamp when the subscription started. | | | `endsAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The timestamp when the subscription will end. | | | `endedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The timestamp when the subscription ended. | | +| `pastDueAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_minus_sign: | The timestamp when the subscription entered `past_due` status. | | +| `pauseAtPeriodEnd` | *bool* | :heavy_check_mark: | Whether the subscription will be paused at the end of the current period. | | +| `pausedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The timestamp when the subscription was paused. | | +| `resumesAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The timestamp when a paused subscription is scheduled to automatically resume, if set. | | | `customerId` | *string* | :heavy_check_mark: | The ID of the subscribed customer. | | | `productId` | *string* | :heavy_check_mark: | The ID of the subscribed product. | | | `discountId` | *string* | :heavy_check_mark: | The ID of the applied discount, if any. | | diff --git a/docs/Models/Components/Organization.md b/docs/Models/Components/Organization.md index 2426731d..0c9c1f9f 100644 --- a/docs/Models/Components/Organization.md +++ b/docs/Models/Components/Organization.md @@ -18,11 +18,14 @@ | `socials` | array<[Components\OrganizationSocialLink](../../Models/Components/OrganizationSocialLink.md)> | :heavy_check_mark: | Links to social profiles. | | `status` | [Components\OrganizationStatus](../../Models/Components/OrganizationStatus.md) | :heavy_check_mark: | N/A | | `detailsSubmittedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | When the business details were submitted for review. | +| `ssoEnforced` | *bool* | :heavy_check_mark: | Whether members must access this organization through its SSO connection. | | `defaultPresentmentCurrency` | *string* | :heavy_check_mark: | Default presentment currency. Used as fallback in checkout and customer portal, if the customer's local currency is not available. | | `defaultTaxBehavior` | [Components\TaxBehaviorOption](../../Models/Components/TaxBehaviorOption.md) | :heavy_check_mark: | N/A | | `featureSettings` | [Components\OrganizationFeatureSettings](../../Models/Components/OrganizationFeatureSettings.md) | :heavy_check_mark: | Organization feature settings | | `subscriptionSettings` | [Components\OrganizationSubscriptionSettings](../../Models/Components/OrganizationSubscriptionSettings.md) | :heavy_check_mark: | N/A | -| `notificationSettings` | [Components\OrganizationNotificationSettings](../../Models/Components/OrganizationNotificationSettings.md) | :heavy_check_mark: | N/A | | `customerEmailSettings` | [Components\OrganizationCustomerEmailSettings](../../Models/Components/OrganizationCustomerEmailSettings.md) | :heavy_check_mark: | N/A | | `customerPortalSettings` | [Components\OrganizationCustomerPortalSettings](../../Models/Components/OrganizationCustomerPortalSettings.md) | :heavy_check_mark: | N/A | -| `country` | [?Components\CountryAlpha2](../../Models/Components/CountryAlpha2.md) | :heavy_minus_sign: | Two-letter country code (ISO 3166-1 alpha-2). | \ No newline at end of file +| `country` | [?Components\CountryAlpha2](../../Models/Components/CountryAlpha2.md) | :heavy_minus_sign: | Two-letter country code (ISO 3166-1 alpha-2). | +| `accountId` | *string* | :heavy_check_mark: | ID of the transactions account. | +| `payoutAccountId` | *string* | :heavy_check_mark: | ID of the payout account. | +| `capabilities` | [Components\OrganizationCapabilities](../../Models/Components/OrganizationCapabilities.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/OrganizationAccessToken.md b/docs/Models/Components/OrganizationAccessToken.md deleted file mode 100644 index f98b6c88..00000000 --- a/docs/Models/Components/OrganizationAccessToken.md +++ /dev/null @@ -1,15 +0,0 @@ -# OrganizationAccessToken - - -## Fields - -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | -| `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Creation timestamp of the object. | | -| `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Last modification timestamp of the object. | | -| `id` | *string* | :heavy_check_mark: | N/A | | -| `scopes` | array<[Components\Scope](../../Models/Components/Scope.md)> | :heavy_check_mark: | N/A | | -| `expiresAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | N/A | | -| `comment` | *string* | :heavy_check_mark: | N/A | | -| `lastUsedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | N/A | | -| `organizationId` | *string* | :heavy_check_mark: | The organization ID. | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | \ No newline at end of file diff --git a/docs/Models/Components/OrganizationAccessTokenCreate.md b/docs/Models/Components/OrganizationAccessTokenCreate.md deleted file mode 100644 index 853317a4..00000000 --- a/docs/Models/Components/OrganizationAccessTokenCreate.md +++ /dev/null @@ -1,11 +0,0 @@ -# OrganizationAccessTokenCreate - - -## Fields - -| Field | Type | Required | Description | -| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | -| `organizationId` | *?string* | :heavy_minus_sign: | N/A | -| `comment` | *string* | :heavy_check_mark: | N/A | -| `expiresIn` | *?string* | :heavy_minus_sign: | N/A | -| `scopes` | array<[Components\AvailableScope](../../Models/Components/AvailableScope.md)> | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/OrganizationAccessTokenCreateResponse.md b/docs/Models/Components/OrganizationAccessTokenCreateResponse.md deleted file mode 100644 index 0c215583..00000000 --- a/docs/Models/Components/OrganizationAccessTokenCreateResponse.md +++ /dev/null @@ -1,9 +0,0 @@ -# OrganizationAccessTokenCreateResponse - - -## Fields - -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | -| `organizationAccessToken` | [Components\OrganizationAccessToken](../../Models/Components/OrganizationAccessToken.md) | :heavy_check_mark: | N/A | -| `token` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/OrganizationAccessTokenSortProperty.md b/docs/Models/Components/OrganizationAccessTokenSortProperty.md deleted file mode 100644 index 8468181e..00000000 --- a/docs/Models/Components/OrganizationAccessTokenSortProperty.md +++ /dev/null @@ -1,15 +0,0 @@ -# OrganizationAccessTokenSortProperty - - -## Values - -| Name | Value | -| --------------------- | --------------------- | -| `CreatedAt` | created_at | -| `MinusCreatedAt` | -created_at | -| `Comment` | comment | -| `MinusComment` | -comment | -| `LastUsedAt` | last_used_at | -| `MinusLastUsedAt` | -last_used_at | -| `OrganizationId` | organization_id | -| `MinusOrganizationId` | -organization_id | \ No newline at end of file diff --git a/docs/Models/Components/OrganizationAccessTokenUpdate.md b/docs/Models/Components/OrganizationAccessTokenUpdate.md deleted file mode 100644 index 90962fa2..00000000 --- a/docs/Models/Components/OrganizationAccessTokenUpdate.md +++ /dev/null @@ -1,9 +0,0 @@ -# OrganizationAccessTokenUpdate - - -## Fields - -| Field | Type | Required | Description | -| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | -| `comment` | *?string* | :heavy_minus_sign: | N/A | -| `scopes` | array<[Components\AvailableScope](../../Models/Components/AvailableScope.md)> | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/OrganizationCapabilities.md b/docs/Models/Components/OrganizationCapabilities.md new file mode 100644 index 00000000..7bf1bdb7 --- /dev/null +++ b/docs/Models/Components/OrganizationCapabilities.md @@ -0,0 +1,13 @@ +# OrganizationCapabilities + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `checkoutPayments` | *bool* | :heavy_check_mark: | Whether the organization can accept new checkout payments. | +| `subscriptionRenewals` | *bool* | :heavy_check_mark: | Whether the organization can process subscription renewals. | +| `payouts` | *bool* | :heavy_check_mark: | Whether the organization can withdraw its balance. | +| `refunds` | *bool* | :heavy_check_mark: | Whether the organization can issue refunds. | +| `apiAccess` | *bool* | :heavy_check_mark: | Whether the organization can access the API. | +| `dashboardAccess` | *bool* | :heavy_check_mark: | Whether the organization can access the dashboard. | \ No newline at end of file diff --git a/docs/Models/Components/OrganizationCreate.md b/docs/Models/Components/OrganizationCreate.md index 545febb7..79087ab4 100644 --- a/docs/Models/Components/OrganizationCreate.md +++ b/docs/Models/Components/OrganizationCreate.md @@ -14,9 +14,8 @@ | `socials` | array<[Components\OrganizationSocialLink](../../Models/Components/OrganizationSocialLink.md)> | :heavy_minus_sign: | Link to social profiles. | | `details` | [?Components\OrganizationDetails](../../Models/Components/OrganizationDetails.md) | :heavy_minus_sign: | Additional, private, business details Polar needs about active organizations for compliance (KYC). | | `country` | [?Components\CountryAlpha2Input](../../Models/Components/CountryAlpha2Input.md) | :heavy_minus_sign: | Two-letter country code (ISO 3166-1 alpha-2). | -| `featureSettings` | [?Components\OrganizationFeatureSettings](../../Models/Components/OrganizationFeatureSettings.md) | :heavy_minus_sign: | N/A | +| `featureSettings` | [?Components\OrganizationFeatureSettingsUpdate](../../Models/Components/OrganizationFeatureSettingsUpdate.md) | :heavy_minus_sign: | N/A | | `subscriptionSettings` | [?Components\OrganizationSubscriptionSettings](../../Models/Components/OrganizationSubscriptionSettings.md) | :heavy_minus_sign: | N/A | -| `notificationSettings` | [?Components\OrganizationNotificationSettings](../../Models/Components/OrganizationNotificationSettings.md) | :heavy_minus_sign: | N/A | | `customerEmailSettings` | [?Components\OrganizationCustomerEmailSettings](../../Models/Components/OrganizationCustomerEmailSettings.md) | :heavy_minus_sign: | N/A | | `customerPortalSettings` | [?Components\OrganizationCustomerPortalSettings](../../Models/Components/OrganizationCustomerPortalSettings.md) | :heavy_minus_sign: | N/A | | `defaultPresentmentCurrency` | [?Components\PresentmentCurrency](../../Models/Components/PresentmentCurrency.md) | :heavy_minus_sign: | N/A | diff --git a/docs/Models/Components/OrganizationCustomerEmailSettings.md b/docs/Models/Components/OrganizationCustomerEmailSettings.md index 4f83cc85..4b9b232f 100644 --- a/docs/Models/Components/OrganizationCustomerEmailSettings.md +++ b/docs/Models/Components/OrganizationCustomerEmailSettings.md @@ -11,6 +11,8 @@ | `subscriptionCycled` | *bool* | :heavy_check_mark: | N/A | | `subscriptionCycledAfterTrial` | *bool* | :heavy_check_mark: | N/A | | `subscriptionPastDue` | *bool* | :heavy_check_mark: | N/A | +| `subscriptionPaused` | *bool* | :heavy_check_mark: | N/A | +| `subscriptionResumed` | *bool* | :heavy_check_mark: | N/A | | `subscriptionRenewalReminder` | *bool* | :heavy_check_mark: | N/A | | `subscriptionRevoked` | *bool* | :heavy_check_mark: | N/A | | `subscriptionTrialConversionReminder` | *bool* | :heavy_check_mark: | N/A | diff --git a/docs/Models/Components/OrganizationCustomerPortalSettings.md b/docs/Models/Components/OrganizationCustomerPortalSettings.md index 65f06a86..86fd5cbc 100644 --- a/docs/Models/Components/OrganizationCustomerPortalSettings.md +++ b/docs/Models/Components/OrganizationCustomerPortalSettings.md @@ -6,4 +6,5 @@ | Field | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | | `usage` | [Components\CustomerPortalUsageSettings](../../Models/Components/CustomerPortalUsageSettings.md) | :heavy_check_mark: | N/A | -| `subscription` | [Components\CustomerPortalSubscriptionSettings](../../Models/Components/CustomerPortalSubscriptionSettings.md) | :heavy_check_mark: | N/A | \ No newline at end of file +| `subscription` | [Components\CustomerPortalSubscriptionSettings](../../Models/Components/CustomerPortalSubscriptionSettings.md) | :heavy_check_mark: | N/A | +| `customer` | [?Components\CustomerPortalCustomerSettings](../../Models/Components/CustomerPortalCustomerSettings.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/OrganizationFeatureSettings.md b/docs/Models/Components/OrganizationFeatureSettings.md index a1501731..016c1bd4 100644 --- a/docs/Models/Components/OrganizationFeatureSettings.md +++ b/docs/Models/Components/OrganizationFeatureSettings.md @@ -3,14 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | -| `issueFundingEnabled` | *?bool* | :heavy_minus_sign: | If this organization has issue funding enabled | -| `seatBasedPricingEnabled` | *?bool* | :heavy_minus_sign: | If this organization has seat-based pricing enabled | -| `revopsEnabled` | *?bool* | :heavy_minus_sign: | If this organization has RevOps enabled | -| `walletsEnabled` | *?bool* | :heavy_minus_sign: | If this organization has Wallets enabled | -| `memberModelEnabled` | *?bool* | :heavy_minus_sign: | If this organization has the Member model enabled | -| `tinybirdRead` | *?bool* | :heavy_minus_sign: | If this organization reads from Tinybird | -| `tinybirdCompare` | *?bool* | :heavy_minus_sign: | If this organization compares Tinybird results with database | -| `checkoutLocalizationEnabled` | *?bool* | :heavy_minus_sign: | If this organization has checkout localization enabled | -| `overviewMetrics` | array<*string*> | :heavy_minus_sign: | Ordered list of metric slugs shown on the dashboard overview. | \ No newline at end of file +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | +| `issueFundingEnabled` | *?bool* | :heavy_minus_sign: | If this organization has issue funding enabled | +| `seatBasedPricingEnabled` | *?bool* | :heavy_minus_sign: | If this organization has seat-based pricing enabled | +| `walletsEnabled` | *?bool* | :heavy_minus_sign: | If this organization has Wallets enabled | +| `memberModelEnabled` | *?bool* | :heavy_minus_sign: | If this organization has the Member model enabled | +| `checkoutLocalizationEnabled` | *?bool* | :heavy_minus_sign: | If this organization has checkout localization enabled | +| `overviewMetrics` | array<*string*> | :heavy_minus_sign: | Ordered list of metric slugs shown on the dashboard overview. | +| `resetProrationBehaviorEnabled` | *?bool* | :heavy_minus_sign: | If this organization has access to reset proration behavior. | +| `offSessionChargesEnabled` | *?bool* | :heavy_minus_sign: | If this organization can create and finalize draft orders via the API (off-session charges against a saved payment method). | +| `slackBenefitEnabled` | *?bool* | :heavy_minus_sign: | Enables the slack shared channel benefit | +| `previewAccessEnabled` | *?bool* | :heavy_minus_sign: | If this organization has preview access to new features enabled | +| `disputesEnabled` | *?bool* | :heavy_minus_sign: | If this organization has the disputes dashboard enabled | +| `ssoEnabled` | *?bool* | :heavy_minus_sign: | If this organization has single sign-on configuration enabled | +| `compassEnabled` | *?bool* | :heavy_minus_sign: | If this organization has the split product navigation (Billing / Compass / Customers) enabled in the dashboard | +| `merchantMigrationEnabled` | *?bool* | :heavy_minus_sign: | If this organization can migrate its billing from another provider (e.g. Stripe) to Polar. | \ No newline at end of file diff --git a/docs/Models/Components/OrganizationFeatureSettingsUpdate.md b/docs/Models/Components/OrganizationFeatureSettingsUpdate.md new file mode 100644 index 00000000..23bc95d3 --- /dev/null +++ b/docs/Models/Components/OrganizationFeatureSettingsUpdate.md @@ -0,0 +1,16 @@ +# OrganizationFeatureSettingsUpdate + +Feature settings that organizations can update themselves. + +Other feature settings are managed by Polar staff: they're ignored if +provided and keep their current value. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | +| `seatBasedPricingEnabled` | *?bool* | :heavy_minus_sign: | If this organization has seat-based pricing enabled | +| `memberModelEnabled` | *?bool* | :heavy_minus_sign: | If this organization has the Member model enabled | +| `checkoutLocalizationEnabled` | *?bool* | :heavy_minus_sign: | If this organization has checkout localization enabled | +| `overviewMetrics` | array<*string*> | :heavy_minus_sign: | Ordered list of metric slugs shown on the dashboard overview. | \ No newline at end of file diff --git a/docs/Models/Components/OrganizationStatus.md b/docs/Models/Components/OrganizationStatus.md index 20e9730a..6f7095da 100644 --- a/docs/Models/Components/OrganizationStatus.md +++ b/docs/Models/Components/OrganizationStatus.md @@ -3,11 +3,13 @@ ## Values -| Name | Value | -| ------------------- | ------------------- | -| `Created` | created | -| `OnboardingStarted` | onboarding_started | -| `InitialReview` | initial_review | -| `OngoingReview` | ongoing_review | -| `Denied` | denied | -| `Active` | active | \ No newline at end of file +| Name | Value | +| ------------- | ------------- | +| `Created` | created | +| `Review` | review | +| `Snoozed` | snoozed | +| `Denied` | denied | +| `Active` | active | +| `Blocked` | blocked | +| `Offboarding` | offboarding | +| `Offboarded` | offboarded | \ No newline at end of file diff --git a/docs/Models/Components/OrganizationSubscriptionSettings.md b/docs/Models/Components/OrganizationSubscriptionSettings.md index ecb5636f..81de9a58 100644 --- a/docs/Models/Components/OrganizationSubscriptionSettings.md +++ b/docs/Models/Components/OrganizationSubscriptionSettings.md @@ -3,10 +3,10 @@ ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | -| `allowMultipleSubscriptions` | *bool* | :heavy_check_mark: | N/A | -| `allowCustomerUpdates` | *bool* | :heavy_check_mark: | N/A | -| `prorationBehavior` | [Components\SubscriptionProrationBehavior](../../Models/Components/SubscriptionProrationBehavior.md) | :heavy_check_mark: | N/A | -| `benefitRevocationGracePeriod` | *int* | :heavy_check_mark: | N/A | -| `preventTrialAbuse` | *bool* | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | +| `allowMultipleSubscriptions` | *bool* | :heavy_check_mark: | N/A | +| `prorationBehavior` | [Components\PublicSubscriptionProrationBehavior](../../Models/Components/PublicSubscriptionProrationBehavior.md) | :heavy_check_mark: | N/A | +| `benefitRevocationGracePeriod` | *int* | :heavy_check_mark: | N/A | +| `preventTrialAbuse` | *bool* | :heavy_check_mark: | N/A | +| `allowCustomerUpdates` | *bool* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/OrganizationUpdate.md b/docs/Models/Components/OrganizationUpdate.md index f55eb048..ad66c571 100644 --- a/docs/Models/Components/OrganizationUpdate.md +++ b/docs/Models/Components/OrganizationUpdate.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | -| --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | -| `name` | *?string* | :heavy_minus_sign: | N/A | -| `avatarUrl` | *?string* | :heavy_minus_sign: | N/A | -| `email` | *?string* | :heavy_minus_sign: | Public support email. | -| `website` | *?string* | :heavy_minus_sign: | Official website of the organization. | -| `socials` | array<[Components\OrganizationSocialLink](../../Models/Components/OrganizationSocialLink.md)> | :heavy_minus_sign: | Links to social profiles. | -| `details` | [?Components\OrganizationDetails](../../Models/Components/OrganizationDetails.md) | :heavy_minus_sign: | Additional, private, business details Polar needs about active organizations for compliance (KYC). | -| `country` | [?Components\CountryCountryAlpha2Input](../../Models/Components/CountryCountryAlpha2Input.md) | :heavy_minus_sign: | Two-letter country code (ISO 3166-1 alpha-2). | -| `featureSettings` | [?Components\OrganizationFeatureSettings](../../Models/Components/OrganizationFeatureSettings.md) | :heavy_minus_sign: | N/A | -| `subscriptionSettings` | [?Components\OrganizationSubscriptionSettings](../../Models/Components/OrganizationSubscriptionSettings.md) | :heavy_minus_sign: | N/A | -| `notificationSettings` | [?Components\OrganizationNotificationSettings](../../Models/Components/OrganizationNotificationSettings.md) | :heavy_minus_sign: | N/A | -| `customerEmailSettings` | [?Components\OrganizationCustomerEmailSettings](../../Models/Components/OrganizationCustomerEmailSettings.md) | :heavy_minus_sign: | N/A | -| `customerPortalSettings` | [?Components\OrganizationCustomerPortalSettings](../../Models/Components/OrganizationCustomerPortalSettings.md) | :heavy_minus_sign: | N/A | -| `defaultPresentmentCurrency` | [?Components\PresentmentCurrency](../../Models/Components/PresentmentCurrency.md) | :heavy_minus_sign: | Default presentment currency for the organization | -| `defaultTaxBehavior` | [?Components\TaxBehaviorOption](../../Models/Components/TaxBehaviorOption.md) | :heavy_minus_sign: | Default tax behavior applied on products. | \ No newline at end of file +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `name` | *?string* | :heavy_minus_sign: | N/A | +| `avatarUrl` | *?string* | :heavy_minus_sign: | N/A | +| `email` | *?string* | :heavy_minus_sign: | Public support email. | +| `website` | *?string* | :heavy_minus_sign: | Official website of the organization. | +| `socials` | array<[Components\OrganizationSocialLink](../../Models/Components/OrganizationSocialLink.md)> | :heavy_minus_sign: | Links to social profiles. | +| `details` | [?Components\OrganizationDetails](../../Models/Components/OrganizationDetails.md) | :heavy_minus_sign: | Additional, private, business details Polar needs about active organizations for compliance (KYC). | +| `country` | [?Components\CountryCountryAlpha2Input](../../Models/Components/CountryCountryAlpha2Input.md) | :heavy_minus_sign: | Two-letter country code (ISO 3166-1 alpha-2). | +| `featureSettings` | [?Components\OrganizationFeatureSettingsUpdate](../../Models/Components/OrganizationFeatureSettingsUpdate.md) | :heavy_minus_sign: | N/A | +| `subscriptionSettings` | [?Components\OrganizationSubscriptionSettings](../../Models/Components/OrganizationSubscriptionSettings.md) | :heavy_minus_sign: | N/A | +| `customerEmailSettings` | [?Components\OrganizationCustomerEmailSettings](../../Models/Components/OrganizationCustomerEmailSettings.md) | :heavy_minus_sign: | N/A | +| `customerPortalSettings` | [?Components\OrganizationCustomerPortalSettings](../../Models/Components/OrganizationCustomerPortalSettings.md) | :heavy_minus_sign: | N/A | +| `defaultPresentmentCurrency` | [?Components\PresentmentCurrency](../../Models/Components/PresentmentCurrency.md) | :heavy_minus_sign: | Default presentment currency for the organization | +| `defaultTaxBehavior` | [?Components\TaxBehaviorOption](../../Models/Components/TaxBehaviorOption.md) | :heavy_minus_sign: | Default tax behavior applied on products. | +| `ssoEnforced` | *?bool* | :heavy_minus_sign: | Whether members must access this organization through its SSO connection. Turning this on requires an active SSO session for this organization and at least one enabled SSO connection. | \ No newline at end of file diff --git a/docs/Models/Components/PaymentMethod.md b/docs/Models/Components/PaymentMethod.md new file mode 100644 index 00000000..ab5a21e1 --- /dev/null +++ b/docs/Models/Components/PaymentMethod.md @@ -0,0 +1,23 @@ +# PaymentMethod + + +## Supported Types + +### `Components\CustomerPaymentMethodCard` + +```php +/** +* @var \Polar\Models\Components\CustomerPaymentMethodCard +*/ +Components\CustomerPaymentMethodCard $value = /* values here */ +``` + +### `Components\CustomerPaymentMethodGeneric` + +```php +/** +* @var \Polar\Models\Components\CustomerPaymentMethodGeneric +*/ +Components\CustomerPaymentMethodGeneric $value = /* values here */ +``` + diff --git a/docs/Models/Components/PaymentTrigger.md b/docs/Models/Components/PaymentTrigger.md new file mode 100644 index 00000000..9a07351d --- /dev/null +++ b/docs/Models/Components/PaymentTrigger.md @@ -0,0 +1,13 @@ +# PaymentTrigger + + +## Values + +| Name | Value | +| --------------------------- | --------------------------- | +| `Purchase` | purchase | +| `SubscriptionCycle` | subscription_cycle | +| `RetryDunning` | retry_dunning | +| `RetryCustomer` | retry_customer | +| `RetryPaymentMethodUpdate` | retry_payment_method_update | +| `RetryAdmin` | retry_admin | \ No newline at end of file diff --git a/docs/Models/Components/PresentmentCurrency.md b/docs/Models/Components/PresentmentCurrency.md index 2df6f4ea..b7c0edaf 100644 --- a/docs/Models/Components/PresentmentCurrency.md +++ b/docs/Models/Components/PresentmentCurrency.md @@ -6,38 +6,128 @@ | Name | Value | | ----- | ----- | | `Aed` | aed | +| `All` | all | +| `Amd` | amd | +| `Aoa` | aoa | | `Ars` | ars | | `Aud` | aud | +| `Awg` | awg | +| `Azn` | azn | +| `Bam` | bam | +| `Bbd` | bbd | +| `Bdt` | bdt | +| `Bif` | bif | +| `Bmd` | bmd | +| `Bnd` | bnd | +| `Bob` | bob | | `Brl` | brl | +| `Bsd` | bsd | +| `Bwp` | bwp | +| `Bzd` | bzd | | `Cad` | cad | +| `Cdf` | cdf | | `Chf` | chf | | `Clp` | clp | | `Cny` | cny | | `Cop` | cop | +| `Crc` | crc | +| `Cve` | cve | | `Czk` | czk | +| `Djf` | djf | | `Dkk` | dkk | +| `Dop` | dop | +| `Dzd` | dzd | +| `Egp` | egp | +| `Etb` | etb | | `Eur` | eur | +| `Fjd` | fjd | +| `Fkp` | fkp | | `Gbp` | gbp | +| `Gel` | gel | +| `Gip` | gip | +| `Gmd` | gmd | +| `Gnf` | gnf | +| `Gtq` | gtq | +| `Gyd` | gyd | | `Hkd` | hkd | +| `Hnl` | hnl | +| `Htg` | htg | | `Huf` | huf | | `Idr` | idr | | `Ils` | ils | | `Inr` | inr | +| `Isk` | isk | +| `Jmd` | jmd | | `Jpy` | jpy | +| `Kes` | kes | +| `Kgs` | kgs | +| `Khr` | khr | +| `Kmf` | kmf | | `Krw` | krw | +| `Kyd` | kyd | +| `Kzt` | kzt | +| `Lak` | lak | +| `Lkr` | lkr | +| `Lrd` | lrd | +| `Lsl` | lsl | +| `Mad` | mad | +| `Mdl` | mdl | +| `Mga` | mga | +| `Mkd` | mkd | +| `Mnt` | mnt | +| `Mop` | mop | +| `Mur` | mur | +| `Mvr` | mvr | +| `Mwk` | mwk | | `Mxn` | mxn | | `Myr` | myr | +| `Mzn` | mzn | +| `Nad` | nad | +| `Ngn` | ngn | +| `Nio` | nio | | `Nok` | nok | +| `Npr` | npr | | `Nzd` | nzd | +| `Pab` | pab | | `Pen` | pen | +| `Pgk` | pgk | | `Php` | php | +| `Pkr` | pkr | | `Pln` | pln | +| `Pyg` | pyg | +| `Qar` | qar | | `Ron` | ron | +| `Rsd` | rsd | +| `Rwf` | rwf | | `Sar` | sar | +| `Sbd` | sbd | +| `Scr` | scr | | `Sek` | sek | | `Sgd` | sgd | +| `Shp` | shp | +| `Sos` | sos | +| `Srd` | srd | +| `Szl` | szl | | `Thb` | thb | +| `Tjs` | tjs | +| `Top` | top | | `Try` | try | +| `Ttd` | ttd | | `Twd` | twd | +| `Tzs` | tzs | +| `Uah` | uah | +| `Ugx` | ugx | | `Usd` | usd | -| `Zar` | zar | \ No newline at end of file +| `Uyu` | uyu | +| `Uzs` | uzs | +| `Vnd` | vnd | +| `Vuv` | vuv | +| `Wst` | wst | +| `Xaf` | xaf | +| `Xcd` | xcd | +| `Xcg` | xcg | +| `Xof` | xof | +| `Xpf` | xpf | +| `Yer` | yer | +| `Zar` | zar | +| `Zmw` | zmw | \ No newline at end of file diff --git a/docs/Models/Components/Prices.md b/docs/Models/Components/Prices.md index 10f662ae..71e18be7 100644 --- a/docs/Models/Components/Prices.md +++ b/docs/Models/Components/Prices.md @@ -3,21 +3,21 @@ ## Supported Types -### `Components\LegacyRecurringProductPriceFixed|Components\LegacyRecurringProductPriceCustom|Components\LegacyRecurringProductPriceFree` +### `Components\LegacyRecurringProductPriceFixed|Components\LegacyRecurringProductPriceCustom` ```php /** -* @var \Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\LegacyRecurringProductPriceFree +* @var \Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom */ -Components\LegacyRecurringProductPriceFixed|Components\LegacyRecurringProductPriceCustom|Components\LegacyRecurringProductPriceFree $value = /* values here */ +Components\LegacyRecurringProductPriceFixed|Components\LegacyRecurringProductPriceCustom $value = /* values here */ ``` -### `Components\ProductPriceFixed|Components\ProductPriceCustom|Components\ProductPriceFree|Components\ProductPriceSeatBased|Components\ProductPriceMeteredUnit` +### `Components\ProductPriceFixed|Components\ProductPriceCustom|Components\ProductPriceSeatBased|Components\ProductPriceMeteredUnit` ```php /** -* @var \Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceFree|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit +* @var \Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit */ -Components\ProductPriceFixed|Components\ProductPriceCustom|Components\ProductPriceFree|Components\ProductPriceSeatBased|Components\ProductPriceMeteredUnit $value = /* values here */ +Components\ProductPriceFixed|Components\ProductPriceCustom|Components\ProductPriceSeatBased|Components\ProductPriceMeteredUnit $value = /* values here */ ``` diff --git a/docs/Models/Components/Product.md b/docs/Models/Components/Product.md index a65a4568..37d4b2ab 100644 --- a/docs/Models/Components/Product.md +++ b/docs/Models/Components/Product.md @@ -5,23 +5,25 @@ A product. ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `id` | *string* | :heavy_check_mark: | The ID of the object. | -| `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Creation timestamp of the object. | -| `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Last modification timestamp of the object. | -| `trialInterval` | [Components\TrialInterval](../../Models/Components/TrialInterval.md) | :heavy_check_mark: | The interval unit for the trial period. | -| `trialIntervalCount` | *int* | :heavy_check_mark: | The number of interval units for the trial period. | -| `name` | *string* | :heavy_check_mark: | The name of the product. | -| `description` | *string* | :heavy_check_mark: | The description of the product. | -| `visibility` | [Components\ProductVisibility](../../Models/Components/ProductVisibility.md) | :heavy_check_mark: | N/A | -| `recurringInterval` | [Components\SubscriptionRecurringInterval](../../Models/Components/SubscriptionRecurringInterval.md) | :heavy_check_mark: | The recurring interval of the product. If `None`, the product is a one-time purchase. | -| `recurringIntervalCount` | *int* | :heavy_check_mark: | Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. None for one-time products. | -| `isRecurring` | *bool* | :heavy_check_mark: | Whether the product is a subscription. | -| `isArchived` | *bool* | :heavy_check_mark: | Whether the product is archived and no longer available. | -| `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the product. | -| `metadata` | array | :heavy_check_mark: | N/A | -| `prices` | array<[Components\LegacyRecurringProductPriceFixed\|Components\LegacyRecurringProductPriceCustom\|Components\LegacyRecurringProductPriceFree\|Components\ProductPriceFixed\|Components\ProductPriceCustom\|Components\ProductPriceFree\|Components\ProductPriceSeatBased\|Components\ProductPriceMeteredUnit](../../Models/Components/Prices.md)> | :heavy_check_mark: | List of prices for this product. | -| `benefits` | array<[Components\BenefitCustom\|Components\BenefitDiscord\|Components\BenefitGitHubRepository\|Components\BenefitDownloadables\|Components\BenefitLicenseKeys\|Components\BenefitMeterCredit\|Components\BenefitFeatureFlag](../../Models/Components/Benefit.md)> | :heavy_check_mark: | List of benefits granted by the product. | -| `medias` | array<[Components\ProductMediaFileRead](../../Models/Components/ProductMediaFileRead.md)> | :heavy_check_mark: | List of medias associated to the product. | -| `attachedCustomFields` | array<[Components\AttachedCustomField](../../Models/Components/AttachedCustomField.md)> | :heavy_check_mark: | List of custom fields attached to the product. | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | The ID of the object. | +| `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Creation timestamp of the object. | +| `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Last modification timestamp of the object. | +| `trialInterval` | [Components\TrialInterval](../../Models/Components/TrialInterval.md) | :heavy_check_mark: | The interval unit for the trial period. | +| `trialIntervalCount` | *int* | :heavy_check_mark: | The number of interval units for the trial period. | +| `name` | *string* | :heavy_check_mark: | The name of the product. | +| `description` | *string* | :heavy_check_mark: | The description of the product. | +| `visibility` | [Components\ProductVisibility](../../Models/Components/ProductVisibility.md) | :heavy_check_mark: | N/A | +| `recurringInterval` | [Components\RecurringInterval](../../Models/Components/RecurringInterval.md) | :heavy_check_mark: | The recurring interval of the product. If `None`, the product is a one-time purchase. | +| `recurringIntervalCount` | *int* | :heavy_check_mark: | Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. None for one-time products. | +| `meterInterval` | [Components\RecurringInterval](../../Models/Components/RecurringInterval.md) | :heavy_check_mark: | The meter cycle of the product, independent of the billing interval. If `None`, metered concerns follow the billing interval. | +| `meterIntervalCount` | *int* | :heavy_check_mark: | Number of meter interval units. None when no meter cycle is set. | +| `isRecurring` | *bool* | :heavy_check_mark: | Whether the product is a subscription. | +| `isArchived` | *bool* | :heavy_check_mark: | Whether the product is archived and no longer available. | +| `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the product. | +| `metadata` | array | :heavy_check_mark: | N/A | +| `prices` | array<[Components\LegacyRecurringProductPriceFixed\|Components\LegacyRecurringProductPriceCustom\|Components\ProductPriceFixed\|Components\ProductPriceCustom\|Components\ProductPriceSeatBased\|Components\ProductPriceMeteredUnit](../../Models/Components/Prices.md)> | :heavy_check_mark: | List of prices for this product. | +| `benefits` | array<[Components\BenefitCustom\|Components\BenefitDiscord\|Components\BenefitGitHubRepository\|Components\BenefitDownloadables\|Components\BenefitLicenseKeys\|Components\BenefitMeterCredit\|Components\BenefitFeatureFlag\|Components\BenefitSlackSharedChannel](../../Models/Components/Benefit.md)> | :heavy_check_mark: | List of benefits granted by the product. | +| `medias` | array<[Components\ProductMediaFileRead](../../Models/Components/ProductMediaFileRead.md)> | :heavy_check_mark: | List of medias associated to the product. | +| `attachedCustomFields` | array<[Components\AttachedCustomField](../../Models/Components/AttachedCustomField.md)> | :heavy_check_mark: | List of custom fields attached to the product. | \ No newline at end of file diff --git a/docs/Models/Components/ProductCreateOneTime.md b/docs/Models/Components/ProductCreateOneTime.md index 7e55e884..7467f272 100644 --- a/docs/Models/Components/ProductCreateOneTime.md +++ b/docs/Models/Components/ProductCreateOneTime.md @@ -3,15 +3,15 @@ ## Fields -| Field | Type | Required | Description | Example | -| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `metadata` | array | :heavy_minus_sign: | Key-value object allowing you to store additional information.

The key must be a string with a maximum length of **40 characters**.
The value must be either:

* A string with a maximum length of **500 characters**
* An integer
* A floating-point number
* A boolean

You can store up to **50 key-value pairs**. | | -| `name` | *string* | :heavy_check_mark: | The name of the product. | | -| `description` | *?string* | :heavy_minus_sign: | The description of the product. | | -| `visibility` | [?Components\ProductVisibility](../../Models/Components/ProductVisibility.md) | :heavy_minus_sign: | N/A | | -| `prices` | array<[Components\ProductPriceFixedCreate\|Components\ProductPriceCustomCreate\|Components\ProductPriceFreeCreate\|Components\ProductPriceSeatBasedCreate\|Components\ProductPriceMeteredUnitCreate](../../Models/Components/ProductCreateOneTimePrices.md)> | :heavy_check_mark: | List of available prices for this product. It should contain at most one static price (fixed, custom or free), and any number of metered prices. Metered prices are not supported on one-time purchase products. | | -| `medias` | array<*string*> | :heavy_minus_sign: | List of file IDs. Each one must be on the same organization as the product, of type `product_media` and correctly uploaded. | | -| `attachedCustomFields` | array<[Components\AttachedCustomFieldCreate](../../Models/Components/AttachedCustomFieldCreate.md)> | :heavy_minus_sign: | List of custom fields to attach. | | -| `organizationId` | *?string* | :heavy_minus_sign: | The ID of the organization owning the product. **Required unless you use an organization token.** | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | -| `recurringInterval` | *mixed* | :heavy_minus_sign: | States that the product is a one-time purchase. | | -| `recurringIntervalCount` | *mixed* | :heavy_minus_sign: | One-time products don't have a recurring interval count. | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `metadata` | array | :heavy_minus_sign: | Key-value object allowing you to store additional information.

The key must be a string with a maximum length of **40 characters**.
The value must be either:

* A string with a maximum length of **500 characters**
* An integer
* A floating-point number
* A boolean

You can store up to **50 key-value pairs**. | | +| `name` | *string* | :heavy_check_mark: | The name of the product. | | +| `description` | *?string* | :heavy_minus_sign: | The description of the product. | | +| `visibility` | [?Components\ProductVisibility](../../Models/Components/ProductVisibility.md) | :heavy_minus_sign: | N/A | | +| `prices` | array<[Components\ProductPriceFixedCreate\|Components\ProductPriceCustomCreate\|Components\ProductPriceSeatBasedCreate\|Components\ProductPriceMeteredUnitCreate](../../Models/Components/ProductCreateOneTimePrices.md)> | :heavy_check_mark: | List of available prices for this product. It may combine at most one fixed price with one seat-based price (billed as `fixed + seat_charge`), or contain a single custom or free price, plus any number of metered prices. A free price cannot be combined with other prices, and a custom price cannot be combined with a fixed or seat-based price. Metered prices are not supported on one-time purchase products. | | +| `medias` | array<*string*> | :heavy_minus_sign: | List of file IDs. Each one must be on the same organization as the product, of type `product_media` and correctly uploaded. | | +| `attachedCustomFields` | array<[Components\AttachedCustomFieldCreate](../../Models/Components/AttachedCustomFieldCreate.md)> | :heavy_minus_sign: | List of custom fields to attach. | | +| `organizationId` | *?string* | :heavy_minus_sign: | The ID of the organization owning the product. **Required unless you use an organization token.** | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | +| `recurringInterval` | *mixed* | :heavy_minus_sign: | States that the product is a one-time purchase. | | +| `recurringIntervalCount` | *mixed* | :heavy_minus_sign: | One-time products don't have a recurring interval count. | | \ No newline at end of file diff --git a/docs/Models/Components/ProductCreateOneTimePrices.md b/docs/Models/Components/ProductCreateOneTimePrices.md index 57f5ab5f..8fda4a28 100644 --- a/docs/Models/Components/ProductCreateOneTimePrices.md +++ b/docs/Models/Components/ProductCreateOneTimePrices.md @@ -21,15 +21,6 @@ Components\ProductPriceCustomCreate $value = /* values here */ Components\ProductPriceFixedCreate $value = /* values here */ ``` -### `Components\ProductPriceFreeCreate` - -```php -/** -* @var \Polar\Models\Components\ProductPriceFreeCreate -*/ -Components\ProductPriceFreeCreate $value = /* values here */ -``` - ### `Components\ProductPriceMeteredUnitCreate` ```php diff --git a/docs/Models/Components/ProductCreateRecurring.md b/docs/Models/Components/ProductCreateRecurring.md index 208456f8..16f296e0 100644 --- a/docs/Models/Components/ProductCreateRecurring.md +++ b/docs/Models/Components/ProductCreateRecurring.md @@ -3,17 +3,19 @@ ## Fields -| Field | Type | Required | Description | Example | -| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `metadata` | array | :heavy_minus_sign: | Key-value object allowing you to store additional information.

The key must be a string with a maximum length of **40 characters**.
The value must be either:

* A string with a maximum length of **500 characters**
* An integer
* A floating-point number
* A boolean

You can store up to **50 key-value pairs**. | | -| `name` | *string* | :heavy_check_mark: | The name of the product. | | -| `description` | *?string* | :heavy_minus_sign: | The description of the product. | | -| `visibility` | [?Components\ProductVisibility](../../Models/Components/ProductVisibility.md) | :heavy_minus_sign: | N/A | | -| `prices` | array<[Components\ProductPriceFixedCreate\|Components\ProductPriceCustomCreate\|Components\ProductPriceFreeCreate\|Components\ProductPriceSeatBasedCreate\|Components\ProductPriceMeteredUnitCreate](../../Models/Components/ProductCreateRecurringPrices.md)> | :heavy_check_mark: | List of available prices for this product. It should contain at most one static price (fixed, custom or free), and any number of metered prices. Metered prices are not supported on one-time purchase products. | | -| `medias` | array<*string*> | :heavy_minus_sign: | List of file IDs. Each one must be on the same organization as the product, of type `product_media` and correctly uploaded. | | -| `attachedCustomFields` | array<[Components\AttachedCustomFieldCreate](../../Models/Components/AttachedCustomFieldCreate.md)> | :heavy_minus_sign: | List of custom fields to attach. | | -| `organizationId` | *?string* | :heavy_minus_sign: | The ID of the organization owning the product. **Required unless you use an organization token.** | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | -| `trialInterval` | [?Components\TrialInterval](../../Models/Components/TrialInterval.md) | :heavy_minus_sign: | The interval unit for the trial period. | | -| `trialIntervalCount` | *?int* | :heavy_minus_sign: | The number of interval units for the trial period. | | -| `recurringInterval` | [Components\SubscriptionRecurringInterval](../../Models/Components/SubscriptionRecurringInterval.md) | :heavy_check_mark: | N/A | | -| `recurringIntervalCount` | *?int* | :heavy_minus_sign: | Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `metadata` | array | :heavy_minus_sign: | Key-value object allowing you to store additional information.

The key must be a string with a maximum length of **40 characters**.
The value must be either:

* A string with a maximum length of **500 characters**
* An integer
* A floating-point number
* A boolean

You can store up to **50 key-value pairs**. | | +| `name` | *string* | :heavy_check_mark: | The name of the product. | | +| `description` | *?string* | :heavy_minus_sign: | The description of the product. | | +| `visibility` | [?Components\ProductVisibility](../../Models/Components/ProductVisibility.md) | :heavy_minus_sign: | N/A | | +| `prices` | array<[Components\ProductPriceFixedCreate\|Components\ProductPriceCustomCreate\|Components\ProductPriceSeatBasedCreate\|Components\ProductPriceMeteredUnitCreate](../../Models/Components/ProductCreateRecurringPrices.md)> | :heavy_check_mark: | List of available prices for this product. It may combine at most one fixed price with one seat-based price (billed as `fixed + seat_charge`), or contain a single custom or free price, plus any number of metered prices. A free price cannot be combined with other prices, and a custom price cannot be combined with a fixed or seat-based price. Metered prices are not supported on one-time purchase products. | | +| `medias` | array<*string*> | :heavy_minus_sign: | List of file IDs. Each one must be on the same organization as the product, of type `product_media` and correctly uploaded. | | +| `attachedCustomFields` | array<[Components\AttachedCustomFieldCreate](../../Models/Components/AttachedCustomFieldCreate.md)> | :heavy_minus_sign: | List of custom fields to attach. | | +| `organizationId` | *?string* | :heavy_minus_sign: | The ID of the organization owning the product. **Required unless you use an organization token.** | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | +| `trialInterval` | [?Components\TrialInterval](../../Models/Components/TrialInterval.md) | :heavy_minus_sign: | The interval unit for the trial period. | | +| `trialIntervalCount` | *?int* | :heavy_minus_sign: | The number of interval units for the trial period. | | +| `recurringInterval` | [Components\RecurringInterval](../../Models/Components/RecurringInterval.md) | :heavy_check_mark: | N/A | | +| `recurringIntervalCount` | *?int* | :heavy_minus_sign: | Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. | | +| `meterInterval` | [?Components\RecurringInterval](../../Models/Components/RecurringInterval.md) | :heavy_minus_sign: | Optional meter cycle, independent of the billing interval. When set, overage settlement, meter resets and meter-credit grants run on this cadence rather than the billing interval — e.g. yearly billing with monthly credits. It must evenly divide the billing interval. If `None`, metered concerns follow the billing interval. **Once set, it can't be changed.** | | +| `meterIntervalCount` | *?int* | :heavy_minus_sign: | Number of meter interval units. Defaults to 1 when `meter_interval` is set. Ignored when `meter_interval` is `None`. | | \ No newline at end of file diff --git a/docs/Models/Components/ProductCreateRecurringPrices.md b/docs/Models/Components/ProductCreateRecurringPrices.md index c9fc80fd..b8d456f2 100644 --- a/docs/Models/Components/ProductCreateRecurringPrices.md +++ b/docs/Models/Components/ProductCreateRecurringPrices.md @@ -21,15 +21,6 @@ Components\ProductPriceCustomCreate $value = /* values here */ Components\ProductPriceFixedCreate $value = /* values here */ ``` -### `Components\ProductPriceFreeCreate` - -```php -/** -* @var \Polar\Models\Components\ProductPriceFreeCreate -*/ -Components\ProductPriceFreeCreate $value = /* values here */ -``` - ### `Components\ProductPriceMeteredUnitCreate` ```php diff --git a/docs/Models/Components/ProductPrice.md b/docs/Models/Components/ProductPrice.md index 86b6cc75..5f3ea534 100644 --- a/docs/Models/Components/ProductPrice.md +++ b/docs/Models/Components/ProductPrice.md @@ -21,15 +21,6 @@ Components\ProductPriceCustom $value = /* values here */ Components\ProductPriceFixed $value = /* values here */ ``` -### `Components\ProductPriceFree` - -```php -/** -* @var \Polar\Models\Components\ProductPriceFree -*/ -Components\ProductPriceFree $value = /* values here */ -``` - ### `Components\ProductPriceMeteredUnit` ```php diff --git a/docs/Models/Components/ProductPriceCustom.md b/docs/Models/Components/ProductPriceCustom.md index 68fb659a..1168e320 100644 --- a/docs/Models/Components/ProductPriceCustom.md +++ b/docs/Models/Components/ProductPriceCustom.md @@ -5,17 +5,17 @@ A pay-what-you-want price for a product. ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -| `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Creation timestamp of the object. | -| `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Last modification timestamp of the object. | -| `id` | *string* | :heavy_check_mark: | The ID of the price. | -| `source` | [Components\ProductPriceSource](../../Models/Components/ProductPriceSource.md) | :heavy_check_mark: | N/A | -| `amountType` | *string* | :heavy_check_mark: | N/A | -| `priceCurrency` | *string* | :heavy_check_mark: | The currency in which the customer will be charged. | -| `taxBehavior` | [Components\TaxBehaviorOption](../../Models/Components/TaxBehaviorOption.md) | :heavy_check_mark: | The tax behavior of the price. If null, it defaults to the organization's default tax behavior. | -| `isArchived` | *bool* | :heavy_check_mark: | Whether the price is archived and no longer available. | -| `productId` | *string* | :heavy_check_mark: | The ID of the product owning the price. | -| `minimumAmount` | *int* | :heavy_check_mark: | The minimum amount the customer can pay. If 0, the price is 'free or pay what you want'. Defaults to 50 cents. | -| `maximumAmount` | *int* | :heavy_check_mark: | The maximum amount the customer can pay. | -| `presetAmount` | *int* | :heavy_check_mark: | The initial amount shown to the customer. | \ No newline at end of file +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | +| `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Creation timestamp of the object. | +| `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Last modification timestamp of the object. | +| `id` | *string* | :heavy_check_mark: | The ID of the price. | +| `source` | [Components\ProductPriceSource](../../Models/Components/ProductPriceSource.md) | :heavy_check_mark: | N/A | +| `amountType` | *string* | :heavy_check_mark: | N/A | +| `priceCurrency` | *string* | :heavy_check_mark: | The currency in which the customer will be charged. | +| `taxBehavior` | [Components\TaxBehaviorOption](../../Models/Components/TaxBehaviorOption.md) | :heavy_check_mark: | The tax behavior of the price. If null, it defaults to the organization's default tax behavior. | +| `isArchived` | *bool* | :heavy_check_mark: | Whether the price is archived and no longer available. | +| `productId` | *string* | :heavy_check_mark: | The ID of the product owning the price. | +| `minimumAmount` | *int* | :heavy_check_mark: | The minimum amount the customer can pay. If 0, the price is 'free or pay what you want'. | +| `maximumAmount` | *int* | :heavy_check_mark: | The maximum amount the customer can pay. | +| `presetAmount` | *int* | :heavy_check_mark: | The initial amount shown to the customer. | \ No newline at end of file diff --git a/docs/Models/Components/ProductPriceCustomCreate.md b/docs/Models/Components/ProductPriceCustomCreate.md index e0dbad06..cbad22a0 100644 --- a/docs/Models/Components/ProductPriceCustomCreate.md +++ b/docs/Models/Components/ProductPriceCustomCreate.md @@ -5,11 +5,11 @@ Schema to create a pay-what-you-want price. ## Fields -| Field | Type | Required | Description | -| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `amountType` | *string* | :heavy_check_mark: | N/A | -| `priceCurrency` | [?Components\PresentmentCurrency](../../Models/Components/PresentmentCurrency.md) | :heavy_minus_sign: | N/A | -| `taxBehavior` | [?Components\TaxBehaviorOption](../../Models/Components/TaxBehaviorOption.md) | :heavy_minus_sign: | The tax behavior of the price. If not set, it will default to the organization's default tax behavior. | -| `minimumAmount` | *?int* | :heavy_minus_sign: | The minimum amount the customer can pay. If set to 0, the price is 'free or pay what you want' and $0 is accepted. If set to a value between 1-49, it will be rejected. Defaults to 50 cents. | -| `maximumAmount` | *?int* | :heavy_minus_sign: | The maximum amount the customer can pay. | -| `presetAmount` | *?int* | :heavy_minus_sign: | The initial amount shown to the customer. If 0, the customer will see $0 as the default. Values between 1-49 are rejected. | \ No newline at end of file +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `amountType` | *string* | :heavy_check_mark: | N/A | +| `priceCurrency` | [?Components\PresentmentCurrency](../../Models/Components/PresentmentCurrency.md) | :heavy_minus_sign: | N/A | +| `taxBehavior` | [?Components\TaxBehaviorOption](../../Models/Components/TaxBehaviorOption.md) | :heavy_minus_sign: | The tax behavior of the price. If not set, it will default to the organization's default tax behavior. | +| `minimumAmount` | *?int* | :heavy_minus_sign: | The minimum amount the customer can pay. If set to 0, the price is 'free or pay what you want' and $0 is accepted. If set to a value below the minimum price amount for the currency, it will be rejected. Defaults to the minimum price amount for the currency. Minimum per currency:
- USD: 0.5
- AED: 2
- ALL: 50
- AMD: 200
- AOA: 500
- ARS: 750
- AUD: 0.7
- AWG: 1
- AZN: 1
- BAM: 1
- BBD: 2
- BDT: 70
- BIF: 2,000
- BMD: 1
- BND: 1
- BOB: 5
- BRL: 2.5
- BSD: 1
- BWP: 10
- BZD: 2
- CAD: 0.7
- CDF: 2,000
- CHF: 0.5
- CLP: 500
- CNY: 5
- COP: 2,000
- CRC: 300
- CVE: 50
- CZK: 15
- DJF: 100
- DKK: 3.2
- DOP: 40
- DZD: 70
- EGP: 30
- ETB: 80
- EUR: 0.5
- FJD: 2
- FKP: 1
- GBP: 0.4
- GEL: 2
- GNF: 5,000
- GIP: 1
- GMD: 40
- GTQ: 5
- GYD: 200
- HKD: 4
- HNL: 20
- HTG: 70
- HUF: 175
- IDR: 9,000
- ILS: 1.5
- INR: 60
- ISK: 70
- JMD: 80
- JPY: 80
- KES: 70
- KGS: 50
- KHR: 3,000
- KMF: 500
- KRW: 800
- KYD: 1
- KZT: 300
- LAK: 20,000
- LKR: 200
- LRD: 100
- LSL: 10
- MAD: 5
- MDL: 10
- MGA: 3,000
- MKD: 50
- MNT: 2,000
- MOP: 5
- MUR: 50
- MVR: 8
- MXN: 9
- MWK: 1,000
- MYR: 2
- MZN: 50
- NAD: 10
- NGN: 700
- NIO: 20
- NOK: 5
- NPR: 80
- NZD: 0.9
- PAB: 1
- PEN: 2
- PGK: 3
- PHP: 35
- PKR: 200
- PLN: 2
- PYG: 4,000
- QAR: 2
- RON: 2.5
- RSD: 60
- RWF: 1,000
- SAR: 2
- SBD: 4
- SCR: 8
- SEK: 5
- SGD: 0.7
- SHP: 1
- SOS: 500
- SRD: 20
- SZL: 10
- THB: 20
- TJS: 5
- TOP: 2
- TRY: 30
- TTD: 4
- TWD: 20
- TZS: 2,000
- UAH: 30
- UGX: 2,000
- UYU: 20
- UZS: 7,000
- VND: 20,000
- VUV: 100
- WST: 2
- XAF: 500
- XCD: 2
- XCG: 1
- XOF: 500
- XPF: 100
- YER: 200
- ZAR: 9
- ZMW: 10
- Other currencies: 50 minor units | +| `maximumAmount` | *?int* | :heavy_minus_sign: | The maximum amount the customer can pay. Maximum per currency:
- USD: 999,999.99
- EUR: 999,999.99
- GBP: 999,999.99
- ARS: 1,400,000
- CDF: 2,800,000
- COP: 4,000,000
- IDR: 16,000,000
- KHR: 4,000,000
- LAK: 21,000,000
- MNT: 3,500,000
- MWK: 1,750,000
- NGN: 1,550,000
- TZS: 2,500,000
- UGX: 3,700,000
- UZS: 12,500,000
- Other currencies: 99,999,999 minor units | +| `presetAmount` | *?int* | :heavy_minus_sign: | The initial amount shown to the customer. If 0, the customer will see $0 as the default. If set to a value below the minimum price amount for the currency, it will be rejected.Minimum per currency:
- USD: 0.5
- AED: 2
- ALL: 50
- AMD: 200
- AOA: 500
- ARS: 750
- AUD: 0.7
- AWG: 1
- AZN: 1
- BAM: 1
- BBD: 2
- BDT: 70
- BIF: 2,000
- BMD: 1
- BND: 1
- BOB: 5
- BRL: 2.5
- BSD: 1
- BWP: 10
- BZD: 2
- CAD: 0.7
- CDF: 2,000
- CHF: 0.5
- CLP: 500
- CNY: 5
- COP: 2,000
- CRC: 300
- CVE: 50
- CZK: 15
- DJF: 100
- DKK: 3.2
- DOP: 40
- DZD: 70
- EGP: 30
- ETB: 80
- EUR: 0.5
- FJD: 2
- FKP: 1
- GBP: 0.4
- GEL: 2
- GNF: 5,000
- GIP: 1
- GMD: 40
- GTQ: 5
- GYD: 200
- HKD: 4
- HNL: 20
- HTG: 70
- HUF: 175
- IDR: 9,000
- ILS: 1.5
- INR: 60
- ISK: 70
- JMD: 80
- JPY: 80
- KES: 70
- KGS: 50
- KHR: 3,000
- KMF: 500
- KRW: 800
- KYD: 1
- KZT: 300
- LAK: 20,000
- LKR: 200
- LRD: 100
- LSL: 10
- MAD: 5
- MDL: 10
- MGA: 3,000
- MKD: 50
- MNT: 2,000
- MOP: 5
- MUR: 50
- MVR: 8
- MXN: 9
- MWK: 1,000
- MYR: 2
- MZN: 50
- NAD: 10
- NGN: 700
- NIO: 20
- NOK: 5
- NPR: 80
- NZD: 0.9
- PAB: 1
- PEN: 2
- PGK: 3
- PHP: 35
- PKR: 200
- PLN: 2
- PYG: 4,000
- QAR: 2
- RON: 2.5
- RSD: 60
- RWF: 1,000
- SAR: 2
- SBD: 4
- SCR: 8
- SEK: 5
- SGD: 0.7
- SHP: 1
- SOS: 500
- SRD: 20
- SZL: 10
- THB: 20
- TJS: 5
- TOP: 2
- TRY: 30
- TTD: 4
- TWD: 20
- TZS: 2,000
- UAH: 30
- UGX: 2,000
- UYU: 20
- UZS: 7,000
- VND: 20,000
- VUV: 100
- WST: 2
- XAF: 500
- XCD: 2
- XCG: 1
- XOF: 500
- XPF: 100
- YER: 200
- ZAR: 9
- ZMW: 10
- Other currencies: 50 minor units | \ No newline at end of file diff --git a/docs/Models/Components/ProductPriceFixedCreate.md b/docs/Models/Components/ProductPriceFixedCreate.md index a64ae0b4..0d4a03ba 100644 --- a/docs/Models/Components/ProductPriceFixedCreate.md +++ b/docs/Models/Components/ProductPriceFixedCreate.md @@ -5,9 +5,9 @@ Schema to create a fixed price. ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `amountType` | *string* | :heavy_check_mark: | N/A | -| `priceCurrency` | [?Components\PresentmentCurrency](../../Models/Components/PresentmentCurrency.md) | :heavy_minus_sign: | N/A | -| `taxBehavior` | [?Components\TaxBehaviorOption](../../Models/Components/TaxBehaviorOption.md) | :heavy_minus_sign: | The tax behavior of the price. If not set, it will default to the organization's default tax behavior. | -| `priceAmount` | *int* | :heavy_check_mark: | The price in cents.
Minimum amounts per currency:
- USD: $0.50
- AED: AED2.00
- ARS: ARS0.50
- AUD: A$0.50
- BRL: R$0.50
- CAD: CA$0.50
- CHF: CHF0.50
- COP: COP0.50
- CZK: CZK15.00
- DKK: DKK2.50
- EUR: €0.50
- GBP: £0.30
- HKD: HK$4.00
- HUF: HUF175.00
- IDR: IDR0.50
- ILS: ₪0.50
- INR: ₹60.00
- JPY: ¥50
- KRW: ₩50
- MXN: MX$0.10
- MYR: MYR2.00
- NOK: NOK3.00
- NZD: NZ$0.50
- PHP: ₱0.50
- PLN: PLN2.00
- RON: RON2.00
- RUB: RUB0.50
- SEK: SEK3.00
- SGD: SGD0.50
- THB: THB0.10
- ZAR: ZAR0.50 | \ No newline at end of file +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `amountType` | *string* | :heavy_check_mark: | N/A | +| `priceCurrency` | [?Components\PresentmentCurrency](../../Models/Components/PresentmentCurrency.md) | :heavy_minus_sign: | N/A | +| `taxBehavior` | [?Components\TaxBehaviorOption](../../Models/Components/TaxBehaviorOption.md) | :heavy_minus_sign: | The tax behavior of the price. If not set, it will default to the organization's default tax behavior. | +| `priceAmount` | *int* | :heavy_check_mark: | The price in cents. Set to `0` for a free price.
Minimum amounts per currency:
- USD: 0.5
- AED: 2
- ALL: 50
- AMD: 200
- AOA: 500
- ARS: 750
- AUD: 0.7
- AWG: 1
- AZN: 1
- BAM: 1
- BBD: 2
- BDT: 70
- BIF: 2,000
- BMD: 1
- BND: 1
- BOB: 5
- BRL: 2.5
- BSD: 1
- BWP: 10
- BZD: 2
- CAD: 0.7
- CDF: 2,000
- CHF: 0.5
- CLP: 500
- CNY: 5
- COP: 2,000
- CRC: 300
- CVE: 50
- CZK: 15
- DJF: 100
- DKK: 3.2
- DOP: 40
- DZD: 70
- EGP: 30
- ETB: 80
- EUR: 0.5
- FJD: 2
- FKP: 1
- GBP: 0.4
- GEL: 2
- GNF: 5,000
- GIP: 1
- GMD: 40
- GTQ: 5
- GYD: 200
- HKD: 4
- HNL: 20
- HTG: 70
- HUF: 175
- IDR: 9,000
- ILS: 1.5
- INR: 60
- ISK: 70
- JMD: 80
- JPY: 80
- KES: 70
- KGS: 50
- KHR: 3,000
- KMF: 500
- KRW: 800
- KYD: 1
- KZT: 300
- LAK: 20,000
- LKR: 200
- LRD: 100
- LSL: 10
- MAD: 5
- MDL: 10
- MGA: 3,000
- MKD: 50
- MNT: 2,000
- MOP: 5
- MUR: 50
- MVR: 8
- MXN: 9
- MWK: 1,000
- MYR: 2
- MZN: 50
- NAD: 10
- NGN: 700
- NIO: 20
- NOK: 5
- NPR: 80
- NZD: 0.9
- PAB: 1
- PEN: 2
- PGK: 3
- PHP: 35
- PKR: 200
- PLN: 2
- PYG: 4,000
- QAR: 2
- RON: 2.5
- RSD: 60
- RWF: 1,000
- SAR: 2
- SBD: 4
- SCR: 8
- SEK: 5
- SGD: 0.7
- SHP: 1
- SOS: 500
- SRD: 20
- SZL: 10
- THB: 20
- TJS: 5
- TOP: 2
- TRY: 30
- TTD: 4
- TWD: 20
- TZS: 2,000
- UAH: 30
- UGX: 2,000
- UYU: 20
- UZS: 7,000
- VND: 20,000
- VUV: 100
- WST: 2
- XAF: 500
- XCD: 2
- XCG: 1
- XOF: 500
- XPF: 100
- YER: 200
- ZAR: 9
- ZMW: 10
- Other currencies: 50 minor units | \ No newline at end of file diff --git a/docs/Models/Components/ProductPriceFree.md b/docs/Models/Components/ProductPriceFree.md deleted file mode 100644 index ce1352f9..00000000 --- a/docs/Models/Components/ProductPriceFree.md +++ /dev/null @@ -1,18 +0,0 @@ -# ProductPriceFree - -A free price for a product. - - -## Fields - -| Field | Type | Required | Description | -| ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | -| `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Creation timestamp of the object. | -| `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Last modification timestamp of the object. | -| `id` | *string* | :heavy_check_mark: | The ID of the price. | -| `source` | [Components\ProductPriceSource](../../Models/Components/ProductPriceSource.md) | :heavy_check_mark: | N/A | -| `amountType` | *string* | :heavy_check_mark: | N/A | -| `priceCurrency` | *string* | :heavy_check_mark: | The currency in which the customer will be charged. | -| `taxBehavior` | [Components\TaxBehaviorOption](../../Models/Components/TaxBehaviorOption.md) | :heavy_check_mark: | The tax behavior of the price. If null, it defaults to the organization's default tax behavior. | -| `isArchived` | *bool* | :heavy_check_mark: | Whether the price is archived and no longer available. | -| `productId` | *string* | :heavy_check_mark: | The ID of the product owning the price. | \ No newline at end of file diff --git a/docs/Models/Components/ProductPriceFreeCreate.md b/docs/Models/Components/ProductPriceFreeCreate.md deleted file mode 100644 index 9be27172..00000000 --- a/docs/Models/Components/ProductPriceFreeCreate.md +++ /dev/null @@ -1,12 +0,0 @@ -# ProductPriceFreeCreate - -Schema to create a free price. - - -## Fields - -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | -| `amountType` | *string* | :heavy_check_mark: | N/A | -| `priceCurrency` | [?Components\PresentmentCurrency](../../Models/Components/PresentmentCurrency.md) | :heavy_minus_sign: | N/A | -| `taxBehavior` | [?Components\TaxBehaviorOption](../../Models/Components/TaxBehaviorOption.md) | :heavy_minus_sign: | The tax behavior of the price. If not set, it will default to the organization's default tax behavior. | \ No newline at end of file diff --git a/docs/Models/Components/ProductPriceMeter.md b/docs/Models/Components/ProductPriceMeter.md index 57bd5eb2..95fb919b 100644 --- a/docs/Models/Components/ProductPriceMeter.md +++ b/docs/Models/Components/ProductPriceMeter.md @@ -5,7 +5,10 @@ A meter associated to a metered price. ## Fields -| Field | Type | Required | Description | -| ---------------------- | ---------------------- | ---------------------- | ---------------------- | -| `id` | *string* | :heavy_check_mark: | The ID of the object. | -| `name` | *string* | :heavy_check_mark: | The name of the meter. | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | +| `id` | *string* | :heavy_check_mark: | The ID of the object. | +| `name` | *string* | :heavy_check_mark: | The name of the meter. | +| `unit` | [Components\MeterUnit](../../Models/Components/MeterUnit.md) | :heavy_check_mark: | N/A | +| `customLabel` | *string* | :heavy_check_mark: | The label for the custom unit. | +| `customMultiplier` | *int* | :heavy_check_mark: | The multiplier to convert from base unit to display scale. | \ No newline at end of file diff --git a/docs/Models/Components/ProductUpdate.md b/docs/Models/Components/ProductUpdate.md index b983885e..dd9a5723 100644 --- a/docs/Models/Components/ProductUpdate.md +++ b/docs/Models/Components/ProductUpdate.md @@ -12,10 +12,10 @@ Schema to update a product. | `trialIntervalCount` | *?int* | :heavy_minus_sign: | The number of interval units for the trial period. | | `name` | *?string* | :heavy_minus_sign: | N/A | | `description` | *?string* | :heavy_minus_sign: | The description of the product. | -| `recurringInterval` | [?Components\SubscriptionRecurringInterval](../../Models/Components/SubscriptionRecurringInterval.md) | :heavy_minus_sign: | The recurring interval of the product. If `None`, the product is a one-time purchase. **Can only be set on legacy recurring products. Once set, it can't be changed.** | +| `recurringInterval` | [?Components\RecurringInterval](../../Models/Components/RecurringInterval.md) | :heavy_minus_sign: | The recurring interval of the product. If `None`, the product is a one-time purchase. **Can only be set on legacy recurring products. Once set, it can't be changed.** | | `recurringIntervalCount` | *?int* | :heavy_minus_sign: | Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. Once set, it can't be changed.** | | `isArchived` | *?bool* | :heavy_minus_sign: | Whether the product is archived. If `true`, the product won't be available for purchase anymore. Existing customers will still have access to their benefits, and subscriptions will continue normally. | | `visibility` | [?Components\ProductVisibility](../../Models/Components/ProductVisibility.md) | :heavy_minus_sign: | The visibility of the product. | -| `prices` | array<[Components\ExistingProductPrice\|Components\ProductPriceFixedCreate\|Components\ProductPriceCustomCreate\|Components\ProductPriceFreeCreate\|Components\ProductPriceSeatBasedCreate\|Components\ProductPriceMeteredUnitCreate](../../Models/Components/ProductUpdatePrices.md)> | :heavy_minus_sign: | List of available prices for this product. If you want to keep existing prices, include them in the list as an `ExistingProductPrice` object. | +| `prices` | array<[Components\ExistingProductPrice\|Components\ProductPriceFixedCreate\|Components\ProductPriceCustomCreate\|Components\ProductPriceSeatBasedCreate\|Components\ProductPriceMeteredUnitCreate](../../Models/Components/ProductUpdatePrices.md)> | :heavy_minus_sign: | List of available prices for this product. If you want to keep existing prices, include them in the list as an `ExistingProductPrice` object. | | `medias` | array<*string*> | :heavy_minus_sign: | List of file IDs. Each one must be on the same organization as the product, of type `product_media` and correctly uploaded. | | `attachedCustomFields` | array<[Components\AttachedCustomFieldCreate](../../Models/Components/AttachedCustomFieldCreate.md)> | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/ProductUpdatePrices.md b/docs/Models/Components/ProductUpdatePrices.md index c1611219..fbd1056a 100644 --- a/docs/Models/Components/ProductUpdatePrices.md +++ b/docs/Models/Components/ProductUpdatePrices.md @@ -12,12 +12,12 @@ Components\ExistingProductPrice $value = /* values here */ ``` -### `Components\ProductPriceFixedCreate|Components\ProductPriceCustomCreate|Components\ProductPriceFreeCreate|Components\ProductPriceSeatBasedCreate|Components\ProductPriceMeteredUnitCreate` +### `Components\ProductPriceFixedCreate|Components\ProductPriceCustomCreate|Components\ProductPriceSeatBasedCreate|Components\ProductPriceMeteredUnitCreate` ```php /** -* @var \Polar\Models\Components\ProductPriceFixedCreate|\Polar\Models\Components\ProductPriceCustomCreate|\Polar\Models\Components\ProductPriceFreeCreate|\Polar\Models\Components\ProductPriceSeatBasedCreate|\Polar\Models\Components\ProductPriceMeteredUnitCreate +* @var \Polar\Models\Components\ProductPriceFixedCreate|\Polar\Models\Components\ProductPriceCustomCreate|\Polar\Models\Components\ProductPriceSeatBasedCreate|\Polar\Models\Components\ProductPriceMeteredUnitCreate */ -Components\ProductPriceFixedCreate|Components\ProductPriceCustomCreate|Components\ProductPriceFreeCreate|Components\ProductPriceSeatBasedCreate|Components\ProductPriceMeteredUnitCreate $value = /* values here */ +Components\ProductPriceFixedCreate|Components\ProductPriceCustomCreate|Components\ProductPriceSeatBasedCreate|Components\ProductPriceMeteredUnitCreate $value = /* values here */ ``` diff --git a/docs/Models/Components/Properties.md b/docs/Models/Components/Properties.md index c251bf1e..4011b6c8 100644 --- a/docs/Models/Components/Properties.md +++ b/docs/Models/Components/Properties.md @@ -57,3 +57,12 @@ Components\BenefitGrantCustomProperties $value = /* values here */ Components\BenefitGrantFeatureFlagProperties $value = /* values here */ ``` +### `Components\BenefitGrantSlackSharedChannelProperties` + +```php +/** +* @var \Polar\Models\Components\BenefitGrantSlackSharedChannelProperties +*/ +Components\BenefitGrantSlackSharedChannelProperties $value = /* values here */ +``` + diff --git a/docs/Models/Components/PublicSubscriptionProrationBehavior.md b/docs/Models/Components/PublicSubscriptionProrationBehavior.md new file mode 100644 index 00000000..c0a1d27c --- /dev/null +++ b/docs/Models/Components/PublicSubscriptionProrationBehavior.md @@ -0,0 +1,10 @@ +# PublicSubscriptionProrationBehavior + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `Invoice` | invoice | +| `Prorate` | prorate | +| `NextPeriod` | next_period | \ No newline at end of file diff --git a/docs/Models/Components/Reason.md b/docs/Models/Components/Reason.md new file mode 100644 index 00000000..af2054f4 --- /dev/null +++ b/docs/Models/Components/Reason.md @@ -0,0 +1,15 @@ +# Reason + +Reason for the refund. + + +## Values + +| Name | Value | +| ----------------------- | ----------------------- | +| `Duplicate` | duplicate | +| `Fraudulent` | fraudulent | +| `CustomerRequest` | customer_request | +| `ServiceDisruption` | service_disruption | +| `SatisfactionGuarantee` | satisfaction_guarantee | +| `Other` | other | \ No newline at end of file diff --git a/docs/Models/Components/SubscriptionRecurringInterval.md b/docs/Models/Components/RecurringInterval.md similarity index 81% rename from docs/Models/Components/SubscriptionRecurringInterval.md rename to docs/Models/Components/RecurringInterval.md index d3a58a11..2308b325 100644 --- a/docs/Models/Components/SubscriptionRecurringInterval.md +++ b/docs/Models/Components/RecurringInterval.md @@ -1,4 +1,4 @@ -# SubscriptionRecurringInterval +# RecurringInterval ## Values diff --git a/docs/Models/Components/RefundCreate.md b/docs/Models/Components/RefundCreate.md index d4c4f3f7..dcea6971 100644 --- a/docs/Models/Components/RefundCreate.md +++ b/docs/Models/Components/RefundCreate.md @@ -7,7 +7,7 @@ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `metadata` | array | :heavy_minus_sign: | Key-value object allowing you to store additional information.

The key must be a string with a maximum length of **40 characters**.
The value must be either:

* A string with a maximum length of **500 characters**
* An integer
* A floating-point number
* A boolean

You can store up to **50 key-value pairs**. | | `orderId` | *string* | :heavy_check_mark: | N/A | -| `reason` | [Components\RefundReason](../../Models/Components/RefundReason.md) | :heavy_check_mark: | N/A | +| `reason` | [Components\Reason](../../Models/Components/Reason.md) | :heavy_check_mark: | Reason for the refund. | | `amount` | *int* | :heavy_check_mark: | Amount to refund in cents. Minimum is 1. | | `comment` | *?string* | :heavy_minus_sign: | An internal comment about the refund. | | `revokeBenefits` | *?bool* | :heavy_minus_sign: | Should this refund trigger the associated customer benefits to be revoked?

**Note:**
Only allowed in case the `order` is a one-time purchase.
Subscriptions automatically revoke customer benefits once the
subscription itself is revoked, i.e fully canceled. | \ No newline at end of file diff --git a/docs/Models/Components/RefundDispute.md b/docs/Models/Components/RefundDispute.md index 4f5f4ace..2d8c7597 100644 --- a/docs/Models/Components/RefundDispute.md +++ b/docs/Models/Components/RefundDispute.md @@ -6,16 +6,19 @@ in case we prevented a dispute by issuing a refund. ## Fields -| Field | Type | Required | Description | Example | -| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -| `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Creation timestamp of the object. | | -| `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Last modification timestamp of the object. | | -| `id` | *string* | :heavy_check_mark: | The ID of the object. | | -| `status` | [Components\DisputeStatus](../../Models/Components/DisputeStatus.md) | :heavy_check_mark: | N/A | | -| `resolved` | *bool* | :heavy_check_mark: | Whether the dispute has been resolved (won or lost). | false | -| `closed` | *bool* | :heavy_check_mark: | Whether the dispute is closed (prevented, won, or lost). | false | -| `amount` | *int* | :heavy_check_mark: | Amount in cents disputed. | 1000 | -| `taxAmount` | *int* | :heavy_check_mark: | Tax amount in cents disputed. | 200 | -| `currency` | *string* | :heavy_check_mark: | Currency code of the dispute. | usd | -| `orderId` | *string* | :heavy_check_mark: | The ID of the order associated with the dispute. | 57107b74-8400-4d80-a2fc-54c2b4239cb3 | -| `paymentId` | *string* | :heavy_check_mark: | The ID of the payment associated with the dispute. | 42b94870-36b9-4573-96b6-b90b1c99a353 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | +| `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Creation timestamp of the object. | | +| `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Last modification timestamp of the object. | | +| `id` | *string* | :heavy_check_mark: | The ID of the object. | | +| `status` | [Components\DisputeStatus](../../Models/Components/DisputeStatus.md) | :heavy_check_mark: | N/A | | +| `resolved` | *bool* | :heavy_check_mark: | Whether the dispute has been resolved (won or lost). | false | +| `closed` | *bool* | :heavy_check_mark: | Whether the dispute is closed (prevented, won, or lost). | false | +| `amount` | *int* | :heavy_check_mark: | Amount in cents disputed. | 1000 | +| `taxAmount` | *int* | :heavy_check_mark: | Tax amount in cents disputed. | 200 | +| `currency` | *string* | :heavy_check_mark: | Currency code of the dispute. | usd | +| `reason` | *string* | :heavy_check_mark: | The reason for the dispute as reported by the card network (e.g. `fraudulent`, `product_not_received`). `None` until the processor reports it. | fraudulent | +| `evidenceDueBy` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Deadline to submit evidence in response to the dispute. `None` when no response is required. | | +| `pastDue` | *bool* | :heavy_check_mark: | Whether the evidence submission deadline has passed. | false | +| `orderId` | *string* | :heavy_check_mark: | The ID of the order associated with the dispute. | 57107b74-8400-4d80-a2fc-54c2b4239cb3 | +| `paymentId` | *string* | :heavy_check_mark: | The ID of the payment associated with the dispute. | 42b94870-36b9-4573-96b6-b90b1c99a353 | \ No newline at end of file diff --git a/docs/Models/Components/Role.md b/docs/Models/Components/Role.md new file mode 100644 index 00000000..0d9375ba --- /dev/null +++ b/docs/Models/Components/Role.md @@ -0,0 +1,11 @@ +# Role + +The role of the member within the customer. To assign or transfer ownership, use the member update endpoint. + + +## Values + +| Name | Value | +| ---------------- | ---------------- | +| `Member` | member | +| `BillingManager` | billing_manager | \ No newline at end of file diff --git a/docs/Models/Components/Scope.md b/docs/Models/Components/Scope.md index 9a4e9c58..440611fc 100644 --- a/docs/Models/Components/Scope.md +++ b/docs/Models/Components/Scope.md @@ -10,8 +10,6 @@ | `Email` | email | | `UserRead` | user:read | | `UserWrite` | user:write | -| `WebRead` | web:read | -| `WebWrite` | web:write | | `OrganizationsRead` | organizations:read | | `OrganizationsWrite` | organizations:write | | `CustomFieldsRead` | custom_fields:read | @@ -45,6 +43,7 @@ | `WalletsRead` | wallets:read | | `WalletsWrite` | wallets:write | | `DisputesRead` | disputes:read | +| `DisputesWrite` | disputes:write | | `CustomerMetersRead` | customer_meters:read | | `CustomerSessionsWrite` | customer_sessions:write | | `MemberSessionsWrite` | member_sessions:write | diff --git a/docs/Models/Components/SeatAssign.md b/docs/Models/Components/SeatAssign.md index 174b4ec6..02b785ea 100644 --- a/docs/Models/Components/SeatAssign.md +++ b/docs/Models/Components/SeatAssign.md @@ -5,9 +5,8 @@ | Field | Type | Required | Description | | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | -| `subscriptionId` | *?string* | :heavy_minus_sign: | Subscription ID. Required if checkout_id and order_id are not provided. | -| `checkoutId` | *?string* | :heavy_minus_sign: | Checkout ID. Used to look up subscription or order from the checkout page. | -| `orderId` | *?string* | :heavy_minus_sign: | Order ID for one-time purchases. Required if subscription_id and checkout_id are not provided. | +| `subscriptionId` | *?string* | :heavy_minus_sign: | Subscription ID. Required if neither order_id nor checkout_id is provided. | +| `orderId` | *?string* | :heavy_minus_sign: | Order ID for one-time purchases. Required if subscription_id is not provided. | | `email` | *?string* | :heavy_minus_sign: | Email of the customer to assign the seat to | | `externalCustomerId` | *?string* | :heavy_minus_sign: | External customer ID for the seat assignment | | `customerId` | *?string* | :heavy_minus_sign: | Customer ID for the seat assignment | diff --git a/docs/Models/Components/SeatCustomers.md b/docs/Models/Components/SeatCustomers.md new file mode 100644 index 00000000..770acdd1 --- /dev/null +++ b/docs/Models/Components/SeatCustomers.md @@ -0,0 +1,23 @@ +# SeatCustomers + + +## Supported Types + +### `int` + +```php +/** +* @var int +*/ +int $value = /* values here */ +``` + +### `float` + +```php +/** +* @var float +*/ +float $value = /* values here */ +``` + diff --git a/docs/Models/Components/SeatUtilizationRate.md b/docs/Models/Components/SeatUtilizationRate.md new file mode 100644 index 00000000..61108d5d --- /dev/null +++ b/docs/Models/Components/SeatUtilizationRate.md @@ -0,0 +1,23 @@ +# SeatUtilizationRate + + +## Supported Types + +### `int` + +```php +/** +* @var int +*/ +int $value = /* values here */ +``` + +### `float` + +```php +/** +* @var float +*/ +float $value = /* values here */ +``` + diff --git a/docs/Models/Components/SeatsClaimed.md b/docs/Models/Components/SeatsClaimed.md new file mode 100644 index 00000000..85ffa25d --- /dev/null +++ b/docs/Models/Components/SeatsClaimed.md @@ -0,0 +1,23 @@ +# SeatsClaimed + + +## Supported Types + +### `int` + +```php +/** +* @var int +*/ +int $value = /* values here */ +``` + +### `float` + +```php +/** +* @var float +*/ +float $value = /* values here */ +``` + diff --git a/docs/Models/Components/SeatsPending.md b/docs/Models/Components/SeatsPending.md new file mode 100644 index 00000000..544c59d4 --- /dev/null +++ b/docs/Models/Components/SeatsPending.md @@ -0,0 +1,23 @@ +# SeatsPending + + +## Supported Types + +### `int` + +```php +/** +* @var int +*/ +int $value = /* values here */ +``` + +### `float` + +```php +/** +* @var float +*/ +float $value = /* values here */ +``` + diff --git a/docs/Models/Components/SeatsTotal.md b/docs/Models/Components/SeatsTotal.md new file mode 100644 index 00000000..0b1937c1 --- /dev/null +++ b/docs/Models/Components/SeatsTotal.md @@ -0,0 +1,23 @@ +# SeatsTotal + + +## Supported Types + +### `int` + +```php +/** +* @var int +*/ +int $value = /* values here */ +``` + +### `float` + +```php +/** +* @var float +*/ +float $value = /* values here */ +``` + diff --git a/docs/Models/Components/Subscription.md b/docs/Models/Components/Subscription.md index 48ebbfee..38287980 100644 --- a/docs/Models/Components/Subscription.md +++ b/docs/Models/Components/Subscription.md @@ -3,37 +3,43 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Creation timestamp of the object. | | -| `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Last modification timestamp of the object. | | -| `id` | *string* | :heavy_check_mark: | The ID of the object. | | -| `amount` | *int* | :heavy_check_mark: | The amount of the subscription. | 10000 | -| `currency` | *string* | :heavy_check_mark: | The currency of the subscription. | usd | -| `recurringInterval` | [Components\SubscriptionRecurringInterval](../../Models/Components/SubscriptionRecurringInterval.md) | :heavy_check_mark: | N/A | | -| `recurringIntervalCount` | *int* | :heavy_check_mark: | Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. | | -| `status` | [Components\SubscriptionStatus](../../Models/Components/SubscriptionStatus.md) | :heavy_check_mark: | N/A | | -| `currentPeriodStart` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The start timestamp of the current billing period. | | -| `currentPeriodEnd` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The end timestamp of the current billing period. | | -| `trialStart` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The start timestamp of the trial period, if any. | | -| `trialEnd` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The end timestamp of the trial period, if any. | | -| `cancelAtPeriodEnd` | *bool* | :heavy_check_mark: | Whether the subscription will be canceled at the end of the current period. | | -| `canceledAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The timestamp when the subscription was canceled. The subscription might still be active if `cancel_at_period_end` is `true`. | | -| `startedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The timestamp when the subscription started. | | -| `endsAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The timestamp when the subscription will end. | | -| `endedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The timestamp when the subscription ended. | | -| `customerId` | *string* | :heavy_check_mark: | The ID of the subscribed customer. | | -| `productId` | *string* | :heavy_check_mark: | The ID of the subscribed product. | | -| `discountId` | *string* | :heavy_check_mark: | The ID of the applied discount, if any. | | -| `checkoutId` | *string* | :heavy_check_mark: | N/A | | -| `seats` | *?int* | :heavy_minus_sign: | The number of seats for seat-based subscriptions. None for non-seat subscriptions. | | -| `customerCancellationReason` | [Components\CustomerCancellationReason](../../Models/Components/CustomerCancellationReason.md) | :heavy_check_mark: | N/A | | -| `customerCancellationComment` | *string* | :heavy_check_mark: | N/A | | -| `metadata` | array | :heavy_check_mark: | N/A | | -| `customFieldData` | array | :heavy_minus_sign: | Key-value object storing custom field values. | | -| `customer` | [Components\SubscriptionCustomer](../../Models/Components/SubscriptionCustomer.md) | :heavy_check_mark: | N/A | | -| `product` | [Components\Product](../../Models/Components/Product.md) | :heavy_check_mark: | A product. | | -| `discount` | [Components\DiscountFixedOnceForeverDurationBase\|Components\DiscountFixedRepeatDurationBase\|Components\DiscountPercentageOnceForeverDurationBase\|Components\DiscountPercentageRepeatDurationBase](../../Models/Components/SubscriptionDiscount.md) | :heavy_check_mark: | N/A | | -| `prices` | array<[Components\LegacyRecurringProductPriceFixed\|Components\LegacyRecurringProductPriceCustom\|Components\LegacyRecurringProductPriceFree\|Components\ProductPriceFixed\|Components\ProductPriceCustom\|Components\ProductPriceFree\|Components\ProductPriceSeatBased\|Components\ProductPriceMeteredUnit](../../Models/Components/SubscriptionPrices.md)> | :heavy_check_mark: | List of enabled prices for the subscription. | | -| `meters` | array<[Components\SubscriptionMeter](../../Models/Components/SubscriptionMeter.md)> | :heavy_check_mark: | List of meters associated with the subscription. | | -| `pendingUpdate` | [Components\PendingSubscriptionUpdate](../../Models/Components/PendingSubscriptionUpdate.md) | :heavy_check_mark: | Pending subscription update that will be applied at the beginning of the next period. If `null`, there is no pending update. | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Creation timestamp of the object. | | +| `modifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Last modification timestamp of the object. | | +| `id` | *string* | :heavy_check_mark: | The ID of the object. | | +| `amount` | *int* | :heavy_check_mark: | The amount of the subscription. | 10000 | +| `currency` | *string* | :heavy_check_mark: | The currency of the subscription. | usd | +| `recurringInterval` | [Components\RecurringInterval](../../Models/Components/RecurringInterval.md) | :heavy_check_mark: | N/A | | +| `recurringIntervalCount` | *int* | :heavy_check_mark: | Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. | | +| `status` | [Components\SubscriptionStatus](../../Models/Components/SubscriptionStatus.md) | :heavy_check_mark: | N/A | | +| `currentPeriodStart` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The start timestamp of the current billing period. | | +| `currentPeriodEnd` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The end timestamp of the current billing period. | | +| `currentMeterPeriodStart` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The start timestamp of the current meter period, if the product has a meter cycle set. Metered credits are granted and overage is settled on this cadence. | | +| `currentMeterPeriodEnd` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The end timestamp of the current meter period, if the product has a meter cycle set. This is when credits next renew. | | +| `trialStart` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The start timestamp of the trial period, if any. | | +| `trialEnd` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The end timestamp of the trial period, if any. | | +| `cancelAtPeriodEnd` | *bool* | :heavy_check_mark: | Whether the subscription will be canceled at the end of the current period. | | +| `canceledAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The timestamp when the subscription was canceled. The subscription might still be active if `cancel_at_period_end` is `true`. | | +| `startedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The timestamp when the subscription started. | | +| `endsAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The timestamp when the subscription will end. | | +| `endedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The timestamp when the subscription ended. | | +| `pastDueAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_minus_sign: | The timestamp when the subscription entered `past_due` status. | | +| `pauseAtPeriodEnd` | *bool* | :heavy_check_mark: | Whether the subscription will be paused at the end of the current period. | | +| `pausedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The timestamp when the subscription was paused. | | +| `resumesAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The timestamp when a paused subscription is scheduled to automatically resume, if set. | | +| `customerId` | *string* | :heavy_check_mark: | The ID of the subscribed customer. | | +| `productId` | *string* | :heavy_check_mark: | The ID of the subscribed product. | | +| `discountId` | *string* | :heavy_check_mark: | The ID of the applied discount, if any. | | +| `checkoutId` | *string* | :heavy_check_mark: | N/A | | +| `seats` | *?int* | :heavy_minus_sign: | The number of seats for seat-based subscriptions. None for non-seat subscriptions. | | +| `customerCancellationReason` | [Components\CustomerCancellationReason](../../Models/Components/CustomerCancellationReason.md) | :heavy_check_mark: | N/A | | +| `customerCancellationComment` | *string* | :heavy_check_mark: | N/A | | +| `metadata` | array | :heavy_check_mark: | N/A | | +| `customFieldData` | array | :heavy_minus_sign: | Key-value object storing custom field values. | | +| `customer` | [Components\SubscriptionCustomer](../../Models/Components/SubscriptionCustomer.md) | :heavy_check_mark: | N/A | | +| `product` | [Components\Product](../../Models/Components/Product.md) | :heavy_check_mark: | A product. | | +| `discount` | [Components\DiscountFixedOnceForeverDurationBase\|Components\DiscountFixedRepeatDurationBase\|Components\DiscountPercentageOnceForeverDurationBase\|Components\DiscountPercentageRepeatDurationBase](../../Models/Components/SubscriptionDiscount.md) | :heavy_check_mark: | N/A | | +| `prices` | array<[Components\LegacyRecurringProductPriceFixed\|Components\LegacyRecurringProductPriceCustom\|Components\ProductPriceFixed\|Components\ProductPriceCustom\|Components\ProductPriceSeatBased\|Components\ProductPriceMeteredUnit](../../Models/Components/SubscriptionPrices.md)> | :heavy_check_mark: | List of enabled prices for the subscription. | | +| `meters` | array<[Components\SubscriptionMeter](../../Models/Components/SubscriptionMeter.md)> | :heavy_check_mark: | List of meters associated with the subscription. | | +| `pendingUpdate` | [Components\PendingSubscriptionUpdate](../../Models/Components/PendingSubscriptionUpdate.md) | :heavy_check_mark: | Pending subscription update that will be applied at the beginning of the next period. If `null`, there is no pending update. | | \ No newline at end of file diff --git a/docs/Models/Components/SubscriptionCustomer.md b/docs/Models/Components/SubscriptionCustomer.md index 3bb37afb..7257be87 100644 --- a/docs/Models/Components/SubscriptionCustomer.md +++ b/docs/Models/Components/SubscriptionCustomer.md @@ -14,9 +14,11 @@ | `emailVerified` | *bool* | :heavy_check_mark: | Whether the customer email address is verified. The address is automatically verified when the customer accesses the customer portal using their email address. | true | | `type` | [Components\CustomerType](../../Models/Components/CustomerType.md) | :heavy_check_mark: | N/A | | | `name` | *string* | :heavy_check_mark: | The name of the customer. | John Doe | +| `billingName` | *string* | :heavy_check_mark: | The name that should appear on the customer's invoices. Falls back to the customer name when not explicitly set. | John Doe | | `billingAddress` | [Components\Address](../../Models/Components/Address.md) | :heavy_check_mark: | N/A | | | `taxId` | array<[string\|Components\TaxIDFormat](../../Models/Components/TaxId.md)> | :heavy_check_mark: | N/A | **Example 1:** [
"911144442",
"us_ein"
]
**Example 2:** [
"FR61954506077",
"eu_vat"
] | | `locale` | *?string* | :heavy_minus_sign: | N/A | | | `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the customer. | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | +| `defaultPaymentMethodId` | *?string* | :heavy_minus_sign: | The ID of the customer's default payment method, if any. Use the payment methods endpoint to retrieve its details. | | | `deletedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Timestamp for when the customer was soft deleted. | | | `avatarUrl` | *string* | :heavy_check_mark: | N/A | https://www.gravatar.com/avatar/xxx?d=404 | \ No newline at end of file diff --git a/docs/Models/Components/SubscriptionPastDueEvent.md b/docs/Models/Components/SubscriptionPastDueEvent.md new file mode 100644 index 00000000..3cf876e4 --- /dev/null +++ b/docs/Models/Components/SubscriptionPastDueEvent.md @@ -0,0 +1,23 @@ +# SubscriptionPastDueEvent + +An event created by Polar when a subscription becomes past due. + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | +| `id` | *string* | :heavy_check_mark: | The ID of the object. | | +| `timestamp` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The timestamp of the event. | | +| `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the event. | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | +| `customerId` | *string* | :heavy_check_mark: | ID of the customer in your Polar organization associated with the event. | | +| `customer` | [Components\CustomerIndividual\|Components\CustomerTeam](../../Models/Components/Customer.md) | :heavy_check_mark: | The customer associated with the event. | | +| `externalCustomerId` | *string* | :heavy_check_mark: | ID of the customer in your system associated with the event. | | +| `memberId` | *?string* | :heavy_minus_sign: | ID of the member within the customer's organization who performed the action inside B2B. | | +| `externalMemberId` | *?string* | :heavy_minus_sign: | ID of the member in your system within the customer's organization who performed the action inside B2B. | | +| `childCount` | *?int* | :heavy_minus_sign: | Number of direct child events linked to this event. | | +| `parentId` | *?string* | :heavy_minus_sign: | The ID of the parent event. | | +| `label` | *string* | :heavy_check_mark: | Human readable label of the event type. | | +| `source` | *string* | :heavy_check_mark: | The source of the event. `system` events are created by Polar. `user` events are the one you create through our ingestion API. | | +| `name` | *string* | :heavy_check_mark: | The name of the event. | | +| `metadata` | [Components\SubscriptionPastDueMetadata](../../Models/Components/SubscriptionPastDueMetadata.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/SubscriptionPastDueMetadata.md b/docs/Models/Components/SubscriptionPastDueMetadata.md new file mode 100644 index 00000000..bc14728b --- /dev/null +++ b/docs/Models/Components/SubscriptionPastDueMetadata.md @@ -0,0 +1,14 @@ +# SubscriptionPastDueMetadata + + +## Fields + +| Field | Type | Required | Description | +| ------------------------ | ------------------------ | ------------------------ | ------------------------ | +| `subscriptionId` | *string* | :heavy_check_mark: | N/A | +| `productId` | *?string* | :heavy_minus_sign: | N/A | +| `pastDueAt` | *string* | :heavy_check_mark: | N/A | +| `amount` | *?int* | :heavy_minus_sign: | N/A | +| `currency` | *?string* | :heavy_minus_sign: | N/A | +| `recurringInterval` | *?string* | :heavy_minus_sign: | N/A | +| `recurringIntervalCount` | *?int* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/OrganizationAccessTokensListResponse.md b/docs/Models/Components/SubscriptionPause.md similarity index 50% rename from docs/Models/Operations/OrganizationAccessTokensListResponse.md rename to docs/Models/Components/SubscriptionPause.md index 7ca2ba34..08af4066 100644 --- a/docs/Models/Operations/OrganizationAccessTokensListResponse.md +++ b/docs/Models/Components/SubscriptionPause.md @@ -1,11 +1,9 @@ -# OrganizationAccessTokensListResponse +# SubscriptionPause ## Fields -| Field | Type | Required | Description | -| ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | -| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | -| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | -| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | -| `listResourceOrganizationAccessToken` | [?Components\ListResourceOrganizationAccessToken](../../Models/Components/ListResourceOrganizationAccessToken.md) | :heavy_minus_sign: | Successful Response | \ No newline at end of file +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `pauseAtPeriodEnd` | *bool* | :heavy_check_mark: | Pause an active subscription at the end of the current period.

Or cancel a scheduled pause on a subscription set to be paused at
period end. | +| `resumesAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_minus_sign: | Date at which the paused subscription should automatically resume.

If not set, the subscription stays paused until it is resumed manually.
Must be after the current period end. | \ No newline at end of file diff --git a/docs/Models/Components/SubscriptionPausedEvent.md b/docs/Models/Components/SubscriptionPausedEvent.md new file mode 100644 index 00000000..6d287697 --- /dev/null +++ b/docs/Models/Components/SubscriptionPausedEvent.md @@ -0,0 +1,23 @@ +# SubscriptionPausedEvent + +An event created by Polar when a subscription is paused. + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | +| `id` | *string* | :heavy_check_mark: | The ID of the object. | | +| `timestamp` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The timestamp of the event. | | +| `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the event. | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | +| `customerId` | *string* | :heavy_check_mark: | ID of the customer in your Polar organization associated with the event. | | +| `customer` | [Components\CustomerIndividual\|Components\CustomerTeam](../../Models/Components/Customer.md) | :heavy_check_mark: | The customer associated with the event. | | +| `externalCustomerId` | *string* | :heavy_check_mark: | ID of the customer in your system associated with the event. | | +| `memberId` | *?string* | :heavy_minus_sign: | ID of the member within the customer's organization who performed the action inside B2B. | | +| `externalMemberId` | *?string* | :heavy_minus_sign: | ID of the member in your system within the customer's organization who performed the action inside B2B. | | +| `childCount` | *?int* | :heavy_minus_sign: | Number of direct child events linked to this event. | | +| `parentId` | *?string* | :heavy_minus_sign: | The ID of the parent event. | | +| `label` | *string* | :heavy_check_mark: | Human readable label of the event type. | | +| `source` | *string* | :heavy_check_mark: | The source of the event. `system` events are created by Polar. `user` events are the one you create through our ingestion API. | | +| `name` | *string* | :heavy_check_mark: | The name of the event. | | +| `metadata` | [Components\SubscriptionPausedMetadata](../../Models/Components/SubscriptionPausedMetadata.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/SubscriptionPausedMetadata.md b/docs/Models/Components/SubscriptionPausedMetadata.md new file mode 100644 index 00000000..62d4061c --- /dev/null +++ b/docs/Models/Components/SubscriptionPausedMetadata.md @@ -0,0 +1,15 @@ +# SubscriptionPausedMetadata + + +## Fields + +| Field | Type | Required | Description | +| ------------------------ | ------------------------ | ------------------------ | ------------------------ | +| `subscriptionId` | *string* | :heavy_check_mark: | N/A | +| `productId` | *?string* | :heavy_minus_sign: | N/A | +| `amount` | *?int* | :heavy_minus_sign: | N/A | +| `currency` | *?string* | :heavy_minus_sign: | N/A | +| `recurringInterval` | *?string* | :heavy_minus_sign: | N/A | +| `recurringIntervalCount` | *?int* | :heavy_minus_sign: | N/A | +| `pausedAt` | *string* | :heavy_check_mark: | N/A | +| `resumesAt` | *?string* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/SubscriptionPrices.md b/docs/Models/Components/SubscriptionPrices.md index 6be4dabf..161db292 100644 --- a/docs/Models/Components/SubscriptionPrices.md +++ b/docs/Models/Components/SubscriptionPrices.md @@ -3,21 +3,21 @@ ## Supported Types -### `Components\LegacyRecurringProductPriceFixed|Components\LegacyRecurringProductPriceCustom|Components\LegacyRecurringProductPriceFree` +### `Components\LegacyRecurringProductPriceFixed|Components\LegacyRecurringProductPriceCustom` ```php /** -* @var \Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\LegacyRecurringProductPriceFree +* @var \Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom */ -Components\LegacyRecurringProductPriceFixed|Components\LegacyRecurringProductPriceCustom|Components\LegacyRecurringProductPriceFree $value = /* values here */ +Components\LegacyRecurringProductPriceFixed|Components\LegacyRecurringProductPriceCustom $value = /* values here */ ``` -### `Components\ProductPriceFixed|Components\ProductPriceCustom|Components\ProductPriceFree|Components\ProductPriceSeatBased|Components\ProductPriceMeteredUnit` +### `Components\ProductPriceFixed|Components\ProductPriceCustom|Components\ProductPriceSeatBased|Components\ProductPriceMeteredUnit` ```php /** -* @var \Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceFree|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit +* @var \Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit */ -Components\ProductPriceFixed|Components\ProductPriceCustom|Components\ProductPriceFree|Components\ProductPriceSeatBased|Components\ProductPriceMeteredUnit $value = /* values here */ +Components\ProductPriceFixed|Components\ProductPriceCustom|Components\ProductPriceSeatBased|Components\ProductPriceMeteredUnit $value = /* values here */ ``` diff --git a/docs/Models/Components/SubscriptionProrationBehavior.md b/docs/Models/Components/SubscriptionProrationBehavior.md index 4b028b37..e58aee32 100644 --- a/docs/Models/Components/SubscriptionProrationBehavior.md +++ b/docs/Models/Components/SubscriptionProrationBehavior.md @@ -7,4 +7,5 @@ | ------------ | ------------ | | `Invoice` | invoice | | `Prorate` | prorate | -| `NextPeriod` | next_period | \ No newline at end of file +| `NextPeriod` | next_period | +| `Reset` | reset | \ No newline at end of file diff --git a/docs/Models/Components/SubscriptionReactivatedEvent.md b/docs/Models/Components/SubscriptionReactivatedEvent.md new file mode 100644 index 00000000..927e7f12 --- /dev/null +++ b/docs/Models/Components/SubscriptionReactivatedEvent.md @@ -0,0 +1,23 @@ +# SubscriptionReactivatedEvent + +An event created by Polar when a past due subscription is recovered. + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | +| `id` | *string* | :heavy_check_mark: | The ID of the object. | | +| `timestamp` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The timestamp of the event. | | +| `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the event. | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | +| `customerId` | *string* | :heavy_check_mark: | ID of the customer in your Polar organization associated with the event. | | +| `customer` | [Components\CustomerIndividual\|Components\CustomerTeam](../../Models/Components/Customer.md) | :heavy_check_mark: | The customer associated with the event. | | +| `externalCustomerId` | *string* | :heavy_check_mark: | ID of the customer in your system associated with the event. | | +| `memberId` | *?string* | :heavy_minus_sign: | ID of the member within the customer's organization who performed the action inside B2B. | | +| `externalMemberId` | *?string* | :heavy_minus_sign: | ID of the member in your system within the customer's organization who performed the action inside B2B. | | +| `childCount` | *?int* | :heavy_minus_sign: | Number of direct child events linked to this event. | | +| `parentId` | *?string* | :heavy_minus_sign: | The ID of the parent event. | | +| `label` | *string* | :heavy_check_mark: | Human readable label of the event type. | | +| `source` | *string* | :heavy_check_mark: | The source of the event. `system` events are created by Polar. `user` events are the one you create through our ingestion API. | | +| `name` | *string* | :heavy_check_mark: | The name of the event. | | +| `metadata` | [Components\SubscriptionReactivatedMetadata](../../Models/Components/SubscriptionReactivatedMetadata.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/SubscriptionReactivatedMetadata.md b/docs/Models/Components/SubscriptionReactivatedMetadata.md new file mode 100644 index 00000000..dec9dcf6 --- /dev/null +++ b/docs/Models/Components/SubscriptionReactivatedMetadata.md @@ -0,0 +1,13 @@ +# SubscriptionReactivatedMetadata + + +## Fields + +| Field | Type | Required | Description | +| ------------------------ | ------------------------ | ------------------------ | ------------------------ | +| `subscriptionId` | *string* | :heavy_check_mark: | N/A | +| `productId` | *?string* | :heavy_minus_sign: | N/A | +| `amount` | *?int* | :heavy_minus_sign: | N/A | +| `currency` | *?string* | :heavy_minus_sign: | N/A | +| `recurringInterval` | *?string* | :heavy_minus_sign: | N/A | +| `recurringIntervalCount` | *?int* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/SubscriptionResume.md b/docs/Models/Components/SubscriptionResume.md new file mode 100644 index 00000000..11781aa6 --- /dev/null +++ b/docs/Models/Components/SubscriptionResume.md @@ -0,0 +1,8 @@ +# SubscriptionResume + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | +| `resume` | *bool* | :heavy_check_mark: | Resume a paused subscription immediately, starting a new billing period and charging the customer. | \ No newline at end of file diff --git a/docs/Models/Components/SubscriptionResumedEvent.md b/docs/Models/Components/SubscriptionResumedEvent.md new file mode 100644 index 00000000..978af9af --- /dev/null +++ b/docs/Models/Components/SubscriptionResumedEvent.md @@ -0,0 +1,23 @@ +# SubscriptionResumedEvent + +An event created by Polar when a paused subscription is resumed. + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | +| `id` | *string* | :heavy_check_mark: | The ID of the object. | | +| `timestamp` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The timestamp of the event. | | +| `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the event. | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | +| `customerId` | *string* | :heavy_check_mark: | ID of the customer in your Polar organization associated with the event. | | +| `customer` | [Components\CustomerIndividual\|Components\CustomerTeam](../../Models/Components/Customer.md) | :heavy_check_mark: | The customer associated with the event. | | +| `externalCustomerId` | *string* | :heavy_check_mark: | ID of the customer in your system associated with the event. | | +| `memberId` | *?string* | :heavy_minus_sign: | ID of the member within the customer's organization who performed the action inside B2B. | | +| `externalMemberId` | *?string* | :heavy_minus_sign: | ID of the member in your system within the customer's organization who performed the action inside B2B. | | +| `childCount` | *?int* | :heavy_minus_sign: | Number of direct child events linked to this event. | | +| `parentId` | *?string* | :heavy_minus_sign: | The ID of the parent event. | | +| `label` | *string* | :heavy_check_mark: | Human readable label of the event type. | | +| `source` | *string* | :heavy_check_mark: | The source of the event. `system` events are created by Polar. `user` events are the one you create through our ingestion API. | | +| `name` | *string* | :heavy_check_mark: | The name of the event. | | +| `metadata` | [Components\SubscriptionResumedMetadata](../../Models/Components/SubscriptionResumedMetadata.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/SubscriptionResumedMetadata.md b/docs/Models/Components/SubscriptionResumedMetadata.md new file mode 100644 index 00000000..23a9ea2f --- /dev/null +++ b/docs/Models/Components/SubscriptionResumedMetadata.md @@ -0,0 +1,13 @@ +# SubscriptionResumedMetadata + + +## Fields + +| Field | Type | Required | Description | +| ------------------------ | ------------------------ | ------------------------ | ------------------------ | +| `subscriptionId` | *string* | :heavy_check_mark: | N/A | +| `productId` | *?string* | :heavy_minus_sign: | N/A | +| `amount` | *?int* | :heavy_minus_sign: | N/A | +| `currency` | *?string* | :heavy_minus_sign: | N/A | +| `recurringInterval` | *?string* | :heavy_minus_sign: | N/A | +| `recurringIntervalCount` | *?int* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/SubscriptionStatus.md b/docs/Models/Components/SubscriptionStatus.md index 545db47c..257158f6 100644 --- a/docs/Models/Components/SubscriptionStatus.md +++ b/docs/Models/Components/SubscriptionStatus.md @@ -11,4 +11,5 @@ | `Active` | active | | `PastDue` | past_due | | `Canceled` | canceled | -| `Unpaid` | unpaid | \ No newline at end of file +| `Unpaid` | unpaid | +| `Paused` | paused | \ No newline at end of file diff --git a/docs/Models/Components/SubscriptionUpdate.md b/docs/Models/Components/SubscriptionUpdate.md index 01951d7b..d4ec8b47 100644 --- a/docs/Models/Components/SubscriptionUpdate.md +++ b/docs/Models/Components/SubscriptionUpdate.md @@ -3,31 +3,13 @@ ## Supported Types -### `Components\SubscriptionUpdateProduct` +### `Components\SubscriptionUpdateBase` ```php /** -* @var \Polar\Models\Components\SubscriptionUpdateProduct +* @var \Polar\Models\Components\SubscriptionUpdateBase */ -Components\SubscriptionUpdateProduct $value = /* values here */ -``` - -### `Components\SubscriptionUpdateDiscount` - -```php -/** -* @var \Polar\Models\Components\SubscriptionUpdateDiscount -*/ -Components\SubscriptionUpdateDiscount $value = /* values here */ -``` - -### `Components\SubscriptionUpdateTrial` - -```php -/** -* @var \Polar\Models\Components\SubscriptionUpdateTrial -*/ -Components\SubscriptionUpdateTrial $value = /* values here */ +Components\SubscriptionUpdateBase $value = /* values here */ ``` ### `Components\SubscriptionUpdateSeats` @@ -66,3 +48,30 @@ Components\SubscriptionCancel $value = /* values here */ Components\SubscriptionRevoke $value = /* values here */ ``` +### `Components\SubscriptionPause` + +```php +/** +* @var \Polar\Models\Components\SubscriptionPause +*/ +Components\SubscriptionPause $value = /* values here */ +``` + +### `Components\SubscriptionResume` + +```php +/** +* @var \Polar\Models\Components\SubscriptionResume +*/ +Components\SubscriptionResume $value = /* values here */ +``` + +### `Components\SubscriptionUpdateClear` + +```php +/** +* @var \Polar\Models\Components\SubscriptionUpdateClear +*/ +Components\SubscriptionUpdateClear $value = /* values here */ +``` + diff --git a/docs/Models/Components/SubscriptionUpdateBase.md b/docs/Models/Components/SubscriptionUpdateBase.md new file mode 100644 index 00000000..4ccfdc69 --- /dev/null +++ b/docs/Models/Components/SubscriptionUpdateBase.md @@ -0,0 +1,11 @@ +# SubscriptionUpdateBase + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `productId` | *?string* | :heavy_minus_sign: | Update subscription to another product. | d8dd2de1-21b7-4a41-8bc3-ce909c0cfe23 | +| `prorationBehavior` | [?Components\SubscriptionProrationBehavior](../../Models/Components/SubscriptionProrationBehavior.md) | :heavy_minus_sign: | Determine how to handle the proration billing. If not provided, will use the default organization setting. | | +| `discountId` | *?string* | :heavy_minus_sign: | Update the subscription to apply a new discount. If set to `null`, the discount will be removed. The change will be applied on the next billing cycle. | | +| `trialEnd` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_minus_sign: | Set or extend the trial period of the subscription. If set to `now`, the trial will end immediately. | | \ No newline at end of file diff --git a/docs/Models/Components/SubscriptionUpdateBillingPeriod.md b/docs/Models/Components/SubscriptionUpdateBillingPeriod.md index 3bc92c9b..e5e5cbf1 100644 --- a/docs/Models/Components/SubscriptionUpdateBillingPeriod.md +++ b/docs/Models/Components/SubscriptionUpdateBillingPeriod.md @@ -3,6 +3,6 @@ ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `currentBillingPeriodEnd` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Set a new date for the end of the current billing period. The subscription will renew on this date. Needs to be later than the current value.

It is not possible to update the current billing period on a canceled subscription. | \ No newline at end of file +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `currentBillingPeriodEnd` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Set a new date for the end of the current billing period. The subscription will renew on this date. The new date can be earlier or later than the current period end, as long as it's in the future.

It is not possible to update the current billing period on a canceled subscription. | \ No newline at end of file diff --git a/docs/Models/Components/SubscriptionUpdateClear.md b/docs/Models/Components/SubscriptionUpdateClear.md new file mode 100644 index 00000000..460bc8e3 --- /dev/null +++ b/docs/Models/Components/SubscriptionUpdateClear.md @@ -0,0 +1,8 @@ +# SubscriptionUpdateClear + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| `pendingUpdate` | *mixed* | :heavy_check_mark: | Clear the pending subscription update. Set to null to remove scheduled changes. | \ No newline at end of file diff --git a/docs/Models/Components/SubscriptionUpdateClearedEvent.md b/docs/Models/Components/SubscriptionUpdateClearedEvent.md new file mode 100644 index 00000000..43ca38ec --- /dev/null +++ b/docs/Models/Components/SubscriptionUpdateClearedEvent.md @@ -0,0 +1,23 @@ +# SubscriptionUpdateClearedEvent + +An event created by Polar when a pending subscription update is cleared without being applied. + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | +| `id` | *string* | :heavy_check_mark: | The ID of the object. | | +| `timestamp` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The timestamp of the event. | | +| `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the event. | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | +| `customerId` | *string* | :heavy_check_mark: | ID of the customer in your Polar organization associated with the event. | | +| `customer` | [Components\CustomerIndividual\|Components\CustomerTeam](../../Models/Components/Customer.md) | :heavy_check_mark: | The customer associated with the event. | | +| `externalCustomerId` | *string* | :heavy_check_mark: | ID of the customer in your system associated with the event. | | +| `memberId` | *?string* | :heavy_minus_sign: | ID of the member within the customer's organization who performed the action inside B2B. | | +| `externalMemberId` | *?string* | :heavy_minus_sign: | ID of the member in your system within the customer's organization who performed the action inside B2B. | | +| `childCount` | *?int* | :heavy_minus_sign: | Number of direct child events linked to this event. | | +| `parentId` | *?string* | :heavy_minus_sign: | The ID of the parent event. | | +| `label` | *string* | :heavy_check_mark: | Human readable label of the event type. | | +| `source` | *string* | :heavy_check_mark: | The source of the event. `system` events are created by Polar. `user` events are the one you create through our ingestion API. | | +| `name` | *string* | :heavy_check_mark: | The name of the event. | | +| `metadata` | [Components\SubscriptionUpdateClearedMetadata](../../Models/Components/SubscriptionUpdateClearedMetadata.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/SubscriptionUpdatedTrialMetadata.md b/docs/Models/Components/SubscriptionUpdateClearedMetadata.md similarity index 69% rename from docs/Models/Components/SubscriptionUpdatedTrialMetadata.md rename to docs/Models/Components/SubscriptionUpdateClearedMetadata.md index e9d62aa6..8a1463b1 100644 --- a/docs/Models/Components/SubscriptionUpdatedTrialMetadata.md +++ b/docs/Models/Components/SubscriptionUpdateClearedMetadata.md @@ -1,9 +1,8 @@ -# SubscriptionUpdatedTrialMetadata +# SubscriptionUpdateClearedMetadata ## Fields | Field | Type | Required | Description | | ------------------ | ------------------ | ------------------ | ------------------ | -| `subscriptionId` | *string* | :heavy_check_mark: | N/A | -| `trialEnd` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file +| `subscriptionId` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/SubscriptionUpdateProduct.md b/docs/Models/Components/SubscriptionUpdateProduct.md deleted file mode 100644 index 2d80c714..00000000 --- a/docs/Models/Components/SubscriptionUpdateProduct.md +++ /dev/null @@ -1,9 +0,0 @@ -# SubscriptionUpdateProduct - - -## Fields - -| Field | Type | Required | Description | Example | -| ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | -| `productId` | *string* | :heavy_check_mark: | Update subscription to another product. | d8dd2de1-21b7-4a41-8bc3-ce909c0cfe23 | -| `prorationBehavior` | [?Components\SubscriptionProrationBehavior](../../Models/Components/SubscriptionProrationBehavior.md) | :heavy_minus_sign: | Determine how to handle the proration billing. If not provided, will use the default organization setting. | | \ No newline at end of file diff --git a/docs/Models/Components/SubscriptionUpdateTrial.md b/docs/Models/Components/SubscriptionUpdateTrial.md deleted file mode 100644 index 8eb3eab2..00000000 --- a/docs/Models/Components/SubscriptionUpdateTrial.md +++ /dev/null @@ -1,8 +0,0 @@ -# SubscriptionUpdateTrial - - -## Fields - -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | -| `trialEnd` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Set or extend the trial period of the subscription. If set to `now`, the trial will end immediately. | \ No newline at end of file diff --git a/docs/Models/Components/SubscriptionUpdatedDiscountMetadata.md b/docs/Models/Components/SubscriptionUpdatedDiscountMetadata.md deleted file mode 100644 index 957e29e4..00000000 --- a/docs/Models/Components/SubscriptionUpdatedDiscountMetadata.md +++ /dev/null @@ -1,9 +0,0 @@ -# SubscriptionUpdatedDiscountMetadata - - -## Fields - -| Field | Type | Required | Description | -| ------------------ | ------------------ | ------------------ | ------------------ | -| `subscriptionId` | *string* | :heavy_check_mark: | N/A | -| `discountId` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/SubscriptionUpdatedEvent.md b/docs/Models/Components/SubscriptionUpdatedEvent.md index e688651a..cd0f1594 100644 --- a/docs/Models/Components/SubscriptionUpdatedEvent.md +++ b/docs/Models/Components/SubscriptionUpdatedEvent.md @@ -5,19 +5,19 @@ An event created by Polar when a subscription is updated. ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `id` | *string* | :heavy_check_mark: | The ID of the object. | | -| `timestamp` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The timestamp of the event. | | -| `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the event. | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | -| `customerId` | *string* | :heavy_check_mark: | ID of the customer in your Polar organization associated with the event. | | -| `customer` | [Components\CustomerIndividual\|Components\CustomerTeam](../../Models/Components/Customer.md) | :heavy_check_mark: | The customer associated with the event. | | -| `externalCustomerId` | *string* | :heavy_check_mark: | ID of the customer in your system associated with the event. | | -| `memberId` | *?string* | :heavy_minus_sign: | ID of the member within the customer's organization who performed the action inside B2B. | | -| `externalMemberId` | *?string* | :heavy_minus_sign: | ID of the member in your system within the customer's organization who performed the action inside B2B. | | -| `childCount` | *?int* | :heavy_minus_sign: | Number of direct child events linked to this event. | | -| `parentId` | *?string* | :heavy_minus_sign: | The ID of the parent event. | | -| `label` | *string* | :heavy_check_mark: | Human readable label of the event type. | | -| `source` | *string* | :heavy_check_mark: | The source of the event. `system` events are created by Polar. `user` events are the one you create through our ingestion API. | | -| `name` | *string* | :heavy_check_mark: | The name of the event. | | -| `metadata` | [Components\SubscriptionUpdatedProductMetadata\|Components\SubscriptionUpdatedDiscountMetadata\|Components\SubscriptionUpdatedTrialMetadata\|Components\SubscriptionUpdatedSeatsMetadata\|Components\SubscriptionUpdatedBillingPeriodMetadata](../../Models/Components/SubscriptionUpdatedEventMetadata.md) | :heavy_check_mark: | N/A | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | +| `id` | *string* | :heavy_check_mark: | The ID of the object. | | +| `timestamp` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | The timestamp of the event. | | +| `organizationId` | *string* | :heavy_check_mark: | The ID of the organization owning the event. | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | +| `customerId` | *string* | :heavy_check_mark: | ID of the customer in your Polar organization associated with the event. | | +| `customer` | [Components\CustomerIndividual\|Components\CustomerTeam](../../Models/Components/Customer.md) | :heavy_check_mark: | The customer associated with the event. | | +| `externalCustomerId` | *string* | :heavy_check_mark: | ID of the customer in your system associated with the event. | | +| `memberId` | *?string* | :heavy_minus_sign: | ID of the member within the customer's organization who performed the action inside B2B. | | +| `externalMemberId` | *?string* | :heavy_minus_sign: | ID of the member in your system within the customer's organization who performed the action inside B2B. | | +| `childCount` | *?int* | :heavy_minus_sign: | Number of direct child events linked to this event. | | +| `parentId` | *?string* | :heavy_minus_sign: | The ID of the parent event. | | +| `label` | *string* | :heavy_check_mark: | Human readable label of the event type. | | +| `source` | *string* | :heavy_check_mark: | The source of the event. `system` events are created by Polar. `user` events are the one you create through our ingestion API. | | +| `name` | *string* | :heavy_check_mark: | The name of the event. | | +| `metadata` | [Components\SubscriptionUpdatedMetadata](../../Models/Components/SubscriptionUpdatedMetadata.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/SubscriptionUpdatedEventMetadata.md b/docs/Models/Components/SubscriptionUpdatedEventMetadata.md deleted file mode 100644 index 698a8265..00000000 --- a/docs/Models/Components/SubscriptionUpdatedEventMetadata.md +++ /dev/null @@ -1,50 +0,0 @@ -# SubscriptionUpdatedEventMetadata - - -## Supported Types - -### `Components\SubscriptionUpdatedProductMetadata` - -```php -/** -* @var \Polar\Models\Components\SubscriptionUpdatedProductMetadata -*/ -Components\SubscriptionUpdatedProductMetadata $value = /* values here */ -``` - -### `Components\SubscriptionUpdatedDiscountMetadata` - -```php -/** -* @var \Polar\Models\Components\SubscriptionUpdatedDiscountMetadata -*/ -Components\SubscriptionUpdatedDiscountMetadata $value = /* values here */ -``` - -### `Components\SubscriptionUpdatedTrialMetadata` - -```php -/** -* @var \Polar\Models\Components\SubscriptionUpdatedTrialMetadata -*/ -Components\SubscriptionUpdatedTrialMetadata $value = /* values here */ -``` - -### `Components\SubscriptionUpdatedSeatsMetadata` - -```php -/** -* @var \Polar\Models\Components\SubscriptionUpdatedSeatsMetadata -*/ -Components\SubscriptionUpdatedSeatsMetadata $value = /* values here */ -``` - -### `Components\SubscriptionUpdatedBillingPeriodMetadata` - -```php -/** -* @var \Polar\Models\Components\SubscriptionUpdatedBillingPeriodMetadata -*/ -Components\SubscriptionUpdatedBillingPeriodMetadata $value = /* values here */ -``` - diff --git a/docs/Models/Components/SubscriptionUpdatedMetadata.md b/docs/Models/Components/SubscriptionUpdatedMetadata.md new file mode 100644 index 00000000..c87a8308 --- /dev/null +++ b/docs/Models/Components/SubscriptionUpdatedMetadata.md @@ -0,0 +1,14 @@ +# SubscriptionUpdatedMetadata + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | +| `productId` | *?string* | :heavy_minus_sign: | N/A | +| `prorationBehavior` | [?Components\SubscriptionProrationBehavior](../../Models/Components/SubscriptionProrationBehavior.md) | :heavy_minus_sign: | N/A | +| `discountId` | *?string* | :heavy_minus_sign: | N/A | +| `trialEnd` | *?string* | :heavy_minus_sign: | N/A | +| `seats` | *?int* | :heavy_minus_sign: | N/A | +| `billingPeriodEnd` | *?string* | :heavy_minus_sign: | N/A | +| `subscriptionId` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/SubscriptionUpdatedProductMetadata.md b/docs/Models/Components/SubscriptionUpdatedProductMetadata.md deleted file mode 100644 index be85979d..00000000 --- a/docs/Models/Components/SubscriptionUpdatedProductMetadata.md +++ /dev/null @@ -1,10 +0,0 @@ -# SubscriptionUpdatedProductMetadata - - -## Fields - -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | -| `subscriptionId` | *string* | :heavy_check_mark: | N/A | -| `productId` | *string* | :heavy_check_mark: | N/A | -| `prorationBehavior` | [Components\SubscriptionProrationBehavior](../../Models/Components/SubscriptionProrationBehavior.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/SubscriptionUpdatedSeatsMetadata.md b/docs/Models/Components/SubscriptionUpdatedSeatsMetadata.md deleted file mode 100644 index 64726a20..00000000 --- a/docs/Models/Components/SubscriptionUpdatedSeatsMetadata.md +++ /dev/null @@ -1,10 +0,0 @@ -# SubscriptionUpdatedSeatsMetadata - - -## Fields - -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | -| `subscriptionId` | *string* | :heavy_check_mark: | N/A | -| `seats` | *int* | :heavy_check_mark: | N/A | -| `prorationBehavior` | [Components\SubscriptionProrationBehavior](../../Models/Components/SubscriptionProrationBehavior.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/SupportCaseAttachmentFileCreate.md b/docs/Models/Components/SupportCaseAttachmentFileCreate.md new file mode 100644 index 00000000..db0d4ee6 --- /dev/null +++ b/docs/Models/Components/SupportCaseAttachmentFileCreate.md @@ -0,0 +1,17 @@ +# SupportCaseAttachmentFileCreate + +Schema to create a file attached to a support case. + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | +| `organizationId` | *?string* | :heavy_minus_sign: | N/A | 1dbfc517-0bbf-4301-9ba8-555ca42b9737 | +| `name` | *string* | :heavy_check_mark: | N/A | | +| `mimeType` | *string* | :heavy_check_mark: | MIME type of the file. Images, videos, PDF, CSV, plain text, Word and Excel documents are supported. | | +| `size` | *int* | :heavy_check_mark: | Size of the file. A maximum of 250 MB is allowed for this type of file. | | +| `checksumSha256Base64` | *?string* | :heavy_minus_sign: | N/A | | +| `upload` | [Components\S3FileCreateMultipart](../../Models/Components/S3FileCreateMultipart.md) | :heavy_check_mark: | N/A | | +| `service` | *string* | :heavy_check_mark: | N/A | | +| `version` | *?string* | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/SupportCaseAttachmentFileRead.md b/docs/Models/Components/SupportCaseAttachmentFileRead.md new file mode 100644 index 00000000..af22e4c4 --- /dev/null +++ b/docs/Models/Components/SupportCaseAttachmentFileRead.md @@ -0,0 +1,25 @@ +# SupportCaseAttachmentFileRead + +File attached to a support case (private; fetched via presigned URL). + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | The ID of the object. | +| `organizationId` | *string* | :heavy_check_mark: | N/A | +| `name` | *string* | :heavy_check_mark: | N/A | +| `path` | *string* | :heavy_check_mark: | N/A | +| `mimeType` | *string* | :heavy_check_mark: | N/A | +| `size` | *int* | :heavy_check_mark: | N/A | +| `storageVersion` | *string* | :heavy_check_mark: | N/A | +| `checksumEtag` | *string* | :heavy_check_mark: | N/A | +| `checksumSha256Base64` | *string* | :heavy_check_mark: | N/A | +| `checksumSha256Hex` | *string* | :heavy_check_mark: | N/A | +| `lastModifiedAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | N/A | +| `version` | *string* | :heavy_check_mark: | N/A | +| `service` | *string* | :heavy_check_mark: | N/A | +| `isUploaded` | *bool* | :heavy_check_mark: | N/A | +| `createdAt` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | N/A | +| `sizeReadable` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Components/SystemEvent.md b/docs/Models/Components/SystemEvent.md index 7bc5cd72..0558d4ad 100644 --- a/docs/Models/Components/SystemEvent.md +++ b/docs/Models/Components/SystemEvent.md @@ -210,6 +210,24 @@ Components\SubscriptionCreatedEvent $value = /* values here */ Components\SubscriptionCycledEvent $value = /* values here */ ``` +### `Components\SubscriptionPastDueEvent` + +```php +/** +* @var \Polar\Models\Components\SubscriptionPastDueEvent +*/ +Components\SubscriptionPastDueEvent $value = /* values here */ +``` + +### `Components\SubscriptionPausedEvent` + +```php +/** +* @var \Polar\Models\Components\SubscriptionPausedEvent +*/ +Components\SubscriptionPausedEvent $value = /* values here */ +``` + ### `Components\SubscriptionProductUpdatedEvent` ```php @@ -219,6 +237,24 @@ Components\SubscriptionCycledEvent $value = /* values here */ Components\SubscriptionProductUpdatedEvent $value = /* values here */ ``` +### `Components\SubscriptionReactivatedEvent` + +```php +/** +* @var \Polar\Models\Components\SubscriptionReactivatedEvent +*/ +Components\SubscriptionReactivatedEvent $value = /* values here */ +``` + +### `Components\SubscriptionResumedEvent` + +```php +/** +* @var \Polar\Models\Components\SubscriptionResumedEvent +*/ +Components\SubscriptionResumedEvent $value = /* values here */ +``` + ### `Components\SubscriptionRevokedEvent` ```php @@ -246,6 +282,15 @@ Components\SubscriptionSeatsUpdatedEvent $value = /* values here */ Components\SubscriptionUncanceledEvent $value = /* values here */ ``` +### `Components\SubscriptionUpdateClearedEvent` + +```php +/** +* @var \Polar\Models\Components\SubscriptionUpdateClearedEvent +*/ +Components\SubscriptionUpdateClearedEvent $value = /* values here */ +``` + ### `Components\SubscriptionUpdatedEvent` ```php diff --git a/docs/Models/Components/TaxBehavior.md b/docs/Models/Components/TaxBehavior.md new file mode 100644 index 00000000..973b5ad9 --- /dev/null +++ b/docs/Models/Components/TaxBehavior.md @@ -0,0 +1,9 @@ +# TaxBehavior + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `Inclusive` | inclusive | +| `Exclusive` | exclusive | \ No newline at end of file diff --git a/docs/Models/Components/TaxIDFormat.md b/docs/Models/Components/TaxIDFormat.md index ef825101..03454095 100644 --- a/docs/Models/Components/TaxIDFormat.md +++ b/docs/Models/Components/TaxIDFormat.md @@ -83,4 +83,5 @@ Ref: https://docs.stripe.com/billing/customer/tax-ids#supported-tax-id | `UyRuc` | uy_ruc | | `VeRif` | ve_rif | | `VnTin` | vn_tin | -| `ZaVat` | za_vat | \ No newline at end of file +| `ZaVat` | za_vat | +| `MuTan` | mu_tan | \ No newline at end of file diff --git a/docs/Models/Components/TrialCommittedMonthlyRecurringRevenue.md b/docs/Models/Components/TrialCommittedMonthlyRecurringRevenue.md new file mode 100644 index 00000000..8986e62f --- /dev/null +++ b/docs/Models/Components/TrialCommittedMonthlyRecurringRevenue.md @@ -0,0 +1,23 @@ +# TrialCommittedMonthlyRecurringRevenue + + +## Supported Types + +### `int` + +```php +/** +* @var int +*/ +int $value = /* values here */ +``` + +### `float` + +```php +/** +* @var float +*/ +float $value = /* values here */ +``` + diff --git a/docs/Models/Components/TrialMonthlyRecurringRevenue.md b/docs/Models/Components/TrialMonthlyRecurringRevenue.md new file mode 100644 index 00000000..1f040cde --- /dev/null +++ b/docs/Models/Components/TrialMonthlyRecurringRevenue.md @@ -0,0 +1,23 @@ +# TrialMonthlyRecurringRevenue + + +## Supported Types + +### `int` + +```php +/** +* @var int +*/ +int $value = /* values here */ +``` + +### `float` + +```php +/** +* @var float +*/ +float $value = /* values here */ +``` + diff --git a/docs/Models/Components/Two.md b/docs/Models/Components/Two.md index ad628b5e..8fc48227 100644 --- a/docs/Models/Components/Two.md +++ b/docs/Models/Components/Two.md @@ -21,15 +21,6 @@ Components\ProductPriceCustomCreate $value = /* values here */ Components\ProductPriceFixedCreate $value = /* values here */ ``` -### `Components\ProductPriceFreeCreate` - -```php -/** -* @var \Polar\Models\Components\ProductPriceFreeCreate -*/ -Components\ProductPriceFreeCreate $value = /* values here */ -``` - ### `Components\ProductPriceMeteredUnitCreate` ```php diff --git a/docs/Models/Components/WebhookBenefitCreatedPayload.md b/docs/Models/Components/WebhookBenefitCreatedPayload.md index 5c1427f9..d802c309 100644 --- a/docs/Models/Components/WebhookBenefitCreatedPayload.md +++ b/docs/Models/Components/WebhookBenefitCreatedPayload.md @@ -7,8 +7,8 @@ Sent when a new benefit is created. ## Fields -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `type` | *string* | :heavy_check_mark: | N/A | benefit.created | -| `timestamp` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | N/A | | -| `data` | [Components\BenefitCustom\|Components\BenefitDiscord\|Components\BenefitGitHubRepository\|Components\BenefitDownloadables\|Components\BenefitLicenseKeys\|Components\BenefitMeterCredit\|Components\BenefitFeatureFlag](../../Models/Components/Benefit.md) | :heavy_check_mark: | N/A | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `type` | *string* | :heavy_check_mark: | N/A | benefit.created | +| `timestamp` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | N/A | | +| `data` | [Components\BenefitCustom\|Components\BenefitDiscord\|Components\BenefitGitHubRepository\|Components\BenefitDownloadables\|Components\BenefitLicenseKeys\|Components\BenefitMeterCredit\|Components\BenefitFeatureFlag\|Components\BenefitSlackSharedChannel](../../Models/Components/Benefit.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/WebhookBenefitGrantCreatedPayload.md b/docs/Models/Components/WebhookBenefitGrantCreatedPayload.md index 63e9bc9c..30cb6435 100644 --- a/docs/Models/Components/WebhookBenefitGrantCreatedPayload.md +++ b/docs/Models/Components/WebhookBenefitGrantCreatedPayload.md @@ -7,8 +7,8 @@ Sent when a new benefit grant is created. ## Fields -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `type` | *string* | :heavy_check_mark: | N/A | benefit_grant.created | -| `timestamp` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | N/A | | -| `data` | [Components\BenefitGrantDiscordWebhook\|Components\BenefitGrantCustomWebhook\|Components\BenefitGrantGitHubRepositoryWebhook\|Components\BenefitGrantDownloadablesWebhook\|Components\BenefitGrantLicenseKeysWebhook\|Components\BenefitGrantMeterCreditWebhook\|Components\BenefitGrantFeatureFlagWebhook](../../Models/Components/BenefitGrantWebhook.md) | :heavy_check_mark: | N/A | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `type` | *string* | :heavy_check_mark: | N/A | benefit_grant.created | +| `timestamp` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | N/A | | +| `data` | [Components\BenefitGrantDiscordWebhook\|Components\BenefitGrantCustomWebhook\|Components\BenefitGrantGitHubRepositoryWebhook\|Components\BenefitGrantDownloadablesWebhook\|Components\BenefitGrantLicenseKeysWebhook\|Components\BenefitGrantMeterCreditWebhook\|Components\BenefitGrantFeatureFlagWebhook\|Components\BenefitGrantSlackSharedChannelWebhook](../../Models/Components/BenefitGrantWebhook.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/WebhookBenefitGrantCycledPayload.md b/docs/Models/Components/WebhookBenefitGrantCycledPayload.md index 69cda824..34b2e42b 100644 --- a/docs/Models/Components/WebhookBenefitGrantCycledPayload.md +++ b/docs/Models/Components/WebhookBenefitGrantCycledPayload.md @@ -8,8 +8,8 @@ meaning the related subscription has been renewed for another period. ## Fields -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `type` | *string* | :heavy_check_mark: | N/A | benefit_grant.cycled | -| `timestamp` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | N/A | | -| `data` | [Components\BenefitGrantDiscordWebhook\|Components\BenefitGrantCustomWebhook\|Components\BenefitGrantGitHubRepositoryWebhook\|Components\BenefitGrantDownloadablesWebhook\|Components\BenefitGrantLicenseKeysWebhook\|Components\BenefitGrantMeterCreditWebhook\|Components\BenefitGrantFeatureFlagWebhook](../../Models/Components/BenefitGrantWebhook.md) | :heavy_check_mark: | N/A | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `type` | *string* | :heavy_check_mark: | N/A | benefit_grant.cycled | +| `timestamp` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | N/A | | +| `data` | [Components\BenefitGrantDiscordWebhook\|Components\BenefitGrantCustomWebhook\|Components\BenefitGrantGitHubRepositoryWebhook\|Components\BenefitGrantDownloadablesWebhook\|Components\BenefitGrantLicenseKeysWebhook\|Components\BenefitGrantMeterCreditWebhook\|Components\BenefitGrantFeatureFlagWebhook\|Components\BenefitGrantSlackSharedChannelWebhook](../../Models/Components/BenefitGrantWebhook.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/WebhookBenefitGrantRevokedPayload.md b/docs/Models/Components/WebhookBenefitGrantRevokedPayload.md index d802097c..549b362f 100644 --- a/docs/Models/Components/WebhookBenefitGrantRevokedPayload.md +++ b/docs/Models/Components/WebhookBenefitGrantRevokedPayload.md @@ -7,8 +7,8 @@ Sent when a benefit grant is revoked. ## Fields -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `type` | *string* | :heavy_check_mark: | N/A | benefit_grant.revoked | -| `timestamp` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | N/A | | -| `data` | [Components\BenefitGrantDiscordWebhook\|Components\BenefitGrantCustomWebhook\|Components\BenefitGrantGitHubRepositoryWebhook\|Components\BenefitGrantDownloadablesWebhook\|Components\BenefitGrantLicenseKeysWebhook\|Components\BenefitGrantMeterCreditWebhook\|Components\BenefitGrantFeatureFlagWebhook](../../Models/Components/BenefitGrantWebhook.md) | :heavy_check_mark: | N/A | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `type` | *string* | :heavy_check_mark: | N/A | benefit_grant.revoked | +| `timestamp` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | N/A | | +| `data` | [Components\BenefitGrantDiscordWebhook\|Components\BenefitGrantCustomWebhook\|Components\BenefitGrantGitHubRepositoryWebhook\|Components\BenefitGrantDownloadablesWebhook\|Components\BenefitGrantLicenseKeysWebhook\|Components\BenefitGrantMeterCreditWebhook\|Components\BenefitGrantFeatureFlagWebhook\|Components\BenefitGrantSlackSharedChannelWebhook](../../Models/Components/BenefitGrantWebhook.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/WebhookBenefitGrantUpdatedPayload.md b/docs/Models/Components/WebhookBenefitGrantUpdatedPayload.md index c58d4d50..ab9ce209 100644 --- a/docs/Models/Components/WebhookBenefitGrantUpdatedPayload.md +++ b/docs/Models/Components/WebhookBenefitGrantUpdatedPayload.md @@ -7,8 +7,8 @@ Sent when a benefit grant is updated. ## Fields -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `type` | *string* | :heavy_check_mark: | N/A | benefit_grant.updated | -| `timestamp` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | N/A | | -| `data` | [Components\BenefitGrantDiscordWebhook\|Components\BenefitGrantCustomWebhook\|Components\BenefitGrantGitHubRepositoryWebhook\|Components\BenefitGrantDownloadablesWebhook\|Components\BenefitGrantLicenseKeysWebhook\|Components\BenefitGrantMeterCreditWebhook\|Components\BenefitGrantFeatureFlagWebhook](../../Models/Components/BenefitGrantWebhook.md) | :heavy_check_mark: | N/A | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `type` | *string* | :heavy_check_mark: | N/A | benefit_grant.updated | +| `timestamp` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | N/A | | +| `data` | [Components\BenefitGrantDiscordWebhook\|Components\BenefitGrantCustomWebhook\|Components\BenefitGrantGitHubRepositoryWebhook\|Components\BenefitGrantDownloadablesWebhook\|Components\BenefitGrantLicenseKeysWebhook\|Components\BenefitGrantMeterCreditWebhook\|Components\BenefitGrantFeatureFlagWebhook\|Components\BenefitGrantSlackSharedChannelWebhook](../../Models/Components/BenefitGrantWebhook.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/WebhookBenefitUpdatedPayload.md b/docs/Models/Components/WebhookBenefitUpdatedPayload.md index 0c43cfb4..0634d4ec 100644 --- a/docs/Models/Components/WebhookBenefitUpdatedPayload.md +++ b/docs/Models/Components/WebhookBenefitUpdatedPayload.md @@ -7,8 +7,8 @@ Sent when a benefit is updated. ## Fields -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `type` | *string* | :heavy_check_mark: | N/A | benefit.updated | -| `timestamp` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | N/A | | -| `data` | [Components\BenefitCustom\|Components\BenefitDiscord\|Components\BenefitGitHubRepository\|Components\BenefitDownloadables\|Components\BenefitLicenseKeys\|Components\BenefitMeterCredit\|Components\BenefitFeatureFlag](../../Models/Components/Benefit.md) | :heavy_check_mark: | N/A | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `type` | *string* | :heavy_check_mark: | N/A | benefit.updated | +| `timestamp` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | N/A | | +| `data` | [Components\BenefitCustom\|Components\BenefitDiscord\|Components\BenefitGitHubRepository\|Components\BenefitDownloadables\|Components\BenefitLicenseKeys\|Components\BenefitMeterCredit\|Components\BenefitFeatureFlag\|Components\BenefitSlackSharedChannel](../../Models/Components/Benefit.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/WebhookEndpoint.md b/docs/Models/Components/WebhookEndpoint.md index a0ffc5fd..286dc22a 100644 --- a/docs/Models/Components/WebhookEndpoint.md +++ b/docs/Models/Components/WebhookEndpoint.md @@ -13,7 +13,7 @@ A webhook endpoint. | `url` | *string* | :heavy_check_mark: | The URL where the webhook events will be sent. | https://webhook.site/cb791d80-f26e-4f8c-be88-6e56054192b0 | | `name` | *?string* | :heavy_minus_sign: | An optional name for the webhook endpoint to help organize and identify it. | | | `format` | [Components\WebhookFormat](../../Models/Components/WebhookFormat.md) | :heavy_check_mark: | N/A | | -| `secret` | *string* | :heavy_check_mark: | The secret used to sign the webhook events. | polar_whs_ovyN6cPrTv56AApvzCaJno08SSmGJmgbWilb33N2JuK | +| `secret` | *string* | :heavy_check_mark: | The secret used to sign the webhook events. | whsec_ovyN6cPrTv56AApvzCaJno08SSmGJmgbWilb33N2JuK | | `organizationId` | *string* | :heavy_check_mark: | The organization ID associated with the webhook endpoint. | | | `events` | array<[Components\WebhookEventType](../../Models/Components/WebhookEventType.md)> | :heavy_check_mark: | The events that will trigger the webhook. | | | `enabled` | *bool* | :heavy_check_mark: | Whether the webhook endpoint is enabled and will receive events. | | \ No newline at end of file diff --git a/docs/Models/Components/WebhookEventType.md b/docs/Models/Components/WebhookEventType.md index 84ec779a..7722a4d6 100644 --- a/docs/Models/Components/WebhookEventType.md +++ b/docs/Models/Components/WebhookEventType.md @@ -29,6 +29,8 @@ | `SubscriptionUncanceled` | subscription.uncanceled | | `SubscriptionRevoked` | subscription.revoked | | `SubscriptionPastDue` | subscription.past_due | +| `SubscriptionPaused` | subscription.paused | +| `SubscriptionResumed` | subscription.resumed | | `RefundCreated` | refund.created | | `RefundUpdated` | refund.updated | | `ProductCreated` | product.created | diff --git a/docs/Models/Components/WebhookSubscriptionPausedPayload.md b/docs/Models/Components/WebhookSubscriptionPausedPayload.md new file mode 100644 index 00000000..3bbf6012 --- /dev/null +++ b/docs/Models/Components/WebhookSubscriptionPausedPayload.md @@ -0,0 +1,17 @@ +# WebhookSubscriptionPausedPayload + +Sent when a subscription is paused and the customer temporarily loses access. + +No order is created while paused. The subscription resumes either on its +scheduled resume date or when resumed manually, starting a new billing period. + +**Discord & Slack support:** Full + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | +| `type` | *string* | :heavy_check_mark: | N/A | subscription.paused | +| `timestamp` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | N/A | | +| `data` | [Components\Subscription](../../Models/Components/Subscription.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Components/WebhookSubscriptionResumedPayload.md b/docs/Models/Components/WebhookSubscriptionResumedPayload.md new file mode 100644 index 00000000..e85f95b7 --- /dev/null +++ b/docs/Models/Components/WebhookSubscriptionResumedPayload.md @@ -0,0 +1,16 @@ +# WebhookSubscriptionResumedPayload + +Sent when a paused subscription resumes, restoring the customer's access. + +Resuming starts a new billing period and charges the customer immediately. + +**Discord & Slack support:** Full + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | +| `type` | *string* | :heavy_check_mark: | N/A | subscription.resumed | +| `timestamp` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | N/A | | +| `data` | [Components\Subscription](../../Models/Components/Subscription.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Errors/AlreadyCanceledSubscription1.md b/docs/Models/Errors/AlreadyCanceledSubscription1.md new file mode 100644 index 00000000..1d36b575 --- /dev/null +++ b/docs/Models/Errors/AlreadyCanceledSubscription1.md @@ -0,0 +1,10 @@ +# AlreadyCanceledSubscription1 + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `error` | *string* | :heavy_check_mark: | N/A | AlreadyCanceledSubscription | +| `detail` | *string* | :heavy_check_mark: | N/A | | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing | | \ No newline at end of file diff --git a/docs/Models/Errors/AmbiguousExternalCustomerID.md b/docs/Models/Errors/AmbiguousExternalCustomerID.md new file mode 100644 index 00000000..cf016dc3 --- /dev/null +++ b/docs/Models/Errors/AmbiguousExternalCustomerID.md @@ -0,0 +1,9 @@ +# AmbiguousExternalCustomerID + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------- | --------------------------- | --------------------------- | --------------------------- | --------------------------- | +| `error` | *string* | :heavy_check_mark: | N/A | AmbiguousExternalCustomerID | +| `detail` | *string* | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Errors/CannotCreateOrganizationError.md b/docs/Models/Errors/CannotCreateOrganizationError.md new file mode 100644 index 00000000..886daadf --- /dev/null +++ b/docs/Models/Errors/CannotCreateOrganizationError.md @@ -0,0 +1,9 @@ +# CannotCreateOrganizationError + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------- | ----------------------------- | ----------------------------- | ----------------------------- | ----------------------------- | +| `error` | *string* | :heavy_check_mark: | N/A | CannotCreateOrganizationError | +| `detail` | *string* | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Errors/CustomerPortalOrdersGenerateInvoiceResponse422CustomerPortalOrdersGenerateInvoice.md b/docs/Models/Errors/CustomerPortalOrdersGenerateInvoiceResponse422CustomerPortalOrdersGenerateInvoice.md deleted file mode 100644 index 9ff0383a..00000000 --- a/docs/Models/Errors/CustomerPortalOrdersGenerateInvoiceResponse422CustomerPortalOrdersGenerateInvoice.md +++ /dev/null @@ -1,25 +0,0 @@ -# CustomerPortalOrdersGenerateInvoiceResponse422CustomerPortalOrdersGenerateInvoice - -Order is not paid or is missing billing name or address. - - -## Supported Types - -### `Errors\MissingInvoiceBillingDetails` - -```php -/** -* @var \Polar\Models\Errors\MissingInvoiceBillingDetails -*/ -Errors\MissingInvoiceBillingDetails $value = /* values here */ -``` - -### `Errors\NotPaidOrder` - -```php -/** -* @var \Polar\Models\Errors\NotPaidOrder -*/ -Errors\NotPaidOrder $value = /* values here */ -``` - diff --git a/docs/Models/Errors/CustomerPortalSubscriptionsUpdateResponse403CustomerPortalSubscriptionsUpdate.md b/docs/Models/Errors/CustomerPortalSubscriptionsUpdateResponse403CustomerPortalSubscriptionsUpdate.md new file mode 100644 index 00000000..967c8549 --- /dev/null +++ b/docs/Models/Errors/CustomerPortalSubscriptionsUpdateResponse403CustomerPortalSubscriptionsUpdate.md @@ -0,0 +1,25 @@ +# CustomerPortalSubscriptionsUpdateResponse403CustomerPortalSubscriptionsUpdate + +Customer subscription is already canceled or will be at the end of the period, the user lacks billing permissions, or pausing/resuming is not enabled for the organization. + + +## Supported Types + +### `Errors\AlreadyCanceledSubscription1` + +```php +/** +* @var \Polar\Models\Errors\AlreadyCanceledSubscription1 +*/ +Errors\AlreadyCanceledSubscription1 $value = /* values here */ +``` + +### `Errors\PauseResumeNotAllowed` + +```php +/** +* @var \Polar\Models\Errors\PauseResumeNotAllowed +*/ +Errors\PauseResumeNotAllowed $value = /* values here */ +``` + diff --git a/docs/Models/Errors/DisputeNotOpenError.md b/docs/Models/Errors/DisputeNotOpenError.md new file mode 100644 index 00000000..269eb888 --- /dev/null +++ b/docs/Models/Errors/DisputeNotOpenError.md @@ -0,0 +1,9 @@ +# DisputeNotOpenError + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------- | ------------------- | ------------------- | ------------------- | ------------------- | +| `error` | *string* | :heavy_check_mark: | N/A | DisputeNotOpenError | +| `detail` | *string* | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Errors/ManualRetryLimitExceeded.md b/docs/Models/Errors/ManualRetryLimitExceeded.md new file mode 100644 index 00000000..da9fba43 --- /dev/null +++ b/docs/Models/Errors/ManualRetryLimitExceeded.md @@ -0,0 +1,9 @@ +# ManualRetryLimitExceeded + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------ | ------------------------ | ------------------------ | ------------------------ | ------------------------ | +| `error` | *string* | :heavy_check_mark: | N/A | ManualRetryLimitExceeded | +| `detail` | *string* | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Errors/MissingInvoiceBillingDetails.md b/docs/Models/Errors/MissingInvoiceBillingDetails.md index 788d5161..acb2d734 100644 --- a/docs/Models/Errors/MissingInvoiceBillingDetails.md +++ b/docs/Models/Errors/MissingInvoiceBillingDetails.md @@ -3,8 +3,7 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | -| `error` | *string* | :heavy_check_mark: | N/A | MissingInvoiceBillingDetails | -| `detail` | *string* | :heavy_check_mark: | N/A | | -| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ---------------------------- | ---------------------------- | ---------------------------- | ---------------------------- | ---------------------------- | +| `error` | *string* | :heavy_check_mark: | N/A | MissingInvoiceBillingDetails | +| `detail` | *string* | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Errors/OffSessionChargesNotEnabled.md b/docs/Models/Errors/OffSessionChargesNotEnabled.md new file mode 100644 index 00000000..a5ef9226 --- /dev/null +++ b/docs/Models/Errors/OffSessionChargesNotEnabled.md @@ -0,0 +1,10 @@ +# OffSessionChargesNotEnabled + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `error` | *string* | :heavy_check_mark: | N/A | OffSessionChargesNotEnabled | +| `detail` | *string* | :heavy_check_mark: | N/A | | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing | | \ No newline at end of file diff --git a/docs/Models/Errors/OrderNotDraft.md b/docs/Models/Errors/OrderNotDraft.md new file mode 100644 index 00000000..ed70c62b --- /dev/null +++ b/docs/Models/Errors/OrderNotDraft.md @@ -0,0 +1,9 @@ +# OrderNotDraft + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | +| `error` | *string* | :heavy_check_mark: | N/A | OrderNotDraft | +| `detail` | *string* | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Errors/OrderNotEligibleForInvoice.md b/docs/Models/Errors/OrderNotEligibleForInvoice.md new file mode 100644 index 00000000..80b18240 --- /dev/null +++ b/docs/Models/Errors/OrderNotEligibleForInvoice.md @@ -0,0 +1,9 @@ +# OrderNotEligibleForInvoice + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------- | -------------------------- | -------------------------- | -------------------------- | -------------------------- | +| `error` | *string* | :heavy_check_mark: | N/A | OrderNotEligibleForInvoice | +| `detail` | *string* | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Errors/OrdersFinalizeResponse402OrdersFinalize.md b/docs/Models/Errors/OrdersFinalizeResponse402OrdersFinalize.md new file mode 100644 index 00000000..76388a08 --- /dev/null +++ b/docs/Models/Errors/OrdersFinalizeResponse402OrdersFinalize.md @@ -0,0 +1,25 @@ +# OrdersFinalizeResponse402OrdersFinalize + +The charge failed, or requires customer authentication (e.g. a 3DS challenge) that can't be completed off-session. + + +## Supported Types + +### `Errors\PaymentFailed1` + +```php +/** +* @var \Polar\Models\Errors\PaymentFailed1 +*/ +Errors\PaymentFailed1 $value = /* values here */ +``` + +### `Errors\PaymentActionRequired` + +```php +/** +* @var \Polar\Models\Errors\PaymentActionRequired +*/ +Errors\PaymentActionRequired $value = /* values here */ +``` + diff --git a/docs/Models/Errors/OrdersFinalizeResponse403OrdersFinalize.md b/docs/Models/Errors/OrdersFinalizeResponse403OrdersFinalize.md new file mode 100644 index 00000000..36820073 --- /dev/null +++ b/docs/Models/Errors/OrdersFinalizeResponse403OrdersFinalize.md @@ -0,0 +1,25 @@ +# OrdersFinalizeResponse403OrdersFinalize + +Off-session charges are not enabled for this organization, or its account can't currently accept payments. + + +## Supported Types + +### `Errors\OffSessionChargesNotEnabled` + +```php +/** +* @var \Polar\Models\Errors\OffSessionChargesNotEnabled +*/ +Errors\OffSessionChargesNotEnabled $value = /* values here */ +``` + +### `Errors\OrganizationNotReadyForPayments` + +```php +/** +* @var \Polar\Models\Errors\OrganizationNotReadyForPayments +*/ +Errors\OrganizationNotReadyForPayments $value = /* values here */ +``` + diff --git a/docs/Models/Errors/OrdersGenerateInvoiceResponse422OrdersGenerateInvoice.md b/docs/Models/Errors/OrdersGenerateInvoiceResponse422OrdersGenerateInvoice.md deleted file mode 100644 index ea3ce541..00000000 --- a/docs/Models/Errors/OrdersGenerateInvoiceResponse422OrdersGenerateInvoice.md +++ /dev/null @@ -1,25 +0,0 @@ -# OrdersGenerateInvoiceResponse422OrdersGenerateInvoice - -Order is not paid or is missing billing name or address. - - -## Supported Types - -### `Errors\MissingInvoiceBillingDetails` - -```php -/** -* @var \Polar\Models\Errors\MissingInvoiceBillingDetails -*/ -Errors\MissingInvoiceBillingDetails $value = /* values here */ -``` - -### `Errors\NotPaidOrder` - -```php -/** -* @var \Polar\Models\Errors\NotPaidOrder -*/ -Errors\NotPaidOrder $value = /* values here */ -``` - diff --git a/docs/Models/Errors/OrganizationNotReadyForPayments.md b/docs/Models/Errors/OrganizationNotReadyForPayments.md new file mode 100644 index 00000000..62b00a78 --- /dev/null +++ b/docs/Models/Errors/OrganizationNotReadyForPayments.md @@ -0,0 +1,10 @@ +# OrganizationNotReadyForPayments + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `error` | *string* | :heavy_check_mark: | N/A | OrganizationNotReadyForPayments | +| `detail` | *string* | :heavy_check_mark: | N/A | | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing | | \ No newline at end of file diff --git a/docs/Models/Errors/PauseResumeNotAllowed.md b/docs/Models/Errors/PauseResumeNotAllowed.md new file mode 100644 index 00000000..e6197214 --- /dev/null +++ b/docs/Models/Errors/PauseResumeNotAllowed.md @@ -0,0 +1,10 @@ +# PauseResumeNotAllowed + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `error` | *string* | :heavy_check_mark: | N/A | PauseResumeNotAllowed | +| `detail` | *string* | :heavy_check_mark: | N/A | | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing | | \ No newline at end of file diff --git a/docs/Models/Errors/PaymentActionRequired.md b/docs/Models/Errors/PaymentActionRequired.md new file mode 100644 index 00000000..3683e130 --- /dev/null +++ b/docs/Models/Errors/PaymentActionRequired.md @@ -0,0 +1,10 @@ +# PaymentActionRequired + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `error` | *string* | :heavy_check_mark: | N/A | PaymentActionRequired | +| `detail` | *string* | :heavy_check_mark: | N/A | | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing | | \ No newline at end of file diff --git a/docs/Models/Errors/NotPaidOrder.md b/docs/Models/Errors/PaymentFailed1.md similarity index 94% rename from docs/Models/Errors/NotPaidOrder.md rename to docs/Models/Errors/PaymentFailed1.md index 40e526d7..67d80326 100644 --- a/docs/Models/Errors/NotPaidOrder.md +++ b/docs/Models/Errors/PaymentFailed1.md @@ -1,10 +1,10 @@ -# NotPaidOrder +# PaymentFailed1 ## Fields | Field | Type | Required | Description | Example | | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | -| `error` | *string* | :heavy_check_mark: | N/A | NotPaidOrder | +| `error` | *string* | :heavy_check_mark: | N/A | PaymentFailed | | `detail` | *string* | :heavy_check_mark: | N/A | | | `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing | | \ No newline at end of file diff --git a/docs/Models/Errors/PaymentMethodSetupFailed.md b/docs/Models/Errors/PaymentMethodSetupFailed.md new file mode 100644 index 00000000..d1ad042c --- /dev/null +++ b/docs/Models/Errors/PaymentMethodSetupFailed.md @@ -0,0 +1,9 @@ +# PaymentMethodSetupFailed + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------ | ------------------------ | ------------------------ | ------------------------ | ------------------------ | +| `error` | *string* | :heavy_check_mark: | N/A | PaymentMethodSetupFailed | +| `detail` | *string* | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Errors/SSOEnforcementRequiresConnection.md b/docs/Models/Errors/SSOEnforcementRequiresConnection.md new file mode 100644 index 00000000..f968b0ab --- /dev/null +++ b/docs/Models/Errors/SSOEnforcementRequiresConnection.md @@ -0,0 +1,9 @@ +# SSOEnforcementRequiresConnection + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- | +| `error` | *string* | :heavy_check_mark: | N/A | SSOEnforcementRequiresConnection | +| `detail` | *string* | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/Models/Operations/BenefitsCreateResponse.md b/docs/Models/Operations/BenefitsCreateResponse.md index 141af41a..81212e7f 100644 --- a/docs/Models/Operations/BenefitsCreateResponse.md +++ b/docs/Models/Operations/BenefitsCreateResponse.md @@ -3,9 +3,9 @@ ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | -| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | -| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | -| `benefit` | [Components\BenefitCustom\|Components\BenefitDiscord\|Components\BenefitGitHubRepository\|Components\BenefitDownloadables\|Components\BenefitLicenseKeys\|Components\BenefitMeterCredit\|Components\BenefitFeatureFlag\|null](../../Models/Components/Benefit.md) | :heavy_minus_sign: | Benefit created. | \ No newline at end of file +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `benefit` | [Components\BenefitCustom\|Components\BenefitDiscord\|Components\BenefitGitHubRepository\|Components\BenefitDownloadables\|Components\BenefitLicenseKeys\|Components\BenefitMeterCredit\|Components\BenefitFeatureFlag\|Components\BenefitSlackSharedChannel\|null](../../Models/Components/Benefit.md) | :heavy_minus_sign: | Benefit created. | \ No newline at end of file diff --git a/docs/Models/Operations/BenefitsGetResponse.md b/docs/Models/Operations/BenefitsGetResponse.md index d0e93c02..e468b706 100644 --- a/docs/Models/Operations/BenefitsGetResponse.md +++ b/docs/Models/Operations/BenefitsGetResponse.md @@ -3,9 +3,9 @@ ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | -| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | -| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | -| `benefit` | [Components\BenefitCustom\|Components\BenefitDiscord\|Components\BenefitGitHubRepository\|Components\BenefitDownloadables\|Components\BenefitLicenseKeys\|Components\BenefitMeterCredit\|Components\BenefitFeatureFlag\|null](../../Models/Components/Benefit.md) | :heavy_minus_sign: | Successful Response | \ No newline at end of file +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `benefit` | [Components\BenefitCustom\|Components\BenefitDiscord\|Components\BenefitGitHubRepository\|Components\BenefitDownloadables\|Components\BenefitLicenseKeys\|Components\BenefitMeterCredit\|Components\BenefitFeatureFlag\|Components\BenefitSlackSharedChannel\|null](../../Models/Components/Benefit.md) | :heavy_minus_sign: | Successful Response | \ No newline at end of file diff --git a/docs/Models/Operations/BenefitsUpdateBenefitUpdate.md b/docs/Models/Operations/BenefitsUpdateBenefitUpdate.md index 9de8777c..1709df2e 100644 --- a/docs/Models/Operations/BenefitsUpdateBenefitUpdate.md +++ b/docs/Models/Operations/BenefitsUpdateBenefitUpdate.md @@ -66,3 +66,12 @@ Components\BenefitMeterCreditUpdate $value = /* values here */ Components\BenefitFeatureFlagUpdate $value = /* values here */ ``` +### `Components\BenefitSlackSharedChannelUpdate` + +```php +/** +* @var \Polar\Models\Components\BenefitSlackSharedChannelUpdate +*/ +Components\BenefitSlackSharedChannelUpdate $value = /* values here */ +``` + diff --git a/docs/Models/Operations/BenefitsUpdateRequest.md b/docs/Models/Operations/BenefitsUpdateRequest.md index 33619ce1..c47e67e3 100644 --- a/docs/Models/Operations/BenefitsUpdateRequest.md +++ b/docs/Models/Operations/BenefitsUpdateRequest.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `id` | *string* | :heavy_check_mark: | N/A | -| `requestBody` | [Components\BenefitCustomUpdate\|Components\BenefitDiscordUpdate\|Components\BenefitGitHubRepositoryUpdate\|Components\BenefitDownloadablesUpdate\|Components\BenefitLicenseKeysUpdate\|Components\BenefitMeterCreditUpdate\|Components\BenefitFeatureFlagUpdate](../../Models/Operations/BenefitsUpdateBenefitUpdate.md) | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | N/A | +| `requestBody` | [Components\BenefitCustomUpdate\|Components\BenefitDiscordUpdate\|Components\BenefitGitHubRepositoryUpdate\|Components\BenefitDownloadablesUpdate\|Components\BenefitLicenseKeysUpdate\|Components\BenefitMeterCreditUpdate\|Components\BenefitFeatureFlagUpdate\|Components\BenefitSlackSharedChannelUpdate](../../Models/Operations/BenefitsUpdateBenefitUpdate.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/BenefitsUpdateResponse.md b/docs/Models/Operations/BenefitsUpdateResponse.md index d211f6f8..b6390036 100644 --- a/docs/Models/Operations/BenefitsUpdateResponse.md +++ b/docs/Models/Operations/BenefitsUpdateResponse.md @@ -3,9 +3,9 @@ ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | -| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | -| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | -| `benefit` | [Components\BenefitCustom\|Components\BenefitDiscord\|Components\BenefitGitHubRepository\|Components\BenefitDownloadables\|Components\BenefitLicenseKeys\|Components\BenefitMeterCredit\|Components\BenefitFeatureFlag\|null](../../Models/Components/Benefit.md) | :heavy_minus_sign: | Benefit updated. | \ No newline at end of file +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `benefit` | [Components\BenefitCustom\|Components\BenefitDiscord\|Components\BenefitGitHubRepository\|Components\BenefitDownloadables\|Components\BenefitLicenseKeys\|Components\BenefitMeterCredit\|Components\BenefitFeatureFlag\|Components\BenefitSlackSharedChannel\|null](../../Models/Components/Benefit.md) | :heavy_minus_sign: | Benefit updated. | \ No newline at end of file diff --git a/docs/Models/Operations/CheckoutsListQueryParamStatusFilter.md b/docs/Models/Operations/CheckoutsListQueryParamStatusFilter.md new file mode 100644 index 00000000..8e1ce5d2 --- /dev/null +++ b/docs/Models/Operations/CheckoutsListQueryParamStatusFilter.md @@ -0,0 +1,25 @@ +# CheckoutsListQueryParamStatusFilter + +Filter by checkout session status. + + +## Supported Types + +### `Components\CheckoutStatus` + +```php +/** +* @var \Polar\Models\Components\CheckoutStatus +*/ +Components\CheckoutStatus $value = /* values here */ +``` + +### `array` + +```php +/** +* @var array<\Polar\Models\Components\CheckoutStatus> +*/ +array $value = /* values here */ +``` + diff --git a/docs/Models/Operations/CheckoutsListRequest.md b/docs/Models/Operations/CheckoutsListRequest.md index 998baaab..0b9c4288 100644 --- a/docs/Models/Operations/CheckoutsListRequest.md +++ b/docs/Models/Operations/CheckoutsListRequest.md @@ -9,7 +9,7 @@ | `productId` | [string\|array\|null](../../Models/Operations/CheckoutsListQueryParamProductIDFilter.md) | :heavy_minus_sign: | Filter by product ID. | | `customerId` | [string\|array\|null](../../Models/Operations/CheckoutsListQueryParamCustomerIDFilter.md) | :heavy_minus_sign: | Filter by customer ID. | | `externalCustomerId` | [string\|array\|null](../../Models/Operations/CheckoutsListQueryParamExternalCustomerIDFilter.md) | :heavy_minus_sign: | Filter by customer external ID. | -| `status` | [Components\CheckoutStatus\|array\|null](../../Models/Operations/QueryParamStatusFilter.md) | :heavy_minus_sign: | Filter by checkout session status. | +| `status` | [Components\CheckoutStatus\|array\|null](../../Models/Operations/CheckoutsListQueryParamStatusFilter.md) | :heavy_minus_sign: | Filter by checkout session status. | | `query` | *?string* | :heavy_minus_sign: | Filter by customer email. | | `page` | *?int* | :heavy_minus_sign: | Page number, defaults to 1. | | `limit` | *?int* | :heavy_minus_sign: | Size of a page, defaults to 10. Maximum is 100. | diff --git a/docs/Models/Operations/CustomerPortalBenefitGrantsGetResponse.md b/docs/Models/Operations/CustomerPortalBenefitGrantsGetResponse.md index 846e1d05..d230d988 100644 --- a/docs/Models/Operations/CustomerPortalBenefitGrantsGetResponse.md +++ b/docs/Models/Operations/CustomerPortalBenefitGrantsGetResponse.md @@ -3,9 +3,9 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | -| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | -| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | -| `customerBenefitGrant` | [Components\CustomerBenefitGrantDiscord\|Components\CustomerBenefitGrantGitHubRepository\|Components\CustomerBenefitGrantDownloadables\|Components\CustomerBenefitGrantLicenseKeys\|Components\CustomerBenefitGrantCustom\|Components\CustomerBenefitGrantMeterCredit\|Components\CustomerBenefitGrantFeatureFlag\|null](../../Models/Components/CustomerBenefitGrant.md) | :heavy_minus_sign: | Successful Response | \ No newline at end of file +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `customerBenefitGrant` | [Components\CustomerBenefitGrantDiscord\|Components\CustomerBenefitGrantGitHubRepository\|Components\CustomerBenefitGrantDownloadables\|Components\CustomerBenefitGrantLicenseKeys\|Components\CustomerBenefitGrantCustom\|Components\CustomerBenefitGrantMeterCredit\|Components\CustomerBenefitGrantFeatureFlag\|Components\CustomerBenefitGrantSlackSharedChannel\|null](../../Models/Components/CustomerBenefitGrant.md) | :heavy_minus_sign: | Successful Response | \ No newline at end of file diff --git a/docs/Models/Operations/CustomerPortalBenefitGrantsListQueryParamSubscriptionIDFilter.md b/docs/Models/Operations/CustomerPortalBenefitGrantsListQueryParamSubscriptionIDFilter.md new file mode 100644 index 00000000..b6377654 --- /dev/null +++ b/docs/Models/Operations/CustomerPortalBenefitGrantsListQueryParamSubscriptionIDFilter.md @@ -0,0 +1,25 @@ +# CustomerPortalBenefitGrantsListQueryParamSubscriptionIDFilter + +Filter by subscription ID. + + +## Supported Types + +### `string` + +```php +/** +* @var string +*/ +string $value = /* values here */ +``` + +### `array` + +```php +/** +* @var array +*/ +array $value = /* values here */ +``` + diff --git a/docs/Models/Operations/CustomerPortalBenefitGrantsListRequest.md b/docs/Models/Operations/CustomerPortalBenefitGrantsListRequest.md index 9d10b50f..eb3ed8ff 100644 --- a/docs/Models/Operations/CustomerPortalBenefitGrantsListRequest.md +++ b/docs/Models/Operations/CustomerPortalBenefitGrantsListRequest.md @@ -10,7 +10,7 @@ | `benefitId` | [string\|array\|null](../../Models/Operations/CustomerPortalBenefitGrantsListQueryParamBenefitIDFilter.md) | :heavy_minus_sign: | Filter by benefit ID. | | `checkoutId` | [string\|array\|null](../../Models/Operations/QueryParamCheckoutIDFilter.md) | :heavy_minus_sign: | Filter by checkout ID. | | `orderId` | [string\|array\|null](../../Models/Operations/CustomerPortalBenefitGrantsListQueryParamOrderIDFilter.md) | :heavy_minus_sign: | Filter by order ID. | -| `subscriptionId` | [string\|array\|null](../../Models/Operations/QueryParamSubscriptionIDFilter.md) | :heavy_minus_sign: | Filter by subscription ID. | +| `subscriptionId` | [string\|array\|null](../../Models/Operations/CustomerPortalBenefitGrantsListQueryParamSubscriptionIDFilter.md) | :heavy_minus_sign: | Filter by subscription ID. | | `memberId` | [string\|array\|null](../../Models/Operations/QueryParamMemberIDFilter.md) | :heavy_minus_sign: | Filter by member ID. | | `page` | *?int* | :heavy_minus_sign: | Page number, defaults to 1. | | `limit` | *?int* | :heavy_minus_sign: | Size of a page, defaults to 10. Maximum is 100. | diff --git a/docs/Models/Operations/CustomerPortalBenefitGrantsUpdateRequest.md b/docs/Models/Operations/CustomerPortalBenefitGrantsUpdateRequest.md index 124e2881..f01d5452 100644 --- a/docs/Models/Operations/CustomerPortalBenefitGrantsUpdateRequest.md +++ b/docs/Models/Operations/CustomerPortalBenefitGrantsUpdateRequest.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `id` | *string* | :heavy_check_mark: | The benefit grant ID. | -| `customerBenefitGrantUpdate` | [Components\CustomerBenefitGrantDiscordUpdate\|Components\CustomerBenefitGrantGitHubRepositoryUpdate\|Components\CustomerBenefitGrantDownloadablesUpdate\|Components\CustomerBenefitGrantLicenseKeysUpdate\|Components\CustomerBenefitGrantCustomUpdate\|Components\CustomerBenefitGrantMeterCreditUpdate\|Components\CustomerBenefitGrantFeatureFlagUpdate](../../Models/Components/CustomerBenefitGrantUpdate.md) | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | The benefit grant ID. | +| `customerBenefitGrantUpdate` | [Components\CustomerBenefitGrantDiscordUpdate\|Components\CustomerBenefitGrantGitHubRepositoryUpdate\|Components\CustomerBenefitGrantDownloadablesUpdate\|Components\CustomerBenefitGrantLicenseKeysUpdate\|Components\CustomerBenefitGrantCustomUpdate\|Components\CustomerBenefitGrantMeterCreditUpdate\|Components\CustomerBenefitGrantFeatureFlagUpdate\|Components\CustomerBenefitGrantSlackSharedChannelUpdate](../../Models/Components/CustomerBenefitGrantUpdate.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/CustomerPortalBenefitGrantsUpdateResponse.md b/docs/Models/Operations/CustomerPortalBenefitGrantsUpdateResponse.md index e02aeeb2..e0549cf4 100644 --- a/docs/Models/Operations/CustomerPortalBenefitGrantsUpdateResponse.md +++ b/docs/Models/Operations/CustomerPortalBenefitGrantsUpdateResponse.md @@ -3,9 +3,9 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | -| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | -| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | -| `customerBenefitGrant` | [Components\CustomerBenefitGrantDiscord\|Components\CustomerBenefitGrantGitHubRepository\|Components\CustomerBenefitGrantDownloadables\|Components\CustomerBenefitGrantLicenseKeys\|Components\CustomerBenefitGrantCustom\|Components\CustomerBenefitGrantMeterCredit\|Components\CustomerBenefitGrantFeatureFlag\|null](../../Models/Components/CustomerBenefitGrant.md) | :heavy_minus_sign: | Benefit grant updated. | \ No newline at end of file +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `customerBenefitGrant` | [Components\CustomerBenefitGrantDiscord\|Components\CustomerBenefitGrantGitHubRepository\|Components\CustomerBenefitGrantDownloadables\|Components\CustomerBenefitGrantLicenseKeys\|Components\CustomerBenefitGrantCustom\|Components\CustomerBenefitGrantMeterCredit\|Components\CustomerBenefitGrantFeatureFlag\|Components\CustomerBenefitGrantSlackSharedChannel\|null](../../Models/Components/CustomerBenefitGrant.md) | :heavy_minus_sign: | Benefit grant updated. | \ No newline at end of file diff --git a/docs/Models/Operations/CustomerPortalCustomersCheckEmailUpdateRequest.md b/docs/Models/Operations/CustomerPortalCustomersCheckEmailUpdateRequest.md new file mode 100644 index 00000000..65cd3200 --- /dev/null +++ b/docs/Models/Operations/CustomerPortalCustomersCheckEmailUpdateRequest.md @@ -0,0 +1,8 @@ +# CustomerPortalCustomersCheckEmailUpdateRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `token` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/CustomerPortalCustomersCheckEmailUpdateResponse.md b/docs/Models/Operations/CustomerPortalCustomersCheckEmailUpdateResponse.md new file mode 100644 index 00000000..c6d25e39 --- /dev/null +++ b/docs/Models/Operations/CustomerPortalCustomersCheckEmailUpdateResponse.md @@ -0,0 +1,10 @@ +# CustomerPortalCustomersCheckEmailUpdateResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file diff --git a/docs/Models/Operations/CustomerPortalCustomersRequestEmailUpdateResponse.md b/docs/Models/Operations/CustomerPortalCustomersRequestEmailUpdateResponse.md new file mode 100644 index 00000000..b9daead8 --- /dev/null +++ b/docs/Models/Operations/CustomerPortalCustomersRequestEmailUpdateResponse.md @@ -0,0 +1,11 @@ +# CustomerPortalCustomersRequestEmailUpdateResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `any` | *mixed* | :heavy_minus_sign: | Verification email sent. | \ No newline at end of file diff --git a/docs/Models/Components/SubscriptionUpdatedBillingPeriodMetadata.md b/docs/Models/Operations/CustomerPortalCustomersRequestEmailUpdateSecurity.md similarity index 55% rename from docs/Models/Components/SubscriptionUpdatedBillingPeriodMetadata.md rename to docs/Models/Operations/CustomerPortalCustomersRequestEmailUpdateSecurity.md index ff53ba9b..59c356e0 100644 --- a/docs/Models/Components/SubscriptionUpdatedBillingPeriodMetadata.md +++ b/docs/Models/Operations/CustomerPortalCustomersRequestEmailUpdateSecurity.md @@ -1,9 +1,9 @@ -# SubscriptionUpdatedBillingPeriodMetadata +# CustomerPortalCustomersRequestEmailUpdateSecurity ## Fields | Field | Type | Required | Description | | ------------------ | ------------------ | ------------------ | ------------------ | -| `subscriptionId` | *string* | :heavy_check_mark: | N/A | -| `billingPeriodEnd` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file +| `customerSession` | *?string* | :heavy_minus_sign: | N/A | +| `memberSession` | *?string* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/CustomerPortalCustomersVerifyEmailUpdateResponse.md b/docs/Models/Operations/CustomerPortalCustomersVerifyEmailUpdateResponse.md new file mode 100644 index 00000000..fc229166 --- /dev/null +++ b/docs/Models/Operations/CustomerPortalCustomersVerifyEmailUpdateResponse.md @@ -0,0 +1,11 @@ +# CustomerPortalCustomersVerifyEmailUpdateResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `customerEmailUpdateVerifyResponse` | [?Components\CustomerEmailUpdateVerifyResponse](../../Models/Components/CustomerEmailUpdateVerifyResponse.md) | :heavy_minus_sign: | Email updated successfully. Returns a new session token. | \ No newline at end of file diff --git a/docs/Models/Operations/OrganizationAccessTokensDeleteRequest.md b/docs/Models/Operations/CustomerPortalOrdersReceiptRequest.md similarity index 80% rename from docs/Models/Operations/OrganizationAccessTokensDeleteRequest.md rename to docs/Models/Operations/CustomerPortalOrdersReceiptRequest.md index 300c6aff..ddd22970 100644 --- a/docs/Models/Operations/OrganizationAccessTokensDeleteRequest.md +++ b/docs/Models/Operations/CustomerPortalOrdersReceiptRequest.md @@ -1,8 +1,8 @@ -# OrganizationAccessTokensDeleteRequest +# CustomerPortalOrdersReceiptRequest ## Fields | Field | Type | Required | Description | | ------------------ | ------------------ | ------------------ | ------------------ | -| `id` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file +| `id` | *string* | :heavy_check_mark: | The order ID. | \ No newline at end of file diff --git a/docs/Models/Operations/CustomerPortalOrdersReceiptResponse.md b/docs/Models/Operations/CustomerPortalOrdersReceiptResponse.md new file mode 100644 index 00000000..a679c6cb --- /dev/null +++ b/docs/Models/Operations/CustomerPortalOrdersReceiptResponse.md @@ -0,0 +1,11 @@ +# CustomerPortalOrdersReceiptResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `customerOrderReceipt` | [?Components\CustomerOrderReceipt](../../Models/Components/CustomerOrderReceipt.md) | :heavy_minus_sign: | Successful Response | \ No newline at end of file diff --git a/docs/Models/Components/OrganizationNotificationSettings.md b/docs/Models/Operations/CustomerPortalOrdersReceiptSecurity.md similarity index 57% rename from docs/Models/Components/OrganizationNotificationSettings.md rename to docs/Models/Operations/CustomerPortalOrdersReceiptSecurity.md index 5636b35c..8c027ab8 100644 --- a/docs/Models/Components/OrganizationNotificationSettings.md +++ b/docs/Models/Operations/CustomerPortalOrdersReceiptSecurity.md @@ -1,9 +1,9 @@ -# OrganizationNotificationSettings +# CustomerPortalOrdersReceiptSecurity ## Fields | Field | Type | Required | Description | | ------------------ | ------------------ | ------------------ | ------------------ | -| `newOrder` | *bool* | :heavy_check_mark: | N/A | -| `newSubscription` | *bool* | :heavy_check_mark: | N/A | \ No newline at end of file +| `customerSession` | *?string* | :heavy_minus_sign: | N/A | +| `memberSession` | *?string* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/CustomerPortalSubscriptionsUpdateRequest.md b/docs/Models/Operations/CustomerPortalSubscriptionsUpdateRequest.md index 413be930..ed5ac376 100644 --- a/docs/Models/Operations/CustomerPortalSubscriptionsUpdateRequest.md +++ b/docs/Models/Operations/CustomerPortalSubscriptionsUpdateRequest.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `id` | *string* | :heavy_check_mark: | The subscription ID. | -| `customerSubscriptionUpdate` | [Components\CustomerSubscriptionUpdateProduct\|Components\CustomerSubscriptionUpdateSeats\|Components\CustomerSubscriptionCancel](../../Models/Components/CustomerSubscriptionUpdate.md) | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `id` | *string* | :heavy_check_mark: | The subscription ID. | +| `customerSubscriptionUpdate` | [Components\CustomerSubscriptionUpdateProduct\|Components\CustomerSubscriptionUpdateSeats\|Components\CustomerSubscriptionCancel\|Components\CustomerSubscriptionPause\|Components\CustomerSubscriptionResume\|Components\CustomerSubscriptionUpdateClear](../../Models/Components/CustomerSubscriptionUpdate.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/CustomersExportResponse.md b/docs/Models/Operations/CustomersExportResponse.md index 93607899..b501e428 100644 --- a/docs/Models/Operations/CustomersExportResponse.md +++ b/docs/Models/Operations/CustomersExportResponse.md @@ -8,5 +8,4 @@ | `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | | `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | -| `any` | *mixed* | :heavy_minus_sign: | Successful Response | | `res` | *?string* | :heavy_minus_sign: | Successful Response | \ No newline at end of file diff --git a/docs/Models/Operations/CustomersListPaymentMethodsExternalRequest.md b/docs/Models/Operations/CustomersListPaymentMethodsExternalRequest.md new file mode 100644 index 00000000..6573a235 --- /dev/null +++ b/docs/Models/Operations/CustomersListPaymentMethodsExternalRequest.md @@ -0,0 +1,10 @@ +# CustomersListPaymentMethodsExternalRequest + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | +| `externalId` | *string* | :heavy_check_mark: | The customer external ID. | +| `page` | *?int* | :heavy_minus_sign: | Page number, defaults to 1. | +| `limit` | *?int* | :heavy_minus_sign: | Size of a page, defaults to 10. Maximum is 100. | \ No newline at end of file diff --git a/docs/Models/Operations/CustomersListPaymentMethodsExternalResponse.md b/docs/Models/Operations/CustomersListPaymentMethodsExternalResponse.md new file mode 100644 index 00000000..d73e3789 --- /dev/null +++ b/docs/Models/Operations/CustomersListPaymentMethodsExternalResponse.md @@ -0,0 +1,11 @@ +# CustomersListPaymentMethodsExternalResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `listResourcePaymentMethod` | [?Components\ListResourcePaymentMethod](../../Models/Components/ListResourcePaymentMethod.md) | :heavy_minus_sign: | Successful Response | \ No newline at end of file diff --git a/docs/Models/Operations/CustomersListPaymentMethodsRequest.md b/docs/Models/Operations/CustomersListPaymentMethodsRequest.md new file mode 100644 index 00000000..2b13bec6 --- /dev/null +++ b/docs/Models/Operations/CustomersListPaymentMethodsRequest.md @@ -0,0 +1,10 @@ +# CustomersListPaymentMethodsRequest + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | The customer ID. | +| `page` | *?int* | :heavy_minus_sign: | Page number, defaults to 1. | +| `limit` | *?int* | :heavy_minus_sign: | Size of a page, defaults to 10. Maximum is 100. | \ No newline at end of file diff --git a/docs/Models/Operations/CustomersListPaymentMethodsResponse.md b/docs/Models/Operations/CustomersListPaymentMethodsResponse.md new file mode 100644 index 00000000..cae0ca88 --- /dev/null +++ b/docs/Models/Operations/CustomersListPaymentMethodsResponse.md @@ -0,0 +1,11 @@ +# CustomersListPaymentMethodsResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `listResourcePaymentMethod` | [?Components\ListResourcePaymentMethod](../../Models/Components/ListResourcePaymentMethod.md) | :heavy_minus_sign: | Successful Response | \ No newline at end of file diff --git a/docs/Models/Operations/CustomersListRequest.md b/docs/Models/Operations/CustomersListRequest.md index 767302fc..e3ea996b 100644 --- a/docs/Models/Operations/CustomersListRequest.md +++ b/docs/Models/Operations/CustomersListRequest.md @@ -8,6 +8,7 @@ | `organizationId` | [string\|array\|null](../../Models/Operations/CustomersListQueryParamOrganizationIDFilter.md) | :heavy_minus_sign: | Filter by organization ID. | | `email` | *?string* | :heavy_minus_sign: | Filter by exact email. | | `query` | *?string* | :heavy_minus_sign: | Filter by name, email, or external ID. | +| `active` | *?bool* | :heavy_minus_sign: | Filter by active customers, i.e. customers with at least one trialing, active or past_due subscription. | | `page` | *?int* | :heavy_minus_sign: | Page number, defaults to 1. | | `limit` | *?int* | :heavy_minus_sign: | Size of a page, defaults to 10. Maximum is 100. | | `sorting` | array<[Components\CustomerSortProperty](../../Models/Components/CustomerSortProperty.md)> | :heavy_minus_sign: | Sorting criterion. Several criteria can be used simultaneously and will be applied in order. Add a minus sign `-` before the criteria name to sort by descending order. | diff --git a/docs/Models/Operations/CustomersMembersCreateExternalRequest.md b/docs/Models/Operations/CustomersMembersCreateExternalRequest.md new file mode 100644 index 00000000..417e0bb5 --- /dev/null +++ b/docs/Models/Operations/CustomersMembersCreateExternalRequest.md @@ -0,0 +1,9 @@ +# CustomersMembersCreateExternalRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | +| `externalId` | *string* | :heavy_check_mark: | The customer external ID. | +| `memberCreateFromCustomer` | [Components\MemberCreateFromCustomer](../../Models/Components/MemberCreateFromCustomer.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/CustomersMembersCreateExternalResponse.md b/docs/Models/Operations/CustomersMembersCreateExternalResponse.md new file mode 100644 index 00000000..72835f4d --- /dev/null +++ b/docs/Models/Operations/CustomersMembersCreateExternalResponse.md @@ -0,0 +1,11 @@ +# CustomersMembersCreateExternalResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `member` | [?Components\Member](../../Models/Components/Member.md) | :heavy_minus_sign: | Member created. | \ No newline at end of file diff --git a/docs/Models/Operations/CustomersMembersCreateRequest.md b/docs/Models/Operations/CustomersMembersCreateRequest.md new file mode 100644 index 00000000..615cb413 --- /dev/null +++ b/docs/Models/Operations/CustomersMembersCreateRequest.md @@ -0,0 +1,9 @@ +# CustomersMembersCreateRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | +| `id` | *string* | :heavy_check_mark: | The customer ID. | +| `memberCreateFromCustomer` | [Components\MemberCreateFromCustomer](../../Models/Components/MemberCreateFromCustomer.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/MembersCreateMemberResponse.md b/docs/Models/Operations/CustomersMembersCreateResponse.md similarity index 98% rename from docs/Models/Operations/MembersCreateMemberResponse.md rename to docs/Models/Operations/CustomersMembersCreateResponse.md index bee2d70e..4b93d771 100644 --- a/docs/Models/Operations/MembersCreateMemberResponse.md +++ b/docs/Models/Operations/CustomersMembersCreateResponse.md @@ -1,4 +1,4 @@ -# MembersCreateMemberResponse +# CustomersMembersCreateResponse ## Fields diff --git a/docs/Models/Operations/CustomersMembersDeleteExternalRequest.md b/docs/Models/Operations/CustomersMembersDeleteExternalRequest.md new file mode 100644 index 00000000..7b2ade39 --- /dev/null +++ b/docs/Models/Operations/CustomersMembersDeleteExternalRequest.md @@ -0,0 +1,9 @@ +# CustomersMembersDeleteExternalRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------------- | ------------------------- | ------------------------- | ------------------------- | +| `externalId` | *string* | :heavy_check_mark: | The customer external ID. | +| `memberExternalId` | *string* | :heavy_check_mark: | The member external ID. | \ No newline at end of file diff --git a/docs/Models/Operations/OrganizationAccessTokensDeleteResponse.md b/docs/Models/Operations/CustomersMembersDeleteExternalResponse.md similarity index 98% rename from docs/Models/Operations/OrganizationAccessTokensDeleteResponse.md rename to docs/Models/Operations/CustomersMembersDeleteExternalResponse.md index 62d1f83f..e16da6d5 100644 --- a/docs/Models/Operations/OrganizationAccessTokensDeleteResponse.md +++ b/docs/Models/Operations/CustomersMembersDeleteExternalResponse.md @@ -1,4 +1,4 @@ -# OrganizationAccessTokensDeleteResponse +# CustomersMembersDeleteExternalResponse ## Fields diff --git a/docs/Models/Operations/CustomersMembersDeleteRequest.md b/docs/Models/Operations/CustomersMembersDeleteRequest.md new file mode 100644 index 00000000..19d72fed --- /dev/null +++ b/docs/Models/Operations/CustomersMembersDeleteRequest.md @@ -0,0 +1,9 @@ +# CustomersMembersDeleteRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `id` | *string* | :heavy_check_mark: | The customer ID. | +| `memberId` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/MembersDeleteMemberResponse.md b/docs/Models/Operations/CustomersMembersDeleteResponse.md similarity index 98% rename from docs/Models/Operations/MembersDeleteMemberResponse.md rename to docs/Models/Operations/CustomersMembersDeleteResponse.md index faa545b8..17fa49be 100644 --- a/docs/Models/Operations/MembersDeleteMemberResponse.md +++ b/docs/Models/Operations/CustomersMembersDeleteResponse.md @@ -1,4 +1,4 @@ -# MembersDeleteMemberResponse +# CustomersMembersDeleteResponse ## Fields diff --git a/docs/Models/Operations/CustomersMembersGetExternalRequest.md b/docs/Models/Operations/CustomersMembersGetExternalRequest.md new file mode 100644 index 00000000..48833547 --- /dev/null +++ b/docs/Models/Operations/CustomersMembersGetExternalRequest.md @@ -0,0 +1,9 @@ +# CustomersMembersGetExternalRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------------- | ------------------------- | ------------------------- | ------------------------- | +| `externalId` | *string* | :heavy_check_mark: | The customer external ID. | +| `memberExternalId` | *string* | :heavy_check_mark: | The member external ID. | \ No newline at end of file diff --git a/docs/Models/Operations/CustomersMembersGetExternalResponse.md b/docs/Models/Operations/CustomersMembersGetExternalResponse.md new file mode 100644 index 00000000..d6e753d9 --- /dev/null +++ b/docs/Models/Operations/CustomersMembersGetExternalResponse.md @@ -0,0 +1,11 @@ +# CustomersMembersGetExternalResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `member` | [?Components\Member](../../Models/Components/Member.md) | :heavy_minus_sign: | Member retrieved. | \ No newline at end of file diff --git a/docs/Models/Operations/CustomersMembersGetRequest.md b/docs/Models/Operations/CustomersMembersGetRequest.md new file mode 100644 index 00000000..b917ac46 --- /dev/null +++ b/docs/Models/Operations/CustomersMembersGetRequest.md @@ -0,0 +1,9 @@ +# CustomersMembersGetRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `id` | *string* | :heavy_check_mark: | The customer ID. | +| `memberId` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/MembersGetMemberResponse.md b/docs/Models/Operations/CustomersMembersGetResponse.md similarity index 98% rename from docs/Models/Operations/MembersGetMemberResponse.md rename to docs/Models/Operations/CustomersMembersGetResponse.md index ecd8d84c..2c549c62 100644 --- a/docs/Models/Operations/MembersGetMemberResponse.md +++ b/docs/Models/Operations/CustomersMembersGetResponse.md @@ -1,4 +1,4 @@ -# MembersGetMemberResponse +# CustomersMembersGetResponse ## Fields diff --git a/docs/Models/Operations/CustomersMembersUpdateExternalRequest.md b/docs/Models/Operations/CustomersMembersUpdateExternalRequest.md new file mode 100644 index 00000000..e5d4c578 --- /dev/null +++ b/docs/Models/Operations/CustomersMembersUpdateExternalRequest.md @@ -0,0 +1,10 @@ +# CustomersMembersUpdateExternalRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | +| `externalId` | *string* | :heavy_check_mark: | The customer external ID. | +| `memberExternalId` | *string* | :heavy_check_mark: | The member external ID. | +| `memberUpdate` | [Components\MemberUpdate](../../Models/Components/MemberUpdate.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/CustomersMembersUpdateExternalResponse.md b/docs/Models/Operations/CustomersMembersUpdateExternalResponse.md new file mode 100644 index 00000000..d190ab8f --- /dev/null +++ b/docs/Models/Operations/CustomersMembersUpdateExternalResponse.md @@ -0,0 +1,11 @@ +# CustomersMembersUpdateExternalResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `member` | [?Components\Member](../../Models/Components/Member.md) | :heavy_minus_sign: | Member updated. | \ No newline at end of file diff --git a/docs/Models/Operations/MembersUpdateMemberRequest.md b/docs/Models/Operations/CustomersMembersUpdateRequest.md similarity index 78% rename from docs/Models/Operations/MembersUpdateMemberRequest.md rename to docs/Models/Operations/CustomersMembersUpdateRequest.md index 4ec7a40a..daf32740 100644 --- a/docs/Models/Operations/MembersUpdateMemberRequest.md +++ b/docs/Models/Operations/CustomersMembersUpdateRequest.md @@ -1,9 +1,10 @@ -# MembersUpdateMemberRequest +# CustomersMembersUpdateRequest ## Fields | Field | Type | Required | Description | | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | -| `id` | *string* | :heavy_check_mark: | N/A | +| `id` | *string* | :heavy_check_mark: | The customer ID. | +| `memberId` | *string* | :heavy_check_mark: | N/A | | `memberUpdate` | [Components\MemberUpdate](../../Models/Components/MemberUpdate.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/MembersUpdateMemberResponse.md b/docs/Models/Operations/CustomersMembersUpdateResponse.md similarity index 98% rename from docs/Models/Operations/MembersUpdateMemberResponse.md rename to docs/Models/Operations/CustomersMembersUpdateResponse.md index bb17fe66..302b1470 100644 --- a/docs/Models/Operations/MembersUpdateMemberResponse.md +++ b/docs/Models/Operations/CustomersMembersUpdateResponse.md @@ -1,4 +1,4 @@ -# MembersUpdateMemberResponse +# CustomersMembersUpdateResponse ## Fields diff --git a/docs/Models/Operations/MembersGetMemberRequest.md b/docs/Models/Operations/DisputesAcceptRequest.md similarity index 84% rename from docs/Models/Operations/MembersGetMemberRequest.md rename to docs/Models/Operations/DisputesAcceptRequest.md index 99c3b92b..a75f78b0 100644 --- a/docs/Models/Operations/MembersGetMemberRequest.md +++ b/docs/Models/Operations/DisputesAcceptRequest.md @@ -1,8 +1,8 @@ -# MembersGetMemberRequest +# DisputesAcceptRequest ## Fields | Field | Type | Required | Description | | ------------------ | ------------------ | ------------------ | ------------------ | -| `id` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file +| `id` | *string* | :heavy_check_mark: | The dispute ID. | \ No newline at end of file diff --git a/docs/Models/Operations/DisputesAcceptResponse.md b/docs/Models/Operations/DisputesAcceptResponse.md new file mode 100644 index 00000000..0281c147 --- /dev/null +++ b/docs/Models/Operations/DisputesAcceptResponse.md @@ -0,0 +1,11 @@ +# DisputesAcceptResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `dispute` | [?Components\Dispute](../../Models/Components/Dispute.md) | :heavy_minus_sign: | Successful Response | \ No newline at end of file diff --git a/docs/Models/Operations/DisputesListRequest.md b/docs/Models/Operations/DisputesListRequest.md index b7199c09..44e4701d 100644 --- a/docs/Models/Operations/DisputesListRequest.md +++ b/docs/Models/Operations/DisputesListRequest.md @@ -7,7 +7,7 @@ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `organizationId` | [string\|array\|null](../../Models/Operations/DisputesListQueryParamOrganizationIDFilter.md) | :heavy_minus_sign: | Filter by organization ID. | | `orderId` | [string\|array\|null](../../Models/Operations/QueryParamOrderIDFilter.md) | :heavy_minus_sign: | Filter by order ID. | -| `status` | [Components\DisputeStatus\|array\|null](../../Models/Operations/StatusFilter.md) | :heavy_minus_sign: | Filter by dispute status. | +| `status` | [Components\DisputeStatus\|array\|null](../../Models/Operations/QueryParamStatusFilter.md) | :heavy_minus_sign: | Filter by dispute status. | | `page` | *?int* | :heavy_minus_sign: | Page number, defaults to 1. | | `limit` | *?int* | :heavy_minus_sign: | Size of a page, defaults to 10. Maximum is 100. | | `sorting` | array<[Components\DisputeSortProperty](../../Models/Components/DisputeSortProperty.md)> | :heavy_minus_sign: | Sorting criterion. Several criteria can be used simultaneously and will be applied in order. Add a minus sign `-` before the criteria name to sort by descending order. | \ No newline at end of file diff --git a/docs/Models/Operations/EventsGetResponse.md b/docs/Models/Operations/EventsGetResponse.md index 30165a98..695ad47a 100644 --- a/docs/Models/Operations/EventsGetResponse.md +++ b/docs/Models/Operations/EventsGetResponse.md @@ -3,9 +3,9 @@ ## Fields -| Field | Type | Required | Description | -| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | -| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | -| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | -| `event` | [Components\MeterCreditEvent\|Components\MeterResetEvent\|Components\BenefitGrantedEvent\|Components\BenefitCycledEvent\|Components\BenefitUpdatedEvent\|Components\BenefitRevokedEvent\|Components\SubscriptionCreatedEvent\|Components\SubscriptionUpdatedEvent\|Components\SubscriptionCycledEvent\|Components\SubscriptionCanceledEvent\|Components\SubscriptionRevokedEvent\|Components\SubscriptionUncanceledEvent\|Components\SubscriptionProductUpdatedEvent\|Components\SubscriptionSeatsUpdatedEvent\|Components\SubscriptionBillingPeriodUpdatedEvent\|Components\OrderPaidEvent\|Components\OrderRefundedEvent\|Components\OrderVoidedEvent\|Components\CheckoutCreatedEvent\|Components\CustomerCreatedEvent\|Components\CustomerUpdatedEvent\|Components\CustomerDeletedEvent\|Components\BalanceOrderEvent\|Components\BalanceCreditOrderEvent\|Components\BalanceRefundEvent\|Components\BalanceRefundReversalEvent\|Components\BalanceDisputeEvent\|Components\BalanceDisputeReversalEvent\|Components\UserEvent\|null](../../Models/Components/Event.md) | :heavy_minus_sign: | Successful Response | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `event` | [Components\MeterCreditEvent\|Components\MeterResetEvent\|Components\BenefitGrantedEvent\|Components\BenefitCycledEvent\|Components\BenefitUpdatedEvent\|Components\BenefitRevokedEvent\|Components\SubscriptionCreatedEvent\|Components\SubscriptionUpdatedEvent\|Components\SubscriptionCycledEvent\|Components\SubscriptionCanceledEvent\|Components\SubscriptionRevokedEvent\|Components\SubscriptionPastDueEvent\|Components\SubscriptionReactivatedEvent\|Components\SubscriptionPausedEvent\|Components\SubscriptionResumedEvent\|Components\SubscriptionUncanceledEvent\|Components\SubscriptionProductUpdatedEvent\|Components\SubscriptionSeatsUpdatedEvent\|Components\SubscriptionBillingPeriodUpdatedEvent\|Components\SubscriptionUpdateClearedEvent\|Components\OrderPaidEvent\|Components\OrderRefundedEvent\|Components\OrderVoidedEvent\|Components\CheckoutCreatedEvent\|Components\CustomerCreatedEvent\|Components\CustomerUpdatedEvent\|Components\CustomerDeletedEvent\|Components\BalanceOrderEvent\|Components\BalanceCreditOrderEvent\|Components\BalanceRefundEvent\|Components\BalanceRefundReversalEvent\|Components\BalanceDisputeEvent\|Components\BalanceDisputeReversalEvent\|Components\UserEvent\|null](../../Models/Components/Event.md) | :heavy_minus_sign: | Successful Response | \ No newline at end of file diff --git a/docs/Models/Operations/FilesUpdateResponse.md b/docs/Models/Operations/FilesUpdateResponse.md index 4fda0a74..eb39090e 100644 --- a/docs/Models/Operations/FilesUpdateResponse.md +++ b/docs/Models/Operations/FilesUpdateResponse.md @@ -3,9 +3,9 @@ ## Fields -| Field | Type | Required | Description | -| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | -| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | -| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | -| `responseFilesUpdate` | [Components\DownloadableFileRead\|Components\ProductMediaFileRead\|Components\OrganizationAvatarFileRead\|null](../../Models/Operations/FilesUpdateResponseFilesUpdate.md) | :heavy_minus_sign: | File updated. | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `fileRead` | [Components\DownloadableFileRead\|Components\ProductMediaFileRead\|Components\OrganizationAvatarFileRead\|Components\SupportCaseAttachmentFileRead\|null](../../Models/Components/FileRead.md) | :heavy_minus_sign: | File updated. | \ No newline at end of file diff --git a/docs/Models/Operations/FilesUpdateResponseFilesUpdate.md b/docs/Models/Operations/FilesUpdateResponseFilesUpdate.md deleted file mode 100644 index 51325624..00000000 --- a/docs/Models/Operations/FilesUpdateResponseFilesUpdate.md +++ /dev/null @@ -1,34 +0,0 @@ -# FilesUpdateResponseFilesUpdate - -File updated. - - -## Supported Types - -### `Components\DownloadableFileRead` - -```php -/** -* @var \Polar\Models\Components\DownloadableFileRead -*/ -Components\DownloadableFileRead $value = /* values here */ -``` - -### `Components\ProductMediaFileRead` - -```php -/** -* @var \Polar\Models\Components\ProductMediaFileRead -*/ -Components\ProductMediaFileRead $value = /* values here */ -``` - -### `Components\OrganizationAvatarFileRead` - -```php -/** -* @var \Polar\Models\Components\OrganizationAvatarFileRead -*/ -Components\OrganizationAvatarFileRead $value = /* values here */ -``` - diff --git a/docs/Models/Operations/FilesUploadedResponse.md b/docs/Models/Operations/FilesUploadedResponse.md index e76019f7..ee6a4622 100644 --- a/docs/Models/Operations/FilesUploadedResponse.md +++ b/docs/Models/Operations/FilesUploadedResponse.md @@ -3,9 +3,9 @@ ## Fields -| Field | Type | Required | Description | -| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | -| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | -| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | -| `responseFilesUploaded` | [Components\DownloadableFileRead\|Components\ProductMediaFileRead\|Components\OrganizationAvatarFileRead\|null](../../Models/Operations/FilesUploadedResponseFilesUploaded.md) | :heavy_minus_sign: | File upload completed. | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `fileRead` | [Components\DownloadableFileRead\|Components\ProductMediaFileRead\|Components\OrganizationAvatarFileRead\|Components\SupportCaseAttachmentFileRead\|null](../../Models/Components/FileRead.md) | :heavy_minus_sign: | File upload completed. | \ No newline at end of file diff --git a/docs/Models/Operations/FilesUploadedResponseFilesUploaded.md b/docs/Models/Operations/FilesUploadedResponseFilesUploaded.md deleted file mode 100644 index d19b61fb..00000000 --- a/docs/Models/Operations/FilesUploadedResponseFilesUploaded.md +++ /dev/null @@ -1,34 +0,0 @@ -# FilesUploadedResponseFilesUploaded - -File upload completed. - - -## Supported Types - -### `Components\DownloadableFileRead` - -```php -/** -* @var \Polar\Models\Components\DownloadableFileRead -*/ -Components\DownloadableFileRead $value = /* values here */ -``` - -### `Components\ProductMediaFileRead` - -```php -/** -* @var \Polar\Models\Components\ProductMediaFileRead -*/ -Components\ProductMediaFileRead $value = /* values here */ -``` - -### `Components\OrganizationAvatarFileRead` - -```php -/** -* @var \Polar\Models\Components\OrganizationAvatarFileRead -*/ -Components\OrganizationAvatarFileRead $value = /* values here */ -``` - diff --git a/docs/Models/Operations/LicenseKeyStatusFilter.md b/docs/Models/Operations/LicenseKeyStatusFilter.md new file mode 100644 index 00000000..e737d6e3 --- /dev/null +++ b/docs/Models/Operations/LicenseKeyStatusFilter.md @@ -0,0 +1,25 @@ +# LicenseKeyStatusFilter + +Filter by license key status. + + +## Supported Types + +### `Components\LicenseKeyStatus` + +```php +/** +* @var \Polar\Models\Components\LicenseKeyStatus +*/ +Components\LicenseKeyStatus $value = /* values here */ +``` + +### `array` + +```php +/** +* @var array<\Polar\Models\Components\LicenseKeyStatus> +*/ +array $value = /* values here */ +``` + diff --git a/docs/Models/Operations/LicenseKeysListRequest.md b/docs/Models/Operations/LicenseKeysListRequest.md index 0b5afc7a..cdbb7f20 100644 --- a/docs/Models/Operations/LicenseKeysListRequest.md +++ b/docs/Models/Operations/LicenseKeysListRequest.md @@ -7,5 +7,6 @@ | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | | `organizationId` | [string\|array\|null](../../Models/Operations/LicenseKeysListQueryParamOrganizationIDFilter.md) | :heavy_minus_sign: | Filter by organization ID. | | `benefitId` | [string\|array\|null](../../Models/Operations/QueryParamBenefitIDFilter.md) | :heavy_minus_sign: | Filter by benefit ID. | +| `status` | [Components\LicenseKeyStatus\|array\|null](../../Models/Operations/LicenseKeyStatusFilter.md) | :heavy_minus_sign: | Filter by license key status. | | `page` | *?int* | :heavy_minus_sign: | Page number, defaults to 1. | | `limit` | *?int* | :heavy_minus_sign: | Size of a page, defaults to 10. Maximum is 100. | \ No newline at end of file diff --git a/docs/Models/Operations/MetricsExportQueryParamCustomerIDFilter.md b/docs/Models/Operations/MetricsExportQueryParamCustomerIDFilter.md new file mode 100644 index 00000000..94ff9113 --- /dev/null +++ b/docs/Models/Operations/MetricsExportQueryParamCustomerIDFilter.md @@ -0,0 +1,25 @@ +# MetricsExportQueryParamCustomerIDFilter + +Filter by customer ID. + + +## Supported Types + +### `string` + +```php +/** +* @var string +*/ +string $value = /* values here */ +``` + +### `array` + +```php +/** +* @var array +*/ +array $value = /* values here */ +``` + diff --git a/docs/Models/Operations/OrganizationAccessTokensListQueryParamOrganizationIDFilter.md b/docs/Models/Operations/MetricsExportQueryParamOrganizationIDFilter.md similarity index 78% rename from docs/Models/Operations/OrganizationAccessTokensListQueryParamOrganizationIDFilter.md rename to docs/Models/Operations/MetricsExportQueryParamOrganizationIDFilter.md index 63d4d06c..1fa5477b 100644 --- a/docs/Models/Operations/OrganizationAccessTokensListQueryParamOrganizationIDFilter.md +++ b/docs/Models/Operations/MetricsExportQueryParamOrganizationIDFilter.md @@ -1,4 +1,4 @@ -# OrganizationAccessTokensListQueryParamOrganizationIDFilter +# MetricsExportQueryParamOrganizationIDFilter Filter by organization ID. diff --git a/docs/Models/Operations/MetricsExportQueryParamProductBillingTypeFilter.md b/docs/Models/Operations/MetricsExportQueryParamProductBillingTypeFilter.md new file mode 100644 index 00000000..3ec745f8 --- /dev/null +++ b/docs/Models/Operations/MetricsExportQueryParamProductBillingTypeFilter.md @@ -0,0 +1,25 @@ +# MetricsExportQueryParamProductBillingTypeFilter + +Filter by billing type. `recurring` will filter data corresponding to subscriptions creations or renewals. `one_time` will filter data corresponding to one-time purchases. + + +## Supported Types + +### `Components\ProductBillingType` + +```php +/** +* @var \Polar\Models\Components\ProductBillingType +*/ +Components\ProductBillingType $value = /* values here */ +``` + +### `array` + +```php +/** +* @var array<\Polar\Models\Components\ProductBillingType> +*/ +array $value = /* values here */ +``` + diff --git a/docs/Models/Operations/MetricsExportQueryParamProductIDFilter.md b/docs/Models/Operations/MetricsExportQueryParamProductIDFilter.md new file mode 100644 index 00000000..91143682 --- /dev/null +++ b/docs/Models/Operations/MetricsExportQueryParamProductIDFilter.md @@ -0,0 +1,25 @@ +# MetricsExportQueryParamProductIDFilter + +Filter by product ID. + + +## Supported Types + +### `string` + +```php +/** +* @var string +*/ +string $value = /* values here */ +``` + +### `array` + +```php +/** +* @var array +*/ +array $value = /* values here */ +``` + diff --git a/docs/Models/Operations/MetricsExportRequest.md b/docs/Models/Operations/MetricsExportRequest.md new file mode 100644 index 00000000..ec16354a --- /dev/null +++ b/docs/Models/Operations/MetricsExportRequest.md @@ -0,0 +1,16 @@ +# MetricsExportRequest + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `startDate` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | Start date. | +| `endDate` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_check_mark: | End date. | +| `timezone` | *?string* | :heavy_minus_sign: | Timezone to use for the timestamps. Default is UTC. | +| `interval` | [Components\TimeInterval](../../Models/Components/TimeInterval.md) | :heavy_check_mark: | Interval between two timestamps. | +| `organizationId` | [string\|array\|null](../../Models/Operations/MetricsExportQueryParamOrganizationIDFilter.md) | :heavy_minus_sign: | Filter by organization ID. | +| `productId` | [string\|array\|null](../../Models/Operations/MetricsExportQueryParamProductIDFilter.md) | :heavy_minus_sign: | Filter by product ID. | +| `billingType` | [Components\ProductBillingType\|array\|null](../../Models/Operations/MetricsExportQueryParamProductBillingTypeFilter.md) | :heavy_minus_sign: | Filter by billing type. `recurring` will filter data corresponding to subscriptions creations or renewals. `one_time` will filter data corresponding to one-time purchases. | +| `customerId` | [string\|array\|null](../../Models/Operations/MetricsExportQueryParamCustomerIDFilter.md) | :heavy_minus_sign: | Filter by customer ID. | +| `metrics` | array<*string*> | :heavy_minus_sign: | List of metric slugs to include in the export. If not provided, all metrics are exported. | \ No newline at end of file diff --git a/docs/Models/Operations/MetricsExportResponse.md b/docs/Models/Operations/MetricsExportResponse.md new file mode 100644 index 00000000..f4345c99 --- /dev/null +++ b/docs/Models/Operations/MetricsExportResponse.md @@ -0,0 +1,11 @@ +# MetricsExportResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `res` | *?string* | :heavy_minus_sign: | Successful Response | \ No newline at end of file diff --git a/docs/Models/Operations/Oauth2ClientsOauth2DeleteClientResponse.md b/docs/Models/Operations/Oauth2ClientsOauth2DeleteClientResponse.md index 7d59e499..2debde2a 100644 --- a/docs/Models/Operations/Oauth2ClientsOauth2DeleteClientResponse.md +++ b/docs/Models/Operations/Oauth2ClientsOauth2DeleteClientResponse.md @@ -7,5 +7,4 @@ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | | `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | | `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | -| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | -| `any` | *mixed* | :heavy_minus_sign: | Successful Response | \ No newline at end of file +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file diff --git a/docs/Models/Operations/OrganizationAccessTokensUpdateResponse.md b/docs/Models/Operations/OrdersCreateResponse.md similarity index 91% rename from docs/Models/Operations/OrganizationAccessTokensUpdateResponse.md rename to docs/Models/Operations/OrdersCreateResponse.md index 2485ab3a..91d769fb 100644 --- a/docs/Models/Operations/OrganizationAccessTokensUpdateResponse.md +++ b/docs/Models/Operations/OrdersCreateResponse.md @@ -1,4 +1,4 @@ -# OrganizationAccessTokensUpdateResponse +# OrdersCreateResponse ## Fields @@ -8,4 +8,4 @@ | `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | | `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | -| `organizationAccessToken` | [?Components\OrganizationAccessToken](../../Models/Components/OrganizationAccessToken.md) | :heavy_minus_sign: | Successful Response | \ No newline at end of file +| `order` | [?Components\Order](../../Models/Components/Order.md) | :heavy_minus_sign: | Successful Response | \ No newline at end of file diff --git a/docs/Models/Operations/OrdersExportResponse.md b/docs/Models/Operations/OrdersExportResponse.md index d6e0e2c6..2c205f1c 100644 --- a/docs/Models/Operations/OrdersExportResponse.md +++ b/docs/Models/Operations/OrdersExportResponse.md @@ -8,5 +8,4 @@ | `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | | `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | -| `any` | *mixed* | :heavy_minus_sign: | Successful Response | | `res` | *?string* | :heavy_minus_sign: | Successful Response | \ No newline at end of file diff --git a/docs/Models/Operations/OrdersFinalizeRequest.md b/docs/Models/Operations/OrdersFinalizeRequest.md new file mode 100644 index 00000000..93d1004f --- /dev/null +++ b/docs/Models/Operations/OrdersFinalizeRequest.md @@ -0,0 +1,9 @@ +# OrdersFinalizeRequest + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | The order ID. | +| `orderFinalize` | [?Components\OrderFinalize](../../Models/Components/OrderFinalize.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/OrdersFinalizeResponse.md b/docs/Models/Operations/OrdersFinalizeResponse.md new file mode 100644 index 00000000..b316dd2b --- /dev/null +++ b/docs/Models/Operations/OrdersFinalizeResponse.md @@ -0,0 +1,11 @@ +# OrdersFinalizeResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `order` | [?Components\Order](../../Models/Components/Order.md) | :heavy_minus_sign: | Successful Response | \ No newline at end of file diff --git a/docs/Models/Operations/OrdersListRequest.md b/docs/Models/Operations/OrdersListRequest.md index 8a954c08..b2516113 100644 --- a/docs/Models/Operations/OrdersListRequest.md +++ b/docs/Models/Operations/OrdersListRequest.md @@ -12,6 +12,7 @@ | `customerId` | [string\|array\|null](../../Models/Operations/OrdersListQueryParamCustomerIDFilter.md) | :heavy_minus_sign: | Filter by customer ID. | | `externalCustomerId` | [string\|array\|null](../../Models/Operations/OrdersListQueryParamExternalCustomerIDFilter.md) | :heavy_minus_sign: | Filter by customer external ID. | | `checkoutId` | [string\|array\|null](../../Models/Operations/CheckoutIDFilter.md) | :heavy_minus_sign: | Filter by checkout ID. | +| `subscriptionId` | [string\|array\|null](../../Models/Operations/SubscriptionIDFilter.md) | :heavy_minus_sign: | Filter by subscription ID. | | `page` | *?int* | :heavy_minus_sign: | Page number, defaults to 1. | | `limit` | *?int* | :heavy_minus_sign: | Size of a page, defaults to 10. Maximum is 100. | | `sorting` | array<[Components\OrderSortProperty](../../Models/Components/OrderSortProperty.md)> | :heavy_minus_sign: | Sorting criterion. Several criteria can be used simultaneously and will be applied in order. Add a minus sign `-` before the criteria name to sort by descending order. | diff --git a/docs/Models/Operations/MembersDeleteMemberRequest.md b/docs/Models/Operations/OrdersReceiptRequest.md similarity index 83% rename from docs/Models/Operations/MembersDeleteMemberRequest.md rename to docs/Models/Operations/OrdersReceiptRequest.md index d6ea1c57..06ccad09 100644 --- a/docs/Models/Operations/MembersDeleteMemberRequest.md +++ b/docs/Models/Operations/OrdersReceiptRequest.md @@ -1,8 +1,8 @@ -# MembersDeleteMemberRequest +# OrdersReceiptRequest ## Fields | Field | Type | Required | Description | | ------------------ | ------------------ | ------------------ | ------------------ | -| `id` | *string* | :heavy_check_mark: | N/A | \ No newline at end of file +| `id` | *string* | :heavy_check_mark: | The order ID. | \ No newline at end of file diff --git a/docs/Models/Operations/OrdersReceiptResponse.md b/docs/Models/Operations/OrdersReceiptResponse.md new file mode 100644 index 00000000..d5a31f4a --- /dev/null +++ b/docs/Models/Operations/OrdersReceiptResponse.md @@ -0,0 +1,11 @@ +# OrdersReceiptResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `orderReceipt` | [?Components\OrderReceipt](../../Models/Components/OrderReceipt.md) | :heavy_minus_sign: | Successful Response | \ No newline at end of file diff --git a/docs/Models/Operations/OrganizationAccessTokensCreateResponse.md b/docs/Models/Operations/OrganizationAccessTokensCreateResponse.md deleted file mode 100644 index d42c1574..00000000 --- a/docs/Models/Operations/OrganizationAccessTokensCreateResponse.md +++ /dev/null @@ -1,11 +0,0 @@ -# OrganizationAccessTokensCreateResponse - - -## Fields - -| Field | Type | Required | Description | -| --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | -| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | -| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | -| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | -| `organizationAccessTokenCreateResponse` | [?Components\OrganizationAccessTokenCreateResponse](../../Models/Components/OrganizationAccessTokenCreateResponse.md) | :heavy_minus_sign: | Successful Response | \ No newline at end of file diff --git a/docs/Models/Operations/OrganizationAccessTokensListRequest.md b/docs/Models/Operations/OrganizationAccessTokensListRequest.md deleted file mode 100644 index 555803e8..00000000 --- a/docs/Models/Operations/OrganizationAccessTokensListRequest.md +++ /dev/null @@ -1,11 +0,0 @@ -# OrganizationAccessTokensListRequest - - -## Fields - -| Field | Type | Required | Description | -| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `organizationId` | [string\|array\|null](../../Models/Operations/OrganizationAccessTokensListQueryParamOrganizationIDFilter.md) | :heavy_minus_sign: | Filter by organization ID. | -| `page` | *?int* | :heavy_minus_sign: | Page number, defaults to 1. | -| `limit` | *?int* | :heavy_minus_sign: | Size of a page, defaults to 10. Maximum is 100. | -| `sorting` | array<[Components\OrganizationAccessTokenSortProperty](../../Models/Components/OrganizationAccessTokenSortProperty.md)> | :heavy_minus_sign: | Sorting criterion. Several criteria can be used simultaneously and will be applied in order. Add a minus sign `-` before the criteria name to sort by descending order. | \ No newline at end of file diff --git a/docs/Models/Operations/OrganizationAccessTokensUpdateRequest.md b/docs/Models/Operations/OrganizationAccessTokensUpdateRequest.md deleted file mode 100644 index 0375f57f..00000000 --- a/docs/Models/Operations/OrganizationAccessTokensUpdateRequest.md +++ /dev/null @@ -1,9 +0,0 @@ -# OrganizationAccessTokensUpdateRequest - - -## Fields - -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | -| `id` | *string* | :heavy_check_mark: | N/A | -| `organizationAccessTokenUpdate` | [Components\OrganizationAccessTokenUpdate](../../Models/Components/OrganizationAccessTokenUpdate.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Operations/PaymentsListQueryParamCustomerIDFilter.md b/docs/Models/Operations/PaymentsListQueryParamCustomerIDFilter.md new file mode 100644 index 00000000..910d043d --- /dev/null +++ b/docs/Models/Operations/PaymentsListQueryParamCustomerIDFilter.md @@ -0,0 +1,25 @@ +# PaymentsListQueryParamCustomerIDFilter + +Filter by customer ID. + + +## Supported Types + +### `string` + +```php +/** +* @var string +*/ +string $value = /* values here */ +``` + +### `array` + +```php +/** +* @var array +*/ +array $value = /* values here */ +``` + diff --git a/docs/Models/Operations/PaymentsListRequest.md b/docs/Models/Operations/PaymentsListRequest.md index e4cfd01a..708d4098 100644 --- a/docs/Models/Operations/PaymentsListRequest.md +++ b/docs/Models/Operations/PaymentsListRequest.md @@ -8,6 +8,7 @@ | `organizationId` | [string\|array\|null](../../Models/Operations/PaymentsListQueryParamOrganizationIDFilter.md) | :heavy_minus_sign: | Filter by organization ID. | | `checkoutId` | [string\|array\|null](../../Models/Operations/PaymentsListQueryParamCheckoutIDFilter.md) | :heavy_minus_sign: | Filter by checkout ID. | | `orderId` | [string\|array\|null](../../Models/Operations/PaymentsListQueryParamOrderIDFilter.md) | :heavy_minus_sign: | Filter by order ID. | +| `customerId` | [string\|array\|null](../../Models/Operations/PaymentsListQueryParamCustomerIDFilter.md) | :heavy_minus_sign: | Filter by customer ID. | | `status` | [Components\PaymentStatus\|array\|null](../../Models/Operations/PaymentsListQueryParamStatusFilter.md) | :heavy_minus_sign: | Filter by payment status. | | `method` | [string\|array\|null](../../Models/Operations/MethodFilter.md) | :heavy_minus_sign: | Filter by payment method. | | `customerEmail` | [string\|array\|null](../../Models/Operations/CustomerEmailFilter.md) | :heavy_minus_sign: | Filter by customer email. | diff --git a/docs/Models/Operations/QueryParamStatusFilter.md b/docs/Models/Operations/QueryParamStatusFilter.md index 97c74c5d..603e08ff 100644 --- a/docs/Models/Operations/QueryParamStatusFilter.md +++ b/docs/Models/Operations/QueryParamStatusFilter.md @@ -1,24 +1,24 @@ # QueryParamStatusFilter -Filter by checkout session status. +Filter by dispute status. ## Supported Types -### `Components\CheckoutStatus` +### `Components\DisputeStatus` ```php /** -* @var \Polar\Models\Components\CheckoutStatus +* @var \Polar\Models\Components\DisputeStatus */ -Components\CheckoutStatus $value = /* values here */ +Components\DisputeStatus $value = /* values here */ ``` ### `array` ```php /** -* @var array<\Polar\Models\Components\CheckoutStatus> +* @var array<\Polar\Models\Components\DisputeStatus> */ array $value = /* values here */ ``` diff --git a/docs/Models/Operations/RefundsListRequest.md b/docs/Models/Operations/RefundsListRequest.md index e6549399..3d15d34e 100644 --- a/docs/Models/Operations/RefundsListRequest.md +++ b/docs/Models/Operations/RefundsListRequest.md @@ -8,7 +8,7 @@ | `id` | [string\|array\|null](../../Models/Operations/RefundIDFilter.md) | :heavy_minus_sign: | Filter by refund ID. | | `organizationId` | [string\|array\|null](../../Models/Operations/RefundsListQueryParamOrganizationIDFilter.md) | :heavy_minus_sign: | Filter by organization ID. | | `orderId` | [string\|array\|null](../../Models/Operations/OrderIDFilter.md) | :heavy_minus_sign: | Filter by order ID. | -| `subscriptionId` | [string\|array\|null](../../Models/Operations/SubscriptionIDFilter.md) | :heavy_minus_sign: | Filter by subscription ID. | +| `subscriptionId` | [string\|array\|null](../../Models/Operations/QueryParamSubscriptionIDFilter.md) | :heavy_minus_sign: | Filter by subscription ID. | | `customerId` | [string\|array\|null](../../Models/Operations/RefundsListQueryParamCustomerIDFilter.md) | :heavy_minus_sign: | Filter by customer ID. | | `externalCustomerId` | [string\|array\|null](../../Models/Operations/RefundsListQueryParamExternalCustomerIDFilter.md) | :heavy_minus_sign: | Filter by customer external ID. | | `succeeded` | *?bool* | :heavy_minus_sign: | Filter by `succeeded`. | diff --git a/docs/Models/Operations/StatusFilter.md b/docs/Models/Operations/StatusFilter.md index d702f671..ff950b73 100644 --- a/docs/Models/Operations/StatusFilter.md +++ b/docs/Models/Operations/StatusFilter.md @@ -1,24 +1,24 @@ # StatusFilter -Filter by dispute status. +Filter by subscription status. ## Supported Types -### `Components\DisputeStatus` +### `Components\SubscriptionStatus` ```php /** -* @var \Polar\Models\Components\DisputeStatus +* @var \Polar\Models\Components\SubscriptionStatus */ -Components\DisputeStatus $value = /* values here */ +Components\SubscriptionStatus $value = /* values here */ ``` ### `array` ```php /** -* @var array<\Polar\Models\Components\DisputeStatus> +* @var array<\Polar\Models\Components\SubscriptionStatus> */ array $value = /* values here */ ``` diff --git a/docs/Models/Operations/SubscriptionsExportResponse.md b/docs/Models/Operations/SubscriptionsExportResponse.md index 155ab136..8ef040cb 100644 --- a/docs/Models/Operations/SubscriptionsExportResponse.md +++ b/docs/Models/Operations/SubscriptionsExportResponse.md @@ -8,5 +8,4 @@ | `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | | `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | -| `any` | *mixed* | :heavy_minus_sign: | Successful Response | | `res` | *?string* | :heavy_minus_sign: | Successful Response | \ No newline at end of file diff --git a/docs/Models/Operations/SubscriptionsListRequest.md b/docs/Models/Operations/SubscriptionsListRequest.md index 25bd1d9d..6feb134e 100644 --- a/docs/Models/Operations/SubscriptionsListRequest.md +++ b/docs/Models/Operations/SubscriptionsListRequest.md @@ -10,7 +10,8 @@ | `customerId` | [string\|array\|null](../../Models/Operations/CustomerIDFilter.md) | :heavy_minus_sign: | Filter by customer ID. | | `externalCustomerId` | [string\|array\|null](../../Models/Operations/ExternalCustomerIDFilter.md) | :heavy_minus_sign: | Filter by customer external ID. | | `discountId` | [string\|array\|null](../../Models/Operations/DiscountIDFilter.md) | :heavy_minus_sign: | Filter by discount ID. | -| `active` | *?bool* | :heavy_minus_sign: | Filter by active or inactive subscription. | +| ~~`active`~~ | *?bool* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.

Filter by active or inactive subscription. | +| `status` | [Components\SubscriptionStatus\|array\|null](../../Models/Operations/StatusFilter.md) | :heavy_minus_sign: | Filter by subscription status. | | `cancelAtPeriodEnd` | *?bool* | :heavy_minus_sign: | Filter by subscriptions that are set to cancel at period end. | | `customerCancellationReason` | [Components\CustomerCancellationReason\|array\|null](../../Models/Operations/CustomerCancellationReasonFilter.md) | :heavy_minus_sign: | Filter by customer cancellation reason. | | `canceledAtAfter` | [\DateTime](https://www.php.net/manual/en/class.datetime.php) | :heavy_minus_sign: | Filter by cancellation date (after or equal to). | diff --git a/docs/Models/Operations/SubscriptionsUpdateRequest.md b/docs/Models/Operations/SubscriptionsUpdateRequest.md index 49919620..f159a2c9 100644 --- a/docs/Models/Operations/SubscriptionsUpdateRequest.md +++ b/docs/Models/Operations/SubscriptionsUpdateRequest.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `id` | *string* | :heavy_check_mark: | The subscription ID. | -| `subscriptionUpdate` | [Components\SubscriptionUpdateProduct\|Components\SubscriptionUpdateDiscount\|Components\SubscriptionUpdateTrial\|Components\SubscriptionUpdateSeats\|Components\SubscriptionUpdateBillingPeriod\|Components\SubscriptionCancel\|Components\SubscriptionRevoke](../../Models/Components/SubscriptionUpdate.md) | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | The subscription ID. | +| `subscriptionUpdate` | [Components\SubscriptionUpdateBase\|Components\SubscriptionUpdateSeats\|Components\SubscriptionUpdateBillingPeriod\|Components\SubscriptionCancel\|Components\SubscriptionRevoke\|Components\SubscriptionPause\|Components\SubscriptionResume\|Components\SubscriptionUpdateClear](../../Models/Components/SubscriptionUpdate.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/Models/Webhooks/EndpointsubscriptionPausedPostResponse.md b/docs/Models/Webhooks/EndpointsubscriptionPausedPostResponse.md new file mode 100644 index 00000000..7c8b4005 --- /dev/null +++ b/docs/Models/Webhooks/EndpointsubscriptionPausedPostResponse.md @@ -0,0 +1,11 @@ +# EndpointsubscriptionPausedPostResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `any` | *mixed* | :heavy_minus_sign: | Successful Response | \ No newline at end of file diff --git a/docs/Models/Webhooks/EndpointsubscriptionResumedPostResponse.md b/docs/Models/Webhooks/EndpointsubscriptionResumedPostResponse.md new file mode 100644 index 00000000..4835807b --- /dev/null +++ b/docs/Models/Webhooks/EndpointsubscriptionResumedPostResponse.md @@ -0,0 +1,11 @@ +# EndpointsubscriptionResumedPostResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | +| `contentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [\Psr\Http\Message\ResponseInterface](https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `any` | *mixed* | :heavy_minus_sign: | Successful Response | \ No newline at end of file diff --git a/docs/sdks/benefitgrants/README.md b/docs/sdks/benefitgrants/README.md index c59ba7ec..ab9338f1 100644 --- a/docs/sdks/benefitgrants/README.md +++ b/docs/sdks/benefitgrants/README.md @@ -8,7 +8,7 @@ ## list -List benefit grants across all benefits for the authenticated organization. +List benefit grants across all benefits accessible to the authenticated subject. **Scopes**: `benefits:read` `benefits:write` diff --git a/docs/sdks/benefits/README.md b/docs/sdks/benefits/README.md index 98765108..d6ff9aae 100644 --- a/docs/sdks/benefits/README.md +++ b/docs/sdks/benefits/README.md @@ -107,9 +107,9 @@ if ($response->benefit !== null) { ### Parameters -| Parameter | Type | Required | Description | -| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `$request` | [Components\BenefitCustomCreate\|Components\BenefitDiscordCreate\|Components\BenefitGitHubRepositoryCreate\|Components\BenefitDownloadablesCreate\|Components\BenefitLicenseKeysCreate\|Components\BenefitMeterCreditCreate\|Components\BenefitFeatureFlagCreate](../../Models/Components/BenefitCreate.md) | :heavy_check_mark: | The request object to use for the request. | +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `$request` | [Components\BenefitCustomCreate\|Components\BenefitDiscordCreate\|Components\BenefitGitHubRepositoryCreate\|Components\BenefitDownloadablesCreate\|Components\BenefitLicenseKeysCreate\|Components\BenefitMeterCreditCreate\|Components\BenefitFeatureFlagCreate\|Components\BenefitSlackSharedChannelCreate](../../Models/Components/BenefitCreate.md) | :heavy_check_mark: | The request object to use for the request. | ### Response @@ -256,7 +256,7 @@ $sdk = Polar\Polar::builder() $response = $sdk->benefits->update( id: '', - requestBody: new Components\BenefitCustomUpdate() + requestBody: new Components\BenefitDiscordUpdate() ); @@ -267,10 +267,10 @@ if ($response->benefit !== null) { ### Parameters -| Parameter | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `id` | *string* | :heavy_check_mark: | N/A | -| `requestBody` | [Components\BenefitCustomUpdate\|Components\BenefitDiscordUpdate\|Components\BenefitGitHubRepositoryUpdate\|Components\BenefitDownloadablesUpdate\|Components\BenefitLicenseKeysUpdate\|Components\BenefitMeterCreditUpdate\|Components\BenefitFeatureFlagUpdate](../../Models/Operations/BenefitsUpdateBenefitUpdate.md) | :heavy_check_mark: | N/A | +| Parameter | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | N/A | +| `requestBody` | [Components\BenefitCustomUpdate\|Components\BenefitDiscordUpdate\|Components\BenefitGitHubRepositoryUpdate\|Components\BenefitDownloadablesUpdate\|Components\BenefitLicenseKeysUpdate\|Components\BenefitMeterCreditUpdate\|Components\BenefitFeatureFlagUpdate\|Components\BenefitSlackSharedChannelUpdate](../../Models/Operations/BenefitsUpdateBenefitUpdate.md) | :heavy_check_mark: | N/A | ### Response diff --git a/docs/sdks/clients/README.md b/docs/sdks/clients/README.md index f4a7382c..cd6a12d5 100644 --- a/docs/sdks/clients/README.md +++ b/docs/sdks/clients/README.md @@ -197,7 +197,7 @@ $response = $sdk->oauth2->clients->delete( clientId: '' ); -if ($response->any !== null) { +if ($response->statusCode === 200) { // handle response } ``` diff --git a/docs/sdks/customers/README.md b/docs/sdks/customers/README.md index 6eb76788..1c2dbcea 100644 --- a/docs/sdks/customers/README.md +++ b/docs/sdks/customers/README.md @@ -15,6 +15,8 @@ * [updateExternal](#updateexternal) - Update Customer by External ID * [getState](#getstate) - Get Customer State * [getStateExternal](#getstateexternal) - Get Customer State by External ID +* [listPaymentMethods](#listpaymentmethods) - List Customer Payment Methods +* [listPaymentMethodsExternal](#listpaymentmethodsexternal) - List Customer Payment Methods by External ID ## list @@ -165,7 +167,7 @@ $response = $sdk->customers->export( organizationId: '1dbfc517-0bbf-4301-9ba8-555ca42b9737' ); -if ($response->any !== null) { +if ($response->res !== null) { // handle response } ``` @@ -648,6 +650,124 @@ if ($response->customerState !== null) { ### Errors +| Error Type | Status Code | Content Type | +| -------------------------- | -------------------------- | -------------------------- | +| Errors\ResourceNotFound | 404 | application/json | +| Errors\HTTPValidationError | 422 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | + +## listPaymentMethods + +Get saved payment methods of a customer. + +**Scopes**: `customers:read` `customers:write` + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use Polar; + +$sdk = Polar\Polar::builder() + ->setSecurity( + '' + ) + ->build(); + + + +$responses = $sdk->customers->listPaymentMethods( + id: '', + page: 1, + limit: 10 + +); + + +foreach ($responses as $response) { + if ($response->statusCode === 200) { + // handle response + } +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | The customer ID. | +| `page` | *?int* | :heavy_minus_sign: | Page number, defaults to 1. | +| `limit` | *?int* | :heavy_minus_sign: | Size of a page, defaults to 10. Maximum is 100. | + +### Response + +**[?Operations\CustomersListPaymentMethodsResponse](../../Models/Operations/CustomersListPaymentMethodsResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| -------------------------- | -------------------------- | -------------------------- | +| Errors\ResourceNotFound | 404 | application/json | +| Errors\HTTPValidationError | 422 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | + +## listPaymentMethodsExternal + +Get saved payment methods of a customer by external ID. + +**Scopes**: `customers:read` `customers:write` + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use Polar; + +$sdk = Polar\Polar::builder() + ->setSecurity( + '' + ) + ->build(); + + + +$responses = $sdk->customers->listPaymentMethodsExternal( + externalId: '', + page: 1, + limit: 10 + +); + + +foreach ($responses as $response) { + if ($response->statusCode === 200) { + // handle response + } +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | +| `externalId` | *string* | :heavy_check_mark: | The customer external ID. | +| `page` | *?int* | :heavy_minus_sign: | Page number, defaults to 1. | +| `limit` | *?int* | :heavy_minus_sign: | Size of a page, defaults to 10. Maximum is 100. | + +### Response + +**[?Operations\CustomersListPaymentMethodsExternalResponse](../../Models/Operations/CustomersListPaymentMethodsExternalResponse.md)** + +### Errors + | Error Type | Status Code | Content Type | | -------------------------- | -------------------------- | -------------------------- | | Errors\ResourceNotFound | 404 | application/json | diff --git a/docs/sdks/customerseats/README.md b/docs/sdks/customerseats/README.md index bf26f334..8e7788f6 100644 --- a/docs/sdks/customerseats/README.md +++ b/docs/sdks/customerseats/README.md @@ -13,7 +13,7 @@ ## listSeats -**Scopes**: `customer_seats:write` +**Scopes**: `customer_seats:read` ### Example Usage diff --git a/docs/sdks/discounts/README.md b/docs/sdks/discounts/README.md index 645b42dd..69eed0d8 100644 --- a/docs/sdks/discounts/README.md +++ b/docs/sdks/discounts/README.md @@ -89,12 +89,10 @@ $sdk = Polar\Polar::builder() ) ->build(); -$request = new Components\DiscountPercentageOnceForeverDurationCreate( - duration: Components\DiscountDuration::Once, - type: Components\DiscountType::Fixed, - basisPoints: 449604, +$request = new Components\DiscountFixedCreate( name: '', organizationId: '1dbfc517-0bbf-4301-9ba8-555ca42b9737', + duration: Components\DiscountDuration::Once, ); $response = $sdk->discounts->create( @@ -108,9 +106,9 @@ if ($response->discount !== null) { ### Parameters -| Parameter | Type | Required | Description | -| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `$request` | [Components\DiscountFixedOnceForeverDurationCreate\|Components\DiscountFixedRepeatDurationCreate\|Components\DiscountPercentageOnceForeverDurationCreate\|Components\DiscountPercentageRepeatDurationCreate](../../Models/Components/DiscountCreate.md) | :heavy_check_mark: | The request object to use for the request. | +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | +| `$request` | [Components\DiscountFixedCreate\|Components\DiscountPercentageCreate](../../Models/Components/DiscountCreate.md) | :heavy_check_mark: | The request object to use for the request. | ### Response diff --git a/docs/sdks/disputes/README.md b/docs/sdks/disputes/README.md index 33a53419..4b709c61 100644 --- a/docs/sdks/disputes/README.md +++ b/docs/sdks/disputes/README.md @@ -6,12 +6,13 @@ * [list](#list) - List Disputes * [get](#get) - Get Dispute +* [accept](#accept) - Accept Dispute ## list List disputes. -**Scopes**: `disputes:read` +**Scopes**: `disputes:read` `disputes:write` ### Example Usage @@ -67,7 +68,7 @@ foreach ($responses as $response) { Get a dispute by ID. -**Scopes**: `disputes:read` +**Scopes**: `disputes:read` `disputes:write` ### Example Usage @@ -112,4 +113,59 @@ if ($response->dispute !== null) { | -------------------------- | -------------------------- | -------------------------- | | Errors\ResourceNotFound | 404 | application/json | | Errors\HTTPValidationError | 422 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | + +## accept + +Accept a dispute, conceding the chargeback. + +Closes the dispute with the processor (settling it as `lost`) and records +the merchant's decision on the dispute's support case. + +**Scopes**: `disputes:write` + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use Polar; + +$sdk = Polar\Polar::builder() + ->setSecurity( + '' + ) + ->build(); + + + +$response = $sdk->disputes->accept( + id: '' +); + +if ($response->dispute !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `id` | *string* | :heavy_check_mark: | The dispute ID. | + +### Response + +**[?Operations\DisputesAcceptResponse](../../Models/Operations/DisputesAcceptResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| -------------------------- | -------------------------- | -------------------------- | +| Errors\ResourceNotFound | 404 | application/json | +| Errors\DisputeNotOpenError | 409 | application/json | +| Errors\HTTPValidationError | 422 | application/json | | Errors\APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/eventtypes/README.md b/docs/sdks/eventtypes/README.md index ec9aaacc..589f4d18 100644 --- a/docs/sdks/eventtypes/README.md +++ b/docs/sdks/eventtypes/README.md @@ -67,6 +67,8 @@ foreach ($responses as $response) { Update an event type's label. +**Scopes**: `events:write` + ### Example Usage diff --git a/docs/sdks/files/README.md b/docs/sdks/files/README.md index 88df79ed..20384774 100644 --- a/docs/sdks/files/README.md +++ b/docs/sdks/files/README.md @@ -113,9 +113,9 @@ if ($response->fileUpload !== null) { ### Parameters -| Parameter | Type | Required | Description | -| ---------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | -| `$request` | [Components\DownloadableFileCreate\|Components\ProductMediaFileCreate\|Components\OrganizationAvatarFileCreate](../../Models/Components/FileCreate.md) | :heavy_check_mark: | The request object to use for the request. | +| Parameter | Type | Required | Description | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `$request` | [Components\DownloadableFileCreate\|Components\ProductMediaFileCreate\|Components\OrganizationAvatarFileCreate\|Components\SupportCaseAttachmentFileCreate](../../Models/Components/FileCreate.md) | :heavy_check_mark: | The request object to use for the request. | ### Response @@ -179,7 +179,7 @@ $response = $sdk->files->uploaded( ); -if ($response->responseFilesUploaded !== null) { +if ($response->fileRead !== null) { // handle response } ``` @@ -287,7 +287,7 @@ $response = $sdk->files->update( ); -if ($response->responseFilesUpdate !== null) { +if ($response->fileRead !== null) { // handle response } ``` diff --git a/docs/sdks/licensekeys/README.md b/docs/sdks/licensekeys/README.md index b8f20eba..d19e499a 100644 --- a/docs/sdks/licensekeys/README.md +++ b/docs/sdks/licensekeys/README.md @@ -27,6 +27,7 @@ declare(strict_types=1); require 'vendor/autoload.php'; use Polar; +use Polar\Models\Operations; $sdk = Polar\Polar::builder() ->setSecurity( @@ -34,13 +35,12 @@ $sdk = Polar\Polar::builder() ) ->build(); - - -$responses = $sdk->licenseKeys->list( +$request = new Operations\LicenseKeysListRequest( organizationId: '1dbfc517-0bbf-4301-9ba8-555ca42b9737', - page: 1, - limit: 10 +); +$responses = $sdk->licenseKeys->list( + request: $request ); @@ -53,12 +53,9 @@ foreach ($responses as $response) { ### Parameters -| Parameter | Type | Required | Description | -| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | -| `organizationId` | [string\|array\|null](../../Models/Operations/LicenseKeysListQueryParamOrganizationIDFilter.md) | :heavy_minus_sign: | Filter by organization ID. | -| `benefitId` | [string\|array\|null](../../Models/Operations/QueryParamBenefitIDFilter.md) | :heavy_minus_sign: | Filter by benefit ID. | -| `page` | *?int* | :heavy_minus_sign: | Page number, defaults to 1. | -| `limit` | *?int* | :heavy_minus_sign: | Size of a page, defaults to 10. Maximum is 100. | +| Parameter | Type | Required | Description | +| -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | +| `$request` | [Operations\LicenseKeysListRequest](../../Models/Operations/LicenseKeysListRequest.md) | :heavy_check_mark: | The request object to use for the request. | ### Response diff --git a/docs/sdks/members/README.md b/docs/sdks/members/README.md index d2c4c618..5ae01ddf 100644 --- a/docs/sdks/members/README.md +++ b/docs/sdks/members/README.md @@ -5,10 +5,6 @@ ### Available Operations * [listMembers](#listmembers) - List Members -* [createMember](#createmember) - Create Member -* [getMember](#getmember) - Get Member -* [deleteMember](#deletemember) - Delete Member -* [updateMember](#updatemember) - Update Member ## listMembers @@ -62,230 +58,4 @@ foreach ($responses as $response) { | Error Type | Status Code | Content Type | | -------------------------- | -------------------------- | -------------------------- | | Errors\HTTPValidationError | 422 | application/json | -| Errors\APIException | 4XX, 5XX | \*/\* | - -## createMember - -Create a new member for a customer. - -Only B2B customers with the member management feature enabled can add members. -The authenticated user or organization must have access to the customer's organization. - -**Scopes**: `members:write` - -### Example Usage - - -```php -declare(strict_types=1); - -require 'vendor/autoload.php'; - -use Polar; -use Polar\Models\Components; - -$sdk = Polar\Polar::builder() - ->setSecurity( - '' - ) - ->build(); - -$request = new Components\MemberCreate( - customerId: '', - email: 'member@example.com', - name: 'Jane Doe', - externalId: 'usr_1337', -); - -$response = $sdk->members->createMember( - request: $request -); - -if ($response->member !== null) { - // handle response -} -``` - -### Parameters - -| Parameter | Type | Required | Description | -| ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | -| `$request` | [Components\MemberCreate](../../Models/Components/MemberCreate.md) | :heavy_check_mark: | The request object to use for the request. | - -### Response - -**[?Operations\MembersCreateMemberResponse](../../Models/Operations/MembersCreateMemberResponse.md)** - -### Errors - -| Error Type | Status Code | Content Type | -| -------------------------- | -------------------------- | -------------------------- | -| Errors\ResourceNotFound | 404 | application/json | -| Errors\HTTPValidationError | 422 | application/json | -| Errors\APIException | 4XX, 5XX | \*/\* | - -## getMember - -Get a member by ID. - -The authenticated user or organization must have access to the member's organization. - -**Scopes**: `members:read` `members:write` - -### Example Usage - - -```php -declare(strict_types=1); - -require 'vendor/autoload.php'; - -use Polar; - -$sdk = Polar\Polar::builder() - ->setSecurity( - '' - ) - ->build(); - - - -$response = $sdk->members->getMember( - id: '572bebad-ee17-4d04-a50f-6596a7d92cf3' -); - -if ($response->member !== null) { - // handle response -} -``` - -### Parameters - -| Parameter | Type | Required | Description | -| ------------------ | ------------------ | ------------------ | ------------------ | -| `id` | *string* | :heavy_check_mark: | N/A | - -### Response - -**[?Operations\MembersGetMemberResponse](../../Models/Operations/MembersGetMemberResponse.md)** - -### Errors - -| Error Type | Status Code | Content Type | -| -------------------------- | -------------------------- | -------------------------- | -| Errors\ResourceNotFound | 404 | application/json | -| Errors\HTTPValidationError | 422 | application/json | -| Errors\APIException | 4XX, 5XX | \*/\* | - -## deleteMember - -Delete a member. - -The authenticated user or organization must have access to the member's organization. - -**Scopes**: `members:write` - -### Example Usage - - -```php -declare(strict_types=1); - -require 'vendor/autoload.php'; - -use Polar; - -$sdk = Polar\Polar::builder() - ->setSecurity( - '' - ) - ->build(); - - - -$response = $sdk->members->deleteMember( - id: '913247e9-8f2b-4bd1-a47e-9842d173a7cb' -); - -if ($response->statusCode === 200) { - // handle response -} -``` - -### Parameters - -| Parameter | Type | Required | Description | -| ------------------ | ------------------ | ------------------ | ------------------ | -| `id` | *string* | :heavy_check_mark: | N/A | - -### Response - -**[?Operations\MembersDeleteMemberResponse](../../Models/Operations/MembersDeleteMemberResponse.md)** - -### Errors - -| Error Type | Status Code | Content Type | -| -------------------------- | -------------------------- | -------------------------- | -| Errors\ResourceNotFound | 404 | application/json | -| Errors\HTTPValidationError | 422 | application/json | -| Errors\APIException | 4XX, 5XX | \*/\* | - -## updateMember - -Update a member. - -Only name and role can be updated. -The authenticated user or organization must have access to the member's organization. - -**Scopes**: `members:write` - -### Example Usage - - -```php -declare(strict_types=1); - -require 'vendor/autoload.php'; - -use Polar; -use Polar\Models\Components; - -$sdk = Polar\Polar::builder() - ->setSecurity( - '' - ) - ->build(); - -$memberUpdate = new Components\MemberUpdate( - name: 'Jane Doe', -); - -$response = $sdk->members->updateMember( - id: 'ab9b628a-6dbd-4f07-bcd6-163a8b5b7de4', - memberUpdate: $memberUpdate - -); - -if ($response->member !== null) { - // handle response -} -``` - -### Parameters - -| Parameter | Type | Required | Description | -| ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | -| `id` | *string* | :heavy_check_mark: | N/A | -| `memberUpdate` | [Components\MemberUpdate](../../Models/Components/MemberUpdate.md) | :heavy_check_mark: | N/A | - -### Response - -**[?Operations\MembersUpdateMemberResponse](../../Models/Operations/MembersUpdateMemberResponse.md)** - -### Errors - -| Error Type | Status Code | Content Type | -| -------------------------- | -------------------------- | -------------------------- | -| Errors\ResourceNotFound | 404 | application/json | -| Errors\HTTPValidationError | 422 | application/json | | Errors\APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/metrics/README.md b/docs/sdks/metrics/README.md index 13250890..8736f548 100644 --- a/docs/sdks/metrics/README.md +++ b/docs/sdks/metrics/README.md @@ -5,6 +5,7 @@ ### Available Operations * [get](#get) - Get Metrics +* [export](#export) - Export Metrics * [limits](#limits) - Get Metrics Limits * [listDashboards](#listdashboards) - List Metric Dashboards * [createDashboard](#createdashboard) - Create Metric Dashboard @@ -72,6 +73,64 @@ if ($response->metricsResponse !== null) { | Errors\HTTPValidationError | 422 | application/json | | Errors\APIException | 4XX, 5XX | \*/\* | +## export + +Export metrics as a CSV file. + +**Scopes**: `metrics:read` + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use Brick\DateTime\LocalDate; +use Polar; +use Polar\Models\Components; +use Polar\Models\Operations; + +$sdk = Polar\Polar::builder() + ->setSecurity( + '' + ) + ->build(); + +$request = new Operations\MetricsExportRequest( + startDate: LocalDate::parse('2026-07-17'), + endDate: LocalDate::parse('2024-05-06'), + interval: Components\TimeInterval::Year, + organizationId: '1dbfc517-0bbf-4301-9ba8-555ca42b9737', +); + +$response = $sdk->metrics->export( + request: $request +); + +if ($response->res !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | +| `$request` | [Operations\MetricsExportRequest](../../Models/Operations/MetricsExportRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[?Operations\MetricsExportResponse](../../Models/Operations/MetricsExportResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| -------------------------- | -------------------------- | -------------------------- | +| Errors\HTTPValidationError | 422 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | + ## limits Get the interval limits for the metrics endpoint. diff --git a/docs/sdks/orders/README.md b/docs/sdks/orders/README.md index 1eb34806..89360fa7 100644 --- a/docs/sdks/orders/README.md +++ b/docs/sdks/orders/README.md @@ -5,11 +5,14 @@ ### Available Operations * [list](#list) - List Orders +* [create](#create) - Create Order * [export](#export) - Export Orders * [get](#get) - Get Order * [update](#update) - Update Order +* [finalize](#finalize) - Finalize Order * [invoice](#invoice) - Get Order Invoice * [generateInvoice](#generateinvoice) - Generate Order Invoice +* [receipt](#receipt) - Get Order Receipt ## list @@ -67,6 +70,65 @@ foreach ($responses as $response) { | Errors\HTTPValidationError | 422 | application/json | | Errors\APIException | 4XX, 5XX | \*/\* | +## create + +Create a draft order for an off-session charge against a saved payment +method. The order is created with `status=draft` and no invoice number; +call `POST /v1/orders/{id}/finalize` to attempt the charge. + +The organization must have the `off_session_charges_enabled` feature flag. + +**Scopes**: `orders:write` + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use Polar; +use Polar\Models\Components; + +$sdk = Polar\Polar::builder() + ->setSecurity( + '' + ) + ->build(); + +$request = new Components\OrderCreate( + organizationId: '1dbfc517-0bbf-4301-9ba8-555ca42b9737', + customerId: '', + productId: '', +); + +$response = $sdk->orders->create( + request: $request +); + +if ($response->order !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | +| `$request` | [Components\OrderCreate](../../Models/Components/OrderCreate.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[?Operations\OrdersCreateResponse](../../Models/Operations/OrdersCreateResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| -------------------------- | -------------------------- | -------------------------- | +| Errors\HTTPValidationError | 422 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | + ## export Export orders as a CSV file. @@ -95,7 +157,7 @@ $response = $sdk->orders->export( organizationId: null ); -if ($response->any !== null) { +if ($response->res !== null) { // handle response } ``` @@ -228,6 +290,71 @@ if ($response->order !== null) { | Errors\HTTPValidationError | 422 | application/json | | Errors\APIException | 4XX, 5XX | \*/\* | +## finalize + +Finalize a draft order and synchronously attempt an off-session charge. + +On success, the order transitions to `paid` and benefit grants fire +before the response returns. On failure (decline, missing payment method, +SCA challenge), the order stays in `draft` and a 4xx error is returned. + +The request fails with 412 if the order is not in `draft` status. + +**Scopes**: `orders:write` + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use Polar; + +$sdk = Polar\Polar::builder() + ->setSecurity( + '' + ) + ->build(); + + + +$response = $sdk->orders->finalize( + id: '', + orderFinalize: $orderFinalize + +); + +if ($response->order !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | The order ID. | +| `orderFinalize` | [?Components\OrderFinalize](../../Models/Components/OrderFinalize.md) | :heavy_minus_sign: | N/A | + +### Response + +**[?Operations\OrdersFinalizeResponse](../../Models/Operations/OrdersFinalizeResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| -------------------------------------- | -------------------------------------- | -------------------------------------- | +| Errors\PaymentFailed1 | 402 | application/json | +| Errors\PaymentActionRequired | 402 | application/json | +| Errors\OffSessionChargesNotEnabled | 403 | application/json | +| Errors\OrganizationNotReadyForPayments | 403 | application/json | +| Errors\ResourceNotFound | 404 | application/json | +| Errors\OrderNotDraft | 412 | application/json | +| Errors\HTTPValidationError | 422 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | + ## invoice Get an order's invoice data. @@ -326,6 +453,58 @@ if ($response->any !== null) { | Error Type | Status Code | Content Type | | ----------------------------------- | ----------------------------------- | ----------------------------------- | +| Errors\ResourceNotFound | 404 | application/json | +| Errors\OrderNotEligibleForInvoice | 409 | application/json | | Errors\MissingInvoiceBillingDetails | 422 | application/json | -| Errors\NotPaidOrder | 422 | application/json | -| Errors\APIException | 4XX, 5XX | \*/\* | \ No newline at end of file +| Errors\APIException | 4XX, 5XX | \*/\* | + +## receipt + +Get a presigned URL to download an order's receipt PDF. + +**Scopes**: `orders:read` + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use Polar; + +$sdk = Polar\Polar::builder() + ->setSecurity( + '' + ) + ->build(); + + + +$response = $sdk->orders->receipt( + id: '' +); + +if ($response->orderReceipt !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `id` | *string* | :heavy_check_mark: | The order ID. | + +### Response + +**[?Operations\OrdersReceiptResponse](../../Models/Operations/OrdersReceiptResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| -------------------------- | -------------------------- | -------------------------- | +| Errors\ResourceNotFound | 404 | application/json | +| Errors\HTTPValidationError | 422 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/organizationaccesstokens/README.md b/docs/sdks/organizationaccesstokens/README.md deleted file mode 100644 index f0daa558..00000000 --- a/docs/sdks/organizationaccesstokens/README.md +++ /dev/null @@ -1,221 +0,0 @@ -# OrganizationAccessTokens - -## Overview - -### Available Operations - -* [list](#list) - List -* [create](#create) - Create -* [delete](#delete) - Delete -* [update](#update) - Update - -## list - -List organization access tokens. - -**Scopes**: `organization_access_tokens:read` `organization_access_tokens:write` - -### Example Usage - - -```php -declare(strict_types=1); - -require 'vendor/autoload.php'; - -use Polar; - -$sdk = Polar\Polar::builder() - ->setSecurity( - '' - ) - ->build(); - - - -$responses = $sdk->organizationAccessTokens->list( - organizationId: '1dbfc517-0bbf-4301-9ba8-555ca42b9737', - page: 1, - limit: 10 - -); - - -foreach ($responses as $response) { - if ($response->statusCode === 200) { - // handle response - } -} -``` - -### Parameters - -| Parameter | Type | Required | Description | -| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `organizationId` | [string\|array\|null](../../Models/Operations/OrganizationAccessTokensListQueryParamOrganizationIDFilter.md) | :heavy_minus_sign: | Filter by organization ID. | -| `page` | *?int* | :heavy_minus_sign: | Page number, defaults to 1. | -| `limit` | *?int* | :heavy_minus_sign: | Size of a page, defaults to 10. Maximum is 100. | -| `sorting` | array<[Components\OrganizationAccessTokenSortProperty](../../Models/Components/OrganizationAccessTokenSortProperty.md)> | :heavy_minus_sign: | Sorting criterion. Several criteria can be used simultaneously and will be applied in order. Add a minus sign `-` before the criteria name to sort by descending order. | - -### Response - -**[?Operations\OrganizationAccessTokensListResponse](../../Models/Operations/OrganizationAccessTokensListResponse.md)** - -### Errors - -| Error Type | Status Code | Content Type | -| -------------------------- | -------------------------- | -------------------------- | -| Errors\HTTPValidationError | 422 | application/json | -| Errors\APIException | 4XX, 5XX | \*/\* | - -## create - -**Scopes**: `organization_access_tokens:write` - -### Example Usage - - -```php -declare(strict_types=1); - -require 'vendor/autoload.php'; - -use Polar; -use Polar\Models\Components; - -$sdk = Polar\Polar::builder() - ->setSecurity( - '' - ) - ->build(); - -$request = new Components\OrganizationAccessTokenCreate( - comment: 'The Football Is Good For Training And Recreational Purposes', - scopes: [], -); - -$response = $sdk->organizationAccessTokens->create( - request: $request -); - -if ($response->organizationAccessTokenCreateResponse !== null) { - // handle response -} -``` - -### Parameters - -| Parameter | Type | Required | Description | -| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | -| `$request` | [Components\OrganizationAccessTokenCreate](../../Models/Components/OrganizationAccessTokenCreate.md) | :heavy_check_mark: | The request object to use for the request. | - -### Response - -**[?Operations\OrganizationAccessTokensCreateResponse](../../Models/Operations/OrganizationAccessTokensCreateResponse.md)** - -### Errors - -| Error Type | Status Code | Content Type | -| -------------------------- | -------------------------- | -------------------------- | -| Errors\HTTPValidationError | 422 | application/json | -| Errors\APIException | 4XX, 5XX | \*/\* | - -## delete - -**Scopes**: `organization_access_tokens:write` - -### Example Usage - - -```php -declare(strict_types=1); - -require 'vendor/autoload.php'; - -use Polar; - -$sdk = Polar\Polar::builder() - ->setSecurity( - '' - ) - ->build(); - - - -$response = $sdk->organizationAccessTokens->delete( - id: '' -); - -if ($response->statusCode === 200) { - // handle response -} -``` - -### Parameters - -| Parameter | Type | Required | Description | -| ------------------ | ------------------ | ------------------ | ------------------ | -| `id` | *string* | :heavy_check_mark: | N/A | - -### Response - -**[?Operations\OrganizationAccessTokensDeleteResponse](../../Models/Operations/OrganizationAccessTokensDeleteResponse.md)** - -### Errors - -| Error Type | Status Code | Content Type | -| -------------------------- | -------------------------- | -------------------------- | -| Errors\HTTPValidationError | 422 | application/json | -| Errors\APIException | 4XX, 5XX | \*/\* | - -## update - -**Scopes**: `organization_access_tokens:write` - -### Example Usage - - -```php -declare(strict_types=1); - -require 'vendor/autoload.php'; - -use Polar; -use Polar\Models\Components; - -$sdk = Polar\Polar::builder() - ->setSecurity( - '' - ) - ->build(); - -$organizationAccessTokenUpdate = new Components\OrganizationAccessTokenUpdate(); - -$response = $sdk->organizationAccessTokens->update( - id: '', - organizationAccessTokenUpdate: $organizationAccessTokenUpdate - -); - -if ($response->organizationAccessToken !== null) { - // handle response -} -``` - -### Parameters - -| Parameter | Type | Required | Description | -| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | -| `id` | *string* | :heavy_check_mark: | N/A | -| `organizationAccessTokenUpdate` | [Components\OrganizationAccessTokenUpdate](../../Models/Components/OrganizationAccessTokenUpdate.md) | :heavy_check_mark: | N/A | - -### Response - -**[?Operations\OrganizationAccessTokensUpdateResponse](../../Models/Operations/OrganizationAccessTokensUpdateResponse.md)** - -### Errors - -| Error Type | Status Code | Content Type | -| -------------------------- | -------------------------- | -------------------------- | -| Errors\HTTPValidationError | 422 | application/json | -| Errors\APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/organizations/README.md b/docs/sdks/organizations/README.md index 8a307418..d01e5975 100644 --- a/docs/sdks/organizations/README.md +++ b/docs/sdks/organizations/README.md @@ -4,12 +4,12 @@ ### Available Operations -* [list](#list) - List Organizations +* [listOrganizations](#listorganizations) - List Organizations * [create](#create) - Create Organization * [get](#get) - Get Organization * [update](#update) - Update Organization -## list +## listOrganizations List organizations. @@ -33,7 +33,7 @@ $sdk = Polar\Polar::builder() -$responses = $sdk->organizations->list( +$responses = $sdk->organizations->listOrganizations( page: 1, limit: 10 @@ -116,10 +116,11 @@ if ($response->organization !== null) { ### Errors -| Error Type | Status Code | Content Type | -| -------------------------- | -------------------------- | -------------------------- | -| Errors\HTTPValidationError | 422 | application/json | -| Errors\APIException | 4XX, 5XX | \*/\* | +| Error Type | Status Code | Content Type | +| ------------------------------------ | ------------------------------------ | ------------------------------------ | +| Errors\CannotCreateOrganizationError | 403 | application/json | +| Errors\HTTPValidationError | 422 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | ## get @@ -221,9 +222,10 @@ if ($response->organization !== null) { ### Errors -| Error Type | Status Code | Content Type | -| -------------------------- | -------------------------- | -------------------------- | -| Errors\NotPermitted | 403 | application/json | -| Errors\ResourceNotFound | 404 | application/json | -| Errors\HTTPValidationError | 422 | application/json | -| Errors\APIException | 4XX, 5XX | \*/\* | \ No newline at end of file +| Error Type | Status Code | Content Type | +| --------------------------------------- | --------------------------------------- | --------------------------------------- | +| Errors\NotPermitted | 403 | application/json | +| Errors\ResourceNotFound | 404 | application/json | +| Errors\SSOEnforcementRequiresConnection | 409 | application/json | +| Errors\HTTPValidationError | 422 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/polarbenefitgrants/README.md b/docs/sdks/polarbenefitgrants/README.md index 1df9ded2..d1d29c59 100644 --- a/docs/sdks/polarbenefitgrants/README.md +++ b/docs/sdks/polarbenefitgrants/README.md @@ -156,11 +156,11 @@ if ($response->customerBenefitGrant !== null) { ### Parameters -| Parameter | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `security` | [Operations\CustomerPortalBenefitGrantsUpdateSecurity](../../Models/Operations/CustomerPortalBenefitGrantsUpdateSecurity.md) | :heavy_check_mark: | The security requirements to use for the request. | -| `id` | *string* | :heavy_check_mark: | The benefit grant ID. | -| `customerBenefitGrantUpdate` | [Components\CustomerBenefitGrantDiscordUpdate\|Components\CustomerBenefitGrantGitHubRepositoryUpdate\|Components\CustomerBenefitGrantDownloadablesUpdate\|Components\CustomerBenefitGrantLicenseKeysUpdate\|Components\CustomerBenefitGrantCustomUpdate\|Components\CustomerBenefitGrantMeterCreditUpdate\|Components\CustomerBenefitGrantFeatureFlagUpdate](../../Models/Components/CustomerBenefitGrantUpdate.md) | :heavy_check_mark: | N/A | +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `security` | [Operations\CustomerPortalBenefitGrantsUpdateSecurity](../../Models/Operations/CustomerPortalBenefitGrantsUpdateSecurity.md) | :heavy_check_mark: | The security requirements to use for the request. | +| `id` | *string* | :heavy_check_mark: | The benefit grant ID. | +| `customerBenefitGrantUpdate` | [Components\CustomerBenefitGrantDiscordUpdate\|Components\CustomerBenefitGrantGitHubRepositoryUpdate\|Components\CustomerBenefitGrantDownloadablesUpdate\|Components\CustomerBenefitGrantLicenseKeysUpdate\|Components\CustomerBenefitGrantCustomUpdate\|Components\CustomerBenefitGrantMeterCreditUpdate\|Components\CustomerBenefitGrantFeatureFlagUpdate\|Components\CustomerBenefitGrantSlackSharedChannelUpdate](../../Models/Components/CustomerBenefitGrantUpdate.md) | :heavy_check_mark: | N/A | ### Response diff --git a/docs/sdks/polarcustomerportalmembers/README.md b/docs/sdks/polarcustomerportalmembers/README.md new file mode 100644 index 00000000..d46b1d57 --- /dev/null +++ b/docs/sdks/polarcustomerportalmembers/README.md @@ -0,0 +1,237 @@ +# CustomerPortal.Members + +## Overview + +### Available Operations + +* [listMembers](#listmembers) - List Members +* [addMember](#addmember) - Add Member +* [removeMember](#removemember) - Remove Member +* [updateMember](#updatemember) - Update Member + +## listMembers + +List all members of the customer's team. + +Only available to owners and billing managers of team customers. + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use Polar; + +$sdk = Polar\Polar::builder() + ->setSecurity( + '' + ) + ->build(); + + + +$responses = $sdk->customerPortal->members->listMembers( + page: 1, + limit: 10 + +); + + +foreach ($responses as $response) { + if ($response->statusCode === 200) { + // handle response + } +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | +| `page` | *?int* | :heavy_minus_sign: | Page number, defaults to 1. | +| `limit` | *?int* | :heavy_minus_sign: | Size of a page, defaults to 10. Maximum is 100. | + +### Response + +**[?Operations\CustomerPortalMembersListMembersResponse](../../Models/Operations/CustomerPortalMembersListMembersResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| -------------------------- | -------------------------- | -------------------------- | +| Errors\HTTPValidationError | 422 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | + +## addMember + +Add a new member to the customer's team. + +Only available to owners and billing managers of team customers. + +Rules: +- Cannot add a member with the owner role (there must be exactly one owner) +- If a member with this email already exists, the existing member is returned + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use Polar; +use Polar\Models\Components; + +$sdk = Polar\Polar::builder() + ->setSecurity( + '' + ) + ->build(); + +$request = new Components\CustomerPortalMemberCreate( + email: 'Domenica.Schamberger@yahoo.com', +); + +$response = $sdk->customerPortal->members->addMember( + request: $request +); + +if ($response->customerPortalMember !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | +| `$request` | [Components\CustomerPortalMemberCreate](../../Models/Components/CustomerPortalMemberCreate.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[?Operations\CustomerPortalMembersAddMemberResponse](../../Models/Operations/CustomerPortalMembersAddMemberResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| -------------------------- | -------------------------- | -------------------------- | +| Errors\HTTPValidationError | 422 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | + +## removeMember + +Remove a member from the team. + +Only available to owners and billing managers of team customers. + +Rules: +- Cannot remove yourself +- Cannot remove the only owner + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use Polar; + +$sdk = Polar\Polar::builder() + ->setSecurity( + '' + ) + ->build(); + + + +$response = $sdk->customerPortal->members->removeMember( + id: 'b61c5e87-cda5-4b14-93ee-71a695f42d9d' +); + +if ($response->statusCode === 200) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `id` | *string* | :heavy_check_mark: | N/A | + +### Response + +**[?Operations\CustomerPortalMembersRemoveMemberResponse](../../Models/Operations/CustomerPortalMembersRemoveMemberResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| -------------------------- | -------------------------- | -------------------------- | +| Errors\HTTPValidationError | 422 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | + +## updateMember + +Update a member's name or role. + +Only available to owners and billing managers of team customers. + +Rules: +- Cannot modify your own role (to prevent self-demotion) +- Customer must have exactly one owner at all times + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use Polar; +use Polar\Models\Components; + +$sdk = Polar\Polar::builder() + ->setSecurity( + '' + ) + ->build(); + +$customerPortalMemberUpdate = new Components\CustomerPortalMemberUpdate( + name: 'Jane Doe', +); + +$response = $sdk->customerPortal->members->updateMember( + id: '8319ae11-ed5f-4642-81e4-4b40731df195', + customerPortalMemberUpdate: $customerPortalMemberUpdate + +); + +if ($response->customerPortalMember !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | N/A | +| `customerPortalMemberUpdate` | [Components\CustomerPortalMemberUpdate](../../Models/Components/CustomerPortalMemberUpdate.md) | :heavy_check_mark: | N/A | + +### Response + +**[?Operations\CustomerPortalMembersUpdateMemberResponse](../../Models/Operations/CustomerPortalMembersUpdateMemberResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| -------------------------- | -------------------------- | -------------------------- | +| Errors\HTTPValidationError | 422 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/polarcustomers/README.md b/docs/sdks/polarcustomers/README.md index bea001fa..9bd39444 100644 --- a/docs/sdks/polarcustomers/README.md +++ b/docs/sdks/polarcustomers/README.md @@ -10,6 +10,9 @@ * [addPaymentMethod](#addpaymentmethod) - Add Customer Payment Method * [confirmPaymentMethod](#confirmpaymentmethod) - Confirm Customer Payment Method * [deletePaymentMethod](#deletepaymentmethod) - Delete Customer Payment Method +* [requestEmailUpdate](#requestemailupdate) - Request Email Change +* [checkEmailUpdate](#checkemailupdate) - Check Email Change Token +* [verifyEmailUpdate](#verifyemailupdate) - Verify Email Change ## get @@ -221,10 +224,11 @@ if ($response->customerPaymentMethodCreateResponse !== null) { ### Errors -| Error Type | Status Code | Content Type | -| -------------------------- | -------------------------- | -------------------------- | -| Errors\HTTPValidationError | 422 | application/json | -| Errors\APIException | 4XX, 5XX | \*/\* | +| Error Type | Status Code | Content Type | +| ------------------------------- | ------------------------------- | ------------------------------- | +| Errors\PaymentMethodSetupFailed | 400 | application/json | +| Errors\HTTPValidationError | 422 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | ## confirmPaymentMethod @@ -332,4 +336,147 @@ if ($response->statusCode === 200) { | Errors\PaymentMethodInUseByActiveSubscription | 400 | application/json | | Errors\ResourceNotFound | 404 | application/json | | Errors\HTTPValidationError | 422 | application/json | -| Errors\APIException | 4XX, 5XX | \*/\* | \ No newline at end of file +| Errors\APIException | 4XX, 5XX | \*/\* | + +## requestEmailUpdate + +Request an email change for the authenticated customer. + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use Polar; +use Polar\Models\Components; +use Polar\Models\Operations; + +$sdk = Polar\Polar::builder()->build(); + +$request = new Components\CustomerEmailUpdateRequest( + email: 'Tommie_Larkin78@gmail.com', +); +$requestSecurity = new Operations\CustomerPortalCustomersRequestEmailUpdateSecurity( + customerSession: '', +); + +$response = $sdk->customerPortal->customers->requestEmailUpdate( + request: $request, + security: $requestSecurity +); + +if ($response->any !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | +| `$request` | [Components\CustomerEmailUpdateRequest](../../Models/Components/CustomerEmailUpdateRequest.md) | :heavy_check_mark: | The request object to use for the request. | +| `security` | [Operations\CustomerPortalCustomersRequestEmailUpdateSecurity](../../Models/Operations/CustomerPortalCustomersRequestEmailUpdateSecurity.md) | :heavy_check_mark: | The security requirements to use for the request. | + +### Response + +**[?Operations\CustomerPortalCustomersRequestEmailUpdateResponse](../../Models/Operations/CustomerPortalCustomersRequestEmailUpdateResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| -------------------------- | -------------------------- | -------------------------- | +| Errors\HTTPValidationError | 422 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | + +## checkEmailUpdate + +Check if an email change verification token is still valid. + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use Polar; + +$sdk = Polar\Polar::builder()->build(); + + + +$response = $sdk->customerPortal->customers->checkEmailUpdate( + token: '' +); + +if ($response->statusCode === 200) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `token` | *string* | :heavy_check_mark: | N/A | + +### Response + +**[?Operations\CustomerPortalCustomersCheckEmailUpdateResponse](../../Models/Operations/CustomerPortalCustomersCheckEmailUpdateResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| -------------------------- | -------------------------- | -------------------------- | +| Errors\HTTPValidationError | 422 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | + +## verifyEmailUpdate + +Verify an email change using the token from the verification email. + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use Polar; +use Polar\Models\Components; + +$sdk = Polar\Polar::builder()->build(); + +$request = new Components\CustomerEmailUpdateVerifyRequest( + token: '', +); + +$response = $sdk->customerPortal->customers->verifyEmailUpdate( + request: $request +); + +if ($response->customerEmailUpdateVerifyResponse !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | +| `$request` | [Components\CustomerEmailUpdateVerifyRequest](../../Models/Components/CustomerEmailUpdateVerifyRequest.md) | :heavy_check_mark: | The request object to use for the request. | + +### Response + +**[?Operations\CustomerPortalCustomersVerifyEmailUpdateResponse](../../Models/Operations/CustomerPortalCustomersVerifyEmailUpdateResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------- | ------------------- | ------------------- | +| Errors\APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/polarmembers/README.md b/docs/sdks/polarmembers/README.md index ed85f7d1..93471d49 100644 --- a/docs/sdks/polarmembers/README.md +++ b/docs/sdks/polarmembers/README.md @@ -1,29 +1,37 @@ -# CustomerPortal.Members +# Customers.Members ## Overview ### Available Operations -* [listMembers](#listmembers) - List Members -* [addMember](#addmember) - Add Member -* [removeMember](#removemember) - Remove Member -* [updateMember](#updatemember) - Update Member +* [create](#create) - Create Member +* [createExternal](#createexternal) - Create Member by Customer External ID +* [get](#get) - Get Member +* [delete](#delete) - Delete Member +* [update](#update) - Update Member +* [getExternal](#getexternal) - Get Member by External ID +* [deleteExternal](#deleteexternal) - Delete Member by External ID +* [updateExternal](#updateexternal) - Update Member by External ID -## listMembers +## create -List all members of the customer's team. +Create a new member for a customer. -Only available to owners and billing managers of team customers. +Only B2B customers with the member management feature enabled can add members. +The authenticated user or organization must have access to the customer's organization. + +**Scopes**: `members:write` ### Example Usage - + ```php declare(strict_types=1); require 'vendor/autoload.php'; use Polar; +use Polar\Models\Components; $sdk = Polar\Polar::builder() ->setSecurity( @@ -31,53 +39,52 @@ $sdk = Polar\Polar::builder() ) ->build(); +$memberCreateFromCustomer = new Components\MemberCreateFromCustomer( + email: 'member@example.com', + name: 'Jane Doe', + externalId: 'usr_1337', +); - -$responses = $sdk->customerPortal->members->listMembers( - page: 1, - limit: 10 +$response = $sdk->customers->members->create( + id: '', + memberCreateFromCustomer: $memberCreateFromCustomer ); - -foreach ($responses as $response) { - if ($response->statusCode === 200) { - // handle response - } +if ($response->member !== null) { + // handle response } ``` ### Parameters -| Parameter | Type | Required | Description | -| ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | -| `page` | *?int* | :heavy_minus_sign: | Page number, defaults to 1. | -| `limit` | *?int* | :heavy_minus_sign: | Size of a page, defaults to 10. Maximum is 100. | +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | +| `id` | *string* | :heavy_check_mark: | The customer ID. | +| `memberCreateFromCustomer` | [Components\MemberCreateFromCustomer](../../Models/Components/MemberCreateFromCustomer.md) | :heavy_check_mark: | N/A | ### Response -**[?Operations\CustomerPortalMembersListMembersResponse](../../Models/Operations/CustomerPortalMembersListMembersResponse.md)** +**[?Operations\CustomersMembersCreateResponse](../../Models/Operations/CustomersMembersCreateResponse.md)** ### Errors | Error Type | Status Code | Content Type | | -------------------------- | -------------------------- | -------------------------- | +| Errors\NotPermitted | 403 | application/json | +| Errors\ResourceNotFound | 404 | application/json | | Errors\HTTPValidationError | 422 | application/json | | Errors\APIException | 4XX, 5XX | \*/\* | -## addMember - -Add a new member to the customer's team. +## createExternal -Only available to owners and billing managers of team customers. +Create a new member for a customer identified by its external ID. -Rules: -- Cannot add a member with the owner role (there must be exactly one owner) -- If a member with this email already exists, the existing member is returned +**Scopes**: `members:write` ### Example Usage - + ```php declare(strict_types=1); @@ -92,49 +99,107 @@ $sdk = Polar\Polar::builder() ) ->build(); -$request = new Components\CustomerPortalMemberCreate( - email: 'Domenica.Schamberger@yahoo.com', +$memberCreateFromCustomer = new Components\MemberCreateFromCustomer( + email: 'member@example.com', + name: 'Jane Doe', + externalId: 'usr_1337', +); + +$response = $sdk->customers->members->createExternal( + externalId: '', + memberCreateFromCustomer: $memberCreateFromCustomer + ); -$response = $sdk->customerPortal->members->addMember( - request: $request +if ($response->member !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | +| `externalId` | *string* | :heavy_check_mark: | The customer external ID. | +| `memberCreateFromCustomer` | [Components\MemberCreateFromCustomer](../../Models/Components/MemberCreateFromCustomer.md) | :heavy_check_mark: | N/A | + +### Response + +**[?Operations\CustomersMembersCreateExternalResponse](../../Models/Operations/CustomersMembersCreateExternalResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ---------------------------------- | ---------------------------------- | ---------------------------------- | +| Errors\NotPermitted | 403 | application/json | +| Errors\ResourceNotFound | 404 | application/json | +| Errors\AmbiguousExternalCustomerID | 409 | application/json | +| Errors\HTTPValidationError | 422 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | + +## get + +Get a member of a customer by its ID. + +**Scopes**: `members:read` `members:write` + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use Polar; + +$sdk = Polar\Polar::builder() + ->setSecurity( + '' + ) + ->build(); + + + +$response = $sdk->customers->members->get( + id: '', + memberId: 'a794a9c8-dc43-40b4-b2f5-ed16145e28ac' + ); -if ($response->customerPortalMember !== null) { +if ($response->member !== null) { // handle response } ``` ### Parameters -| Parameter | Type | Required | Description | -| ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | -| `$request` | [Components\CustomerPortalMemberCreate](../../Models/Components/CustomerPortalMemberCreate.md) | :heavy_check_mark: | The request object to use for the request. | +| Parameter | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `id` | *string* | :heavy_check_mark: | The customer ID. | +| `memberId` | *string* | :heavy_check_mark: | N/A | ### Response -**[?Operations\CustomerPortalMembersAddMemberResponse](../../Models/Operations/CustomerPortalMembersAddMemberResponse.md)** +**[?Operations\CustomersMembersGetResponse](../../Models/Operations/CustomersMembersGetResponse.md)** ### Errors | Error Type | Status Code | Content Type | | -------------------------- | -------------------------- | -------------------------- | +| Errors\ResourceNotFound | 404 | application/json | | Errors\HTTPValidationError | 422 | application/json | | Errors\APIException | 4XX, 5XX | \*/\* | -## removeMember - -Remove a member from the team. +## delete -Only available to owners and billing managers of team customers. +Delete a member of a customer. -Rules: -- Cannot remove yourself -- Cannot remove the only owner +**Scopes**: `members:write` ### Example Usage - + ```php declare(strict_types=1); @@ -150,8 +215,10 @@ $sdk = Polar\Polar::builder() -$response = $sdk->customerPortal->members->removeMember( - id: 'b61c5e87-cda5-4b14-93ee-71a695f42d9d' +$response = $sdk->customers->members->delete( + id: '', + memberId: 'a6d6f519-f76e-49a0-9868-b346c98100a6' + ); if ($response->statusCode === 200) { @@ -163,32 +230,32 @@ if ($response->statusCode === 200) { | Parameter | Type | Required | Description | | ------------------ | ------------------ | ------------------ | ------------------ | -| `id` | *string* | :heavy_check_mark: | N/A | +| `id` | *string* | :heavy_check_mark: | The customer ID. | +| `memberId` | *string* | :heavy_check_mark: | N/A | ### Response -**[?Operations\CustomerPortalMembersRemoveMemberResponse](../../Models/Operations/CustomerPortalMembersRemoveMemberResponse.md)** +**[?Operations\CustomersMembersDeleteResponse](../../Models/Operations/CustomersMembersDeleteResponse.md)** ### Errors | Error Type | Status Code | Content Type | | -------------------------- | -------------------------- | -------------------------- | +| Errors\ResourceNotFound | 404 | application/json | | Errors\HTTPValidationError | 422 | application/json | | Errors\APIException | 4XX, 5XX | \*/\* | -## updateMember +## update -Update a member's role. +Update a member of a customer. -Only available to owners and billing managers of team customers. +Only name, email and role can be updated. -Rules: -- Cannot modify your own role (to prevent self-demotion) -- Customer must have exactly one owner at all times +**Scopes**: `members:write` ### Example Usage - + ```php declare(strict_types=1); @@ -203,33 +270,208 @@ $sdk = Polar\Polar::builder() ) ->build(); -$customerPortalMemberUpdate = new Components\CustomerPortalMemberUpdate(); +$memberUpdate = new Components\MemberUpdate( + name: 'Jane Doe', +); -$response = $sdk->customerPortal->members->updateMember( - id: '8319ae11-ed5f-4642-81e4-4b40731df195', - customerPortalMemberUpdate: $customerPortalMemberUpdate +$response = $sdk->customers->members->update( + id: '', + memberId: 'f48ea05d-6a60-4bb1-b3d9-4b3cd7194f3a', + memberUpdate: $memberUpdate ); -if ($response->customerPortalMember !== null) { +if ($response->member !== null) { // handle response } ``` ### Parameters -| Parameter | Type | Required | Description | -| ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | -| `id` | *string* | :heavy_check_mark: | N/A | -| `customerPortalMemberUpdate` | [Components\CustomerPortalMemberUpdate](../../Models/Components/CustomerPortalMemberUpdate.md) | :heavy_check_mark: | N/A | +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | +| `id` | *string* | :heavy_check_mark: | The customer ID. | +| `memberId` | *string* | :heavy_check_mark: | N/A | +| `memberUpdate` | [Components\MemberUpdate](../../Models/Components/MemberUpdate.md) | :heavy_check_mark: | N/A | ### Response -**[?Operations\CustomerPortalMembersUpdateMemberResponse](../../Models/Operations/CustomerPortalMembersUpdateMemberResponse.md)** +**[?Operations\CustomersMembersUpdateResponse](../../Models/Operations/CustomersMembersUpdateResponse.md)** ### Errors | Error Type | Status Code | Content Type | | -------------------------- | -------------------------- | -------------------------- | +| Errors\ResourceNotFound | 404 | application/json | | Errors\HTTPValidationError | 422 | application/json | -| Errors\APIException | 4XX, 5XX | \*/\* | \ No newline at end of file +| Errors\APIException | 4XX, 5XX | \*/\* | + +## getExternal + +Get a member by external ID for a customer identified by its external ID. + +**Scopes**: `members:read` `members:write` + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use Polar; + +$sdk = Polar\Polar::builder() + ->setSecurity( + '' + ) + ->build(); + + + +$response = $sdk->customers->members->getExternal( + externalId: '', + memberExternalId: '' + +); + +if ($response->member !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------- | ------------------------- | ------------------------- | ------------------------- | +| `externalId` | *string* | :heavy_check_mark: | The customer external ID. | +| `memberExternalId` | *string* | :heavy_check_mark: | The member external ID. | + +### Response + +**[?Operations\CustomersMembersGetExternalResponse](../../Models/Operations/CustomersMembersGetExternalResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ---------------------------------- | ---------------------------------- | ---------------------------------- | +| Errors\ResourceNotFound | 404 | application/json | +| Errors\AmbiguousExternalCustomerID | 409 | application/json | +| Errors\HTTPValidationError | 422 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | + +## deleteExternal + +Delete a member by external ID for a customer identified by its external ID. + +**Scopes**: `members:write` + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use Polar; + +$sdk = Polar\Polar::builder() + ->setSecurity( + '' + ) + ->build(); + + + +$response = $sdk->customers->members->deleteExternal( + externalId: '', + memberExternalId: '' + +); + +if ($response->statusCode === 200) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------- | ------------------------- | ------------------------- | ------------------------- | +| `externalId` | *string* | :heavy_check_mark: | The customer external ID. | +| `memberExternalId` | *string* | :heavy_check_mark: | The member external ID. | + +### Response + +**[?Operations\CustomersMembersDeleteExternalResponse](../../Models/Operations/CustomersMembersDeleteExternalResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ---------------------------------- | ---------------------------------- | ---------------------------------- | +| Errors\ResourceNotFound | 404 | application/json | +| Errors\AmbiguousExternalCustomerID | 409 | application/json | +| Errors\HTTPValidationError | 422 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | + +## updateExternal + +Update a member by external ID for a customer identified by its external ID. + +**Scopes**: `members:write` + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use Polar; +use Polar\Models\Components; + +$sdk = Polar\Polar::builder() + ->setSecurity( + '' + ) + ->build(); + +$memberUpdate = new Components\MemberUpdate( + name: 'Jane Doe', +); + +$response = $sdk->customers->members->updateExternal( + externalId: '', + memberExternalId: '', + memberUpdate: $memberUpdate + +); + +if ($response->member !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | +| `externalId` | *string* | :heavy_check_mark: | The customer external ID. | +| `memberExternalId` | *string* | :heavy_check_mark: | The member external ID. | +| `memberUpdate` | [Components\MemberUpdate](../../Models/Components/MemberUpdate.md) | :heavy_check_mark: | N/A | + +### Response + +**[?Operations\CustomersMembersUpdateExternalResponse](../../Models/Operations/CustomersMembersUpdateExternalResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ---------------------------------- | ---------------------------------- | ---------------------------------- | +| Errors\ResourceNotFound | 404 | application/json | +| Errors\AmbiguousExternalCustomerID | 409 | application/json | +| Errors\HTTPValidationError | 422 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/polarorders/README.md b/docs/sdks/polarorders/README.md index effce1f8..806fb74c 100644 --- a/docs/sdks/polarorders/README.md +++ b/docs/sdks/polarorders/README.md @@ -9,6 +9,7 @@ * [update](#update) - Update Order * [invoice](#invoice) - Get Order Invoice * [generateInvoice](#generateinvoice) - Generate Order Invoice +* [receipt](#receipt) - Get Order Receipt * [getPaymentStatus](#getpaymentstatus) - Get Order Payment Status * [confirmRetryPayment](#confirmretrypayment) - Confirm Retry Payment @@ -276,10 +277,63 @@ if ($response->any !== null) { | Error Type | Status Code | Content Type | | ----------------------------------- | ----------------------------------- | ----------------------------------- | +| Errors\ResourceNotFound | 404 | application/json | +| Errors\OrderNotEligibleForInvoice | 409 | application/json | | Errors\MissingInvoiceBillingDetails | 422 | application/json | -| Errors\NotPaidOrder | 422 | application/json | | Errors\APIException | 4XX, 5XX | \*/\* | +## receipt + +Get a presigned URL to download an order's receipt PDF. + +### Example Usage + + +```php +declare(strict_types=1); + +require 'vendor/autoload.php'; + +use Polar; +use Polar\Models\Operations; + +$sdk = Polar\Polar::builder()->build(); + + +$requestSecurity = new Operations\CustomerPortalOrdersReceiptSecurity( + customerSession: '', +); + +$response = $sdk->customerPortal->orders->receipt( + security: $requestSecurity, + id: '' + +); + +if ($response->customerOrderReceipt !== null) { + // handle response +} +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | +| `security` | [Operations\CustomerPortalOrdersReceiptSecurity](../../Models/Operations/CustomerPortalOrdersReceiptSecurity.md) | :heavy_check_mark: | The security requirements to use for the request. | +| `id` | *string* | :heavy_check_mark: | The order ID. | + +### Response + +**[?Operations\CustomerPortalOrdersReceiptResponse](../../Models/Operations/CustomerPortalOrdersReceiptResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| -------------------------- | -------------------------- | -------------------------- | +| Errors\ResourceNotFound | 404 | application/json | +| Errors\HTTPValidationError | 422 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | + ## getPaymentStatus Get the current payment status for an order. @@ -386,4 +440,5 @@ if ($response->customerOrderPaymentConfirmation !== null) { | Errors\ResourceNotFound | 404 | application/json | | Errors\PaymentAlreadyInProgress | 409 | application/json | | Errors\OrderNotEligibleForRetry | 422 | application/json | +| Errors\ManualRetryLimitExceeded | 429 | application/json | | Errors\APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/polarsubscriptions/README.md b/docs/sdks/polarsubscriptions/README.md index 36f8c5ad..389b1c64 100644 --- a/docs/sdks/polarsubscriptions/README.md +++ b/docs/sdks/polarsubscriptions/README.md @@ -208,11 +208,11 @@ if ($response->customerSubscription !== null) { ### Parameters -| Parameter | Type | Required | Description | -| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `security` | [Operations\CustomerPortalSubscriptionsUpdateSecurity](../../Models/Operations/CustomerPortalSubscriptionsUpdateSecurity.md) | :heavy_check_mark: | The security requirements to use for the request. | -| `id` | *string* | :heavy_check_mark: | The subscription ID. | -| `customerSubscriptionUpdate` | [Components\CustomerSubscriptionUpdateProduct\|Components\CustomerSubscriptionUpdateSeats\|Components\CustomerSubscriptionCancel](../../Models/Components/CustomerSubscriptionUpdate.md) | :heavy_check_mark: | N/A | +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `security` | [Operations\CustomerPortalSubscriptionsUpdateSecurity](../../Models/Operations/CustomerPortalSubscriptionsUpdateSecurity.md) | :heavy_check_mark: | The security requirements to use for the request. | +| `id` | *string* | :heavy_check_mark: | The subscription ID. | +| `customerSubscriptionUpdate` | [Components\CustomerSubscriptionUpdateProduct\|Components\CustomerSubscriptionUpdateSeats\|Components\CustomerSubscriptionCancel\|Components\CustomerSubscriptionPause\|Components\CustomerSubscriptionResume\|Components\CustomerSubscriptionUpdateClear](../../Models/Components/CustomerSubscriptionUpdate.md) | :heavy_check_mark: | N/A | ### Response @@ -220,10 +220,11 @@ if ($response->customerSubscription !== null) { ### Errors -| Error Type | Status Code | Content Type | -| ---------------------------------- | ---------------------------------- | ---------------------------------- | -| Errors\PaymentFailed | 402 | application/json | -| Errors\AlreadyCanceledSubscription | 403 | application/json | -| Errors\ResourceNotFound | 404 | application/json | -| Errors\HTTPValidationError | 422 | application/json | -| Errors\APIException | 4XX, 5XX | \*/\* | \ No newline at end of file +| Error Type | Status Code | Content Type | +| ----------------------------------- | ----------------------------------- | ----------------------------------- | +| Errors\PaymentFailed | 402 | application/json | +| Errors\AlreadyCanceledSubscription1 | 403 | application/json | +| Errors\PauseResumeNotAllowed | 403 | application/json | +| Errors\ResourceNotFound | 404 | application/json | +| Errors\HTTPValidationError | 422 | application/json | +| Errors\APIException | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/docs/sdks/refunds/README.md b/docs/sdks/refunds/README.md index e43d6ac4..f3f6c1b1 100644 --- a/docs/sdks/refunds/README.md +++ b/docs/sdks/refunds/README.md @@ -88,7 +88,7 @@ $sdk = Polar\Polar::builder() $request = new Components\RefundCreate( orderId: '', - reason: Components\RefundReason::CustomerRequest, + reason: Components\Reason::CustomerRequest, amount: 90, ); diff --git a/docs/sdks/seats/README.md b/docs/sdks/seats/README.md index 956b19f1..5c632d9f 100644 --- a/docs/sdks/seats/README.md +++ b/docs/sdks/seats/README.md @@ -80,7 +80,7 @@ use Polar\Models\Operations; $sdk = Polar\Polar::builder()->build(); -$request = new Components\SeatAssign(); +$request = new Components\CustomerSeatAssign(); $requestSecurity = new Operations\CustomerPortalSeatsAssignSeatSecurity( customerSession: '', ); @@ -99,7 +99,7 @@ if ($response->customerSeat !== null) { | Parameter | Type | Required | Description | | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -| `$request` | [Components\SeatAssign](../../Models/Components/SeatAssign.md) | :heavy_check_mark: | The request object to use for the request. | +| `$request` | [Components\CustomerSeatAssign](../../Models/Components/CustomerSeatAssign.md) | :heavy_check_mark: | The request object to use for the request. | | `security` | [Operations\CustomerPortalSeatsAssignSeatSecurity](../../Models/Operations/CustomerPortalSeatsAssignSeatSecurity.md) | :heavy_check_mark: | The security requirements to use for the request. | ### Response diff --git a/docs/sdks/subscriptions/README.md b/docs/sdks/subscriptions/README.md index 697cd3eb..66d83fac 100644 --- a/docs/sdks/subscriptions/README.md +++ b/docs/sdks/subscriptions/README.md @@ -154,7 +154,7 @@ $response = $sdk->subscriptions->export( organizationId: '1dbfc517-0bbf-4301-9ba8-555ca42b9737' ); -if ($response->any !== null) { +if ($response->res !== null) { // handle response } ``` @@ -307,7 +307,7 @@ $sdk = Polar\Polar::builder() $response = $sdk->subscriptions->update( id: '', - subscriptionUpdate: new Components\SubscriptionUpdateProduct( + subscriptionUpdate: new Components\SubscriptionUpdateBase( productId: '', ) @@ -320,10 +320,10 @@ if ($response->subscription !== null) { ### Parameters -| Parameter | Type | Required | Description | -| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `id` | *string* | :heavy_check_mark: | The subscription ID. | -| `subscriptionUpdate` | [Components\SubscriptionUpdateProduct\|Components\SubscriptionUpdateDiscount\|Components\SubscriptionUpdateTrial\|Components\SubscriptionUpdateSeats\|Components\SubscriptionUpdateBillingPeriod\|Components\SubscriptionCancel\|Components\SubscriptionRevoke](../../Models/Components/SubscriptionUpdate.md) | :heavy_check_mark: | N/A | +| Parameter | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *string* | :heavy_check_mark: | The subscription ID. | +| `subscriptionUpdate` | [Components\SubscriptionUpdateBase\|Components\SubscriptionUpdateSeats\|Components\SubscriptionUpdateBillingPeriod\|Components\SubscriptionCancel\|Components\SubscriptionRevoke\|Components\SubscriptionPause\|Components\SubscriptionResume\|Components\SubscriptionUpdateClear](../../Models/Components/SubscriptionUpdate.md) | :heavy_check_mark: | N/A | ### Response diff --git a/src/BenefitGrants.php b/src/BenefitGrants.php index 16e42f4d..142ad192 100644 --- a/src/BenefitGrants.php +++ b/src/BenefitGrants.php @@ -47,7 +47,7 @@ public function getUrl(string $baseUrl, array $urlVariables): string /** * List Benefit Grants * - * List benefit grants across all benefits for the authenticated organization. + * List benefit grants across all benefits accessible to the authenticated subject. * * **Scopes**: `benefits:read` `benefits:write` * @@ -79,11 +79,12 @@ private function listIndividual(?Operations\BenefitGrantsListRequest $request = } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -163,7 +164,7 @@ private function listIndividual(?Operations\BenefitGrantsListRequest $request = /** * List Benefit Grants * - * List benefit grants across all benefits for the authenticated organization. + * List benefit grants across all benefits accessible to the authenticated subject. * * **Scopes**: `benefits:read` `benefits:write` * diff --git a/src/Benefits.php b/src/Benefits.php index 8c584d57..d3aa9d86 100644 --- a/src/Benefits.php +++ b/src/Benefits.php @@ -52,11 +52,11 @@ public function getUrl(string $baseUrl, array $urlVariables): string * * **Scopes**: `benefits:write` * - * @param \Polar\Models\Components\BenefitCustomCreate|\Polar\Models\Components\BenefitDiscordCreate|\Polar\Models\Components\BenefitGitHubRepositoryCreate|\Polar\Models\Components\BenefitDownloadablesCreate|\Polar\Models\Components\BenefitLicenseKeysCreate|\Polar\Models\Components\BenefitMeterCreditCreate|\Polar\Models\Components\BenefitFeatureFlagCreate $request + * @param \Polar\Models\Components\BenefitCustomCreate|\Polar\Models\Components\BenefitDiscordCreate|\Polar\Models\Components\BenefitGitHubRepositoryCreate|\Polar\Models\Components\BenefitDownloadablesCreate|\Polar\Models\Components\BenefitLicenseKeysCreate|\Polar\Models\Components\BenefitMeterCreditCreate|\Polar\Models\Components\BenefitFeatureFlagCreate|\Polar\Models\Components\BenefitSlackSharedChannelCreate $request * @return \Polar\Models\Operations\BenefitsCreateResponse * @throws \Polar\Models\Errors\APIException */ - public function create(Components\BenefitCustomCreate|Components\BenefitDiscordCreate|Components\BenefitGitHubRepositoryCreate|Components\BenefitDownloadablesCreate|Components\BenefitLicenseKeysCreate|Components\BenefitMeterCreditCreate|Components\BenefitFeatureFlagCreate $request, ?Options $options = null): Operations\BenefitsCreateResponse + public function create(Components\BenefitCustomCreate|Components\BenefitDiscordCreate|Components\BenefitGitHubRepositoryCreate|Components\BenefitDownloadablesCreate|Components\BenefitLicenseKeysCreate|Components\BenefitMeterCreditCreate|Components\BenefitFeatureFlagCreate|Components\BenefitSlackSharedChannelCreate $request, ?Options $options = null): Operations\BenefitsCreateResponse { $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); $url = Utils\Utils::generateUrl($baseUrl, '/v1/benefits/'); @@ -82,18 +82,19 @@ public function create(Components\BenefitCustomCreate|Components\BenefitDiscordC } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['201'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); $serializer = Utils\JSON::createSerializer(); $responseData = (string) $httpResponse->getBody(); - $obj = $serializer->deserialize($responseData, '\Polar\Models\Components\BenefitCustom|\Polar\Models\Components\BenefitDiscord|\Polar\Models\Components\BenefitGitHubRepository|\Polar\Models\Components\BenefitDownloadables|\Polar\Models\Components\BenefitLicenseKeys|\Polar\Models\Components\BenefitMeterCredit|\Polar\Models\Components\BenefitFeatureFlag', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Components\BenefitCustom|\Polar\Models\Components\BenefitDiscord|\Polar\Models\Components\BenefitGitHubRepository|\Polar\Models\Components\BenefitDownloadables|\Polar\Models\Components\BenefitLicenseKeys|\Polar\Models\Components\BenefitMeterCredit|\Polar\Models\Components\BenefitFeatureFlag|\Polar\Models\Components\BenefitSlackSharedChannel', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); $response = new Operations\BenefitsCreateResponse( statusCode: $statusCode, contentType: $contentType, @@ -163,11 +164,12 @@ public function delete(string $id, ?Options $options = null): Operations\Benefit } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['403', '404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['204'])) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -253,18 +255,19 @@ public function get(string $id, ?Options $options = null): Operations\BenefitsGe } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); $serializer = Utils\JSON::createSerializer(); $responseData = (string) $httpResponse->getBody(); - $obj = $serializer->deserialize($responseData, '\Polar\Models\Components\BenefitCustom|\Polar\Models\Components\BenefitDiscord|\Polar\Models\Components\BenefitGitHubRepository|\Polar\Models\Components\BenefitDownloadables|\Polar\Models\Components\BenefitLicenseKeys|\Polar\Models\Components\BenefitMeterCredit|\Polar\Models\Components\BenefitFeatureFlag', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Components\BenefitCustom|\Polar\Models\Components\BenefitDiscord|\Polar\Models\Components\BenefitGitHubRepository|\Polar\Models\Components\BenefitDownloadables|\Polar\Models\Components\BenefitLicenseKeys|\Polar\Models\Components\BenefitMeterCredit|\Polar\Models\Components\BenefitFeatureFlag|\Polar\Models\Components\BenefitSlackSharedChannel', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); $response = new Operations\BenefitsGetResponse( statusCode: $statusCode, contentType: $contentType, @@ -343,11 +346,12 @@ private function grantsIndividual(Operations\BenefitsGrantsRequest $request, ?Op } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -491,11 +495,12 @@ private function listIndividual(?Operations\BenefitsListRequest $request = null, } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -601,12 +606,12 @@ public function list(?Operations\BenefitsListRequest $request = null, ?Options $ * * **Scopes**: `benefits:write` * - * @param \Polar\Models\Components\BenefitCustomUpdate|\Polar\Models\Components\BenefitDiscordUpdate|\Polar\Models\Components\BenefitGitHubRepositoryUpdate|\Polar\Models\Components\BenefitDownloadablesUpdate|\Polar\Models\Components\BenefitLicenseKeysUpdate|\Polar\Models\Components\BenefitMeterCreditUpdate|\Polar\Models\Components\BenefitFeatureFlagUpdate $requestBody + * @param \Polar\Models\Components\BenefitCustomUpdate|\Polar\Models\Components\BenefitDiscordUpdate|\Polar\Models\Components\BenefitGitHubRepositoryUpdate|\Polar\Models\Components\BenefitDownloadablesUpdate|\Polar\Models\Components\BenefitLicenseKeysUpdate|\Polar\Models\Components\BenefitMeterCreditUpdate|\Polar\Models\Components\BenefitFeatureFlagUpdate|\Polar\Models\Components\BenefitSlackSharedChannelUpdate $requestBody * @param string $id * @return \Polar\Models\Operations\BenefitsUpdateResponse * @throws \Polar\Models\Errors\APIException */ - public function update(Components\BenefitCustomUpdate|Components\BenefitDiscordUpdate|Components\BenefitGitHubRepositoryUpdate|Components\BenefitDownloadablesUpdate|Components\BenefitLicenseKeysUpdate|Components\BenefitMeterCreditUpdate|Components\BenefitFeatureFlagUpdate $requestBody, string $id, ?Options $options = null): Operations\BenefitsUpdateResponse + public function update(Components\BenefitCustomUpdate|Components\BenefitDiscordUpdate|Components\BenefitGitHubRepositoryUpdate|Components\BenefitDownloadablesUpdate|Components\BenefitLicenseKeysUpdate|Components\BenefitMeterCreditUpdate|Components\BenefitFeatureFlagUpdate|Components\BenefitSlackSharedChannelUpdate $requestBody, string $id, ?Options $options = null): Operations\BenefitsUpdateResponse { $request = new Operations\BenefitsUpdateRequest( id: $id, @@ -636,18 +641,19 @@ public function update(Components\BenefitCustomUpdate|Components\BenefitDiscordU } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); $serializer = Utils\JSON::createSerializer(); $responseData = (string) $httpResponse->getBody(); - $obj = $serializer->deserialize($responseData, '\Polar\Models\Components\BenefitCustom|\Polar\Models\Components\BenefitDiscord|\Polar\Models\Components\BenefitGitHubRepository|\Polar\Models\Components\BenefitDownloadables|\Polar\Models\Components\BenefitLicenseKeys|\Polar\Models\Components\BenefitMeterCredit|\Polar\Models\Components\BenefitFeatureFlag', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Components\BenefitCustom|\Polar\Models\Components\BenefitDiscord|\Polar\Models\Components\BenefitGitHubRepository|\Polar\Models\Components\BenefitDownloadables|\Polar\Models\Components\BenefitLicenseKeys|\Polar\Models\Components\BenefitMeterCredit|\Polar\Models\Components\BenefitFeatureFlag|\Polar\Models\Components\BenefitSlackSharedChannel', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); $response = new Operations\BenefitsUpdateResponse( statusCode: $statusCode, contentType: $contentType, diff --git a/src/CheckoutLinks.php b/src/CheckoutLinks.php index 551bc52a..79feba7c 100644 --- a/src/CheckoutLinks.php +++ b/src/CheckoutLinks.php @@ -82,11 +82,12 @@ public function create(Components\CheckoutLinkCreateProductPrice|Components\Chec } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['201'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -159,11 +160,12 @@ public function delete(string $id, ?Options $options = null): Operations\Checkou } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['204'])) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -238,11 +240,12 @@ public function get(string $id, ?Options $options = null): Operations\CheckoutLi } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -326,11 +329,12 @@ private function listIndividual(?Operations\CheckoutLinksListRequest $request = } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -467,11 +471,12 @@ public function update(Components\CheckoutLinkUpdate $checkoutLinkUpdate, string } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); diff --git a/src/Checkouts.php b/src/Checkouts.php index 9976d01b..bde2a796 100644 --- a/src/Checkouts.php +++ b/src/Checkouts.php @@ -87,11 +87,12 @@ public function clientConfirm(Components\CheckoutConfirmStripe $checkoutConfirmS } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['400', '403', '404', '410', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -206,11 +207,12 @@ public function clientGet(string $clientSecret, ?Options $options = null): Opera } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '410', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -310,11 +312,12 @@ public function clientUpdate(Components\CheckoutUpdatePublic $checkoutUpdatePubl } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['403', '404', '410', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -422,11 +425,12 @@ public function create(Components\CheckoutCreate $request, ?Options $options = n } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['201'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -499,11 +503,12 @@ public function get(string $id, ?Options $options = null): Operations\CheckoutsG } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -587,11 +592,12 @@ private function listIndividual(?Operations\CheckoutsListRequest $request = null } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -732,11 +738,12 @@ public function update(Components\CheckoutUpdate $checkoutUpdate, string $id, ?O } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['403', '404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); diff --git a/src/Clients.php b/src/Clients.php index d344e303..d6741ebd 100644 --- a/src/Clients.php +++ b/src/Clients.php @@ -80,11 +80,12 @@ public function create(Components\OAuth2ClientConfiguration $request, ?Options $ } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -155,28 +156,20 @@ public function delete(string $clientId, ?Options $options = null): Operations\O } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } - if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { - if (Utils\Utils::matchContentType($contentType, 'application/json')) { - $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); - $serializer = Utils\JSON::createSerializer(); - $responseData = (string) $httpResponse->getBody(); - $obj = $serializer->deserialize($responseData, 'mixed', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); - $response = new Operations\Oauth2ClientsOauth2DeleteClientResponse( - statusCode: $statusCode, - contentType: $contentType, - rawResponse: $httpResponse, - any: $obj); + $statusCode = $httpResponse->getStatusCode(); + if (Utils\Utils::matchStatusCodes($statusCode, ['204'])) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); - return $response; - } else { - throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); - } + return new Operations\Oauth2ClientsOauth2DeleteClientResponse( + statusCode: $statusCode, + contentType: $contentType, + rawResponse: $httpResponse + ); } elseif (Utils\Utils::matchStatusCodes($statusCode, ['422'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -230,11 +223,12 @@ public function get(string $clientId, ?Options $options = null): Operations\Oaut } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -312,11 +306,12 @@ public function update(Components\OAuth2ClientConfigurationUpdate $oAuth2ClientC } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); diff --git a/src/CustomFields.php b/src/CustomFields.php index 60533f8b..74fc541e 100644 --- a/src/CustomFields.php +++ b/src/CustomFields.php @@ -82,11 +82,12 @@ public function create(Components\CustomFieldCreateText|Components\CustomFieldCr } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['201'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -159,11 +160,12 @@ public function delete(string $id, ?Options $options = null): Operations\CustomF } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['204'])) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -238,11 +240,12 @@ public function get(string $id, ?Options $options = null): Operations\CustomFiel } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -326,11 +329,12 @@ private function listIndividual(?Operations\CustomFieldsListRequest $request = n } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -468,11 +472,12 @@ public function update(Components\CustomFieldUpdateText|Components\CustomFieldUp } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); diff --git a/src/CustomerMeters.php b/src/CustomerMeters.php index 39521967..6d28879d 100644 --- a/src/CustomerMeters.php +++ b/src/CustomerMeters.php @@ -79,11 +79,12 @@ public function get(string $id, ?Options $options = null): Operations\CustomerMe } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -167,11 +168,12 @@ private function listIndividual(?Operations\CustomerMetersListRequest $request = } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); diff --git a/src/CustomerPortal.php b/src/CustomerPortal.php index 430dfbab..9c2ef444 100644 --- a/src/CustomerPortal.php +++ b/src/CustomerPortal.php @@ -27,7 +27,7 @@ class CustomerPortal public PolarLicenseKeys $licenseKeys; - public PolarMembers $members; + public PolarCustomerPortalMembers $members; public PolarOrders $orders; @@ -50,7 +50,7 @@ public function __construct(public SDKConfiguration $sdkConfig) $this->customerSession = new CustomerSession($this->sdkConfiguration); $this->downloadables = new Downloadables($this->sdkConfiguration); $this->licenseKeys = new PolarLicenseKeys($this->sdkConfiguration); - $this->members = new PolarMembers($this->sdkConfiguration); + $this->members = new PolarCustomerPortalMembers($this->sdkConfiguration); $this->orders = new PolarOrders($this->sdkConfiguration); $this->organizations = new PolarOrganizations($this->sdkConfiguration); $this->subscriptions = new PolarSubscriptions($this->sdkConfiguration); diff --git a/src/CustomerSeats.php b/src/CustomerSeats.php index 10e3692f..087fd2b4 100644 --- a/src/CustomerSeats.php +++ b/src/CustomerSeats.php @@ -80,11 +80,12 @@ public function assignSeat(Components\SeatAssign $request, ?Options $options = n } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['400', '401', '403', '404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -155,11 +156,12 @@ public function claimSeat(Components\SeatClaim $request, ?Options $options = nul } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['400', '403', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -228,11 +230,12 @@ public function getClaimInfo(string $invitationToken, ?Options $options = null): } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['400', '403', '404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -273,7 +276,7 @@ public function getClaimInfo(string $invitationToken, ?Options $options = null): /** * List Seats * - * **Scopes**: `customer_seats:write` + * **Scopes**: `customer_seats:read` * * @param ?string $subscriptionId * @param ?string $orderId @@ -308,11 +311,12 @@ public function listSeats(?string $subscriptionId = null, ?string $orderId = nul } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['401', '403', '404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -383,11 +387,12 @@ public function resendInvitation(string $seatId, ?Options $options = null): Oper } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['400', '401', '403', '404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -458,11 +463,12 @@ public function revokeSeat(string $seatId, ?Options $options = null): Operations } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['401', '403', '404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); diff --git a/src/CustomerSession.php b/src/CustomerSession.php index b5fab2ae..a2aa5a35 100644 --- a/src/CustomerSession.php +++ b/src/CustomerSession.php @@ -82,11 +82,12 @@ public function getAuthenticatedUser(Operations\CustomerPortalCustomerSessionGet } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -151,11 +152,12 @@ public function introspect(Operations\CustomerPortalCustomerSessionIntrospectSec } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); diff --git a/src/CustomerSessions.php b/src/CustomerSessions.php index bb848b42..cc4dd8a9 100644 --- a/src/CustomerSessions.php +++ b/src/CustomerSessions.php @@ -85,11 +85,12 @@ public function create(Components\CustomerSessionCustomerIDCreate|Components\Cus } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['201'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); diff --git a/src/Customers.php b/src/Customers.php index 1dd2f497..1c01c53a 100644 --- a/src/Customers.php +++ b/src/Customers.php @@ -17,12 +17,15 @@ class Customers { private SDKConfiguration $sdkConfiguration; + public PolarMembers $members; + /** * @param SDKConfiguration $sdkConfig */ public function __construct(public SDKConfiguration $sdkConfig) { $this->sdkConfiguration = $sdkConfig; + $this->members = new PolarMembers($this->sdkConfiguration); } /** * @param string $baseUrl @@ -82,11 +85,12 @@ public function create(Components\CustomerIndividualCreate|Components\CustomerTe } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['201'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -178,11 +182,12 @@ public function delete(string $id, ?bool $anonymize = null, ?Options $options = } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['204'])) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -266,11 +271,12 @@ public function deleteExternal(string $externalId, ?bool $anonymize = null, ?Opt } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['204'])) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -332,7 +338,7 @@ public function export(string|array|null $organizationId = null, ?Options $optio $httpOptions = ['http_errors' => false]; $qp = Utils\Utils::getQueryParams(Operations\CustomersExportRequest::class, $request, $urlOverride); - $httpOptions['headers']['Accept'] = 'application/json;q=1, text/csv;q=0'; + $httpOptions['headers']['Accept'] = 'text/csv'; $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; $httpRequest = new \GuzzleHttp\Psr7\Request('GET', $url); $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'customers:export', null, $this->sdkConfiguration->securitySource); @@ -348,26 +354,14 @@ public function export(string|array|null $organizationId = null, ?Options $optio } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } - if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { - if (Utils\Utils::matchContentType($contentType, 'application/json')) { - $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); - $serializer = Utils\JSON::createSerializer(); - $responseData = (string) $httpResponse->getBody(); - $obj = $serializer->deserialize($responseData, 'mixed', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); - $response = new Operations\CustomersExportResponse( - statusCode: $statusCode, - contentType: $contentType, - rawResponse: $httpResponse, - any: $obj); - - return $response; - } elseif (Utils\Utils::matchContentType($contentType, 'text/csv')) { + $statusCode = $httpResponse->getStatusCode(); + if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { + if (Utils\Utils::matchContentType($contentType, 'text/csv')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); $obj = $httpResponse->getBody()->getContents(); @@ -435,11 +429,12 @@ public function get(string $id, ?Options $options = null): Operations\CustomersG } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -523,11 +518,12 @@ public function getExternal(string $externalId, ?Options $options = null): Opera } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -617,11 +613,12 @@ public function getState(string $id, ?Options $options = null): Operations\Custo } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -711,11 +708,12 @@ public function getStateExternal(string $externalId, ?Options $options = null): } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -799,11 +797,12 @@ private function listIndividual(?Operations\CustomersListRequest $request = null } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -848,6 +847,7 @@ private function listIndividual(?Operations\CustomersListRequest $request = null organizationId: $request != null ? $request->organizationId : null, email: $request != null ? $request->email : null, query: $request != null ? $request->query : null, + active: $request != null ? $request->active : null, page: $nextPage, limit: $request != null ? $request->limit : null, sorting: $request != null ? $request->sorting : null, @@ -900,6 +900,308 @@ public function list(?Operations\CustomersListRequest $request = null, ?Options } } + /** + * List Customer Payment Methods + * + * Get saved payment methods of a customer. + * + * **Scopes**: `customers:read` `customers:write` + * + * @param string $id + * @param ?int $page + * @param ?int $limit + * @return \Polar\Models\Operations\CustomersListPaymentMethodsResponse + * @throws \Polar\Models\Errors\APIException + */ + private function listPaymentMethodsIndividual(string $id, ?int $page = null, ?int $limit = null, ?Options $options = null): Operations\CustomersListPaymentMethodsResponse + { + $request = new Operations\CustomersListPaymentMethodsRequest( + id: $id, + page: $page, + limit: $limit, + ); + $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); + $url = Utils\Utils::generateUrl($baseUrl, '/v1/customers/{id}/payment-methods', Operations\CustomersListPaymentMethodsRequest::class, $request); + $urlOverride = null; + $httpOptions = ['http_errors' => false]; + + $qp = Utils\Utils::getQueryParams(Operations\CustomersListPaymentMethodsRequest::class, $request, $urlOverride); + $httpOptions['headers']['Accept'] = 'application/json'; + $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; + $httpRequest = new \GuzzleHttp\Psr7\Request('GET', $url); + $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'customers:list_payment_methods', null, $this->sdkConfiguration->securitySource); + $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); + $httpOptions['query'] = Utils\QueryParameters::standardizeQueryParams($httpRequest, $qp); + $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); + $httpRequest = Utils\Utils::removeHeaders($httpRequest); + try { + $httpResponse = $this->sdkConfiguration->client->send($httpRequest, $httpOptions); + } catch (\GuzzleHttp\Exception\GuzzleException $error) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), null, $error); + $httpResponse = $res; + } + $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; + + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); + $httpResponse = $res; + } + + $statusCode = $httpResponse->getStatusCode(); + if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Components\ListResourcePaymentMethod', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $response = new Operations\CustomersListPaymentMethodsResponse( + statusCode: $statusCode, + contentType: $contentType, + rawResponse: $httpResponse, + listResourcePaymentMethod: $obj); + $sdk = $this; + + $response->next = function () use ($sdk, $request, $responseData): ?Operations\CustomersListPaymentMethodsResponse { + $page = $request != null ? $request->page : 0; + $nextPage = $page + 1; + $jsonObject = new \JsonPath\JsonObject($responseData); + $numPages = $jsonObject->get('$.pagination.max_page'); + if ($numPages == null || $numPages[0] <= $page) { + return null; + } + if (! $responseData) { + return null; + } + $jsonObject = new \JsonPath\JsonObject($responseData); + $results = $jsonObject->get('$.items'); + + if (is_array($results)) { + $results = $results[0]; + } + if (count($results) === 0) { + return null; + } + $limit = $request != null ? $request->limit : 0; + if (count($results) < $limit) { + return null; + } + + return $sdk->listPaymentMethodsIndividual( + id: $request != null ? $request->id : '', + page: $nextPage, + limit: $request != null ? $request->limit : null, + ); + }; + + + return $response; + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['404'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\ResourceNotFound', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['422'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\HTTPValidationError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['4XX'])) { + throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { + throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } else { + throw new \Polar\Models\Errors\APIException('Unknown status code received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } + /** + * List Customer Payment Methods + * + * Get saved payment methods of a customer. + * + * **Scopes**: `customers:read` `customers:write` + * + * @param string $id + * @param ?int $page + * @param ?int $limit + * @return \Generator<\Polar\Models\Operations\CustomersListPaymentMethodsResponse> + * @throws \Polar\Models\Errors\APIException + */ + public function listPaymentMethods(string $id, ?int $page = null, ?int $limit = null, ?Options $options = null): \Generator + { + $res = $this->listPaymentMethodsIndividual($id, $page, $limit, $options); + while ($res !== null) { + yield $res; + $res = $res->next($res); + } + } + + /** + * List Customer Payment Methods by External ID + * + * Get saved payment methods of a customer by external ID. + * + * **Scopes**: `customers:read` `customers:write` + * + * @param string $externalId + * @param ?int $page + * @param ?int $limit + * @return \Polar\Models\Operations\CustomersListPaymentMethodsExternalResponse + * @throws \Polar\Models\Errors\APIException + */ + private function listPaymentMethodsExternalIndividual(string $externalId, ?int $page = null, ?int $limit = null, ?Options $options = null): Operations\CustomersListPaymentMethodsExternalResponse + { + $request = new Operations\CustomersListPaymentMethodsExternalRequest( + externalId: $externalId, + page: $page, + limit: $limit, + ); + $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); + $url = Utils\Utils::generateUrl($baseUrl, '/v1/customers/external/{external_id}/payment-methods', Operations\CustomersListPaymentMethodsExternalRequest::class, $request); + $urlOverride = null; + $httpOptions = ['http_errors' => false]; + + $qp = Utils\Utils::getQueryParams(Operations\CustomersListPaymentMethodsExternalRequest::class, $request, $urlOverride); + $httpOptions['headers']['Accept'] = 'application/json'; + $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; + $httpRequest = new \GuzzleHttp\Psr7\Request('GET', $url); + $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'customers:list_payment_methods_external', null, $this->sdkConfiguration->securitySource); + $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); + $httpOptions['query'] = Utils\QueryParameters::standardizeQueryParams($httpRequest, $qp); + $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); + $httpRequest = Utils\Utils::removeHeaders($httpRequest); + try { + $httpResponse = $this->sdkConfiguration->client->send($httpRequest, $httpOptions); + } catch (\GuzzleHttp\Exception\GuzzleException $error) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), null, $error); + $httpResponse = $res; + } + $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; + + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); + $httpResponse = $res; + } + + $statusCode = $httpResponse->getStatusCode(); + if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Components\ListResourcePaymentMethod', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $response = new Operations\CustomersListPaymentMethodsExternalResponse( + statusCode: $statusCode, + contentType: $contentType, + rawResponse: $httpResponse, + listResourcePaymentMethod: $obj); + $sdk = $this; + + $response->next = function () use ($sdk, $request, $responseData): ?Operations\CustomersListPaymentMethodsExternalResponse { + $page = $request != null ? $request->page : 0; + $nextPage = $page + 1; + $jsonObject = new \JsonPath\JsonObject($responseData); + $numPages = $jsonObject->get('$.pagination.max_page'); + if ($numPages == null || $numPages[0] <= $page) { + return null; + } + if (! $responseData) { + return null; + } + $jsonObject = new \JsonPath\JsonObject($responseData); + $results = $jsonObject->get('$.items'); + + if (is_array($results)) { + $results = $results[0]; + } + if (count($results) === 0) { + return null; + } + $limit = $request != null ? $request->limit : 0; + if (count($results) < $limit) { + return null; + } + + return $sdk->listPaymentMethodsExternalIndividual( + externalId: $request != null ? $request->externalId : '', + page: $nextPage, + limit: $request != null ? $request->limit : null, + ); + }; + + + return $response; + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['404'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\ResourceNotFound', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['422'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\HTTPValidationError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['4XX'])) { + throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { + throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } else { + throw new \Polar\Models\Errors\APIException('Unknown status code received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } + /** + * List Customer Payment Methods by External ID + * + * Get saved payment methods of a customer by external ID. + * + * **Scopes**: `customers:read` `customers:write` + * + * @param string $externalId + * @param ?int $page + * @param ?int $limit + * @return \Generator<\Polar\Models\Operations\CustomersListPaymentMethodsExternalResponse> + * @throws \Polar\Models\Errors\APIException + */ + public function listPaymentMethodsExternal(string $externalId, ?int $page = null, ?int $limit = null, ?Options $options = null): \Generator + { + $res = $this->listPaymentMethodsExternalIndividual($externalId, $page, $limit, $options); + while ($res !== null) { + yield $res; + $res = $res->next($res); + } + } + /** * Update Customer * @@ -942,11 +1244,12 @@ public function update(Components\CustomerUpdate $customerUpdate, string $id, ?O } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -1037,11 +1340,12 @@ public function updateExternal(Components\CustomerUpdateExternalID $customerUpda } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); diff --git a/src/Discounts.php b/src/Discounts.php index 87414a0a..ea817113 100644 --- a/src/Discounts.php +++ b/src/Discounts.php @@ -52,11 +52,11 @@ public function getUrl(string $baseUrl, array $urlVariables): string * * **Scopes**: `discounts:write` * - * @param \Polar\Models\Components\DiscountFixedOnceForeverDurationCreate|\Polar\Models\Components\DiscountFixedRepeatDurationCreate|\Polar\Models\Components\DiscountPercentageOnceForeverDurationCreate|\Polar\Models\Components\DiscountPercentageRepeatDurationCreate $request + * @param \Polar\Models\Components\DiscountFixedCreate|\Polar\Models\Components\DiscountPercentageCreate $request * @return \Polar\Models\Operations\DiscountsCreateResponse * @throws \Polar\Models\Errors\APIException */ - public function create(Components\DiscountFixedOnceForeverDurationCreate|Components\DiscountFixedRepeatDurationCreate|Components\DiscountPercentageOnceForeverDurationCreate|Components\DiscountPercentageRepeatDurationCreate $request, ?Options $options = null): Operations\DiscountsCreateResponse + public function create(Components\DiscountFixedCreate|Components\DiscountPercentageCreate $request, ?Options $options = null): Operations\DiscountsCreateResponse { $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); $url = Utils\Utils::generateUrl($baseUrl, '/v1/discounts/'); @@ -82,11 +82,12 @@ public function create(Components\DiscountFixedOnceForeverDurationCreate|Compone } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['201'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -159,11 +160,12 @@ public function delete(string $id, ?Options $options = null): Operations\Discoun } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['204'])) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -238,11 +240,12 @@ public function get(string $id, ?Options $options = null): Operations\DiscountsG } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -326,11 +329,12 @@ private function listIndividual(?Operations\DiscountsListRequest $request = null } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -467,11 +471,12 @@ public function update(Components\DiscountUpdate $discountUpdate, string $id, ?O } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); diff --git a/src/Disputes.php b/src/Disputes.php index d305b3a7..a7f4efbc 100644 --- a/src/Disputes.php +++ b/src/Disputes.php @@ -44,12 +44,115 @@ public function getUrl(string $baseUrl, array $urlVariables): string return Utils\Utils::templateUrl($baseUrl, $urlVariables); } + /** + * Accept Dispute + * + * Accept a dispute, conceding the chargeback. + * + * Closes the dispute with the processor (settling it as `lost`) and records + * the merchant's decision on the dispute's support case. + * + * **Scopes**: `disputes:write` + * + * @param string $id + * @return \Polar\Models\Operations\DisputesAcceptResponse + * @throws \Polar\Models\Errors\APIException + */ + public function accept(string $id, ?Options $options = null): Operations\DisputesAcceptResponse + { + $request = new Operations\DisputesAcceptRequest( + id: $id, + ); + $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); + $url = Utils\Utils::generateUrl($baseUrl, '/v1/disputes/{id}/accept', Operations\DisputesAcceptRequest::class, $request); + $urlOverride = null; + $httpOptions = ['http_errors' => false]; + $httpOptions['headers']['Accept'] = 'application/json'; + $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; + $httpRequest = new \GuzzleHttp\Psr7\Request('POST', $url); + $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'disputes:accept', null, $this->sdkConfiguration->securitySource); + $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); + $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); + $httpRequest = Utils\Utils::removeHeaders($httpRequest); + try { + $httpResponse = $this->sdkConfiguration->client->send($httpRequest, $httpOptions); + } catch (\GuzzleHttp\Exception\GuzzleException $error) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), null, $error); + $httpResponse = $res; + } + $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; + + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); + $httpResponse = $res; + } + + $statusCode = $httpResponse->getStatusCode(); + if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Components\Dispute', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $response = new Operations\DisputesAcceptResponse( + statusCode: $statusCode, + contentType: $contentType, + rawResponse: $httpResponse, + dispute: $obj); + + return $response; + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['404'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\ResourceNotFound', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['409'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\DisputeNotOpenError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['422'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\HTTPValidationError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['4XX'])) { + throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { + throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } else { + throw new \Polar\Models\Errors\APIException('Unknown status code received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } + /** * Get Dispute * * Get a dispute by ID. * - * **Scopes**: `disputes:read` + * **Scopes**: `disputes:read` `disputes:write` * * @param string $id * @return \Polar\Models\Operations\DisputesGetResponse @@ -79,11 +182,12 @@ public function get(string $id, ?Options $options = null): Operations\DisputesGe } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -137,7 +241,7 @@ public function get(string $id, ?Options $options = null): Operations\DisputesGe * * List disputes. * - * **Scopes**: `disputes:read` + * **Scopes**: `disputes:read` `disputes:write` * * @param ?\Polar\Models\Operations\DisputesListRequest $request * @return \Polar\Models\Operations\DisputesListResponse @@ -167,11 +271,12 @@ private function listIndividual(?Operations\DisputesListRequest $request = null, } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -252,7 +357,7 @@ private function listIndividual(?Operations\DisputesListRequest $request = null, * * List disputes. * - * **Scopes**: `disputes:read` + * **Scopes**: `disputes:read` `disputes:write` * * @param ?\Polar\Models\Operations\DisputesListRequest $request * @return \Generator<\Polar\Models\Operations\DisputesListResponse> diff --git a/src/Downloadables.php b/src/Downloadables.php index f28040ab..2723e189 100644 --- a/src/Downloadables.php +++ b/src/Downloadables.php @@ -91,11 +91,12 @@ private function listIndividual(Operations\CustomerPortalDownloadablesListSecuri } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); diff --git a/src/EventTypes.php b/src/EventTypes.php index 3aacf24f..557c50ec 100644 --- a/src/EventTypes.php +++ b/src/EventTypes.php @@ -80,11 +80,12 @@ private function listIndividual(?Operations\EventTypesListRequest $request = nul } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -189,6 +190,8 @@ public function list(?Operations\EventTypesListRequest $request = null, ?Options * * Update an event type's label. * + * **Scopes**: `events:write` + * * @param \Polar\Models\Components\EventTypeUpdate $eventTypeUpdate * @param string $id * @return \Polar\Models\Operations\EventTypesUpdateResponse @@ -224,11 +227,12 @@ public function update(Components\EventTypeUpdate $eventTypeUpdate, string $id, } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); diff --git a/src/Events.php b/src/Events.php index c365b07a..1139eb7c 100644 --- a/src/Events.php +++ b/src/Events.php @@ -80,18 +80,19 @@ public function get(string $id, ?Options $options = null): Operations\EventsGetR } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); $serializer = Utils\JSON::createSerializer(); $responseData = (string) $httpResponse->getBody(); - $obj = $serializer->deserialize($responseData, '\Polar\Models\Components\MeterCreditEvent|\Polar\Models\Components\MeterResetEvent|\Polar\Models\Components\BenefitGrantedEvent|\Polar\Models\Components\BenefitCycledEvent|\Polar\Models\Components\BenefitUpdatedEvent|\Polar\Models\Components\BenefitRevokedEvent|\Polar\Models\Components\SubscriptionCreatedEvent|\Polar\Models\Components\SubscriptionUpdatedEvent|\Polar\Models\Components\SubscriptionCycledEvent|\Polar\Models\Components\SubscriptionCanceledEvent|\Polar\Models\Components\SubscriptionRevokedEvent|\Polar\Models\Components\SubscriptionUncanceledEvent|\Polar\Models\Components\SubscriptionProductUpdatedEvent|\Polar\Models\Components\SubscriptionSeatsUpdatedEvent|\Polar\Models\Components\SubscriptionBillingPeriodUpdatedEvent|\Polar\Models\Components\OrderPaidEvent|\Polar\Models\Components\OrderRefundedEvent|\Polar\Models\Components\OrderVoidedEvent|\Polar\Models\Components\CheckoutCreatedEvent|\Polar\Models\Components\CustomerCreatedEvent|\Polar\Models\Components\CustomerUpdatedEvent|\Polar\Models\Components\CustomerDeletedEvent|\Polar\Models\Components\BalanceOrderEvent|\Polar\Models\Components\BalanceCreditOrderEvent|\Polar\Models\Components\BalanceRefundEvent|\Polar\Models\Components\BalanceRefundReversalEvent|\Polar\Models\Components\BalanceDisputeEvent|\Polar\Models\Components\BalanceDisputeReversalEvent|\Polar\Models\Components\UserEvent', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Components\MeterCreditEvent|\Polar\Models\Components\MeterResetEvent|\Polar\Models\Components\BenefitGrantedEvent|\Polar\Models\Components\BenefitCycledEvent|\Polar\Models\Components\BenefitUpdatedEvent|\Polar\Models\Components\BenefitRevokedEvent|\Polar\Models\Components\SubscriptionCreatedEvent|\Polar\Models\Components\SubscriptionUpdatedEvent|\Polar\Models\Components\SubscriptionCycledEvent|\Polar\Models\Components\SubscriptionCanceledEvent|\Polar\Models\Components\SubscriptionRevokedEvent|\Polar\Models\Components\SubscriptionPastDueEvent|\Polar\Models\Components\SubscriptionReactivatedEvent|\Polar\Models\Components\SubscriptionPausedEvent|\Polar\Models\Components\SubscriptionResumedEvent|\Polar\Models\Components\SubscriptionUncanceledEvent|\Polar\Models\Components\SubscriptionProductUpdatedEvent|\Polar\Models\Components\SubscriptionSeatsUpdatedEvent|\Polar\Models\Components\SubscriptionBillingPeriodUpdatedEvent|\Polar\Models\Components\SubscriptionUpdateClearedEvent|\Polar\Models\Components\OrderPaidEvent|\Polar\Models\Components\OrderRefundedEvent|\Polar\Models\Components\OrderVoidedEvent|\Polar\Models\Components\CheckoutCreatedEvent|\Polar\Models\Components\CustomerCreatedEvent|\Polar\Models\Components\CustomerUpdatedEvent|\Polar\Models\Components\CustomerDeletedEvent|\Polar\Models\Components\BalanceOrderEvent|\Polar\Models\Components\BalanceCreditOrderEvent|\Polar\Models\Components\BalanceRefundEvent|\Polar\Models\Components\BalanceRefundReversalEvent|\Polar\Models\Components\BalanceDisputeEvent|\Polar\Models\Components\BalanceDisputeReversalEvent|\Polar\Models\Components\UserEvent', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); $response = new Operations\EventsGetResponse( statusCode: $statusCode, contentType: $contentType, @@ -170,11 +171,12 @@ public function ingest(Components\EventsIngest $request, ?Options $options = nul } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -247,11 +249,12 @@ public function list(?Operations\EventsListRequest $request = null, ?Options $op } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -324,11 +327,12 @@ private function listNamesIndividual(?Operations\EventsListNamesRequest $request } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); diff --git a/src/Files.php b/src/Files.php index 0e38b892..cfa95b06 100644 --- a/src/Files.php +++ b/src/Files.php @@ -52,11 +52,11 @@ public function getUrl(string $baseUrl, array $urlVariables): string * * **Scopes**: `files:write` * - * @param \Polar\Models\Components\DownloadableFileCreate|\Polar\Models\Components\ProductMediaFileCreate|\Polar\Models\Components\OrganizationAvatarFileCreate $request + * @param \Polar\Models\Components\DownloadableFileCreate|\Polar\Models\Components\ProductMediaFileCreate|\Polar\Models\Components\OrganizationAvatarFileCreate|\Polar\Models\Components\SupportCaseAttachmentFileCreate $request * @return \Polar\Models\Operations\FilesCreateResponse * @throws \Polar\Models\Errors\APIException */ - public function create(Components\DownloadableFileCreate|Components\ProductMediaFileCreate|Components\OrganizationAvatarFileCreate $request, ?Options $options = null): Operations\FilesCreateResponse + public function create(Components\DownloadableFileCreate|Components\ProductMediaFileCreate|Components\OrganizationAvatarFileCreate|Components\SupportCaseAttachmentFileCreate $request, ?Options $options = null): Operations\FilesCreateResponse { $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); $url = Utils\Utils::generateUrl($baseUrl, '/v1/files/'); @@ -82,11 +82,12 @@ public function create(Components\DownloadableFileCreate|Components\ProductMedia } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['201'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -159,11 +160,12 @@ public function delete(string $id, ?Options $options = null): Operations\FilesDe } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['403', '404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['204'])) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -258,11 +260,12 @@ private function listIndividual(string|array|null $organizationId = null, string } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -399,23 +402,24 @@ public function update(Components\FilePatch $filePatch, string $id, ?Options $op } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['403', '404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); $serializer = Utils\JSON::createSerializer(); $responseData = (string) $httpResponse->getBody(); - $obj = $serializer->deserialize($responseData, '\Polar\Models\Components\DownloadableFileRead|\Polar\Models\Components\ProductMediaFileRead|\Polar\Models\Components\OrganizationAvatarFileRead', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Components\DownloadableFileRead|\Polar\Models\Components\ProductMediaFileRead|\Polar\Models\Components\OrganizationAvatarFileRead|\Polar\Models\Components\SupportCaseAttachmentFileRead', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); $response = new Operations\FilesUpdateResponse( statusCode: $statusCode, contentType: $contentType, rawResponse: $httpResponse, - responseFilesUpdate: $obj); + fileRead: $obj); return $response; } else { @@ -505,23 +509,24 @@ public function uploaded(Components\FileUploadCompleted $fileUploadCompleted, st } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['403', '404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); $serializer = Utils\JSON::createSerializer(); $responseData = (string) $httpResponse->getBody(); - $obj = $serializer->deserialize($responseData, '\Polar\Models\Components\DownloadableFileRead|\Polar\Models\Components\ProductMediaFileRead|\Polar\Models\Components\OrganizationAvatarFileRead', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Components\DownloadableFileRead|\Polar\Models\Components\ProductMediaFileRead|\Polar\Models\Components\OrganizationAvatarFileRead|\Polar\Models\Components\SupportCaseAttachmentFileRead', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); $response = new Operations\FilesUploadedResponse( statusCode: $statusCode, contentType: $contentType, rawResponse: $httpResponse, - responseFilesUploaded: $obj); + fileRead: $obj); return $response; } else { diff --git a/src/LicenseKeys.php b/src/LicenseKeys.php index c68c6d8e..dfa116ac 100644 --- a/src/LicenseKeys.php +++ b/src/LicenseKeys.php @@ -82,11 +82,12 @@ public function activate(Components\LicenseKeyActivate $request, ?Options $optio } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['403', '404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -183,11 +184,12 @@ public function deactivate(Components\LicenseKeyDeactivate $request, ?Options $o } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['204'])) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -262,11 +264,12 @@ public function get(string $id, ?Options $options = null): Operations\LicenseKey } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['401', '404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -363,11 +366,12 @@ public function getActivation(string $id, string $activationId, ?Options $option } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['401', '404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -434,21 +438,12 @@ public function getActivation(string $id, string $activationId, ?Options $option * * **Scopes**: `license_keys:read` `license_keys:write` * - * @param string|array|null $organizationId - * @param string|array|null $benefitId - * @param ?int $page - * @param ?int $limit + * @param ?\Polar\Models\Operations\LicenseKeysListRequest $request * @return \Polar\Models\Operations\LicenseKeysListResponse * @throws \Polar\Models\Errors\APIException */ - private function listIndividual(string|array|null $organizationId = null, string|array|null $benefitId = null, ?int $page = null, ?int $limit = null, ?Options $options = null): Operations\LicenseKeysListResponse + private function listIndividual(?Operations\LicenseKeysListRequest $request = null, ?Options $options = null): Operations\LicenseKeysListResponse { - $request = new Operations\LicenseKeysListRequest( - organizationId: $organizationId, - benefitId: $benefitId, - page: $page, - limit: $limit, - ); $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); $url = Utils\Utils::generateUrl($baseUrl, '/v1/license-keys/'); $urlOverride = null; @@ -471,11 +466,12 @@ private function listIndividual(string|array|null $organizationId = null, string } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['401', '404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -516,10 +512,13 @@ private function listIndividual(string|array|null $organizationId = null, string } return $sdk->listIndividual( - organizationId: $request != null ? $request->organizationId : null, - benefitId: $request != null ? $request->benefitId : null, - page: $nextPage, - limit: $request != null ? $request->limit : null, + request: new Operations\LicenseKeysListRequest( + organizationId: $request != null ? $request->organizationId : null, + benefitId: $request != null ? $request->benefitId : null, + status: $request != null ? $request->status : null, + page: $nextPage, + limit: $request != null ? $request->limit : null, + ), ); }; @@ -576,16 +575,13 @@ private function listIndividual(string|array|null $organizationId = null, string * * **Scopes**: `license_keys:read` `license_keys:write` * - * @param string|array|null $organizationId - * @param string|array|null $benefitId - * @param ?int $page - * @param ?int $limit + * @param ?\Polar\Models\Operations\LicenseKeysListRequest $request * @return \Generator<\Polar\Models\Operations\LicenseKeysListResponse> * @throws \Polar\Models\Errors\APIException */ - public function list(string|array|null $organizationId = null, string|array|null $benefitId = null, ?int $page = null, ?int $limit = null, ?Options $options = null): \Generator + public function list(?Operations\LicenseKeysListRequest $request = null, ?Options $options = null): \Generator { - $res = $this->listIndividual($organizationId, $benefitId, $page, $limit, $options); + $res = $this->listIndividual($request, $options); while ($res !== null) { yield $res; $res = $res->next($res); @@ -634,11 +630,12 @@ public function update(Components\LicenseKeyUpdate $licenseKeyUpdate, string $id } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['401', '404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -735,11 +732,12 @@ public function validate(Components\LicenseKeyValidate $request, ?Options $optio } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); diff --git a/src/Members.php b/src/Members.php index 86e9010e..bd716fda 100644 --- a/src/Members.php +++ b/src/Members.php @@ -9,7 +9,6 @@ namespace Polar; use Polar\Hooks\HookContext; -use Polar\Models\Components; use Polar\Models\Operations; use Polar\Utils\Options; use Speakeasy\Serializer\DeserializationContext; @@ -45,270 +44,6 @@ public function getUrl(string $baseUrl, array $urlVariables): string return Utils\Utils::templateUrl($baseUrl, $urlVariables); } - /** - * Create Member - * - * Create a new member for a customer. - * - * Only B2B customers with the member management feature enabled can add members. - * The authenticated user or organization must have access to the customer's organization. - * - * **Scopes**: `members:write` - * - * @param \Polar\Models\Components\MemberCreate $request - * @return \Polar\Models\Operations\MembersCreateMemberResponse - * @throws \Polar\Models\Errors\APIException - */ - public function createMember(Components\MemberCreate $request, ?Options $options = null): Operations\MembersCreateMemberResponse - { - $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); - $url = Utils\Utils::generateUrl($baseUrl, '/v1/members/'); - $urlOverride = null; - $httpOptions = ['http_errors' => false]; - $body = Utils\Utils::serializeRequestBody($request, 'request', 'json'); - if ($body === null) { - throw new \Exception('Request body is required'); - } - $httpOptions = array_merge_recursive($httpOptions, $body); - $httpOptions['headers']['Accept'] = 'application/json'; - $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; - $httpRequest = new \GuzzleHttp\Psr7\Request('POST', $url); - $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'members:create_member', null, $this->sdkConfiguration->securitySource); - $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); - $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); - $httpRequest = Utils\Utils::removeHeaders($httpRequest); - try { - $httpResponse = $this->sdkConfiguration->client->send($httpRequest, $httpOptions); - } catch (\GuzzleHttp\Exception\GuzzleException $error) { - $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), null, $error); - $httpResponse = $res; - } - $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['403', '404', '422', '4XX', '5XX'])) { - $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); - $httpResponse = $res; - } - if (Utils\Utils::matchStatusCodes($statusCode, ['201'])) { - if (Utils\Utils::matchContentType($contentType, 'application/json')) { - $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); - - $serializer = Utils\JSON::createSerializer(); - $responseData = (string) $httpResponse->getBody(); - $obj = $serializer->deserialize($responseData, '\Polar\Models\Components\Member', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); - $response = new Operations\MembersCreateMemberResponse( - statusCode: $statusCode, - contentType: $contentType, - rawResponse: $httpResponse, - member: $obj); - - return $response; - } else { - throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); - } - } elseif (Utils\Utils::matchStatusCodes($statusCode, ['404'])) { - if (Utils\Utils::matchContentType($contentType, 'application/json')) { - $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); - - $serializer = Utils\JSON::createSerializer(); - $responseData = (string) $httpResponse->getBody(); - $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\ResourceNotFound', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); - throw $obj->toException(); - } else { - throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); - } - } elseif (Utils\Utils::matchStatusCodes($statusCode, ['422'])) { - if (Utils\Utils::matchContentType($contentType, 'application/json')) { - $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); - - $serializer = Utils\JSON::createSerializer(); - $responseData = (string) $httpResponse->getBody(); - $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\HTTPValidationError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); - throw $obj->toException(); - } else { - throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); - } - } elseif (Utils\Utils::matchStatusCodes($statusCode, ['403', '4XX'])) { - throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); - } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { - throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); - } else { - throw new \Polar\Models\Errors\APIException('Unknown status code received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); - } - } - - /** - * Delete Member - * - * Delete a member. - * - * The authenticated user or organization must have access to the member's organization. - * - * **Scopes**: `members:write` - * - * @param string $id - * @return \Polar\Models\Operations\MembersDeleteMemberResponse - * @throws \Polar\Models\Errors\APIException - */ - public function deleteMember(string $id, ?Options $options = null): Operations\MembersDeleteMemberResponse - { - $request = new Operations\MembersDeleteMemberRequest( - id: $id, - ); - $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); - $url = Utils\Utils::generateUrl($baseUrl, '/v1/members/{id}', Operations\MembersDeleteMemberRequest::class, $request); - $urlOverride = null; - $httpOptions = ['http_errors' => false]; - $httpOptions['headers']['Accept'] = 'application/json'; - $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; - $httpRequest = new \GuzzleHttp\Psr7\Request('DELETE', $url); - $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'members:delete_member', null, $this->sdkConfiguration->securitySource); - $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); - $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); - $httpRequest = Utils\Utils::removeHeaders($httpRequest); - try { - $httpResponse = $this->sdkConfiguration->client->send($httpRequest, $httpOptions); - } catch (\GuzzleHttp\Exception\GuzzleException $error) { - $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), null, $error); - $httpResponse = $res; - } - $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { - $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); - $httpResponse = $res; - } - if (Utils\Utils::matchStatusCodes($statusCode, ['204'])) { - $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); - - return new Operations\MembersDeleteMemberResponse( - statusCode: $statusCode, - contentType: $contentType, - rawResponse: $httpResponse - ); - } elseif (Utils\Utils::matchStatusCodes($statusCode, ['404'])) { - if (Utils\Utils::matchContentType($contentType, 'application/json')) { - $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); - - $serializer = Utils\JSON::createSerializer(); - $responseData = (string) $httpResponse->getBody(); - $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\ResourceNotFound', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); - throw $obj->toException(); - } else { - throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); - } - } elseif (Utils\Utils::matchStatusCodes($statusCode, ['422'])) { - if (Utils\Utils::matchContentType($contentType, 'application/json')) { - $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); - - $serializer = Utils\JSON::createSerializer(); - $responseData = (string) $httpResponse->getBody(); - $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\HTTPValidationError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); - throw $obj->toException(); - } else { - throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); - } - } elseif (Utils\Utils::matchStatusCodes($statusCode, ['4XX'])) { - throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); - } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { - throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); - } else { - throw new \Polar\Models\Errors\APIException('Unknown status code received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); - } - } - - /** - * Get Member - * - * Get a member by ID. - * - * The authenticated user or organization must have access to the member's organization. - * - * **Scopes**: `members:read` `members:write` - * - * @param string $id - * @return \Polar\Models\Operations\MembersGetMemberResponse - * @throws \Polar\Models\Errors\APIException - */ - public function getMember(string $id, ?Options $options = null): Operations\MembersGetMemberResponse - { - $request = new Operations\MembersGetMemberRequest( - id: $id, - ); - $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); - $url = Utils\Utils::generateUrl($baseUrl, '/v1/members/{id}', Operations\MembersGetMemberRequest::class, $request); - $urlOverride = null; - $httpOptions = ['http_errors' => false]; - $httpOptions['headers']['Accept'] = 'application/json'; - $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; - $httpRequest = new \GuzzleHttp\Psr7\Request('GET', $url); - $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'members:get_member', null, $this->sdkConfiguration->securitySource); - $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); - $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); - $httpRequest = Utils\Utils::removeHeaders($httpRequest); - try { - $httpResponse = $this->sdkConfiguration->client->send($httpRequest, $httpOptions); - } catch (\GuzzleHttp\Exception\GuzzleException $error) { - $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), null, $error); - $httpResponse = $res; - } - $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { - $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); - $httpResponse = $res; - } - if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { - if (Utils\Utils::matchContentType($contentType, 'application/json')) { - $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); - - $serializer = Utils\JSON::createSerializer(); - $responseData = (string) $httpResponse->getBody(); - $obj = $serializer->deserialize($responseData, '\Polar\Models\Components\Member', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); - $response = new Operations\MembersGetMemberResponse( - statusCode: $statusCode, - contentType: $contentType, - rawResponse: $httpResponse, - member: $obj); - - return $response; - } else { - throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); - } - } elseif (Utils\Utils::matchStatusCodes($statusCode, ['404'])) { - if (Utils\Utils::matchContentType($contentType, 'application/json')) { - $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); - - $serializer = Utils\JSON::createSerializer(); - $responseData = (string) $httpResponse->getBody(); - $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\ResourceNotFound', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); - throw $obj->toException(); - } else { - throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); - } - } elseif (Utils\Utils::matchStatusCodes($statusCode, ['422'])) { - if (Utils\Utils::matchContentType($contentType, 'application/json')) { - $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); - - $serializer = Utils\JSON::createSerializer(); - $responseData = (string) $httpResponse->getBody(); - $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\HTTPValidationError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); - throw $obj->toException(); - } else { - throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); - } - } elseif (Utils\Utils::matchStatusCodes($statusCode, ['4XX'])) { - throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); - } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { - throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); - } else { - throw new \Polar\Models\Errors\APIException('Unknown status code received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); - } - } - /** * List Members * @@ -344,11 +79,12 @@ private function listMembersIndividual(?Operations\MembersListMembersRequest $re } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -444,102 +180,4 @@ public function listMembers(?Operations\MembersListMembersRequest $request = nul } } - /** - * Update Member - * - * Update a member. - * - * Only name and role can be updated. - * The authenticated user or organization must have access to the member's organization. - * - * **Scopes**: `members:write` - * - * @param \Polar\Models\Components\MemberUpdate $memberUpdate - * @param string $id - * @return \Polar\Models\Operations\MembersUpdateMemberResponse - * @throws \Polar\Models\Errors\APIException - */ - public function updateMember(Components\MemberUpdate $memberUpdate, string $id, ?Options $options = null): Operations\MembersUpdateMemberResponse - { - $request = new Operations\MembersUpdateMemberRequest( - id: $id, - memberUpdate: $memberUpdate, - ); - $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); - $url = Utils\Utils::generateUrl($baseUrl, '/v1/members/{id}', Operations\MembersUpdateMemberRequest::class, $request); - $urlOverride = null; - $httpOptions = ['http_errors' => false]; - $body = Utils\Utils::serializeRequestBody($request, 'memberUpdate', 'json'); - if ($body === null) { - throw new \Exception('Request body is required'); - } - $httpOptions = array_merge_recursive($httpOptions, $body); - $httpOptions['headers']['Accept'] = 'application/json'; - $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; - $httpRequest = new \GuzzleHttp\Psr7\Request('PATCH', $url); - $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'members:update_member', null, $this->sdkConfiguration->securitySource); - $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); - $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); - $httpRequest = Utils\Utils::removeHeaders($httpRequest); - try { - $httpResponse = $this->sdkConfiguration->client->send($httpRequest, $httpOptions); - } catch (\GuzzleHttp\Exception\GuzzleException $error) { - $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), null, $error); - $httpResponse = $res; - } - $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { - $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); - $httpResponse = $res; - } - if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { - if (Utils\Utils::matchContentType($contentType, 'application/json')) { - $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); - - $serializer = Utils\JSON::createSerializer(); - $responseData = (string) $httpResponse->getBody(); - $obj = $serializer->deserialize($responseData, '\Polar\Models\Components\Member', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); - $response = new Operations\MembersUpdateMemberResponse( - statusCode: $statusCode, - contentType: $contentType, - rawResponse: $httpResponse, - member: $obj); - - return $response; - } else { - throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); - } - } elseif (Utils\Utils::matchStatusCodes($statusCode, ['404'])) { - if (Utils\Utils::matchContentType($contentType, 'application/json')) { - $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); - - $serializer = Utils\JSON::createSerializer(); - $responseData = (string) $httpResponse->getBody(); - $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\ResourceNotFound', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); - throw $obj->toException(); - } else { - throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); - } - } elseif (Utils\Utils::matchStatusCodes($statusCode, ['422'])) { - if (Utils\Utils::matchContentType($contentType, 'application/json')) { - $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); - - $serializer = Utils\JSON::createSerializer(); - $responseData = (string) $httpResponse->getBody(); - $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\HTTPValidationError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); - throw $obj->toException(); - } else { - throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); - } - } elseif (Utils\Utils::matchStatusCodes($statusCode, ['4XX'])) { - throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); - } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { - throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); - } else { - throw new \Polar\Models\Errors\APIException('Unknown status code received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); - } - } - } \ No newline at end of file diff --git a/src/Meters.php b/src/Meters.php index 142395a6..ff2e6057 100644 --- a/src/Meters.php +++ b/src/Meters.php @@ -82,11 +82,12 @@ public function create(Components\MeterCreate $request, ?Options $options = null } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['201'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -159,11 +160,12 @@ public function get(string $id, ?Options $options = null): Operations\MetersGetR } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -247,11 +249,12 @@ private function listIndividual(?Operations\MetersListRequest $request = null, ? } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -383,11 +386,12 @@ public function quantities(Operations\MetersQuantitiesRequest $request, ?Options } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -478,11 +482,12 @@ public function update(Components\MeterUpdate $meterUpdate, string $id, ?Options } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); diff --git a/src/Metrics.php b/src/Metrics.php index 15b60f88..4ca6ca7f 100644 --- a/src/Metrics.php +++ b/src/Metrics.php @@ -82,11 +82,12 @@ public function createDashboard(Components\MetricDashboardCreate $request, ?Opti } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['201'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -159,11 +160,12 @@ public function deleteDashboard(string $id, ?Options $options = null): Operation } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['204'])) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -192,6 +194,81 @@ public function deleteDashboard(string $id, ?Options $options = null): Operation } } + /** + * Export Metrics + * + * Export metrics as a CSV file. + * + * **Scopes**: `metrics:read` + * + * @param \Polar\Models\Operations\MetricsExportRequest $request + * @return \Polar\Models\Operations\MetricsExportResponse + * @throws \Polar\Models\Errors\APIException + */ + public function export(Operations\MetricsExportRequest $request, ?Options $options = null): Operations\MetricsExportResponse + { + $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); + $url = Utils\Utils::generateUrl($baseUrl, '/v1/metrics/export'); + $urlOverride = null; + $httpOptions = ['http_errors' => false]; + + $qp = Utils\Utils::getQueryParams(Operations\MetricsExportRequest::class, $request, $urlOverride); + $httpOptions['headers']['Accept'] = 'text/csv'; + $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; + $httpRequest = new \GuzzleHttp\Psr7\Request('GET', $url); + $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'metrics:export', null, $this->sdkConfiguration->securitySource); + $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); + $httpOptions['query'] = Utils\QueryParameters::standardizeQueryParams($httpRequest, $qp); + $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); + $httpRequest = Utils\Utils::removeHeaders($httpRequest); + try { + $httpResponse = $this->sdkConfiguration->client->send($httpRequest, $httpOptions); + } catch (\GuzzleHttp\Exception\GuzzleException $error) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), null, $error); + $httpResponse = $res; + } + $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; + + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); + $httpResponse = $res; + } + + $statusCode = $httpResponse->getStatusCode(); + if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { + if (Utils\Utils::matchContentType($contentType, 'text/csv')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $obj = $httpResponse->getBody()->getContents(); + + return new Operations\MetricsExportResponse( + statusCode: $statusCode, + contentType: $contentType, + rawResponse: $httpResponse, + res: $obj); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['422'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\HTTPValidationError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['4XX'])) { + throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { + throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } else { + throw new \Polar\Models\Errors\APIException('Unknown status code received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } + /** * Get Metrics * @@ -229,11 +306,12 @@ public function get(Operations\MetricsGetRequest $request, ?Options $options = n } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -306,11 +384,12 @@ public function getDashboard(string $id, ?Options $options = null): Operations\M } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -379,11 +458,12 @@ public function limits(?Options $options = null): Operations\MetricsLimitsRespon } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -448,11 +528,12 @@ public function listDashboards(string|array|null $organizationId = null, ?Option } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -532,11 +613,12 @@ public function updateDashboard(Components\MetricDashboardUpdate $metricDashboar } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); diff --git a/src/Models/Components/AuthorizeResponseOrganization.php b/src/Models/Components/AuthorizeResponseOrganization.php index 10d11ce3..2a6bdd6f 100644 --- a/src/Models/Components/AuthorizeResponseOrganization.php +++ b/src/Models/Components/AuthorizeResponseOrganization.php @@ -62,16 +62,25 @@ class AuthorizeResponseOrganization #[\Speakeasy\Serializer\Annotation\SerializedName('sub_type')] public string $subType; + /** + * + * @var ?bool $requiresSingleOrganization + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('requires_single_organization')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?bool $requiresSingleOrganization = null; + /** * @param \Polar\Models\Components\OAuth2ClientPublic $client * @param string $subType * @param array<\Polar\Models\Components\Scope> $scopes * @param array<\Polar\Models\Components\AuthorizeOrganization> $organizations * @param ?\Polar\Models\Components\AuthorizeOrganization $sub + * @param ?bool $requiresSingleOrganization * @param ?array $scopeDisplayNames * @phpstan-pure */ - public function __construct(OAuth2ClientPublic $client, array $scopes, array $organizations, ?AuthorizeOrganization $sub = null, ?array $scopeDisplayNames = null, string $subType = 'organization') + public function __construct(OAuth2ClientPublic $client, array $scopes, array $organizations, ?AuthorizeOrganization $sub = null, ?array $scopeDisplayNames = null, string $subType = 'organization', ?bool $requiresSingleOrganization = false) { $this->client = $client; $this->scopes = $scopes; @@ -79,5 +88,6 @@ public function __construct(OAuth2ClientPublic $client, array $scopes, array $or $this->sub = $sub; $this->scopeDisplayNames = $scopeDisplayNames; $this->subType = $subType; + $this->requiresSingleOrganization = $requiresSingleOrganization; } } \ No newline at end of file diff --git a/src/Models/Components/AuthorizeResponseUser.php b/src/Models/Components/AuthorizeResponseUser.php index 6e05a29a..8d516488 100644 --- a/src/Models/Components/AuthorizeResponseUser.php +++ b/src/Models/Components/AuthorizeResponseUser.php @@ -28,6 +28,15 @@ class AuthorizeResponseUser #[\Speakeasy\Serializer\Annotation\Type('array<\Polar\Models\Components\Scope>')] public array $scopes; + /** + * $organizations + * + * @var array<\Polar\Models\Components\AuthorizeOrganization> $organizations + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('organizations')] + #[\Speakeasy\Serializer\Annotation\Type('array<\Polar\Models\Components\AuthorizeOrganization>')] + public array $organizations; + /** * * @var ?\Polar\Models\Components\AuthorizeUser $sub @@ -53,20 +62,32 @@ class AuthorizeResponseUser #[\Speakeasy\Serializer\Annotation\SerializedName('sub_type')] public string $subType; + /** + * + * @var ?bool $requiresSingleOrganization + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('requires_single_organization')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?bool $requiresSingleOrganization = null; + /** * @param \Polar\Models\Components\OAuth2ClientPublic $client * @param string $subType * @param array<\Polar\Models\Components\Scope> $scopes + * @param array<\Polar\Models\Components\AuthorizeOrganization> $organizations * @param ?\Polar\Models\Components\AuthorizeUser $sub + * @param ?bool $requiresSingleOrganization * @param ?array $scopeDisplayNames * @phpstan-pure */ - public function __construct(OAuth2ClientPublic $client, array $scopes, ?AuthorizeUser $sub = null, ?array $scopeDisplayNames = null, string $subType = 'user') + public function __construct(OAuth2ClientPublic $client, array $scopes, array $organizations, ?AuthorizeUser $sub = null, ?array $scopeDisplayNames = null, string $subType = 'user', ?bool $requiresSingleOrganization = false) { $this->client = $client; $this->scopes = $scopes; + $this->organizations = $organizations; $this->sub = $sub; $this->scopeDisplayNames = $scopeDisplayNames; $this->subType = $subType; + $this->requiresSingleOrganization = $requiresSingleOrganization; } } \ No newline at end of file diff --git a/src/Models/Components/AvailableScope.php b/src/Models/Components/AvailableScope.php deleted file mode 100644 index 4bb6301f..00000000 --- a/src/Models/Components/AvailableScope.php +++ /dev/null @@ -1,76 +0,0 @@ -orderId = $orderId; $this->amount = $amount; @@ -99,6 +108,7 @@ public function __construct(string $orderId, int $amount, string $currency, int $this->fee = $fee; $this->productId = $productId; $this->subscriptionId = $subscriptionId; + $this->exchangeRate = $exchangeRate; $this->taxState = $taxState; $this->taxCountry = $taxCountry; } diff --git a/src/Models/Components/BenefitCustom.php b/src/Models/Components/BenefitCustom.php index 8b2c3f09..38f6ba0a 100644 --- a/src/Models/Components/BenefitCustom.php +++ b/src/Models/Components/BenefitCustom.php @@ -57,6 +57,14 @@ class BenefitCustom #[\Speakeasy\Serializer\Annotation\SerializedName('deletable')] public bool $deletable; + /** + * Whether the benefit is deleted. + * + * @var bool $isDeleted + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('is_deleted')] + public bool $isDeleted; + /** * The ID of the organization owning the benefit. * @@ -74,6 +82,14 @@ class BenefitCustom #[\Speakeasy\Serializer\Annotation\Type('array')] public array $metadata; + /** + * + * @var \Polar\Models\Components\BenefitVisibility $visibility + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('visibility')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\BenefitVisibility')] + public BenefitVisibility $visibility; + /** * Properties for a benefit of type `custom`. * @@ -83,6 +99,13 @@ class BenefitCustom #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\BenefitCustomProperties')] public BenefitCustomProperties $properties; + /** + * + * @var bool $visibilityConfigurable + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('visibility_configurable')] + public bool $visibilityConfigurable; + /** * Last modification timestamp of the object. * @@ -105,22 +128,28 @@ class BenefitCustom * @param string $description * @param bool $selectable * @param bool $deletable + * @param bool $isDeleted * @param string $organizationId * @param array $metadata + * @param \Polar\Models\Components\BenefitVisibility $visibility * @param \Polar\Models\Components\BenefitCustomProperties $properties + * @param bool $visibilityConfigurable * @param ?\DateTime $modifiedAt * @phpstan-pure */ - public function __construct(string $id, \DateTime $createdAt, string $description, bool $selectable, bool $deletable, string $organizationId, array $metadata, BenefitCustomProperties $properties, ?\DateTime $modifiedAt = null, string $type = 'custom') + public function __construct(string $id, \DateTime $createdAt, string $description, bool $selectable, bool $deletable, bool $isDeleted, string $organizationId, array $metadata, BenefitVisibility $visibility, BenefitCustomProperties $properties, bool $visibilityConfigurable, ?\DateTime $modifiedAt = null, string $type = 'custom') { $this->id = $id; $this->createdAt = $createdAt; $this->description = $description; $this->selectable = $selectable; $this->deletable = $deletable; + $this->isDeleted = $isDeleted; $this->organizationId = $organizationId; $this->metadata = $metadata; + $this->visibility = $visibility; $this->properties = $properties; + $this->visibilityConfigurable = $visibilityConfigurable; $this->modifiedAt = $modifiedAt; $this->type = $type; } diff --git a/src/Models/Components/BenefitCustomCreate.php b/src/Models/Components/BenefitCustomCreate.php index 5a14d5a6..9e82235e 100644 --- a/src/Models/Components/BenefitCustomCreate.php +++ b/src/Models/Components/BenefitCustomCreate.php @@ -59,6 +59,16 @@ class BenefitCustomCreate #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public ?string $organizationId = null; + /** + * The visibility of the benefit in the customer portal. + * + * @var ?\Polar\Models\Components\BenefitVisibility $visibility + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('visibility')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\BenefitVisibility|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?BenefitVisibility $visibility = null; + /** * * @var string $type @@ -72,14 +82,16 @@ class BenefitCustomCreate * @param \Polar\Models\Components\BenefitCustomCreateProperties $properties * @param ?array $metadata * @param ?string $organizationId + * @param ?\Polar\Models\Components\BenefitVisibility $visibility * @phpstan-pure */ - public function __construct(string $description, BenefitCustomCreateProperties $properties, ?array $metadata = null, ?string $organizationId = null, string $type = 'custom') + public function __construct(string $description, BenefitCustomCreateProperties $properties, ?array $metadata = null, ?string $organizationId = null, ?BenefitVisibility $visibility = null, string $type = 'custom') { $this->description = $description; $this->properties = $properties; $this->metadata = $metadata; $this->organizationId = $organizationId; + $this->visibility = $visibility; $this->type = $type; } } \ No newline at end of file diff --git a/src/Models/Components/BenefitCustomSubscriber.php b/src/Models/Components/BenefitCustomSubscriber.php index 587c50d9..21924e2f 100644 --- a/src/Models/Components/BenefitCustomSubscriber.php +++ b/src/Models/Components/BenefitCustomSubscriber.php @@ -52,21 +52,20 @@ class BenefitCustomSubscriber public bool $deletable; /** - * The ID of the organization owning the benefit. + * Whether the benefit is deleted. * - * @var string $organizationId + * @var bool $isDeleted */ - #[\Speakeasy\Serializer\Annotation\SerializedName('organization_id')] - public string $organizationId; + #[\Speakeasy\Serializer\Annotation\SerializedName('is_deleted')] + public bool $isDeleted; /** - * $metadata + * The ID of the organization owning the benefit. * - * @var array $metadata + * @var string $organizationId */ - #[\Speakeasy\Serializer\Annotation\SerializedName('metadata')] - #[\Speakeasy\Serializer\Annotation\Type('array')] - public array $metadata; + #[\Speakeasy\Serializer\Annotation\SerializedName('organization_id')] + public string $organizationId; /** * @@ -107,22 +106,22 @@ class BenefitCustomSubscriber * @param string $description * @param bool $selectable * @param bool $deletable + * @param bool $isDeleted * @param string $organizationId - * @param array $metadata * @param \Polar\Models\Components\BenefitSubscriberOrganization $organization * @param \Polar\Models\Components\BenefitCustomSubscriberProperties $properties * @param ?\DateTime $modifiedAt * @phpstan-pure */ - public function __construct(string $id, \DateTime $createdAt, string $description, bool $selectable, bool $deletable, string $organizationId, array $metadata, BenefitSubscriberOrganization $organization, BenefitCustomSubscriberProperties $properties, ?\DateTime $modifiedAt = null, string $type = 'custom') + public function __construct(string $id, \DateTime $createdAt, string $description, bool $selectable, bool $deletable, bool $isDeleted, string $organizationId, BenefitSubscriberOrganization $organization, BenefitCustomSubscriberProperties $properties, ?\DateTime $modifiedAt = null, string $type = 'custom') { $this->id = $id; $this->createdAt = $createdAt; $this->description = $description; $this->selectable = $selectable; $this->deletable = $deletable; + $this->isDeleted = $isDeleted; $this->organizationId = $organizationId; - $this->metadata = $metadata; $this->organization = $organization; $this->properties = $properties; $this->modifiedAt = $modifiedAt; diff --git a/src/Models/Components/BenefitCustomUpdate.php b/src/Models/Components/BenefitCustomUpdate.php index e233534e..70aa2701 100644 --- a/src/Models/Components/BenefitCustomUpdate.php +++ b/src/Models/Components/BenefitCustomUpdate.php @@ -41,6 +41,16 @@ class BenefitCustomUpdate #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public ?string $description = null; + /** + * The visibility of the benefit in the customer portal. + * + * @var ?\Polar\Models\Components\BenefitVisibility $visibility + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('visibility')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\BenefitVisibility|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?BenefitVisibility $visibility = null; + /** * * @var ?\Polar\Models\Components\BenefitCustomProperties $properties @@ -61,13 +71,15 @@ class BenefitCustomUpdate * @param string $type * @param ?array $metadata * @param ?string $description + * @param ?\Polar\Models\Components\BenefitVisibility $visibility * @param ?\Polar\Models\Components\BenefitCustomProperties $properties * @phpstan-pure */ - public function __construct(?array $metadata = null, ?string $description = null, ?BenefitCustomProperties $properties = null, string $type = 'custom') + public function __construct(?array $metadata = null, ?string $description = null, ?BenefitVisibility $visibility = null, ?BenefitCustomProperties $properties = null, string $type = 'custom') { $this->metadata = $metadata; $this->description = $description; + $this->visibility = $visibility; $this->properties = $properties; $this->type = $type; } diff --git a/src/Models/Components/BenefitDiscord.php b/src/Models/Components/BenefitDiscord.php index e601d0dc..7cb11768 100644 --- a/src/Models/Components/BenefitDiscord.php +++ b/src/Models/Components/BenefitDiscord.php @@ -57,6 +57,14 @@ class BenefitDiscord #[\Speakeasy\Serializer\Annotation\SerializedName('deletable')] public bool $deletable; + /** + * Whether the benefit is deleted. + * + * @var bool $isDeleted + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('is_deleted')] + public bool $isDeleted; + /** * The ID of the organization owning the benefit. * @@ -74,6 +82,14 @@ class BenefitDiscord #[\Speakeasy\Serializer\Annotation\Type('array')] public array $metadata; + /** + * + * @var \Polar\Models\Components\BenefitVisibility $visibility + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('visibility')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\BenefitVisibility')] + public BenefitVisibility $visibility; + /** * Properties for a benefit of type `discord`. * @@ -83,6 +99,13 @@ class BenefitDiscord #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\BenefitDiscordProperties')] public BenefitDiscordProperties $properties; + /** + * + * @var bool $visibilityConfigurable + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('visibility_configurable')] + public bool $visibilityConfigurable; + /** * Last modification timestamp of the object. * @@ -105,22 +128,28 @@ class BenefitDiscord * @param string $description * @param bool $selectable * @param bool $deletable + * @param bool $isDeleted * @param string $organizationId * @param array $metadata + * @param \Polar\Models\Components\BenefitVisibility $visibility * @param \Polar\Models\Components\BenefitDiscordProperties $properties + * @param bool $visibilityConfigurable * @param ?\DateTime $modifiedAt * @phpstan-pure */ - public function __construct(string $id, \DateTime $createdAt, string $description, bool $selectable, bool $deletable, string $organizationId, array $metadata, BenefitDiscordProperties $properties, ?\DateTime $modifiedAt = null, string $type = 'discord') + public function __construct(string $id, \DateTime $createdAt, string $description, bool $selectable, bool $deletable, bool $isDeleted, string $organizationId, array $metadata, BenefitVisibility $visibility, BenefitDiscordProperties $properties, bool $visibilityConfigurable, ?\DateTime $modifiedAt = null, string $type = 'discord') { $this->id = $id; $this->createdAt = $createdAt; $this->description = $description; $this->selectable = $selectable; $this->deletable = $deletable; + $this->isDeleted = $isDeleted; $this->organizationId = $organizationId; $this->metadata = $metadata; + $this->visibility = $visibility; $this->properties = $properties; + $this->visibilityConfigurable = $visibilityConfigurable; $this->modifiedAt = $modifiedAt; $this->type = $type; } diff --git a/src/Models/Components/BenefitDiscordCreate.php b/src/Models/Components/BenefitDiscordCreate.php index 90e1b77a..ef00ae9b 100644 --- a/src/Models/Components/BenefitDiscordCreate.php +++ b/src/Models/Components/BenefitDiscordCreate.php @@ -58,6 +58,16 @@ class BenefitDiscordCreate #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public ?string $organizationId = null; + /** + * The visibility of the benefit in the customer portal. + * + * @var ?\Polar\Models\Components\BenefitVisibility $visibility + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('visibility')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\BenefitVisibility|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?BenefitVisibility $visibility = null; + /** * * @var string $type @@ -71,14 +81,16 @@ class BenefitDiscordCreate * @param \Polar\Models\Components\BenefitDiscordCreateProperties $properties * @param ?array $metadata * @param ?string $organizationId + * @param ?\Polar\Models\Components\BenefitVisibility $visibility * @phpstan-pure */ - public function __construct(string $description, BenefitDiscordCreateProperties $properties, ?array $metadata = null, ?string $organizationId = null, string $type = 'discord') + public function __construct(string $description, BenefitDiscordCreateProperties $properties, ?array $metadata = null, ?string $organizationId = null, ?BenefitVisibility $visibility = null, string $type = 'discord') { $this->description = $description; $this->properties = $properties; $this->metadata = $metadata; $this->organizationId = $organizationId; + $this->visibility = $visibility; $this->type = $type; } } \ No newline at end of file diff --git a/src/Models/Components/BenefitDiscordSubscriber.php b/src/Models/Components/BenefitDiscordSubscriber.php index 3777aff7..91420de4 100644 --- a/src/Models/Components/BenefitDiscordSubscriber.php +++ b/src/Models/Components/BenefitDiscordSubscriber.php @@ -52,21 +52,20 @@ class BenefitDiscordSubscriber public bool $deletable; /** - * The ID of the organization owning the benefit. + * Whether the benefit is deleted. * - * @var string $organizationId + * @var bool $isDeleted */ - #[\Speakeasy\Serializer\Annotation\SerializedName('organization_id')] - public string $organizationId; + #[\Speakeasy\Serializer\Annotation\SerializedName('is_deleted')] + public bool $isDeleted; /** - * $metadata + * The ID of the organization owning the benefit. * - * @var array $metadata + * @var string $organizationId */ - #[\Speakeasy\Serializer\Annotation\SerializedName('metadata')] - #[\Speakeasy\Serializer\Annotation\Type('array')] - public array $metadata; + #[\Speakeasy\Serializer\Annotation\SerializedName('organization_id')] + public string $organizationId; /** * @@ -107,22 +106,22 @@ class BenefitDiscordSubscriber * @param string $description * @param bool $selectable * @param bool $deletable + * @param bool $isDeleted * @param string $organizationId - * @param array $metadata * @param \Polar\Models\Components\BenefitSubscriberOrganization $organization * @param \Polar\Models\Components\BenefitDiscordSubscriberProperties $properties * @param ?\DateTime $modifiedAt * @phpstan-pure */ - public function __construct(string $id, \DateTime $createdAt, string $description, bool $selectable, bool $deletable, string $organizationId, array $metadata, BenefitSubscriberOrganization $organization, BenefitDiscordSubscriberProperties $properties, ?\DateTime $modifiedAt = null, string $type = 'discord') + public function __construct(string $id, \DateTime $createdAt, string $description, bool $selectable, bool $deletable, bool $isDeleted, string $organizationId, BenefitSubscriberOrganization $organization, BenefitDiscordSubscriberProperties $properties, ?\DateTime $modifiedAt = null, string $type = 'discord') { $this->id = $id; $this->createdAt = $createdAt; $this->description = $description; $this->selectable = $selectable; $this->deletable = $deletable; + $this->isDeleted = $isDeleted; $this->organizationId = $organizationId; - $this->metadata = $metadata; $this->organization = $organization; $this->properties = $properties; $this->modifiedAt = $modifiedAt; diff --git a/src/Models/Components/BenefitDownloadables.php b/src/Models/Components/BenefitDownloadables.php index b4d00320..e0ed715b 100644 --- a/src/Models/Components/BenefitDownloadables.php +++ b/src/Models/Components/BenefitDownloadables.php @@ -51,6 +51,14 @@ class BenefitDownloadables #[\Speakeasy\Serializer\Annotation\SerializedName('deletable')] public bool $deletable; + /** + * Whether the benefit is deleted. + * + * @var bool $isDeleted + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('is_deleted')] + public bool $isDeleted; + /** * The ID of the organization owning the benefit. * @@ -68,6 +76,14 @@ class BenefitDownloadables #[\Speakeasy\Serializer\Annotation\Type('array')] public array $metadata; + /** + * + * @var \Polar\Models\Components\BenefitVisibility $visibility + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('visibility')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\BenefitVisibility')] + public BenefitVisibility $visibility; + /** * * @var \Polar\Models\Components\BenefitDownloadablesProperties $properties @@ -76,6 +92,13 @@ class BenefitDownloadables #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\BenefitDownloadablesProperties')] public BenefitDownloadablesProperties $properties; + /** + * + * @var bool $visibilityConfigurable + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('visibility_configurable')] + public bool $visibilityConfigurable; + /** * Last modification timestamp of the object. * @@ -98,22 +121,28 @@ class BenefitDownloadables * @param string $description * @param bool $selectable * @param bool $deletable + * @param bool $isDeleted * @param string $organizationId * @param array $metadata + * @param \Polar\Models\Components\BenefitVisibility $visibility * @param \Polar\Models\Components\BenefitDownloadablesProperties $properties + * @param bool $visibilityConfigurable * @param ?\DateTime $modifiedAt * @phpstan-pure */ - public function __construct(string $id, \DateTime $createdAt, string $description, bool $selectable, bool $deletable, string $organizationId, array $metadata, BenefitDownloadablesProperties $properties, ?\DateTime $modifiedAt = null, string $type = 'downloadables') + public function __construct(string $id, \DateTime $createdAt, string $description, bool $selectable, bool $deletable, bool $isDeleted, string $organizationId, array $metadata, BenefitVisibility $visibility, BenefitDownloadablesProperties $properties, bool $visibilityConfigurable, ?\DateTime $modifiedAt = null, string $type = 'downloadables') { $this->id = $id; $this->createdAt = $createdAt; $this->description = $description; $this->selectable = $selectable; $this->deletable = $deletable; + $this->isDeleted = $isDeleted; $this->organizationId = $organizationId; $this->metadata = $metadata; + $this->visibility = $visibility; $this->properties = $properties; + $this->visibilityConfigurable = $visibilityConfigurable; $this->modifiedAt = $modifiedAt; $this->type = $type; } diff --git a/src/Models/Components/BenefitDownloadablesCreate.php b/src/Models/Components/BenefitDownloadablesCreate.php index dd1be2a4..c5307332 100644 --- a/src/Models/Components/BenefitDownloadablesCreate.php +++ b/src/Models/Components/BenefitDownloadablesCreate.php @@ -57,6 +57,16 @@ class BenefitDownloadablesCreate #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public ?string $organizationId = null; + /** + * The visibility of the benefit in the customer portal. + * + * @var ?\Polar\Models\Components\BenefitVisibility $visibility + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('visibility')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\BenefitVisibility|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?BenefitVisibility $visibility = null; + /** * * @var string $type @@ -70,14 +80,16 @@ class BenefitDownloadablesCreate * @param \Polar\Models\Components\BenefitDownloadablesCreateProperties $properties * @param ?array $metadata * @param ?string $organizationId + * @param ?\Polar\Models\Components\BenefitVisibility $visibility * @phpstan-pure */ - public function __construct(string $description, BenefitDownloadablesCreateProperties $properties, ?array $metadata = null, ?string $organizationId = null, string $type = 'downloadables') + public function __construct(string $description, BenefitDownloadablesCreateProperties $properties, ?array $metadata = null, ?string $organizationId = null, ?BenefitVisibility $visibility = null, string $type = 'downloadables') { $this->description = $description; $this->properties = $properties; $this->metadata = $metadata; $this->organizationId = $organizationId; + $this->visibility = $visibility; $this->type = $type; } } \ No newline at end of file diff --git a/src/Models/Components/BenefitDownloadablesSubscriber.php b/src/Models/Components/BenefitDownloadablesSubscriber.php index dbe989ba..aebaff05 100644 --- a/src/Models/Components/BenefitDownloadablesSubscriber.php +++ b/src/Models/Components/BenefitDownloadablesSubscriber.php @@ -52,21 +52,20 @@ class BenefitDownloadablesSubscriber public bool $deletable; /** - * The ID of the organization owning the benefit. + * Whether the benefit is deleted. * - * @var string $organizationId + * @var bool $isDeleted */ - #[\Speakeasy\Serializer\Annotation\SerializedName('organization_id')] - public string $organizationId; + #[\Speakeasy\Serializer\Annotation\SerializedName('is_deleted')] + public bool $isDeleted; /** - * $metadata + * The ID of the organization owning the benefit. * - * @var array $metadata + * @var string $organizationId */ - #[\Speakeasy\Serializer\Annotation\SerializedName('metadata')] - #[\Speakeasy\Serializer\Annotation\Type('array')] - public array $metadata; + #[\Speakeasy\Serializer\Annotation\SerializedName('organization_id')] + public string $organizationId; /** * @@ -106,22 +105,22 @@ class BenefitDownloadablesSubscriber * @param string $description * @param bool $selectable * @param bool $deletable + * @param bool $isDeleted * @param string $organizationId - * @param array $metadata * @param \Polar\Models\Components\BenefitSubscriberOrganization $organization * @param \Polar\Models\Components\BenefitDownloadablesSubscriberProperties $properties * @param ?\DateTime $modifiedAt * @phpstan-pure */ - public function __construct(string $id, \DateTime $createdAt, string $description, bool $selectable, bool $deletable, string $organizationId, array $metadata, BenefitSubscriberOrganization $organization, BenefitDownloadablesSubscriberProperties $properties, ?\DateTime $modifiedAt = null, string $type = 'downloadables') + public function __construct(string $id, \DateTime $createdAt, string $description, bool $selectable, bool $deletable, bool $isDeleted, string $organizationId, BenefitSubscriberOrganization $organization, BenefitDownloadablesSubscriberProperties $properties, ?\DateTime $modifiedAt = null, string $type = 'downloadables') { $this->id = $id; $this->createdAt = $createdAt; $this->description = $description; $this->selectable = $selectable; $this->deletable = $deletable; + $this->isDeleted = $isDeleted; $this->organizationId = $organizationId; - $this->metadata = $metadata; $this->organization = $organization; $this->properties = $properties; $this->modifiedAt = $modifiedAt; diff --git a/src/Models/Components/BenefitFeatureFlag.php b/src/Models/Components/BenefitFeatureFlag.php index a6db979c..f4095bae 100644 --- a/src/Models/Components/BenefitFeatureFlag.php +++ b/src/Models/Components/BenefitFeatureFlag.php @@ -58,6 +58,14 @@ class BenefitFeatureFlag #[\Speakeasy\Serializer\Annotation\SerializedName('deletable')] public bool $deletable; + /** + * Whether the benefit is deleted. + * + * @var bool $isDeleted + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('is_deleted')] + public bool $isDeleted; + /** * The ID of the organization owning the benefit. * @@ -75,6 +83,14 @@ class BenefitFeatureFlag #[\Speakeasy\Serializer\Annotation\Type('array')] public array $metadata; + /** + * + * @var \Polar\Models\Components\BenefitVisibility $visibility + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('visibility')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\BenefitVisibility')] + public BenefitVisibility $visibility; + /** * Properties for a benefit of type `feature_flag`. * @@ -84,6 +100,13 @@ class BenefitFeatureFlag #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\BenefitFeatureFlagProperties')] public BenefitFeatureFlagProperties $properties; + /** + * + * @var bool $visibilityConfigurable + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('visibility_configurable')] + public bool $visibilityConfigurable; + /** * Last modification timestamp of the object. * @@ -106,22 +129,28 @@ class BenefitFeatureFlag * @param string $description * @param bool $selectable * @param bool $deletable + * @param bool $isDeleted * @param string $organizationId * @param array $metadata + * @param \Polar\Models\Components\BenefitVisibility $visibility * @param \Polar\Models\Components\BenefitFeatureFlagProperties $properties + * @param bool $visibilityConfigurable * @param ?\DateTime $modifiedAt * @phpstan-pure */ - public function __construct(string $id, \DateTime $createdAt, string $description, bool $selectable, bool $deletable, string $organizationId, array $metadata, BenefitFeatureFlagProperties $properties, ?\DateTime $modifiedAt = null, string $type = 'feature_flag') + public function __construct(string $id, \DateTime $createdAt, string $description, bool $selectable, bool $deletable, bool $isDeleted, string $organizationId, array $metadata, BenefitVisibility $visibility, BenefitFeatureFlagProperties $properties, bool $visibilityConfigurable, ?\DateTime $modifiedAt = null, string $type = 'feature_flag') { $this->id = $id; $this->createdAt = $createdAt; $this->description = $description; $this->selectable = $selectable; $this->deletable = $deletable; + $this->isDeleted = $isDeleted; $this->organizationId = $organizationId; $this->metadata = $metadata; + $this->visibility = $visibility; $this->properties = $properties; + $this->visibilityConfigurable = $visibilityConfigurable; $this->modifiedAt = $modifiedAt; $this->type = $type; } diff --git a/src/Models/Components/BenefitFeatureFlagCreate.php b/src/Models/Components/BenefitFeatureFlagCreate.php index 8816454f..27b1cc60 100644 --- a/src/Models/Components/BenefitFeatureFlagCreate.php +++ b/src/Models/Components/BenefitFeatureFlagCreate.php @@ -59,6 +59,16 @@ class BenefitFeatureFlagCreate #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public ?string $organizationId = null; + /** + * The visibility of the benefit in the customer portal. + * + * @var ?\Polar\Models\Components\BenefitVisibility $visibility + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('visibility')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\BenefitVisibility|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?BenefitVisibility $visibility = null; + /** * * @var string $type @@ -72,14 +82,16 @@ class BenefitFeatureFlagCreate * @param \Polar\Models\Components\BenefitFeatureFlagCreateProperties $properties * @param ?array $metadata * @param ?string $organizationId + * @param ?\Polar\Models\Components\BenefitVisibility $visibility * @phpstan-pure */ - public function __construct(string $description, BenefitFeatureFlagCreateProperties $properties, ?array $metadata = null, ?string $organizationId = null, string $type = 'feature_flag') + public function __construct(string $description, BenefitFeatureFlagCreateProperties $properties, ?array $metadata = null, ?string $organizationId = null, ?BenefitVisibility $visibility = null, string $type = 'feature_flag') { $this->description = $description; $this->properties = $properties; $this->metadata = $metadata; $this->organizationId = $organizationId; + $this->visibility = $visibility; $this->type = $type; } } \ No newline at end of file diff --git a/src/Models/Components/BenefitFeatureFlagSubscriber.php b/src/Models/Components/BenefitFeatureFlagSubscriber.php index d10336e5..82edcc35 100644 --- a/src/Models/Components/BenefitFeatureFlagSubscriber.php +++ b/src/Models/Components/BenefitFeatureFlagSubscriber.php @@ -52,21 +52,20 @@ class BenefitFeatureFlagSubscriber public bool $deletable; /** - * The ID of the organization owning the benefit. + * Whether the benefit is deleted. * - * @var string $organizationId + * @var bool $isDeleted */ - #[\Speakeasy\Serializer\Annotation\SerializedName('organization_id')] - public string $organizationId; + #[\Speakeasy\Serializer\Annotation\SerializedName('is_deleted')] + public bool $isDeleted; /** - * $metadata + * The ID of the organization owning the benefit. * - * @var array $metadata + * @var string $organizationId */ - #[\Speakeasy\Serializer\Annotation\SerializedName('metadata')] - #[\Speakeasy\Serializer\Annotation\Type('array')] - public array $metadata; + #[\Speakeasy\Serializer\Annotation\SerializedName('organization_id')] + public string $organizationId; /** * @@ -107,22 +106,22 @@ class BenefitFeatureFlagSubscriber * @param string $description * @param bool $selectable * @param bool $deletable + * @param bool $isDeleted * @param string $organizationId - * @param array $metadata * @param \Polar\Models\Components\BenefitSubscriberOrganization $organization * @param \Polar\Models\Components\BenefitFeatureFlagSubscriberProperties $properties * @param ?\DateTime $modifiedAt * @phpstan-pure */ - public function __construct(string $id, \DateTime $createdAt, string $description, bool $selectable, bool $deletable, string $organizationId, array $metadata, BenefitSubscriberOrganization $organization, BenefitFeatureFlagSubscriberProperties $properties, ?\DateTime $modifiedAt = null, string $type = 'feature_flag') + public function __construct(string $id, \DateTime $createdAt, string $description, bool $selectable, bool $deletable, bool $isDeleted, string $organizationId, BenefitSubscriberOrganization $organization, BenefitFeatureFlagSubscriberProperties $properties, ?\DateTime $modifiedAt = null, string $type = 'feature_flag') { $this->id = $id; $this->createdAt = $createdAt; $this->description = $description; $this->selectable = $selectable; $this->deletable = $deletable; + $this->isDeleted = $isDeleted; $this->organizationId = $organizationId; - $this->metadata = $metadata; $this->organization = $organization; $this->properties = $properties; $this->modifiedAt = $modifiedAt; diff --git a/src/Models/Components/BenefitFeatureFlagUpdate.php b/src/Models/Components/BenefitFeatureFlagUpdate.php index c8a67010..cde5957f 100644 --- a/src/Models/Components/BenefitFeatureFlagUpdate.php +++ b/src/Models/Components/BenefitFeatureFlagUpdate.php @@ -41,6 +41,16 @@ class BenefitFeatureFlagUpdate #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public ?string $description = null; + /** + * The visibility of the benefit in the customer portal. + * + * @var ?\Polar\Models\Components\BenefitVisibility $visibility + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('visibility')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\BenefitVisibility|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?BenefitVisibility $visibility = null; + /** * * @var ?\Polar\Models\Components\BenefitFeatureFlagProperties $properties @@ -61,13 +71,15 @@ class BenefitFeatureFlagUpdate * @param string $type * @param ?array $metadata * @param ?string $description + * @param ?\Polar\Models\Components\BenefitVisibility $visibility * @param ?\Polar\Models\Components\BenefitFeatureFlagProperties $properties * @phpstan-pure */ - public function __construct(?array $metadata = null, ?string $description = null, ?BenefitFeatureFlagProperties $properties = null, string $type = 'feature_flag') + public function __construct(?array $metadata = null, ?string $description = null, ?BenefitVisibility $visibility = null, ?BenefitFeatureFlagProperties $properties = null, string $type = 'feature_flag') { $this->metadata = $metadata; $this->description = $description; + $this->visibility = $visibility; $this->properties = $properties; $this->type = $type; } diff --git a/src/Models/Components/BenefitGitHubRepository.php b/src/Models/Components/BenefitGitHubRepository.php index 117625c0..ab0578b9 100644 --- a/src/Models/Components/BenefitGitHubRepository.php +++ b/src/Models/Components/BenefitGitHubRepository.php @@ -57,6 +57,14 @@ class BenefitGitHubRepository #[\Speakeasy\Serializer\Annotation\SerializedName('deletable')] public bool $deletable; + /** + * Whether the benefit is deleted. + * + * @var bool $isDeleted + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('is_deleted')] + public bool $isDeleted; + /** * The ID of the organization owning the benefit. * @@ -74,6 +82,14 @@ class BenefitGitHubRepository #[\Speakeasy\Serializer\Annotation\Type('array')] public array $metadata; + /** + * + * @var \Polar\Models\Components\BenefitVisibility $visibility + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('visibility')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\BenefitVisibility')] + public BenefitVisibility $visibility; + /** * Properties for a benefit of type `github_repository`. * @@ -83,6 +99,13 @@ class BenefitGitHubRepository #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\BenefitGitHubRepositoryProperties')] public BenefitGitHubRepositoryProperties $properties; + /** + * + * @var bool $visibilityConfigurable + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('visibility_configurable')] + public bool $visibilityConfigurable; + /** * Last modification timestamp of the object. * @@ -105,22 +128,28 @@ class BenefitGitHubRepository * @param string $description * @param bool $selectable * @param bool $deletable + * @param bool $isDeleted * @param string $organizationId * @param array $metadata + * @param \Polar\Models\Components\BenefitVisibility $visibility * @param \Polar\Models\Components\BenefitGitHubRepositoryProperties $properties + * @param bool $visibilityConfigurable * @param ?\DateTime $modifiedAt * @phpstan-pure */ - public function __construct(string $id, \DateTime $createdAt, string $description, bool $selectable, bool $deletable, string $organizationId, array $metadata, BenefitGitHubRepositoryProperties $properties, ?\DateTime $modifiedAt = null, string $type = 'github_repository') + public function __construct(string $id, \DateTime $createdAt, string $description, bool $selectable, bool $deletable, bool $isDeleted, string $organizationId, array $metadata, BenefitVisibility $visibility, BenefitGitHubRepositoryProperties $properties, bool $visibilityConfigurable, ?\DateTime $modifiedAt = null, string $type = 'github_repository') { $this->id = $id; $this->createdAt = $createdAt; $this->description = $description; $this->selectable = $selectable; $this->deletable = $deletable; + $this->isDeleted = $isDeleted; $this->organizationId = $organizationId; $this->metadata = $metadata; + $this->visibility = $visibility; $this->properties = $properties; + $this->visibilityConfigurable = $visibilityConfigurable; $this->modifiedAt = $modifiedAt; $this->type = $type; } diff --git a/src/Models/Components/BenefitGitHubRepositoryCreate.php b/src/Models/Components/BenefitGitHubRepositoryCreate.php index ecb2efc8..6b77ede4 100644 --- a/src/Models/Components/BenefitGitHubRepositoryCreate.php +++ b/src/Models/Components/BenefitGitHubRepositoryCreate.php @@ -58,6 +58,16 @@ class BenefitGitHubRepositoryCreate #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public ?string $organizationId = null; + /** + * The visibility of the benefit in the customer portal. + * + * @var ?\Polar\Models\Components\BenefitVisibility $visibility + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('visibility')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\BenefitVisibility|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?BenefitVisibility $visibility = null; + /** * * @var string $type @@ -71,14 +81,16 @@ class BenefitGitHubRepositoryCreate * @param \Polar\Models\Components\BenefitGitHubRepositoryCreateProperties $properties * @param ?array $metadata * @param ?string $organizationId + * @param ?\Polar\Models\Components\BenefitVisibility $visibility * @phpstan-pure */ - public function __construct(string $description, BenefitGitHubRepositoryCreateProperties $properties, ?array $metadata = null, ?string $organizationId = null, string $type = 'github_repository') + public function __construct(string $description, BenefitGitHubRepositoryCreateProperties $properties, ?array $metadata = null, ?string $organizationId = null, ?BenefitVisibility $visibility = null, string $type = 'github_repository') { $this->description = $description; $this->properties = $properties; $this->metadata = $metadata; $this->organizationId = $organizationId; + $this->visibility = $visibility; $this->type = $type; } } \ No newline at end of file diff --git a/src/Models/Components/BenefitGitHubRepositorySubscriber.php b/src/Models/Components/BenefitGitHubRepositorySubscriber.php index e925b877..d1a8bfea 100644 --- a/src/Models/Components/BenefitGitHubRepositorySubscriber.php +++ b/src/Models/Components/BenefitGitHubRepositorySubscriber.php @@ -52,21 +52,20 @@ class BenefitGitHubRepositorySubscriber public bool $deletable; /** - * The ID of the organization owning the benefit. + * Whether the benefit is deleted. * - * @var string $organizationId + * @var bool $isDeleted */ - #[\Speakeasy\Serializer\Annotation\SerializedName('organization_id')] - public string $organizationId; + #[\Speakeasy\Serializer\Annotation\SerializedName('is_deleted')] + public bool $isDeleted; /** - * $metadata + * The ID of the organization owning the benefit. * - * @var array $metadata + * @var string $organizationId */ - #[\Speakeasy\Serializer\Annotation\SerializedName('metadata')] - #[\Speakeasy\Serializer\Annotation\Type('array')] - public array $metadata; + #[\Speakeasy\Serializer\Annotation\SerializedName('organization_id')] + public string $organizationId; /** * @@ -107,22 +106,22 @@ class BenefitGitHubRepositorySubscriber * @param string $description * @param bool $selectable * @param bool $deletable + * @param bool $isDeleted * @param string $organizationId - * @param array $metadata * @param \Polar\Models\Components\BenefitSubscriberOrganization $organization * @param \Polar\Models\Components\BenefitGitHubRepositorySubscriberProperties $properties * @param ?\DateTime $modifiedAt * @phpstan-pure */ - public function __construct(string $id, \DateTime $createdAt, string $description, bool $selectable, bool $deletable, string $organizationId, array $metadata, BenefitSubscriberOrganization $organization, BenefitGitHubRepositorySubscriberProperties $properties, ?\DateTime $modifiedAt = null, string $type = 'github_repository') + public function __construct(string $id, \DateTime $createdAt, string $description, bool $selectable, bool $deletable, bool $isDeleted, string $organizationId, BenefitSubscriberOrganization $organization, BenefitGitHubRepositorySubscriberProperties $properties, ?\DateTime $modifiedAt = null, string $type = 'github_repository') { $this->id = $id; $this->createdAt = $createdAt; $this->description = $description; $this->selectable = $selectable; $this->deletable = $deletable; + $this->isDeleted = $isDeleted; $this->organizationId = $organizationId; - $this->metadata = $metadata; $this->organization = $organization; $this->properties = $properties; $this->modifiedAt = $modifiedAt; diff --git a/src/Models/Components/BenefitGrant.php b/src/Models/Components/BenefitGrant.php index 6bfe2678..a4c9e8d0 100644 --- a/src/Models/Components/BenefitGrant.php +++ b/src/Models/Components/BenefitGrant.php @@ -70,20 +70,20 @@ class BenefitGrant /** * - * @var \Polar\Models\Components\BenefitCustom|\Polar\Models\Components\BenefitDiscord|\Polar\Models\Components\BenefitGitHubRepository|\Polar\Models\Components\BenefitDownloadables|\Polar\Models\Components\BenefitLicenseKeys|\Polar\Models\Components\BenefitMeterCredit|\Polar\Models\Components\BenefitFeatureFlag $benefit + * @var \Polar\Models\Components\BenefitCustom|\Polar\Models\Components\BenefitDiscord|\Polar\Models\Components\BenefitGitHubRepository|\Polar\Models\Components\BenefitDownloadables|\Polar\Models\Components\BenefitLicenseKeys|\Polar\Models\Components\BenefitMeterCredit|\Polar\Models\Components\BenefitFeatureFlag|\Polar\Models\Components\BenefitSlackSharedChannel $benefit */ #[\Speakeasy\Serializer\Annotation\SerializedName('benefit')] - #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\BenefitCustom|\Polar\Models\Components\BenefitDiscord|\Polar\Models\Components\BenefitGitHubRepository|\Polar\Models\Components\BenefitDownloadables|\Polar\Models\Components\BenefitLicenseKeys|\Polar\Models\Components\BenefitMeterCredit|\Polar\Models\Components\BenefitFeatureFlag')] - #[\Speakeasy\Serializer\Annotation\UnionDiscriminator(field: 'type', map: ['custom' => '\Polar\Models\Components\BenefitCustom', 'discord' => '\Polar\Models\Components\BenefitDiscord', 'downloadables' => '\Polar\Models\Components\BenefitDownloadables', 'feature_flag' => '\Polar\Models\Components\BenefitFeatureFlag', 'github_repository' => '\Polar\Models\Components\BenefitGitHubRepository', 'license_keys' => '\Polar\Models\Components\BenefitLicenseKeys', 'meter_credit' => '\Polar\Models\Components\BenefitMeterCredit'])] - public BenefitCustom|BenefitDiscord|BenefitGitHubRepository|BenefitDownloadables|BenefitLicenseKeys|BenefitMeterCredit|BenefitFeatureFlag $benefit; + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\BenefitCustom|\Polar\Models\Components\BenefitDiscord|\Polar\Models\Components\BenefitGitHubRepository|\Polar\Models\Components\BenefitDownloadables|\Polar\Models\Components\BenefitLicenseKeys|\Polar\Models\Components\BenefitMeterCredit|\Polar\Models\Components\BenefitFeatureFlag|\Polar\Models\Components\BenefitSlackSharedChannel')] + #[\Speakeasy\Serializer\Annotation\UnionDiscriminator(field: 'type', map: ['custom' => '\Polar\Models\Components\BenefitCustom', 'discord' => '\Polar\Models\Components\BenefitDiscord', 'downloadables' => '\Polar\Models\Components\BenefitDownloadables', 'feature_flag' => '\Polar\Models\Components\BenefitFeatureFlag', 'github_repository' => '\Polar\Models\Components\BenefitGitHubRepository', 'license_keys' => '\Polar\Models\Components\BenefitLicenseKeys', 'meter_credit' => '\Polar\Models\Components\BenefitMeterCredit', 'slack_shared_channel' => '\Polar\Models\Components\BenefitSlackSharedChannel'])] + public BenefitCustom|BenefitDiscord|BenefitGitHubRepository|BenefitDownloadables|BenefitLicenseKeys|BenefitMeterCredit|BenefitFeatureFlag|BenefitSlackSharedChannel $benefit; /** * - * @var \Polar\Models\Components\BenefitGrantDiscordProperties|\Polar\Models\Components\BenefitGrantGitHubRepositoryProperties|\Polar\Models\Components\BenefitGrantDownloadablesProperties|\Polar\Models\Components\BenefitGrantLicenseKeysProperties|\Polar\Models\Components\BenefitGrantCustomProperties|\Polar\Models\Components\BenefitGrantFeatureFlagProperties $properties + * @var \Polar\Models\Components\BenefitGrantDiscordProperties|\Polar\Models\Components\BenefitGrantGitHubRepositoryProperties|\Polar\Models\Components\BenefitGrantDownloadablesProperties|\Polar\Models\Components\BenefitGrantLicenseKeysProperties|\Polar\Models\Components\BenefitGrantCustomProperties|\Polar\Models\Components\BenefitGrantFeatureFlagProperties|\Polar\Models\Components\BenefitGrantSlackSharedChannelProperties $properties */ #[\Speakeasy\Serializer\Annotation\SerializedName('properties')] - #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\BenefitGrantDiscordProperties|\Polar\Models\Components\BenefitGrantGitHubRepositoryProperties|\Polar\Models\Components\BenefitGrantDownloadablesProperties|\Polar\Models\Components\BenefitGrantLicenseKeysProperties|\Polar\Models\Components\BenefitGrantCustomProperties|\Polar\Models\Components\BenefitGrantFeatureFlagProperties')] - public BenefitGrantDiscordProperties|BenefitGrantGitHubRepositoryProperties|BenefitGrantDownloadablesProperties|BenefitGrantLicenseKeysProperties|BenefitGrantCustomProperties|BenefitGrantFeatureFlagProperties $properties; + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\BenefitGrantDiscordProperties|\Polar\Models\Components\BenefitGrantGitHubRepositoryProperties|\Polar\Models\Components\BenefitGrantDownloadablesProperties|\Polar\Models\Components\BenefitGrantLicenseKeysProperties|\Polar\Models\Components\BenefitGrantCustomProperties|\Polar\Models\Components\BenefitGrantFeatureFlagProperties|\Polar\Models\Components\BenefitGrantSlackSharedChannelProperties')] + public BenefitGrantDiscordProperties|BenefitGrantGitHubRepositoryProperties|BenefitGrantDownloadablesProperties|BenefitGrantLicenseKeysProperties|BenefitGrantCustomProperties|BenefitGrantFeatureFlagProperties|BenefitGrantSlackSharedChannelProperties $properties; /** * Last modification timestamp of the object. @@ -163,8 +163,8 @@ class BenefitGrant * @param string $customerId * @param string $benefitId * @param \Polar\Models\Components\CustomerIndividual|\Polar\Models\Components\CustomerTeam $customer - * @param \Polar\Models\Components\BenefitCustom|\Polar\Models\Components\BenefitDiscord|\Polar\Models\Components\BenefitGitHubRepository|\Polar\Models\Components\BenefitDownloadables|\Polar\Models\Components\BenefitLicenseKeys|\Polar\Models\Components\BenefitMeterCredit|\Polar\Models\Components\BenefitFeatureFlag $benefit - * @param \Polar\Models\Components\BenefitGrantDiscordProperties|\Polar\Models\Components\BenefitGrantGitHubRepositoryProperties|\Polar\Models\Components\BenefitGrantDownloadablesProperties|\Polar\Models\Components\BenefitGrantLicenseKeysProperties|\Polar\Models\Components\BenefitGrantCustomProperties|\Polar\Models\Components\BenefitGrantFeatureFlagProperties $properties + * @param \Polar\Models\Components\BenefitCustom|\Polar\Models\Components\BenefitDiscord|\Polar\Models\Components\BenefitGitHubRepository|\Polar\Models\Components\BenefitDownloadables|\Polar\Models\Components\BenefitLicenseKeys|\Polar\Models\Components\BenefitMeterCredit|\Polar\Models\Components\BenefitFeatureFlag|\Polar\Models\Components\BenefitSlackSharedChannel $benefit + * @param \Polar\Models\Components\BenefitGrantDiscordProperties|\Polar\Models\Components\BenefitGrantGitHubRepositoryProperties|\Polar\Models\Components\BenefitGrantDownloadablesProperties|\Polar\Models\Components\BenefitGrantLicenseKeysProperties|\Polar\Models\Components\BenefitGrantCustomProperties|\Polar\Models\Components\BenefitGrantFeatureFlagProperties|\Polar\Models\Components\BenefitGrantSlackSharedChannelProperties $properties * @param ?\DateTime $modifiedAt * @param ?string $subscriptionId * @param ?string $orderId @@ -175,7 +175,7 @@ class BenefitGrant * @param ?\Polar\Models\Components\Member $member * @phpstan-pure */ - public function __construct(\DateTime $createdAt, string $id, bool $isGranted, bool $isRevoked, string $customerId, string $benefitId, CustomerIndividual|CustomerTeam $customer, BenefitCustom|BenefitDiscord|BenefitGitHubRepository|BenefitDownloadables|BenefitLicenseKeys|BenefitMeterCredit|BenefitFeatureFlag $benefit, BenefitGrantDiscordProperties|BenefitGrantGitHubRepositoryProperties|BenefitGrantDownloadablesProperties|BenefitGrantLicenseKeysProperties|BenefitGrantCustomProperties|BenefitGrantFeatureFlagProperties $properties, ?\DateTime $modifiedAt = null, ?string $subscriptionId = null, ?string $orderId = null, ?\DateTime $grantedAt = null, ?\DateTime $revokedAt = null, ?string $memberId = null, ?BenefitGrantError $error = null, ?Member $member = null) + public function __construct(\DateTime $createdAt, string $id, bool $isGranted, bool $isRevoked, string $customerId, string $benefitId, CustomerIndividual|CustomerTeam $customer, BenefitCustom|BenefitDiscord|BenefitGitHubRepository|BenefitDownloadables|BenefitLicenseKeys|BenefitMeterCredit|BenefitFeatureFlag|BenefitSlackSharedChannel $benefit, BenefitGrantDiscordProperties|BenefitGrantGitHubRepositoryProperties|BenefitGrantDownloadablesProperties|BenefitGrantLicenseKeysProperties|BenefitGrantCustomProperties|BenefitGrantFeatureFlagProperties|BenefitGrantSlackSharedChannelProperties $properties, ?\DateTime $modifiedAt = null, ?string $subscriptionId = null, ?string $orderId = null, ?\DateTime $grantedAt = null, ?\DateTime $revokedAt = null, ?string $memberId = null, ?BenefitGrantError $error = null, ?Member $member = null) { $this->createdAt = $createdAt; $this->id = $id; diff --git a/src/Models/Components/BenefitGrantSlackSharedChannelProperties.php b/src/Models/Components/BenefitGrantSlackSharedChannelProperties.php new file mode 100644 index 00000000..edeb89d0 --- /dev/null +++ b/src/Models/Components/BenefitGrantSlackSharedChannelProperties.php @@ -0,0 +1,80 @@ +invitedEmail = $invitedEmail; + $this->channelId = $channelId; + $this->channelName = $channelName; + $this->inviteId = $inviteId; + $this->inviteUrl = $inviteUrl; + $this->connectedTeamId = $connectedTeamId; + } +} \ No newline at end of file diff --git a/src/Models/Components/BenefitGrantSlackSharedChannelWebhook.php b/src/Models/Components/BenefitGrantSlackSharedChannelWebhook.php new file mode 100644 index 00000000..1e9d09c0 --- /dev/null +++ b/src/Models/Components/BenefitGrantSlackSharedChannelWebhook.php @@ -0,0 +1,208 @@ + '\Polar\Models\Components\CustomerIndividual', 'team' => '\Polar\Models\Components\CustomerTeam'])] + public CustomerIndividual|CustomerTeam $customer; + + /** + * + * @var \Polar\Models\Components\BenefitSlackSharedChannel $benefit + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('benefit')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\BenefitSlackSharedChannel')] + public BenefitSlackSharedChannel $benefit; + + /** + * + * @var \Polar\Models\Components\BenefitGrantSlackSharedChannelProperties $properties + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('properties')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\BenefitGrantSlackSharedChannelProperties')] + public BenefitGrantSlackSharedChannelProperties $properties; + + /** + * Last modification timestamp of the object. + * + * @var ?\DateTime $modifiedAt + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('modified_at')] + public ?\DateTime $modifiedAt; + + /** + * The ID of the subscription that granted this benefit. + * + * @var ?string $subscriptionId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('subscription_id')] + public ?string $subscriptionId; + + /** + * The ID of the order that granted this benefit. + * + * @var ?string $orderId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('order_id')] + public ?string $orderId; + + /** + * The timestamp when the benefit was granted. If `None`, the benefit is not granted. + * + * @var ?\DateTime $grantedAt + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('granted_at')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?\DateTime $grantedAt = null; + + /** + * The timestamp when the benefit was revoked. If `None`, the benefit is not revoked. + * + * @var ?\DateTime $revokedAt + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('revoked_at')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?\DateTime $revokedAt = null; + + /** + * The ID of the member concerned by this grant. + * + * @var ?string $memberId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('member_id')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $memberId = null; + + /** + * The error information if the benefit grant failed with an unrecoverable error. + * + * @var ?\Polar\Models\Components\BenefitGrantError $error + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('error')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\BenefitGrantError|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?BenefitGrantError $error = null; + + /** + * + * @var ?\Polar\Models\Components\Member $member + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('member')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\Member|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?Member $member = null; + + /** + * + * @var ?\Polar\Models\Components\BenefitGrantSlackSharedChannelProperties $previousProperties + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('previous_properties')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\BenefitGrantSlackSharedChannelProperties|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?BenefitGrantSlackSharedChannelProperties $previousProperties = null; + + /** + * @param \DateTime $createdAt + * @param string $id + * @param bool $isGranted + * @param bool $isRevoked + * @param string $customerId + * @param string $benefitId + * @param \Polar\Models\Components\CustomerIndividual|\Polar\Models\Components\CustomerTeam $customer + * @param \Polar\Models\Components\BenefitSlackSharedChannel $benefit + * @param \Polar\Models\Components\BenefitGrantSlackSharedChannelProperties $properties + * @param ?\DateTime $modifiedAt + * @param ?string $subscriptionId + * @param ?string $orderId + * @param ?\DateTime $grantedAt + * @param ?\DateTime $revokedAt + * @param ?string $memberId + * @param ?\Polar\Models\Components\BenefitGrantError $error + * @param ?\Polar\Models\Components\Member $member + * @param ?\Polar\Models\Components\BenefitGrantSlackSharedChannelProperties $previousProperties + * @phpstan-pure + */ + public function __construct(\DateTime $createdAt, string $id, bool $isGranted, bool $isRevoked, string $customerId, string $benefitId, CustomerIndividual|CustomerTeam $customer, BenefitSlackSharedChannel $benefit, BenefitGrantSlackSharedChannelProperties $properties, ?\DateTime $modifiedAt = null, ?string $subscriptionId = null, ?string $orderId = null, ?\DateTime $grantedAt = null, ?\DateTime $revokedAt = null, ?string $memberId = null, ?BenefitGrantError $error = null, ?Member $member = null, ?BenefitGrantSlackSharedChannelProperties $previousProperties = null) + { + $this->createdAt = $createdAt; + $this->id = $id; + $this->isGranted = $isGranted; + $this->isRevoked = $isRevoked; + $this->customerId = $customerId; + $this->benefitId = $benefitId; + $this->customer = $customer; + $this->benefit = $benefit; + $this->properties = $properties; + $this->modifiedAt = $modifiedAt; + $this->subscriptionId = $subscriptionId; + $this->orderId = $orderId; + $this->grantedAt = $grantedAt; + $this->revokedAt = $revokedAt; + $this->memberId = $memberId; + $this->error = $error; + $this->member = $member; + $this->previousProperties = $previousProperties; + } +} \ No newline at end of file diff --git a/src/Models/Components/BenefitLicenseKeys.php b/src/Models/Components/BenefitLicenseKeys.php index a2f8305b..8b9c9c65 100644 --- a/src/Models/Components/BenefitLicenseKeys.php +++ b/src/Models/Components/BenefitLicenseKeys.php @@ -51,6 +51,14 @@ class BenefitLicenseKeys #[\Speakeasy\Serializer\Annotation\SerializedName('deletable')] public bool $deletable; + /** + * Whether the benefit is deleted. + * + * @var bool $isDeleted + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('is_deleted')] + public bool $isDeleted; + /** * The ID of the organization owning the benefit. * @@ -68,6 +76,14 @@ class BenefitLicenseKeys #[\Speakeasy\Serializer\Annotation\Type('array')] public array $metadata; + /** + * + * @var \Polar\Models\Components\BenefitVisibility $visibility + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('visibility')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\BenefitVisibility')] + public BenefitVisibility $visibility; + /** * * @var \Polar\Models\Components\BenefitLicenseKeysProperties $properties @@ -76,6 +92,13 @@ class BenefitLicenseKeys #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\BenefitLicenseKeysProperties')] public BenefitLicenseKeysProperties $properties; + /** + * + * @var bool $visibilityConfigurable + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('visibility_configurable')] + public bool $visibilityConfigurable; + /** * Last modification timestamp of the object. * @@ -98,22 +121,28 @@ class BenefitLicenseKeys * @param string $description * @param bool $selectable * @param bool $deletable + * @param bool $isDeleted * @param string $organizationId * @param array $metadata + * @param \Polar\Models\Components\BenefitVisibility $visibility * @param \Polar\Models\Components\BenefitLicenseKeysProperties $properties + * @param bool $visibilityConfigurable * @param ?\DateTime $modifiedAt * @phpstan-pure */ - public function __construct(string $id, \DateTime $createdAt, string $description, bool $selectable, bool $deletable, string $organizationId, array $metadata, BenefitLicenseKeysProperties $properties, ?\DateTime $modifiedAt = null, string $type = 'license_keys') + public function __construct(string $id, \DateTime $createdAt, string $description, bool $selectable, bool $deletable, bool $isDeleted, string $organizationId, array $metadata, BenefitVisibility $visibility, BenefitLicenseKeysProperties $properties, bool $visibilityConfigurable, ?\DateTime $modifiedAt = null, string $type = 'license_keys') { $this->id = $id; $this->createdAt = $createdAt; $this->description = $description; $this->selectable = $selectable; $this->deletable = $deletable; + $this->isDeleted = $isDeleted; $this->organizationId = $organizationId; $this->metadata = $metadata; + $this->visibility = $visibility; $this->properties = $properties; + $this->visibilityConfigurable = $visibilityConfigurable; $this->modifiedAt = $modifiedAt; $this->type = $type; } diff --git a/src/Models/Components/BenefitLicenseKeysCreate.php b/src/Models/Components/BenefitLicenseKeysCreate.php index fb8af515..cb4b2197 100644 --- a/src/Models/Components/BenefitLicenseKeysCreate.php +++ b/src/Models/Components/BenefitLicenseKeysCreate.php @@ -57,6 +57,16 @@ class BenefitLicenseKeysCreate #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public ?string $organizationId = null; + /** + * The visibility of the benefit in the customer portal. + * + * @var ?\Polar\Models\Components\BenefitVisibility $visibility + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('visibility')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\BenefitVisibility|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?BenefitVisibility $visibility = null; + /** * * @var string $type @@ -70,14 +80,16 @@ class BenefitLicenseKeysCreate * @param \Polar\Models\Components\BenefitLicenseKeysCreateProperties $properties * @param ?array $metadata * @param ?string $organizationId + * @param ?\Polar\Models\Components\BenefitVisibility $visibility * @phpstan-pure */ - public function __construct(string $description, BenefitLicenseKeysCreateProperties $properties, ?array $metadata = null, ?string $organizationId = null, string $type = 'license_keys') + public function __construct(string $description, BenefitLicenseKeysCreateProperties $properties, ?array $metadata = null, ?string $organizationId = null, ?BenefitVisibility $visibility = null, string $type = 'license_keys') { $this->description = $description; $this->properties = $properties; $this->metadata = $metadata; $this->organizationId = $organizationId; + $this->visibility = $visibility; $this->type = $type; } } \ No newline at end of file diff --git a/src/Models/Components/BenefitLicenseKeysSubscriber.php b/src/Models/Components/BenefitLicenseKeysSubscriber.php index 139a6227..fbb6934c 100644 --- a/src/Models/Components/BenefitLicenseKeysSubscriber.php +++ b/src/Models/Components/BenefitLicenseKeysSubscriber.php @@ -52,21 +52,20 @@ class BenefitLicenseKeysSubscriber public bool $deletable; /** - * The ID of the organization owning the benefit. + * Whether the benefit is deleted. * - * @var string $organizationId + * @var bool $isDeleted */ - #[\Speakeasy\Serializer\Annotation\SerializedName('organization_id')] - public string $organizationId; + #[\Speakeasy\Serializer\Annotation\SerializedName('is_deleted')] + public bool $isDeleted; /** - * $metadata + * The ID of the organization owning the benefit. * - * @var array $metadata + * @var string $organizationId */ - #[\Speakeasy\Serializer\Annotation\SerializedName('metadata')] - #[\Speakeasy\Serializer\Annotation\Type('array')] - public array $metadata; + #[\Speakeasy\Serializer\Annotation\SerializedName('organization_id')] + public string $organizationId; /** * @@ -106,22 +105,22 @@ class BenefitLicenseKeysSubscriber * @param string $description * @param bool $selectable * @param bool $deletable + * @param bool $isDeleted * @param string $organizationId - * @param array $metadata * @param \Polar\Models\Components\BenefitSubscriberOrganization $organization * @param \Polar\Models\Components\BenefitLicenseKeysSubscriberProperties $properties * @param ?\DateTime $modifiedAt * @phpstan-pure */ - public function __construct(string $id, \DateTime $createdAt, string $description, bool $selectable, bool $deletable, string $organizationId, array $metadata, BenefitSubscriberOrganization $organization, BenefitLicenseKeysSubscriberProperties $properties, ?\DateTime $modifiedAt = null, string $type = 'license_keys') + public function __construct(string $id, \DateTime $createdAt, string $description, bool $selectable, bool $deletable, bool $isDeleted, string $organizationId, BenefitSubscriberOrganization $organization, BenefitLicenseKeysSubscriberProperties $properties, ?\DateTime $modifiedAt = null, string $type = 'license_keys') { $this->id = $id; $this->createdAt = $createdAt; $this->description = $description; $this->selectable = $selectable; $this->deletable = $deletable; + $this->isDeleted = $isDeleted; $this->organizationId = $organizationId; - $this->metadata = $metadata; $this->organization = $organization; $this->properties = $properties; $this->modifiedAt = $modifiedAt; diff --git a/src/Models/Components/BenefitLicenseKeysUpdate.php b/src/Models/Components/BenefitLicenseKeysUpdate.php index 36f71d61..f73cb215 100644 --- a/src/Models/Components/BenefitLicenseKeysUpdate.php +++ b/src/Models/Components/BenefitLicenseKeysUpdate.php @@ -41,6 +41,16 @@ class BenefitLicenseKeysUpdate #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public ?string $description = null; + /** + * The visibility of the benefit in the customer portal. + * + * @var ?\Polar\Models\Components\BenefitVisibility $visibility + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('visibility')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\BenefitVisibility|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?BenefitVisibility $visibility = null; + /** * * @var ?\Polar\Models\Components\BenefitLicenseKeysCreateProperties $properties @@ -61,13 +71,15 @@ class BenefitLicenseKeysUpdate * @param string $type * @param ?array $metadata * @param ?string $description + * @param ?\Polar\Models\Components\BenefitVisibility $visibility * @param ?\Polar\Models\Components\BenefitLicenseKeysCreateProperties $properties * @phpstan-pure */ - public function __construct(?array $metadata = null, ?string $description = null, ?BenefitLicenseKeysCreateProperties $properties = null, string $type = 'license_keys') + public function __construct(?array $metadata = null, ?string $description = null, ?BenefitVisibility $visibility = null, ?BenefitLicenseKeysCreateProperties $properties = null, string $type = 'license_keys') { $this->metadata = $metadata; $this->description = $description; + $this->visibility = $visibility; $this->properties = $properties; $this->type = $type; } diff --git a/src/Models/Components/BenefitMeterCredit.php b/src/Models/Components/BenefitMeterCredit.php index a52e4e07..220bfd7c 100644 --- a/src/Models/Components/BenefitMeterCredit.php +++ b/src/Models/Components/BenefitMeterCredit.php @@ -57,6 +57,14 @@ class BenefitMeterCredit #[\Speakeasy\Serializer\Annotation\SerializedName('deletable')] public bool $deletable; + /** + * Whether the benefit is deleted. + * + * @var bool $isDeleted + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('is_deleted')] + public bool $isDeleted; + /** * The ID of the organization owning the benefit. * @@ -74,6 +82,14 @@ class BenefitMeterCredit #[\Speakeasy\Serializer\Annotation\Type('array')] public array $metadata; + /** + * + * @var \Polar\Models\Components\BenefitVisibility $visibility + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('visibility')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\BenefitVisibility')] + public BenefitVisibility $visibility; + /** * Properties for a benefit of type `meter_unit`. * @@ -83,6 +99,13 @@ class BenefitMeterCredit #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\BenefitMeterCreditProperties')] public BenefitMeterCreditProperties $properties; + /** + * + * @var bool $visibilityConfigurable + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('visibility_configurable')] + public bool $visibilityConfigurable; + /** * Last modification timestamp of the object. * @@ -105,22 +128,28 @@ class BenefitMeterCredit * @param string $description * @param bool $selectable * @param bool $deletable + * @param bool $isDeleted * @param string $organizationId * @param array $metadata + * @param \Polar\Models\Components\BenefitVisibility $visibility * @param \Polar\Models\Components\BenefitMeterCreditProperties $properties + * @param bool $visibilityConfigurable * @param ?\DateTime $modifiedAt * @phpstan-pure */ - public function __construct(string $id, \DateTime $createdAt, string $description, bool $selectable, bool $deletable, string $organizationId, array $metadata, BenefitMeterCreditProperties $properties, ?\DateTime $modifiedAt = null, string $type = 'meter_credit') + public function __construct(string $id, \DateTime $createdAt, string $description, bool $selectable, bool $deletable, bool $isDeleted, string $organizationId, array $metadata, BenefitVisibility $visibility, BenefitMeterCreditProperties $properties, bool $visibilityConfigurable, ?\DateTime $modifiedAt = null, string $type = 'meter_credit') { $this->id = $id; $this->createdAt = $createdAt; $this->description = $description; $this->selectable = $selectable; $this->deletable = $deletable; + $this->isDeleted = $isDeleted; $this->organizationId = $organizationId; $this->metadata = $metadata; + $this->visibility = $visibility; $this->properties = $properties; + $this->visibilityConfigurable = $visibilityConfigurable; $this->modifiedAt = $modifiedAt; $this->type = $type; } diff --git a/src/Models/Components/BenefitMeterCreditCreate.php b/src/Models/Components/BenefitMeterCreditCreate.php index 36efd020..322ff434 100644 --- a/src/Models/Components/BenefitMeterCreditCreate.php +++ b/src/Models/Components/BenefitMeterCreditCreate.php @@ -59,6 +59,16 @@ class BenefitMeterCreditCreate #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public ?string $organizationId = null; + /** + * The visibility of the benefit in the customer portal. + * + * @var ?\Polar\Models\Components\BenefitVisibility $visibility + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('visibility')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\BenefitVisibility|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?BenefitVisibility $visibility = null; + /** * * @var string $type @@ -72,14 +82,16 @@ class BenefitMeterCreditCreate * @param \Polar\Models\Components\BenefitMeterCreditCreateProperties $properties * @param ?array $metadata * @param ?string $organizationId + * @param ?\Polar\Models\Components\BenefitVisibility $visibility * @phpstan-pure */ - public function __construct(string $description, BenefitMeterCreditCreateProperties $properties, ?array $metadata = null, ?string $organizationId = null, string $type = 'meter_credit') + public function __construct(string $description, BenefitMeterCreditCreateProperties $properties, ?array $metadata = null, ?string $organizationId = null, ?BenefitVisibility $visibility = null, string $type = 'meter_credit') { $this->description = $description; $this->properties = $properties; $this->metadata = $metadata; $this->organizationId = $organizationId; + $this->visibility = $visibility; $this->type = $type; } } \ No newline at end of file diff --git a/src/Models/Components/BenefitMeterCreditSubscriber.php b/src/Models/Components/BenefitMeterCreditSubscriber.php index ddfd71b8..2cdd7413 100644 --- a/src/Models/Components/BenefitMeterCreditSubscriber.php +++ b/src/Models/Components/BenefitMeterCreditSubscriber.php @@ -52,21 +52,20 @@ class BenefitMeterCreditSubscriber public bool $deletable; /** - * The ID of the organization owning the benefit. + * Whether the benefit is deleted. * - * @var string $organizationId + * @var bool $isDeleted */ - #[\Speakeasy\Serializer\Annotation\SerializedName('organization_id')] - public string $organizationId; + #[\Speakeasy\Serializer\Annotation\SerializedName('is_deleted')] + public bool $isDeleted; /** - * $metadata + * The ID of the organization owning the benefit. * - * @var array $metadata + * @var string $organizationId */ - #[\Speakeasy\Serializer\Annotation\SerializedName('metadata')] - #[\Speakeasy\Serializer\Annotation\Type('array')] - public array $metadata; + #[\Speakeasy\Serializer\Annotation\SerializedName('organization_id')] + public string $organizationId; /** * @@ -107,22 +106,22 @@ class BenefitMeterCreditSubscriber * @param string $description * @param bool $selectable * @param bool $deletable + * @param bool $isDeleted * @param string $organizationId - * @param array $metadata * @param \Polar\Models\Components\BenefitSubscriberOrganization $organization * @param \Polar\Models\Components\BenefitMeterCreditSubscriberProperties $properties * @param ?\DateTime $modifiedAt * @phpstan-pure */ - public function __construct(string $id, \DateTime $createdAt, string $description, bool $selectable, bool $deletable, string $organizationId, array $metadata, BenefitSubscriberOrganization $organization, BenefitMeterCreditSubscriberProperties $properties, ?\DateTime $modifiedAt = null, string $type = 'meter_credit') + public function __construct(string $id, \DateTime $createdAt, string $description, bool $selectable, bool $deletable, bool $isDeleted, string $organizationId, BenefitSubscriberOrganization $organization, BenefitMeterCreditSubscriberProperties $properties, ?\DateTime $modifiedAt = null, string $type = 'meter_credit') { $this->id = $id; $this->createdAt = $createdAt; $this->description = $description; $this->selectable = $selectable; $this->deletable = $deletable; + $this->isDeleted = $isDeleted; $this->organizationId = $organizationId; - $this->metadata = $metadata; $this->organization = $organization; $this->properties = $properties; $this->modifiedAt = $modifiedAt; diff --git a/src/Models/Components/BenefitMeterCreditUpdate.php b/src/Models/Components/BenefitMeterCreditUpdate.php index 5f4cfccb..dfa6b1f2 100644 --- a/src/Models/Components/BenefitMeterCreditUpdate.php +++ b/src/Models/Components/BenefitMeterCreditUpdate.php @@ -41,6 +41,16 @@ class BenefitMeterCreditUpdate #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public ?string $description = null; + /** + * The visibility of the benefit in the customer portal. + * + * @var ?\Polar\Models\Components\BenefitVisibility $visibility + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('visibility')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\BenefitVisibility|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?BenefitVisibility $visibility = null; + /** * * @var ?\Polar\Models\Components\BenefitMeterCreditCreateProperties $properties @@ -61,13 +71,15 @@ class BenefitMeterCreditUpdate * @param string $type * @param ?array $metadata * @param ?string $description + * @param ?\Polar\Models\Components\BenefitVisibility $visibility * @param ?\Polar\Models\Components\BenefitMeterCreditCreateProperties $properties * @phpstan-pure */ - public function __construct(?array $metadata = null, ?string $description = null, ?BenefitMeterCreditCreateProperties $properties = null, string $type = 'meter_credit') + public function __construct(?array $metadata = null, ?string $description = null, ?BenefitVisibility $visibility = null, ?BenefitMeterCreditCreateProperties $properties = null, string $type = 'meter_credit') { $this->metadata = $metadata; $this->description = $description; + $this->visibility = $visibility; $this->properties = $properties; $this->type = $type; } diff --git a/src/Models/Components/BenefitPublic.php b/src/Models/Components/BenefitPublic.php index 45c704a1..06400b11 100644 --- a/src/Models/Components/BenefitPublic.php +++ b/src/Models/Components/BenefitPublic.php @@ -59,6 +59,14 @@ class BenefitPublic #[\Speakeasy\Serializer\Annotation\SerializedName('deletable')] public bool $deletable; + /** + * Whether the benefit is deleted. + * + * @var bool $isDeleted + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('is_deleted')] + public bool $isDeleted; + /** * The ID of the organization owning the benefit. * @@ -82,11 +90,12 @@ class BenefitPublic * @param string $description * @param bool $selectable * @param bool $deletable + * @param bool $isDeleted * @param string $organizationId * @param ?\DateTime $modifiedAt * @phpstan-pure */ - public function __construct(string $id, \DateTime $createdAt, BenefitType $type, string $description, bool $selectable, bool $deletable, string $organizationId, ?\DateTime $modifiedAt = null) + public function __construct(string $id, \DateTime $createdAt, BenefitType $type, string $description, bool $selectable, bool $deletable, bool $isDeleted, string $organizationId, ?\DateTime $modifiedAt = null) { $this->id = $id; $this->createdAt = $createdAt; @@ -94,6 +103,7 @@ public function __construct(string $id, \DateTime $createdAt, BenefitType $type, $this->description = $description; $this->selectable = $selectable; $this->deletable = $deletable; + $this->isDeleted = $isDeleted; $this->organizationId = $organizationId; $this->modifiedAt = $modifiedAt; } diff --git a/src/Models/Components/BenefitSlackSharedChannel.php b/src/Models/Components/BenefitSlackSharedChannel.php new file mode 100644 index 00000000..0dac96fd --- /dev/null +++ b/src/Models/Components/BenefitSlackSharedChannel.php @@ -0,0 +1,149 @@ + $metadata + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('metadata')] + #[\Speakeasy\Serializer\Annotation\Type('array')] + public array $metadata; + + /** + * + * @var \Polar\Models\Components\BenefitVisibility $visibility + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('visibility')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\BenefitVisibility')] + public BenefitVisibility $visibility; + + /** + * + * @var \Polar\Models\Components\BenefitSlackSharedChannelProperties $properties + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('properties')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\BenefitSlackSharedChannelProperties')] + public BenefitSlackSharedChannelProperties $properties; + + /** + * + * @var bool $visibilityConfigurable + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('visibility_configurable')] + public bool $visibilityConfigurable; + + /** + * Last modification timestamp of the object. + * + * @var ?\DateTime $modifiedAt + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('modified_at')] + public ?\DateTime $modifiedAt; + + /** + * + * @var string $type + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('type')] + public string $type; + + /** + * @param string $id + * @param \DateTime $createdAt + * @param string $type + * @param string $description + * @param bool $selectable + * @param bool $deletable + * @param bool $isDeleted + * @param string $organizationId + * @param array $metadata + * @param \Polar\Models\Components\BenefitVisibility $visibility + * @param \Polar\Models\Components\BenefitSlackSharedChannelProperties $properties + * @param bool $visibilityConfigurable + * @param ?\DateTime $modifiedAt + * @phpstan-pure + */ + public function __construct(string $id, \DateTime $createdAt, string $description, bool $selectable, bool $deletable, bool $isDeleted, string $organizationId, array $metadata, BenefitVisibility $visibility, BenefitSlackSharedChannelProperties $properties, bool $visibilityConfigurable, ?\DateTime $modifiedAt = null, string $type = 'slack_shared_channel') + { + $this->id = $id; + $this->createdAt = $createdAt; + $this->description = $description; + $this->selectable = $selectable; + $this->deletable = $deletable; + $this->isDeleted = $isDeleted; + $this->organizationId = $organizationId; + $this->metadata = $metadata; + $this->visibility = $visibility; + $this->properties = $properties; + $this->visibilityConfigurable = $visibilityConfigurable; + $this->modifiedAt = $modifiedAt; + $this->type = $type; + } +} \ No newline at end of file diff --git a/src/Models/Components/BenefitSlackSharedChannelCreate.php b/src/Models/Components/BenefitSlackSharedChannelCreate.php new file mode 100644 index 00000000..2a4d54e3 --- /dev/null +++ b/src/Models/Components/BenefitSlackSharedChannelCreate.php @@ -0,0 +1,95 @@ + $metadata + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('metadata')] + #[\Speakeasy\Serializer\Annotation\Type('array|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?array $metadata = null; + + /** + * The ID of the organization owning the benefit. **Required unless you use an organization token.** + * + * @var ?string $organizationId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('organization_id')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $organizationId = null; + + /** + * The visibility of the benefit in the customer portal. + * + * @var ?\Polar\Models\Components\BenefitVisibility $visibility + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('visibility')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\BenefitVisibility|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?BenefitVisibility $visibility = null; + + /** + * + * @var string $type + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('type')] + public string $type; + + /** + * @param string $type + * @param string $description + * @param \Polar\Models\Components\BenefitSlackSharedChannelCreateProperties $properties + * @param ?array $metadata + * @param ?string $organizationId + * @param ?\Polar\Models\Components\BenefitVisibility $visibility + * @phpstan-pure + */ + public function __construct(string $description, BenefitSlackSharedChannelCreateProperties $properties, ?array $metadata = null, ?string $organizationId = null, ?BenefitVisibility $visibility = null, string $type = 'slack_shared_channel') + { + $this->description = $description; + $this->properties = $properties; + $this->metadata = $metadata; + $this->organizationId = $organizationId; + $this->visibility = $visibility; + $this->type = $type; + } +} \ No newline at end of file diff --git a/src/Models/Components/BenefitSlackSharedChannelCreateProperties.php b/src/Models/Components/BenefitSlackSharedChannelCreateProperties.php new file mode 100644 index 00000000..e1b00111 --- /dev/null +++ b/src/Models/Components/BenefitSlackSharedChannelCreateProperties.php @@ -0,0 +1,81 @@ + $teamInvitees + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('team_invitees')] + #[\Speakeasy\Serializer\Annotation\Type('array|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?array $teamInvitees = null; + + /** + * + * @var ?string $welcomeMessage + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('welcome_message')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $welcomeMessage = null; + + /** + * + * @var ?bool $private + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('private')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?bool $private = null; + + /** + * + * @var ?bool $archiveOnRevoke + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('archive_on_revoke')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?bool $archiveOnRevoke = null; + + /** + * @param string $slackIntegrationId + * @param string $channelNameTemplate + * @param ?bool $private + * @param ?bool $archiveOnRevoke + * @param ?array $teamInvitees + * @param ?string $welcomeMessage + * @phpstan-pure + */ + public function __construct(string $slackIntegrationId, string $channelNameTemplate, ?array $teamInvitees = null, ?string $welcomeMessage = null, ?bool $private = true, ?bool $archiveOnRevoke = true) + { + $this->slackIntegrationId = $slackIntegrationId; + $this->channelNameTemplate = $channelNameTemplate; + $this->teamInvitees = $teamInvitees; + $this->welcomeMessage = $welcomeMessage; + $this->private = $private; + $this->archiveOnRevoke = $archiveOnRevoke; + } +} \ No newline at end of file diff --git a/src/Models/Components/BenefitSlackSharedChannelProperties.php b/src/Models/Components/BenefitSlackSharedChannelProperties.php new file mode 100644 index 00000000..806a2ded --- /dev/null +++ b/src/Models/Components/BenefitSlackSharedChannelProperties.php @@ -0,0 +1,85 @@ +} for any value stored in customer user metadata. + * + * @var string $channelNameTemplate + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('channel_name_template')] + public string $channelNameTemplate; + + /** + * Slack user IDs from the merchant workspace to invite to every channel created for this benefit. + * + * @var ?array $teamInvitees + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('team_invitees')] + #[\Speakeasy\Serializer\Annotation\Type('array|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?array $teamInvitees = null; + + /** + * Optional message posted to the channel right after creation. + * + * @var ?string $welcomeMessage + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('welcome_message')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $welcomeMessage = null; + + /** + * Create the channel as private (recommended). + * + * @var ?bool $private + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('private')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?bool $private = null; + + /** + * Archive the channel when the benefit is revoked. + * + * @var ?bool $archiveOnRevoke + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('archive_on_revoke')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?bool $archiveOnRevoke = null; + + /** + * @param string $slackIntegrationId + * @param string $channelNameTemplate + * @param ?bool $private + * @param ?bool $archiveOnRevoke + * @param ?array $teamInvitees + * @param ?string $welcomeMessage + * @phpstan-pure + */ + public function __construct(string $slackIntegrationId, string $channelNameTemplate, ?array $teamInvitees = null, ?string $welcomeMessage = null, ?bool $private = true, ?bool $archiveOnRevoke = true) + { + $this->slackIntegrationId = $slackIntegrationId; + $this->channelNameTemplate = $channelNameTemplate; + $this->teamInvitees = $teamInvitees; + $this->welcomeMessage = $welcomeMessage; + $this->private = $private; + $this->archiveOnRevoke = $archiveOnRevoke; + } +} \ No newline at end of file diff --git a/src/Models/Components/BenefitSlackSharedChannelSubscriber.php b/src/Models/Components/BenefitSlackSharedChannelSubscriber.php new file mode 100644 index 00000000..715fb579 --- /dev/null +++ b/src/Models/Components/BenefitSlackSharedChannelSubscriber.php @@ -0,0 +1,129 @@ +id = $id; + $this->createdAt = $createdAt; + $this->description = $description; + $this->selectable = $selectable; + $this->deletable = $deletable; + $this->isDeleted = $isDeleted; + $this->organizationId = $organizationId; + $this->organization = $organization; + $this->properties = $properties; + $this->modifiedAt = $modifiedAt; + $this->type = $type; + } +} \ No newline at end of file diff --git a/src/Models/Components/BenefitSlackSharedChannelSubscriberProperties.php b/src/Models/Components/BenefitSlackSharedChannelSubscriberProperties.php new file mode 100644 index 00000000..6d45c8ac --- /dev/null +++ b/src/Models/Components/BenefitSlackSharedChannelSubscriberProperties.php @@ -0,0 +1,18 @@ + $metadata + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('metadata')] + #[\Speakeasy\Serializer\Annotation\Type('array|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?array $metadata = null; + + /** + * The description of the benefit. Will be displayed on products having this benefit. + * + * @var ?string $description + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('description')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $description = null; + + /** + * + * @var ?\Polar\Models\Components\BenefitSlackSharedChannelCreateProperties $properties + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('properties')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\BenefitSlackSharedChannelCreateProperties|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?BenefitSlackSharedChannelCreateProperties $properties = null; + + /** + * + * @var string $type + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('type')] + public string $type; + + /** + * @param string $type + * @param ?array $metadata + * @param ?string $description + * @param ?\Polar\Models\Components\BenefitSlackSharedChannelCreateProperties $properties + * @phpstan-pure + */ + public function __construct(?array $metadata = null, ?string $description = null, ?BenefitSlackSharedChannelCreateProperties $properties = null, string $type = 'slack_shared_channel') + { + $this->metadata = $metadata; + $this->description = $description; + $this->properties = $properties; + $this->type = $type; + } +} \ No newline at end of file diff --git a/src/Models/Components/BenefitType.php b/src/Models/Components/BenefitType.php index 085a5aaa..1be7e285 100644 --- a/src/Models/Components/BenefitType.php +++ b/src/Models/Components/BenefitType.php @@ -18,4 +18,5 @@ enum BenefitType: string case LicenseKeys = 'license_keys'; case MeterCredit = 'meter_credit'; case FeatureFlag = 'feature_flag'; + case SlackSharedChannel = 'slack_shared_channel'; } diff --git a/src/Models/Components/BenefitVisibility.php b/src/Models/Components/BenefitVisibility.php new file mode 100644 index 00000000..2c74e8bb --- /dev/null +++ b/src/Models/Components/BenefitVisibility.php @@ -0,0 +1,17 @@ + $processorMetadata * @phpstan-pure */ - public function __construct(\DateTime $createdAt, string $id, PaymentProcessor $processor, PaymentStatus $status, int $amount, string $currency, string $organizationId, CardPaymentMetadata $methodMetadata, ?\DateTime $modifiedAt = null, ?string $declineReason = null, ?string $declineMessage = null, ?string $checkoutId = null, ?string $orderId = null, ?array $processorMetadata = null, string $method = 'card') + public function __construct(\DateTime $createdAt, string $id, PaymentProcessor $processor, PaymentStatus $status, int $amount, string $currency, string $organizationId, CardPaymentMetadata $methodMetadata, ?\DateTime $modifiedAt = null, ?PaymentTrigger $trigger = null, ?string $declineReason = null, ?string $declineMessage = null, ?string $checkoutId = null, ?string $orderId = null, ?array $processorMetadata = null, string $method = 'card') { $this->createdAt = $createdAt; $this->id = $id; @@ -164,6 +174,7 @@ public function __construct(\DateTime $createdAt, string $id, PaymentProcessor $ $this->organizationId = $organizationId; $this->methodMetadata = $methodMetadata; $this->modifiedAt = $modifiedAt; + $this->trigger = $trigger; $this->declineReason = $declineReason; $this->declineMessage = $declineMessage; $this->checkoutId = $checkoutId; diff --git a/src/Models/Components/Checkout.php b/src/Models/Components/Checkout.php index cb1f2626..5eb531b6 100644 --- a/src/Models/Components/Checkout.php +++ b/src/Models/Components/Checkout.php @@ -274,6 +274,15 @@ class Checkout #[\Speakeasy\Serializer\Annotation\SerializedName('tax_amount')] public ?int $taxAmount; + /** + * Tax behavior of the checkout. `inclusive` means the price includes tax, `exclusive` means tax is added on top. If `null`, tax is not yet calculated. + * + * @var ?\Polar\Models\Components\TaxBehavior $taxBehavior + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('tax_behavior')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\TaxBehavior|null')] + public ?TaxBehavior $taxBehavior; + /** * Whether to enable the trial period for the checkout session. If `false`, the trial period will be disabled, even if the selected product has a trial configured. * @@ -421,20 +430,20 @@ class Checkout /** * Price of the selected product. * - * @var \Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\LegacyRecurringProductPriceFree|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceFree|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit|null $productPrice + * @var \Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit|null $productPrice * @deprecated field: This will be removed in a future release, please migrate away from it as soon as possible. */ #[\Speakeasy\Serializer\Annotation\SerializedName('product_price')] - #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\LegacyRecurringProductPriceFree|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceFree|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit|null')] - public LegacyRecurringProductPriceFixed|LegacyRecurringProductPriceCustom|LegacyRecurringProductPriceFree|ProductPriceFixed|ProductPriceCustom|ProductPriceFree|ProductPriceSeatBased|ProductPriceMeteredUnit|null $productPrice; + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit|null')] + public LegacyRecurringProductPriceFixed|LegacyRecurringProductPriceCustom|ProductPriceFixed|ProductPriceCustom|ProductPriceSeatBased|ProductPriceMeteredUnit|null $productPrice; /** * Mapping of product IDs to their list of prices. * - * @var ?array> $prices + * @var ?array> $prices */ #[\Speakeasy\Serializer\Annotation\SerializedName('prices')] - #[\Speakeasy\Serializer\Annotation\Type('array>|null')] + #[\Speakeasy\Serializer\Annotation\Type('array>|null')] public ?array $prices; /** @@ -529,6 +538,7 @@ class Checkout * @param ?string $returnUrl * @param ?string $embedOrigin * @param ?int $taxAmount + * @param ?\Polar\Models\Components\TaxBehavior $taxBehavior * @param ?bool $allowTrial * @param ?\Polar\Models\Components\TrialInterval $activeTrialInterval * @param ?int $activeTrialIntervalCount @@ -547,8 +557,8 @@ class Checkout * @param ?int $trialIntervalCount * @param ?string $externalCustomerId * @param ?\Polar\Models\Components\CheckoutProduct $product - * @param \Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\LegacyRecurringProductPriceFree|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceFree|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit|null $productPrice - * @param ?array> $prices + * @param \Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit|null $productPrice + * @param ?array> $prices * @param \Polar\Models\Components\CheckoutDiscountFixedOnceForeverDuration|\Polar\Models\Components\CheckoutDiscountFixedRepeatDuration|\Polar\Models\Components\CheckoutDiscountPercentageOnceForeverDuration|\Polar\Models\Components\CheckoutDiscountPercentageRepeatDuration|null $discount * @param ?string $subscriptionId * @param ?array<\Polar\Models\Components\AttachedCustomField> $attachedCustomFields @@ -558,7 +568,7 @@ class Checkout * @param ?string $locale * @phpstan-pure */ - public function __construct(string $id, \DateTime $createdAt, PaymentProcessor $paymentProcessor, CheckoutStatus $status, string $clientSecret, string $url, \DateTime $expiresAt, string $successUrl, int $amount, int $discountAmount, int $netAmount, int $totalAmount, string $currency, string $organizationId, bool $allowDiscountCodes, bool $requireBillingAddress, bool $isDiscountApplicable, bool $isFreeProductPrice, bool $isPaymentRequired, bool $isPaymentSetupRequired, bool $isPaymentFormRequired, bool $isBusinessCustomer, array $paymentProcessorMetadata, CheckoutBillingAddressFields $billingAddressFields, array $metadata, array $products, array $customerMetadata, ?\DateTime $modifiedAt = null, ?array $customFieldData = null, ?string $returnUrl = null, ?string $embedOrigin = null, ?int $taxAmount = null, ?bool $allowTrial = null, ?TrialInterval $activeTrialInterval = null, ?int $activeTrialIntervalCount = null, ?\DateTime $trialEnd = null, ?string $productId = null, ?string $productPriceId = null, ?string $discountId = null, ?string $customerId = null, ?string $customerName = null, ?string $customerEmail = null, ?string $customerIpAddress = null, ?string $customerBillingName = null, ?Address $customerBillingAddress = null, ?string $customerTaxId = null, ?TrialInterval $trialInterval = null, ?int $trialIntervalCount = null, ?string $externalCustomerId = null, ?CheckoutProduct $product = null, LegacyRecurringProductPriceFixed|LegacyRecurringProductPriceCustom|LegacyRecurringProductPriceFree|ProductPriceFixed|ProductPriceCustom|ProductPriceFree|ProductPriceSeatBased|ProductPriceMeteredUnit|null $productPrice = null, ?array $prices = null, CheckoutDiscountFixedOnceForeverDuration|CheckoutDiscountFixedRepeatDuration|CheckoutDiscountPercentageOnceForeverDuration|CheckoutDiscountPercentageRepeatDuration|null $discount = null, ?string $subscriptionId = null, ?array $attachedCustomFields = null, ?int $seats = null, ?int $minSeats = null, ?int $maxSeats = null, ?string $locale = null) + public function __construct(string $id, \DateTime $createdAt, PaymentProcessor $paymentProcessor, CheckoutStatus $status, string $clientSecret, string $url, \DateTime $expiresAt, string $successUrl, int $amount, int $discountAmount, int $netAmount, int $totalAmount, string $currency, string $organizationId, bool $allowDiscountCodes, bool $requireBillingAddress, bool $isDiscountApplicable, bool $isFreeProductPrice, bool $isPaymentRequired, bool $isPaymentSetupRequired, bool $isPaymentFormRequired, bool $isBusinessCustomer, array $paymentProcessorMetadata, CheckoutBillingAddressFields $billingAddressFields, array $metadata, array $products, array $customerMetadata, ?\DateTime $modifiedAt = null, ?array $customFieldData = null, ?string $returnUrl = null, ?string $embedOrigin = null, ?int $taxAmount = null, ?TaxBehavior $taxBehavior = null, ?bool $allowTrial = null, ?TrialInterval $activeTrialInterval = null, ?int $activeTrialIntervalCount = null, ?\DateTime $trialEnd = null, ?string $productId = null, ?string $productPriceId = null, ?string $discountId = null, ?string $customerId = null, ?string $customerName = null, ?string $customerEmail = null, ?string $customerIpAddress = null, ?string $customerBillingName = null, ?Address $customerBillingAddress = null, ?string $customerTaxId = null, ?TrialInterval $trialInterval = null, ?int $trialIntervalCount = null, ?string $externalCustomerId = null, ?CheckoutProduct $product = null, LegacyRecurringProductPriceFixed|LegacyRecurringProductPriceCustom|ProductPriceFixed|ProductPriceCustom|ProductPriceSeatBased|ProductPriceMeteredUnit|null $productPrice = null, ?array $prices = null, CheckoutDiscountFixedOnceForeverDuration|CheckoutDiscountFixedRepeatDuration|CheckoutDiscountPercentageOnceForeverDuration|CheckoutDiscountPercentageRepeatDuration|null $discount = null, ?string $subscriptionId = null, ?array $attachedCustomFields = null, ?int $seats = null, ?int $minSeats = null, ?int $maxSeats = null, ?string $locale = null) { $this->id = $id; $this->createdAt = $createdAt; @@ -592,6 +602,7 @@ public function __construct(string $id, \DateTime $createdAt, PaymentProcessor $ $this->returnUrl = $returnUrl; $this->embedOrigin = $embedOrigin; $this->taxAmount = $taxAmount; + $this->taxBehavior = $taxBehavior; $this->allowTrial = $allowTrial; $this->activeTrialInterval = $activeTrialInterval; $this->activeTrialIntervalCount = $activeTrialIntervalCount; diff --git a/src/Models/Components/CheckoutCreate.php b/src/Models/Components/CheckoutCreate.php index 199bfb92..827a094a 100644 --- a/src/Models/Components/CheckoutCreate.php +++ b/src/Models/Components/CheckoutCreate.php @@ -266,10 +266,10 @@ class CheckoutCreate /** * Optional mapping of product IDs to a list of ad-hoc prices to create for that product. If not set, catalog prices of the product will be used. * - * @var ?array> $prices + * @var ?array> $prices */ #[\Speakeasy\Serializer\Annotation\SerializedName('prices')] - #[\Speakeasy\Serializer\Annotation\Type('array>|null')] + #[\Speakeasy\Serializer\Annotation\Type('array>|null')] #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public ?array $prices = null; @@ -339,7 +339,7 @@ class CheckoutCreate * @param ?string $embedOrigin * @param ?string $locale * @param ?\Polar\Models\Components\PresentmentCurrency $currency - * @param ?array> $prices + * @param ?array> $prices * @phpstan-pure */ public function __construct(array $products, ?array $metadata = null, ?array $customFieldData = null, ?array $customerMetadata = null, ?TrialInterval $trialInterval = null, ?int $trialIntervalCount = null, ?string $discountId = null, ?int $amount = null, ?int $seats = null, ?int $minSeats = null, ?int $maxSeats = null, ?string $customerId = null, ?string $externalCustomerId = null, ?string $customerName = null, ?string $customerEmail = null, ?string $customerIpAddress = null, ?string $customerBillingName = null, ?AddressInput $customerBillingAddress = null, ?string $customerTaxId = null, ?string $subscriptionId = null, ?string $successUrl = null, ?string $returnUrl = null, ?string $embedOrigin = null, ?string $locale = null, ?PresentmentCurrency $currency = null, ?array $prices = null, ?bool $allowDiscountCodes = true, ?bool $requireBillingAddress = false, ?bool $allowTrial = true, ?bool $isBusinessCustomer = false) diff --git a/src/Models/Components/CheckoutLink.php b/src/Models/Components/CheckoutLink.php index 84d7af8c..2f87b4ea 100644 --- a/src/Models/Components/CheckoutLink.php +++ b/src/Models/Components/CheckoutLink.php @@ -150,6 +150,14 @@ class CheckoutLink #[\Speakeasy\Serializer\Annotation\SerializedName('discount_id')] public ?string $discountId; + /** + * Preconfigured number of seats for seat-based pricing. When set, checkout sessions created from this link are locked to this number of seats and the customer won't be able to change it. All products on the link must use seat-based pricing and allow this number of seats. If the products no longer accommodate this value when the link is opened, it'll be ignored. + * + * @var ?int $seats + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('seats')] + public ?int $seats; + /** * * @var \Polar\Models\Components\DiscountFixedOnceForeverDurationBase|\Polar\Models\Components\DiscountFixedRepeatDurationBase|\Polar\Models\Components\DiscountPercentageOnceForeverDurationBase|\Polar\Models\Components\DiscountPercentageRepeatDurationBase|null $discount @@ -176,10 +184,11 @@ class CheckoutLink * @param ?string $returnUrl * @param ?string $label * @param ?string $discountId + * @param ?int $seats * @param \Polar\Models\Components\DiscountFixedOnceForeverDurationBase|\Polar\Models\Components\DiscountFixedRepeatDurationBase|\Polar\Models\Components\DiscountPercentageOnceForeverDurationBase|\Polar\Models\Components\DiscountPercentageRepeatDurationBase|null $discount * @phpstan-pure */ - public function __construct(string $id, \DateTime $createdAt, array $metadata, PaymentProcessor $paymentProcessor, string $clientSecret, bool $allowDiscountCodes, bool $requireBillingAddress, string $organizationId, array $products, string $url, ?\DateTime $modifiedAt = null, ?TrialInterval $trialInterval = null, ?int $trialIntervalCount = null, ?string $successUrl = null, ?string $returnUrl = null, ?string $label = null, ?string $discountId = null, DiscountFixedOnceForeverDurationBase|DiscountFixedRepeatDurationBase|DiscountPercentageOnceForeverDurationBase|DiscountPercentageRepeatDurationBase|null $discount = null) + public function __construct(string $id, \DateTime $createdAt, array $metadata, PaymentProcessor $paymentProcessor, string $clientSecret, bool $allowDiscountCodes, bool $requireBillingAddress, string $organizationId, array $products, string $url, ?\DateTime $modifiedAt = null, ?TrialInterval $trialInterval = null, ?int $trialIntervalCount = null, ?string $successUrl = null, ?string $returnUrl = null, ?string $label = null, ?string $discountId = null, ?int $seats = null, DiscountFixedOnceForeverDurationBase|DiscountFixedRepeatDurationBase|DiscountPercentageOnceForeverDurationBase|DiscountPercentageRepeatDurationBase|null $discount = null) { $this->id = $id; $this->createdAt = $createdAt; @@ -198,6 +207,7 @@ public function __construct(string $id, \DateTime $createdAt, array $metadata, P $this->returnUrl = $returnUrl; $this->label = $label; $this->discountId = $discountId; + $this->seats = $seats; $this->discount = $discount; } } \ No newline at end of file diff --git a/src/Models/Components/CheckoutLinkCreateProduct.php b/src/Models/Components/CheckoutLinkCreateProduct.php index 6ea4f2b4..e5a8fd48 100644 --- a/src/Models/Components/CheckoutLinkCreateProduct.php +++ b/src/Models/Components/CheckoutLinkCreateProduct.php @@ -82,6 +82,15 @@ class CheckoutLinkCreateProduct #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public ?string $discountId = null; + /** + * Preconfigured number of seats for seat-based pricing. When set, checkout sessions created from this link are locked to this number of seats and the customer won't be able to change it. All products on the link must use seat-based pricing and allow this number of seats. If the products no longer accommodate this value when the link is opened, it'll be ignored. + * + * @var ?int $seats + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('seats')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?int $seats = null; + /** * URL where the customer will be redirected after a successful payment.You can add the `checkout_id={CHECKOUT_ID}` query parameter to retrieve the checkout session id. * @@ -136,11 +145,12 @@ class CheckoutLinkCreateProduct * @param ?int $trialIntervalCount * @param ?string $label * @param ?string $discountId + * @param ?int $seats * @param ?string $successUrl * @param ?string $returnUrl * @phpstan-pure */ - public function __construct(string $productId, ?array $metadata = null, ?TrialInterval $trialInterval = null, ?int $trialIntervalCount = null, ?string $label = null, ?string $discountId = null, ?string $successUrl = null, ?string $returnUrl = null, string $paymentProcessor = 'stripe', ?bool $allowDiscountCodes = true, ?bool $requireBillingAddress = false) + public function __construct(string $productId, ?array $metadata = null, ?TrialInterval $trialInterval = null, ?int $trialIntervalCount = null, ?string $label = null, ?string $discountId = null, ?int $seats = null, ?string $successUrl = null, ?string $returnUrl = null, string $paymentProcessor = 'stripe', ?bool $allowDiscountCodes = true, ?bool $requireBillingAddress = false) { $this->productId = $productId; $this->metadata = $metadata; @@ -148,6 +158,7 @@ public function __construct(string $productId, ?array $metadata = null, ?TrialIn $this->trialIntervalCount = $trialIntervalCount; $this->label = $label; $this->discountId = $discountId; + $this->seats = $seats; $this->successUrl = $successUrl; $this->returnUrl = $returnUrl; $this->paymentProcessor = $paymentProcessor; diff --git a/src/Models/Components/CheckoutLinkCreateProductPrice.php b/src/Models/Components/CheckoutLinkCreateProductPrice.php index f31b398f..a7c226fd 100644 --- a/src/Models/Components/CheckoutLinkCreateProductPrice.php +++ b/src/Models/Components/CheckoutLinkCreateProductPrice.php @@ -82,6 +82,15 @@ class CheckoutLinkCreateProductPrice #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public ?string $discountId = null; + /** + * Preconfigured number of seats for seat-based pricing. When set, checkout sessions created from this link are locked to this number of seats and the customer won't be able to change it. All products on the link must use seat-based pricing and allow this number of seats. If the products no longer accommodate this value when the link is opened, it'll be ignored. + * + * @var ?int $seats + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('seats')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?int $seats = null; + /** * URL where the customer will be redirected after a successful payment.You can add the `checkout_id={CHECKOUT_ID}` query parameter to retrieve the checkout session id. * @@ -136,11 +145,12 @@ class CheckoutLinkCreateProductPrice * @param ?int $trialIntervalCount * @param ?string $label * @param ?string $discountId + * @param ?int $seats * @param ?string $successUrl * @param ?string $returnUrl * @phpstan-pure */ - public function __construct(string $productPriceId, ?array $metadata = null, ?TrialInterval $trialInterval = null, ?int $trialIntervalCount = null, ?string $label = null, ?string $discountId = null, ?string $successUrl = null, ?string $returnUrl = null, string $paymentProcessor = 'stripe', ?bool $allowDiscountCodes = true, ?bool $requireBillingAddress = false) + public function __construct(string $productPriceId, ?array $metadata = null, ?TrialInterval $trialInterval = null, ?int $trialIntervalCount = null, ?string $label = null, ?string $discountId = null, ?int $seats = null, ?string $successUrl = null, ?string $returnUrl = null, string $paymentProcessor = 'stripe', ?bool $allowDiscountCodes = true, ?bool $requireBillingAddress = false) { $this->productPriceId = $productPriceId; $this->metadata = $metadata; @@ -148,6 +158,7 @@ public function __construct(string $productPriceId, ?array $metadata = null, ?Tr $this->trialIntervalCount = $trialIntervalCount; $this->label = $label; $this->discountId = $discountId; + $this->seats = $seats; $this->successUrl = $successUrl; $this->returnUrl = $returnUrl; $this->paymentProcessor = $paymentProcessor; diff --git a/src/Models/Components/CheckoutLinkCreateProducts.php b/src/Models/Components/CheckoutLinkCreateProducts.php index 0afac8ce..853ca1bd 100644 --- a/src/Models/Components/CheckoutLinkCreateProducts.php +++ b/src/Models/Components/CheckoutLinkCreateProducts.php @@ -79,6 +79,15 @@ class CheckoutLinkCreateProducts #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public ?string $discountId = null; + /** + * Preconfigured number of seats for seat-based pricing. When set, checkout sessions created from this link are locked to this number of seats and the customer won't be able to change it. All products on the link must use seat-based pricing and allow this number of seats. If the products no longer accommodate this value when the link is opened, it'll be ignored. + * + * @var ?int $seats + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('seats')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?int $seats = null; + /** * URL where the customer will be redirected after a successful payment.You can add the `checkout_id={CHECKOUT_ID}` query parameter to retrieve the checkout session id. * @@ -133,11 +142,12 @@ class CheckoutLinkCreateProducts * @param ?int $trialIntervalCount * @param ?string $label * @param ?string $discountId + * @param ?int $seats * @param ?string $successUrl * @param ?string $returnUrl * @phpstan-pure */ - public function __construct(array $products, ?array $metadata = null, ?TrialInterval $trialInterval = null, ?int $trialIntervalCount = null, ?string $label = null, ?string $discountId = null, ?string $successUrl = null, ?string $returnUrl = null, string $paymentProcessor = 'stripe', ?bool $allowDiscountCodes = true, ?bool $requireBillingAddress = false) + public function __construct(array $products, ?array $metadata = null, ?TrialInterval $trialInterval = null, ?int $trialIntervalCount = null, ?string $label = null, ?string $discountId = null, ?int $seats = null, ?string $successUrl = null, ?string $returnUrl = null, string $paymentProcessor = 'stripe', ?bool $allowDiscountCodes = true, ?bool $requireBillingAddress = false) { $this->products = $products; $this->metadata = $metadata; @@ -145,6 +155,7 @@ public function __construct(array $products, ?array $metadata = null, ?TrialInte $this->trialIntervalCount = $trialIntervalCount; $this->label = $label; $this->discountId = $discountId; + $this->seats = $seats; $this->successUrl = $successUrl; $this->returnUrl = $returnUrl; $this->paymentProcessor = $paymentProcessor; diff --git a/src/Models/Components/CheckoutLinkProduct.php b/src/Models/Components/CheckoutLinkProduct.php index cec9c908..1b8584aa 100644 --- a/src/Models/Components/CheckoutLinkProduct.php +++ b/src/Models/Components/CheckoutLinkProduct.php @@ -80,10 +80,10 @@ class CheckoutLinkProduct /** * List of prices for this product. * - * @var array<\Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\LegacyRecurringProductPriceFree|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceFree|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit> $prices + * @var array<\Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit> $prices */ #[\Speakeasy\Serializer\Annotation\SerializedName('prices')] - #[\Speakeasy\Serializer\Annotation\Type('array<\Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\LegacyRecurringProductPriceFree|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceFree|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit>')] + #[\Speakeasy\Serializer\Annotation\Type('array<\Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit>')] public array $prices; /** @@ -140,11 +140,11 @@ class CheckoutLinkProduct /** * The recurring interval of the product. If `None`, the product is a one-time purchase. * - * @var ?\Polar\Models\Components\SubscriptionRecurringInterval $recurringInterval + * @var ?\Polar\Models\Components\RecurringInterval $recurringInterval */ #[\Speakeasy\Serializer\Annotation\SerializedName('recurring_interval')] - #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\SubscriptionRecurringInterval|null')] - public ?SubscriptionRecurringInterval $recurringInterval; + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\RecurringInterval|null')] + public ?RecurringInterval $recurringInterval; /** * Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. None for one-time products. @@ -154,6 +154,23 @@ class CheckoutLinkProduct #[\Speakeasy\Serializer\Annotation\SerializedName('recurring_interval_count')] public ?int $recurringIntervalCount; + /** + * The meter cycle of the product, independent of the billing interval. If `None`, metered concerns follow the billing interval. + * + * @var ?\Polar\Models\Components\RecurringInterval $meterInterval + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('meter_interval')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\RecurringInterval|null')] + public ?RecurringInterval $meterInterval; + + /** + * Number of meter interval units. None when no meter cycle is set. + * + * @var ?int $meterIntervalCount + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('meter_interval_count')] + public ?int $meterIntervalCount; + /** * @param array $metadata * @param string $id @@ -163,18 +180,20 @@ class CheckoutLinkProduct * @param bool $isRecurring * @param bool $isArchived * @param string $organizationId - * @param array<\Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\LegacyRecurringProductPriceFree|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceFree|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit> $prices + * @param array<\Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit> $prices * @param array<\Polar\Models\Components\BenefitPublic> $benefits * @param array<\Polar\Models\Components\ProductMediaFileRead> $medias * @param ?\DateTime $modifiedAt * @param ?\Polar\Models\Components\TrialInterval $trialInterval * @param ?int $trialIntervalCount * @param ?string $description - * @param ?\Polar\Models\Components\SubscriptionRecurringInterval $recurringInterval + * @param ?\Polar\Models\Components\RecurringInterval $recurringInterval * @param ?int $recurringIntervalCount + * @param ?\Polar\Models\Components\RecurringInterval $meterInterval + * @param ?int $meterIntervalCount * @phpstan-pure */ - public function __construct(array $metadata, string $id, \DateTime $createdAt, string $name, ProductVisibility $visibility, bool $isRecurring, bool $isArchived, string $organizationId, array $prices, array $benefits, array $medias, ?\DateTime $modifiedAt = null, ?TrialInterval $trialInterval = null, ?int $trialIntervalCount = null, ?string $description = null, ?SubscriptionRecurringInterval $recurringInterval = null, ?int $recurringIntervalCount = null) + public function __construct(array $metadata, string $id, \DateTime $createdAt, string $name, ProductVisibility $visibility, bool $isRecurring, bool $isArchived, string $organizationId, array $prices, array $benefits, array $medias, ?\DateTime $modifiedAt = null, ?TrialInterval $trialInterval = null, ?int $trialIntervalCount = null, ?string $description = null, ?RecurringInterval $recurringInterval = null, ?int $recurringIntervalCount = null, ?RecurringInterval $meterInterval = null, ?int $meterIntervalCount = null) { $this->metadata = $metadata; $this->id = $id; @@ -193,5 +212,7 @@ public function __construct(array $metadata, string $id, \DateTime $createdAt, s $this->description = $description; $this->recurringInterval = $recurringInterval; $this->recurringIntervalCount = $recurringIntervalCount; + $this->meterInterval = $meterInterval; + $this->meterIntervalCount = $meterIntervalCount; } } \ No newline at end of file diff --git a/src/Models/Components/CheckoutLinkUpdate.php b/src/Models/Components/CheckoutLinkUpdate.php index 31a50846..880003e5 100644 --- a/src/Models/Components/CheckoutLinkUpdate.php +++ b/src/Models/Components/CheckoutLinkUpdate.php @@ -97,6 +97,15 @@ class CheckoutLinkUpdate #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public ?string $discountId = null; + /** + * Preconfigured number of seats for seat-based pricing. When set, checkout sessions created from this link are locked to this number of seats and the customer won't be able to change it. All products on the link must use seat-based pricing and allow this number of seats. If the products no longer accommodate this value when the link is opened, it'll be ignored. + * + * @var ?int $seats + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('seats')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?int $seats = null; + /** * URL where the customer will be redirected after a successful payment.You can add the `checkout_id={CHECKOUT_ID}` query parameter to retrieve the checkout session id. * @@ -124,11 +133,12 @@ class CheckoutLinkUpdate * @param ?bool $allowDiscountCodes * @param ?bool $requireBillingAddress * @param ?string $discountId + * @param ?int $seats * @param ?string $successUrl * @param ?string $returnUrl * @phpstan-pure */ - public function __construct(?array $metadata = null, ?TrialInterval $trialInterval = null, ?int $trialIntervalCount = null, ?array $products = null, ?string $label = null, ?bool $allowDiscountCodes = null, ?bool $requireBillingAddress = null, ?string $discountId = null, ?string $successUrl = null, ?string $returnUrl = null) + public function __construct(?array $metadata = null, ?TrialInterval $trialInterval = null, ?int $trialIntervalCount = null, ?array $products = null, ?string $label = null, ?bool $allowDiscountCodes = null, ?bool $requireBillingAddress = null, ?string $discountId = null, ?int $seats = null, ?string $successUrl = null, ?string $returnUrl = null) { $this->metadata = $metadata; $this->trialInterval = $trialInterval; @@ -138,6 +148,7 @@ public function __construct(?array $metadata = null, ?TrialInterval $trialInterv $this->allowDiscountCodes = $allowDiscountCodes; $this->requireBillingAddress = $requireBillingAddress; $this->discountId = $discountId; + $this->seats = $seats; $this->successUrl = $successUrl; $this->returnUrl = $returnUrl; } diff --git a/src/Models/Components/CheckoutProduct.php b/src/Models/Components/CheckoutProduct.php index 74d19ffe..77840888 100644 --- a/src/Models/Components/CheckoutProduct.php +++ b/src/Models/Components/CheckoutProduct.php @@ -71,10 +71,10 @@ class CheckoutProduct /** * List of prices for this product. * - * @var array<\Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\LegacyRecurringProductPriceFree|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceFree|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit> $prices + * @var array<\Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit> $prices */ #[\Speakeasy\Serializer\Annotation\SerializedName('prices')] - #[\Speakeasy\Serializer\Annotation\Type('array<\Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\LegacyRecurringProductPriceFree|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceFree|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit>')] + #[\Speakeasy\Serializer\Annotation\Type('array<\Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit>')] public array $prices; /** @@ -131,11 +131,11 @@ class CheckoutProduct /** * The recurring interval of the product. If `None`, the product is a one-time purchase. * - * @var ?\Polar\Models\Components\SubscriptionRecurringInterval $recurringInterval + * @var ?\Polar\Models\Components\RecurringInterval $recurringInterval */ #[\Speakeasy\Serializer\Annotation\SerializedName('recurring_interval')] - #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\SubscriptionRecurringInterval|null')] - public ?SubscriptionRecurringInterval $recurringInterval; + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\RecurringInterval|null')] + public ?RecurringInterval $recurringInterval; /** * Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. None for one-time products. @@ -145,6 +145,23 @@ class CheckoutProduct #[\Speakeasy\Serializer\Annotation\SerializedName('recurring_interval_count')] public ?int $recurringIntervalCount; + /** + * The meter cycle of the product, independent of the billing interval. If `None`, metered concerns follow the billing interval. + * + * @var ?\Polar\Models\Components\RecurringInterval $meterInterval + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('meter_interval')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\RecurringInterval|null')] + public ?RecurringInterval $meterInterval; + + /** + * Number of meter interval units. None when no meter cycle is set. + * + * @var ?int $meterIntervalCount + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('meter_interval_count')] + public ?int $meterIntervalCount; + /** * @param string $id * @param \DateTime $createdAt @@ -153,18 +170,20 @@ class CheckoutProduct * @param bool $isRecurring * @param bool $isArchived * @param string $organizationId - * @param array<\Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\LegacyRecurringProductPriceFree|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceFree|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit> $prices + * @param array<\Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit> $prices * @param array<\Polar\Models\Components\BenefitPublic> $benefits * @param array<\Polar\Models\Components\ProductMediaFileRead> $medias * @param ?\DateTime $modifiedAt * @param ?\Polar\Models\Components\TrialInterval $trialInterval * @param ?int $trialIntervalCount * @param ?string $description - * @param ?\Polar\Models\Components\SubscriptionRecurringInterval $recurringInterval + * @param ?\Polar\Models\Components\RecurringInterval $recurringInterval * @param ?int $recurringIntervalCount + * @param ?\Polar\Models\Components\RecurringInterval $meterInterval + * @param ?int $meterIntervalCount * @phpstan-pure */ - public function __construct(string $id, \DateTime $createdAt, string $name, ProductVisibility $visibility, bool $isRecurring, bool $isArchived, string $organizationId, array $prices, array $benefits, array $medias, ?\DateTime $modifiedAt = null, ?TrialInterval $trialInterval = null, ?int $trialIntervalCount = null, ?string $description = null, ?SubscriptionRecurringInterval $recurringInterval = null, ?int $recurringIntervalCount = null) + public function __construct(string $id, \DateTime $createdAt, string $name, ProductVisibility $visibility, bool $isRecurring, bool $isArchived, string $organizationId, array $prices, array $benefits, array $medias, ?\DateTime $modifiedAt = null, ?TrialInterval $trialInterval = null, ?int $trialIntervalCount = null, ?string $description = null, ?RecurringInterval $recurringInterval = null, ?int $recurringIntervalCount = null, ?RecurringInterval $meterInterval = null, ?int $meterIntervalCount = null) { $this->id = $id; $this->createdAt = $createdAt; @@ -182,5 +201,7 @@ public function __construct(string $id, \DateTime $createdAt, string $name, Prod $this->description = $description; $this->recurringInterval = $recurringInterval; $this->recurringIntervalCount = $recurringIntervalCount; + $this->meterInterval = $meterInterval; + $this->meterIntervalCount = $meterIntervalCount; } } \ No newline at end of file diff --git a/src/Models/Components/CheckoutPublic.php b/src/Models/Components/CheckoutPublic.php index 57207a92..c039b01b 100644 --- a/src/Models/Components/CheckoutPublic.php +++ b/src/Models/Components/CheckoutPublic.php @@ -264,6 +264,15 @@ class CheckoutPublic #[\Speakeasy\Serializer\Annotation\SerializedName('tax_amount')] public ?int $taxAmount; + /** + * Tax behavior of the checkout. `inclusive` means the price includes tax, `exclusive` means tax is added on top. If `null`, tax is not yet calculated. + * + * @var ?\Polar\Models\Components\TaxBehavior $taxBehavior + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('tax_behavior')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\TaxBehavior|null')] + public ?TaxBehavior $taxBehavior; + /** * Whether to enable the trial period for the checkout session. If `false`, the trial period will be disabled, even if the selected product has a trial configured. * @@ -386,20 +395,20 @@ class CheckoutPublic /** * Price of the selected product. * - * @var \Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\LegacyRecurringProductPriceFree|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceFree|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit|null $productPrice + * @var \Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit|null $productPrice * @deprecated field: This will be removed in a future release, please migrate away from it as soon as possible. */ #[\Speakeasy\Serializer\Annotation\SerializedName('product_price')] - #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\LegacyRecurringProductPriceFree|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceFree|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit|null')] - public LegacyRecurringProductPriceFixed|LegacyRecurringProductPriceCustom|LegacyRecurringProductPriceFree|ProductPriceFixed|ProductPriceCustom|ProductPriceFree|ProductPriceSeatBased|ProductPriceMeteredUnit|null $productPrice; + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit|null')] + public LegacyRecurringProductPriceFixed|LegacyRecurringProductPriceCustom|ProductPriceFixed|ProductPriceCustom|ProductPriceSeatBased|ProductPriceMeteredUnit|null $productPrice; /** * Mapping of product IDs to their list of prices. * - * @var ?array> $prices + * @var ?array> $prices */ #[\Speakeasy\Serializer\Annotation\SerializedName('prices')] - #[\Speakeasy\Serializer\Annotation\Type('array>|null')] + #[\Speakeasy\Serializer\Annotation\Type('array>|null')] public ?array $prices; /** @@ -486,6 +495,7 @@ class CheckoutPublic * @param ?string $returnUrl * @param ?string $embedOrigin * @param ?int $taxAmount + * @param ?\Polar\Models\Components\TaxBehavior $taxBehavior * @param ?bool $allowTrial * @param ?\Polar\Models\Components\TrialInterval $activeTrialInterval * @param ?int $activeTrialIntervalCount @@ -501,8 +511,8 @@ class CheckoutPublic * @param ?\Polar\Models\Components\Address $customerBillingAddress * @param ?string $customerTaxId * @param ?\Polar\Models\Components\CheckoutProduct $product - * @param \Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\LegacyRecurringProductPriceFree|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceFree|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit|null $productPrice - * @param ?array> $prices + * @param \Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit|null $productPrice + * @param ?array> $prices * @param \Polar\Models\Components\CheckoutDiscountFixedOnceForeverDuration|\Polar\Models\Components\CheckoutDiscountFixedRepeatDuration|\Polar\Models\Components\CheckoutDiscountPercentageOnceForeverDuration|\Polar\Models\Components\CheckoutDiscountPercentageRepeatDuration|null $discount * @param ?array<\Polar\Models\Components\AttachedCustomField> $attachedCustomFields * @param ?int $seats @@ -511,7 +521,7 @@ class CheckoutPublic * @param ?string $locale * @phpstan-pure */ - public function __construct(string $id, \DateTime $createdAt, PaymentProcessor $paymentProcessor, CheckoutStatus $status, string $clientSecret, string $url, \DateTime $expiresAt, string $successUrl, int $amount, int $discountAmount, int $netAmount, int $totalAmount, string $currency, string $organizationId, bool $allowDiscountCodes, bool $requireBillingAddress, bool $isDiscountApplicable, bool $isFreeProductPrice, bool $isPaymentRequired, bool $isPaymentSetupRequired, bool $isPaymentFormRequired, bool $isBusinessCustomer, array $paymentProcessorMetadata, CheckoutBillingAddressFields $billingAddressFields, array $products, CheckoutOrganization $organization, ?\DateTime $modifiedAt = null, ?array $customFieldData = null, ?string $returnUrl = null, ?string $embedOrigin = null, ?int $taxAmount = null, ?bool $allowTrial = null, ?TrialInterval $activeTrialInterval = null, ?int $activeTrialIntervalCount = null, ?\DateTime $trialEnd = null, ?string $productId = null, ?string $productPriceId = null, ?string $discountId = null, ?string $customerId = null, ?string $customerName = null, ?string $customerEmail = null, ?string $customerIpAddress = null, ?string $customerBillingName = null, ?Address $customerBillingAddress = null, ?string $customerTaxId = null, ?CheckoutProduct $product = null, LegacyRecurringProductPriceFixed|LegacyRecurringProductPriceCustom|LegacyRecurringProductPriceFree|ProductPriceFixed|ProductPriceCustom|ProductPriceFree|ProductPriceSeatBased|ProductPriceMeteredUnit|null $productPrice = null, ?array $prices = null, CheckoutDiscountFixedOnceForeverDuration|CheckoutDiscountFixedRepeatDuration|CheckoutDiscountPercentageOnceForeverDuration|CheckoutDiscountPercentageRepeatDuration|null $discount = null, ?array $attachedCustomFields = null, ?int $seats = null, ?int $minSeats = null, ?int $maxSeats = null, ?string $locale = null) + public function __construct(string $id, \DateTime $createdAt, PaymentProcessor $paymentProcessor, CheckoutStatus $status, string $clientSecret, string $url, \DateTime $expiresAt, string $successUrl, int $amount, int $discountAmount, int $netAmount, int $totalAmount, string $currency, string $organizationId, bool $allowDiscountCodes, bool $requireBillingAddress, bool $isDiscountApplicable, bool $isFreeProductPrice, bool $isPaymentRequired, bool $isPaymentSetupRequired, bool $isPaymentFormRequired, bool $isBusinessCustomer, array $paymentProcessorMetadata, CheckoutBillingAddressFields $billingAddressFields, array $products, CheckoutOrganization $organization, ?\DateTime $modifiedAt = null, ?array $customFieldData = null, ?string $returnUrl = null, ?string $embedOrigin = null, ?int $taxAmount = null, ?TaxBehavior $taxBehavior = null, ?bool $allowTrial = null, ?TrialInterval $activeTrialInterval = null, ?int $activeTrialIntervalCount = null, ?\DateTime $trialEnd = null, ?string $productId = null, ?string $productPriceId = null, ?string $discountId = null, ?string $customerId = null, ?string $customerName = null, ?string $customerEmail = null, ?string $customerIpAddress = null, ?string $customerBillingName = null, ?Address $customerBillingAddress = null, ?string $customerTaxId = null, ?CheckoutProduct $product = null, LegacyRecurringProductPriceFixed|LegacyRecurringProductPriceCustom|ProductPriceFixed|ProductPriceCustom|ProductPriceSeatBased|ProductPriceMeteredUnit|null $productPrice = null, ?array $prices = null, CheckoutDiscountFixedOnceForeverDuration|CheckoutDiscountFixedRepeatDuration|CheckoutDiscountPercentageOnceForeverDuration|CheckoutDiscountPercentageRepeatDuration|null $discount = null, ?array $attachedCustomFields = null, ?int $seats = null, ?int $minSeats = null, ?int $maxSeats = null, ?string $locale = null) { $this->id = $id; $this->createdAt = $createdAt; @@ -544,6 +554,7 @@ public function __construct(string $id, \DateTime $createdAt, PaymentProcessor $ $this->returnUrl = $returnUrl; $this->embedOrigin = $embedOrigin; $this->taxAmount = $taxAmount; + $this->taxBehavior = $taxBehavior; $this->allowTrial = $allowTrial; $this->activeTrialInterval = $activeTrialInterval; $this->activeTrialIntervalCount = $activeTrialIntervalCount; diff --git a/src/Models/Components/CheckoutPublicConfirmed.php b/src/Models/Components/CheckoutPublicConfirmed.php index 31e8ab70..e6490136 100644 --- a/src/Models/Components/CheckoutPublicConfirmed.php +++ b/src/Models/Components/CheckoutPublicConfirmed.php @@ -262,6 +262,15 @@ class CheckoutPublicConfirmed #[\Speakeasy\Serializer\Annotation\SerializedName('tax_amount')] public ?int $taxAmount; + /** + * Tax behavior of the checkout. `inclusive` means the price includes tax, `exclusive` means tax is added on top. If `null`, tax is not yet calculated. + * + * @var ?\Polar\Models\Components\TaxBehavior $taxBehavior + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('tax_behavior')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\TaxBehavior|null')] + public ?TaxBehavior $taxBehavior; + /** * Whether to enable the trial period for the checkout session. If `false`, the trial period will be disabled, even if the selected product has a trial configured. * @@ -384,20 +393,20 @@ class CheckoutPublicConfirmed /** * Price of the selected product. * - * @var \Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\LegacyRecurringProductPriceFree|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceFree|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit|null $productPrice + * @var \Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit|null $productPrice * @deprecated field: This will be removed in a future release, please migrate away from it as soon as possible. */ #[\Speakeasy\Serializer\Annotation\SerializedName('product_price')] - #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\LegacyRecurringProductPriceFree|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceFree|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit|null')] - public LegacyRecurringProductPriceFixed|LegacyRecurringProductPriceCustom|LegacyRecurringProductPriceFree|ProductPriceFixed|ProductPriceCustom|ProductPriceFree|ProductPriceSeatBased|ProductPriceMeteredUnit|null $productPrice; + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit|null')] + public LegacyRecurringProductPriceFixed|LegacyRecurringProductPriceCustom|ProductPriceFixed|ProductPriceCustom|ProductPriceSeatBased|ProductPriceMeteredUnit|null $productPrice; /** * Mapping of product IDs to their list of prices. * - * @var ?array> $prices + * @var ?array> $prices */ #[\Speakeasy\Serializer\Annotation\SerializedName('prices')] - #[\Speakeasy\Serializer\Annotation\Type('array>|null')] + #[\Speakeasy\Serializer\Annotation\Type('array>|null')] public ?array $prices; /** @@ -498,6 +507,7 @@ class CheckoutPublicConfirmed * @param ?string $returnUrl * @param ?string $embedOrigin * @param ?int $taxAmount + * @param ?\Polar\Models\Components\TaxBehavior $taxBehavior * @param ?bool $allowTrial * @param ?\Polar\Models\Components\TrialInterval $activeTrialInterval * @param ?int $activeTrialIntervalCount @@ -513,8 +523,8 @@ class CheckoutPublicConfirmed * @param ?\Polar\Models\Components\Address $customerBillingAddress * @param ?string $customerTaxId * @param ?\Polar\Models\Components\CheckoutProduct $product - * @param \Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\LegacyRecurringProductPriceFree|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceFree|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit|null $productPrice - * @param ?array> $prices + * @param \Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit|null $productPrice + * @param ?array> $prices * @param \Polar\Models\Components\CheckoutDiscountFixedOnceForeverDuration|\Polar\Models\Components\CheckoutDiscountFixedRepeatDuration|\Polar\Models\Components\CheckoutDiscountPercentageOnceForeverDuration|\Polar\Models\Components\CheckoutDiscountPercentageRepeatDuration|null $discount * @param ?array<\Polar\Models\Components\AttachedCustomField> $attachedCustomFields * @param ?string $customerSessionToken @@ -524,7 +534,7 @@ class CheckoutPublicConfirmed * @param ?string $locale * @phpstan-pure */ - public function __construct(string $id, \DateTime $createdAt, PaymentProcessor $paymentProcessor, string $clientSecret, string $url, \DateTime $expiresAt, string $successUrl, int $amount, int $discountAmount, int $netAmount, int $totalAmount, string $currency, string $organizationId, bool $allowDiscountCodes, bool $requireBillingAddress, bool $isDiscountApplicable, bool $isFreeProductPrice, bool $isPaymentRequired, bool $isPaymentSetupRequired, bool $isPaymentFormRequired, bool $isBusinessCustomer, array $paymentProcessorMetadata, CheckoutBillingAddressFields $billingAddressFields, array $products, CheckoutOrganization $organization, ?\DateTime $modifiedAt = null, ?array $customFieldData = null, ?string $returnUrl = null, ?string $embedOrigin = null, ?int $taxAmount = null, ?bool $allowTrial = null, ?TrialInterval $activeTrialInterval = null, ?int $activeTrialIntervalCount = null, ?\DateTime $trialEnd = null, ?string $productId = null, ?string $productPriceId = null, ?string $discountId = null, ?string $customerId = null, ?string $customerName = null, ?string $customerEmail = null, ?string $customerIpAddress = null, ?string $customerBillingName = null, ?Address $customerBillingAddress = null, ?string $customerTaxId = null, ?CheckoutProduct $product = null, LegacyRecurringProductPriceFixed|LegacyRecurringProductPriceCustom|LegacyRecurringProductPriceFree|ProductPriceFixed|ProductPriceCustom|ProductPriceFree|ProductPriceSeatBased|ProductPriceMeteredUnit|null $productPrice = null, ?array $prices = null, CheckoutDiscountFixedOnceForeverDuration|CheckoutDiscountFixedRepeatDuration|CheckoutDiscountPercentageOnceForeverDuration|CheckoutDiscountPercentageRepeatDuration|null $discount = null, ?array $attachedCustomFields = null, ?string $customerSessionToken = null, ?int $seats = null, ?int $minSeats = null, ?int $maxSeats = null, ?string $locale = null, string $status = 'confirmed') + public function __construct(string $id, \DateTime $createdAt, PaymentProcessor $paymentProcessor, string $clientSecret, string $url, \DateTime $expiresAt, string $successUrl, int $amount, int $discountAmount, int $netAmount, int $totalAmount, string $currency, string $organizationId, bool $allowDiscountCodes, bool $requireBillingAddress, bool $isDiscountApplicable, bool $isFreeProductPrice, bool $isPaymentRequired, bool $isPaymentSetupRequired, bool $isPaymentFormRequired, bool $isBusinessCustomer, array $paymentProcessorMetadata, CheckoutBillingAddressFields $billingAddressFields, array $products, CheckoutOrganization $organization, ?\DateTime $modifiedAt = null, ?array $customFieldData = null, ?string $returnUrl = null, ?string $embedOrigin = null, ?int $taxAmount = null, ?TaxBehavior $taxBehavior = null, ?bool $allowTrial = null, ?TrialInterval $activeTrialInterval = null, ?int $activeTrialIntervalCount = null, ?\DateTime $trialEnd = null, ?string $productId = null, ?string $productPriceId = null, ?string $discountId = null, ?string $customerId = null, ?string $customerName = null, ?string $customerEmail = null, ?string $customerIpAddress = null, ?string $customerBillingName = null, ?Address $customerBillingAddress = null, ?string $customerTaxId = null, ?CheckoutProduct $product = null, LegacyRecurringProductPriceFixed|LegacyRecurringProductPriceCustom|ProductPriceFixed|ProductPriceCustom|ProductPriceSeatBased|ProductPriceMeteredUnit|null $productPrice = null, ?array $prices = null, CheckoutDiscountFixedOnceForeverDuration|CheckoutDiscountFixedRepeatDuration|CheckoutDiscountPercentageOnceForeverDuration|CheckoutDiscountPercentageRepeatDuration|null $discount = null, ?array $attachedCustomFields = null, ?string $customerSessionToken = null, ?int $seats = null, ?int $minSeats = null, ?int $maxSeats = null, ?string $locale = null, string $status = 'confirmed') { $this->id = $id; $this->createdAt = $createdAt; @@ -556,6 +566,7 @@ public function __construct(string $id, \DateTime $createdAt, PaymentProcessor $ $this->returnUrl = $returnUrl; $this->embedOrigin = $embedOrigin; $this->taxAmount = $taxAmount; + $this->taxBehavior = $taxBehavior; $this->allowTrial = $allowTrial; $this->activeTrialInterval = $activeTrialInterval; $this->activeTrialIntervalCount = $activeTrialIntervalCount; diff --git a/src/Models/Components/CustomerBenefitGrantSlackSharedChannel.php b/src/Models/Components/CustomerBenefitGrantSlackSharedChannel.php new file mode 100644 index 00000000..793415b0 --- /dev/null +++ b/src/Models/Components/CustomerBenefitGrantSlackSharedChannel.php @@ -0,0 +1,173 @@ +createdAt = $createdAt; + $this->id = $id; + $this->customerId = $customerId; + $this->benefitId = $benefitId; + $this->isGranted = $isGranted; + $this->isRevoked = $isRevoked; + $this->customer = $customer; + $this->benefit = $benefit; + $this->properties = $properties; + $this->modifiedAt = $modifiedAt; + $this->grantedAt = $grantedAt; + $this->revokedAt = $revokedAt; + $this->subscriptionId = $subscriptionId; + $this->orderId = $orderId; + $this->memberId = $memberId; + $this->error = $error; + } +} \ No newline at end of file diff --git a/src/Models/Components/CustomerBenefitGrantSlackSharedChannelPropertiesUpdate.php b/src/Models/Components/CustomerBenefitGrantSlackSharedChannelPropertiesUpdate.php new file mode 100644 index 00000000..4fc7f879 --- /dev/null +++ b/src/Models/Components/CustomerBenefitGrantSlackSharedChannelPropertiesUpdate.php @@ -0,0 +1,29 @@ +invitedEmail = $invitedEmail; + } +} \ No newline at end of file diff --git a/src/Models/Components/CustomerBenefitGrantSlackSharedChannelUpdate.php b/src/Models/Components/CustomerBenefitGrantSlackSharedChannelUpdate.php new file mode 100644 index 00000000..25158a43 --- /dev/null +++ b/src/Models/Components/CustomerBenefitGrantSlackSharedChannelUpdate.php @@ -0,0 +1,39 @@ +properties = $properties; + $this->benefitType = $benefitType; + } +} \ No newline at end of file diff --git a/src/Models/Components/CustomerEmailUpdateRequest.php b/src/Models/Components/CustomerEmailUpdateRequest.php new file mode 100644 index 00000000..e9eab803 --- /dev/null +++ b/src/Models/Components/CustomerEmailUpdateRequest.php @@ -0,0 +1,29 @@ +email = $email; + } +} \ No newline at end of file diff --git a/src/Models/Components/CustomerEmailUpdateVerifyRequest.php b/src/Models/Components/CustomerEmailUpdateVerifyRequest.php new file mode 100644 index 00000000..d5bed7b4 --- /dev/null +++ b/src/Models/Components/CustomerEmailUpdateVerifyRequest.php @@ -0,0 +1,29 @@ +token = $token; + } +} \ No newline at end of file diff --git a/src/Models/Components/CustomerEmailUpdateVerifyResponse.php b/src/Models/Components/CustomerEmailUpdateVerifyResponse.php new file mode 100644 index 00000000..9e94a575 --- /dev/null +++ b/src/Models/Components/CustomerEmailUpdateVerifyResponse.php @@ -0,0 +1,29 @@ +token = $token; + } +} \ No newline at end of file diff --git a/src/Models/Components/CustomerIndividual.php b/src/Models/Components/CustomerIndividual.php index 0cb4be0d..71ef7cf4 100644 --- a/src/Models/Components/CustomerIndividual.php +++ b/src/Models/Components/CustomerIndividual.php @@ -61,13 +61,6 @@ class CustomerIndividual #[\Speakeasy\Serializer\Annotation\SerializedName('organization_id')] public string $organizationId; - /** - * - * @var string $avatarUrl - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('avatar_url')] - public string $avatarUrl; - /** * Last modification timestamp of the object. * @@ -84,6 +77,14 @@ class CustomerIndividual #[\Speakeasy\Serializer\Annotation\SerializedName('name')] public ?string $name; + /** + * The name that should appear on the customer's invoices. Falls back to the customer name when not explicitly set. + * + * @var ?string $billingName + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('billing_name')] + public ?string $billingName; + /** * * @var ?\Polar\Models\Components\Address $billingAddress @@ -109,6 +110,13 @@ class CustomerIndividual #[\Speakeasy\Serializer\Annotation\SerializedName('deleted_at')] public ?\DateTime $deletedAt; + /** + * + * @var ?string $avatarUrl + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('avatar_url')] + public ?string $avatarUrl; + /** * The ID of the customer in your system. This must be unique within the organization. Once set, it can't be updated. * @@ -126,6 +134,15 @@ class CustomerIndividual #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public ?string $locale = null; + /** + * The ID of the customer's default payment method, if any. Use the payment methods endpoint to retrieve its details. + * + * @var ?string $defaultPaymentMethodId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('default_payment_method_id')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $defaultPaymentMethodId = null; + /** * The type of customer. * @@ -142,17 +159,19 @@ class CustomerIndividual * @param bool $emailVerified * @param string $type * @param string $organizationId - * @param string $avatarUrl * @param ?\DateTime $modifiedAt * @param ?string $name + * @param ?string $billingName * @param ?\Polar\Models\Components\Address $billingAddress * @param ?array $taxId * @param ?\DateTime $deletedAt + * @param ?string $avatarUrl * @param ?string $externalId * @param ?string $locale + * @param ?string $defaultPaymentMethodId * @phpstan-pure */ - public function __construct(string $id, \DateTime $createdAt, array $metadata, string $email, bool $emailVerified, string $organizationId, string $avatarUrl, ?\DateTime $modifiedAt = null, ?string $name = null, ?Address $billingAddress = null, ?array $taxId = null, ?\DateTime $deletedAt = null, ?string $externalId = null, ?string $locale = null, string $type = 'individual') + public function __construct(string $id, \DateTime $createdAt, array $metadata, string $email, bool $emailVerified, string $organizationId, ?\DateTime $modifiedAt = null, ?string $name = null, ?string $billingName = null, ?Address $billingAddress = null, ?array $taxId = null, ?\DateTime $deletedAt = null, ?string $avatarUrl = null, ?string $externalId = null, ?string $locale = null, ?string $defaultPaymentMethodId = null, string $type = 'individual') { $this->id = $id; $this->createdAt = $createdAt; @@ -160,14 +179,16 @@ public function __construct(string $id, \DateTime $createdAt, array $metadata, s $this->email = $email; $this->emailVerified = $emailVerified; $this->organizationId = $organizationId; - $this->avatarUrl = $avatarUrl; $this->modifiedAt = $modifiedAt; $this->name = $name; + $this->billingName = $billingName; $this->billingAddress = $billingAddress; $this->taxId = $taxId; $this->deletedAt = $deletedAt; + $this->avatarUrl = $avatarUrl; $this->externalId = $externalId; $this->locale = $locale; + $this->defaultPaymentMethodId = $defaultPaymentMethodId; $this->type = $type; } } \ No newline at end of file diff --git a/src/Models/Components/CustomerOrder.php b/src/Models/Components/CustomerOrder.php index a96fde47..e76e7233 100644 --- a/src/Models/Components/CustomerOrder.php +++ b/src/Models/Components/CustomerOrder.php @@ -130,14 +130,6 @@ class CustomerOrder #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\OrderBillingReason')] public OrderBillingReason $billingReason; - /** - * The invoice number associated with this order. - * - * @var string $invoiceNumber - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('invoice_number')] - public string $invoiceNumber; - /** * Whether an invoice has been generated for this order. * @@ -170,6 +162,22 @@ class CustomerOrder #[\Speakeasy\Serializer\Annotation\SerializedName('description')] public string $description; + /** + * Amount in cents that can still be refunded (net, before taxes). Accounts for any applied customer balance and previous refunds. + * + * @var int $refundableAmount + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('refundable_amount')] + public int $refundableAmount; + + /** + * Sales tax in cents that would be refunded if the full refundable amount is refunded. + * + * @var int $refundableTaxAmount + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('refundable_tax_amount')] + public int $refundableTaxAmount; + /** * Last modification timestamp of the object. * @@ -194,6 +202,22 @@ class CustomerOrder #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\Address|null')] public ?Address $billingAddress; + /** + * The invoice number associated with this order. `null` while the order is in `draft` status; assigned at finalize. + * + * @var ?string $invoiceNumber + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('invoice_number')] + public ?string $invoiceNumber; + + /** + * The receipt number for this order. Set once the order is paid for organizations with receipts enabled. When set, a downloadable receipt PDF can be obtained via the receipt endpoint. + * + * @var ?string $receiptNumber + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('receipt_number')] + public ?string $receiptNumber; + /** * * @var ?string $productId @@ -248,7 +272,7 @@ class CustomerOrder public ?int $seats = null; /** - * When the next payment retry is scheduled + * When the next automatic payment retry is scheduled. `null` if the order is not in dunning or all retries have been exhausted. * * @var ?\DateTime $nextPaymentAttemptAt */ @@ -272,14 +296,17 @@ class CustomerOrder * @param int $refundedTaxAmount * @param string $currency * @param \Polar\Models\Components\OrderBillingReason $billingReason - * @param string $invoiceNumber * @param bool $isInvoiceGenerated * @param string $customerId * @param array<\Polar\Models\Components\OrderItemSchema> $items * @param string $description + * @param int $refundableAmount + * @param int $refundableTaxAmount * @param ?\DateTime $modifiedAt * @param ?string $billingName * @param ?\Polar\Models\Components\Address $billingAddress + * @param ?string $invoiceNumber + * @param ?string $receiptNumber * @param ?string $productId * @param ?string $discountId * @param ?string $subscriptionId @@ -290,7 +317,7 @@ class CustomerOrder * @param ?\DateTime $nextPaymentAttemptAt * @phpstan-pure */ - public function __construct(string $id, \DateTime $createdAt, OrderStatus $status, bool $paid, int $subtotalAmount, int $discountAmount, int $netAmount, int $taxAmount, int $totalAmount, int $appliedBalanceAmount, int $dueAmount, int $refundedAmount, int $refundedTaxAmount, string $currency, OrderBillingReason $billingReason, string $invoiceNumber, bool $isInvoiceGenerated, string $customerId, array $items, string $description, ?\DateTime $modifiedAt = null, ?string $billingName = null, ?Address $billingAddress = null, ?string $productId = null, ?string $discountId = null, ?string $subscriptionId = null, ?string $checkoutId = null, ?CustomerOrderProduct $product = null, ?CustomerOrderSubscription $subscription = null, ?int $seats = null, ?\DateTime $nextPaymentAttemptAt = null) + public function __construct(string $id, \DateTime $createdAt, OrderStatus $status, bool $paid, int $subtotalAmount, int $discountAmount, int $netAmount, int $taxAmount, int $totalAmount, int $appliedBalanceAmount, int $dueAmount, int $refundedAmount, int $refundedTaxAmount, string $currency, OrderBillingReason $billingReason, bool $isInvoiceGenerated, string $customerId, array $items, string $description, int $refundableAmount, int $refundableTaxAmount, ?\DateTime $modifiedAt = null, ?string $billingName = null, ?Address $billingAddress = null, ?string $invoiceNumber = null, ?string $receiptNumber = null, ?string $productId = null, ?string $discountId = null, ?string $subscriptionId = null, ?string $checkoutId = null, ?CustomerOrderProduct $product = null, ?CustomerOrderSubscription $subscription = null, ?int $seats = null, ?\DateTime $nextPaymentAttemptAt = null) { $this->id = $id; $this->createdAt = $createdAt; @@ -307,14 +334,17 @@ public function __construct(string $id, \DateTime $createdAt, OrderStatus $statu $this->refundedTaxAmount = $refundedTaxAmount; $this->currency = $currency; $this->billingReason = $billingReason; - $this->invoiceNumber = $invoiceNumber; $this->isInvoiceGenerated = $isInvoiceGenerated; $this->customerId = $customerId; $this->items = $items; $this->description = $description; + $this->refundableAmount = $refundableAmount; + $this->refundableTaxAmount = $refundableTaxAmount; $this->modifiedAt = $modifiedAt; $this->billingName = $billingName; $this->billingAddress = $billingAddress; + $this->invoiceNumber = $invoiceNumber; + $this->receiptNumber = $receiptNumber; $this->productId = $productId; $this->discountId = $discountId; $this->subscriptionId = $subscriptionId; diff --git a/src/Models/Components/CustomerOrderProduct.php b/src/Models/Components/CustomerOrderProduct.php index ef3744ad..1b8cc1ba 100644 --- a/src/Models/Components/CustomerOrderProduct.php +++ b/src/Models/Components/CustomerOrderProduct.php @@ -70,10 +70,10 @@ class CustomerOrderProduct /** * List of prices for this product. * - * @var array<\Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\LegacyRecurringProductPriceFree|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceFree|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit> $prices + * @var array<\Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit> $prices */ #[\Speakeasy\Serializer\Annotation\SerializedName('prices')] - #[\Speakeasy\Serializer\Annotation\Type('array<\Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\LegacyRecurringProductPriceFree|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceFree|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit>')] + #[\Speakeasy\Serializer\Annotation\Type('array<\Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit>')] public array $prices; /** @@ -138,11 +138,11 @@ class CustomerOrderProduct /** * The recurring interval of the product. If `None`, the product is a one-time purchase. * - * @var ?\Polar\Models\Components\SubscriptionRecurringInterval $recurringInterval + * @var ?\Polar\Models\Components\RecurringInterval $recurringInterval */ #[\Speakeasy\Serializer\Annotation\SerializedName('recurring_interval')] - #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\SubscriptionRecurringInterval|null')] - public ?SubscriptionRecurringInterval $recurringInterval; + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\RecurringInterval|null')] + public ?RecurringInterval $recurringInterval; /** * Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. None for one-time products. @@ -152,6 +152,23 @@ class CustomerOrderProduct #[\Speakeasy\Serializer\Annotation\SerializedName('recurring_interval_count')] public ?int $recurringIntervalCount; + /** + * The meter cycle of the product, independent of the billing interval. If `None`, metered concerns follow the billing interval. + * + * @var ?\Polar\Models\Components\RecurringInterval $meterInterval + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('meter_interval')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\RecurringInterval|null')] + public ?RecurringInterval $meterInterval; + + /** + * Number of meter interval units. None when no meter cycle is set. + * + * @var ?int $meterIntervalCount + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('meter_interval_count')] + public ?int $meterIntervalCount; + /** * @param string $id * @param \DateTime $createdAt @@ -160,7 +177,7 @@ class CustomerOrderProduct * @param bool $isRecurring * @param bool $isArchived * @param string $organizationId - * @param array<\Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\LegacyRecurringProductPriceFree|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceFree|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit> $prices + * @param array<\Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit> $prices * @param array<\Polar\Models\Components\BenefitPublic> $benefits * @param array<\Polar\Models\Components\ProductMediaFileRead> $medias * @param \Polar\Models\Components\CustomerOrganization $organization @@ -168,11 +185,13 @@ class CustomerOrderProduct * @param ?\Polar\Models\Components\TrialInterval $trialInterval * @param ?int $trialIntervalCount * @param ?string $description - * @param ?\Polar\Models\Components\SubscriptionRecurringInterval $recurringInterval + * @param ?\Polar\Models\Components\RecurringInterval $recurringInterval * @param ?int $recurringIntervalCount + * @param ?\Polar\Models\Components\RecurringInterval $meterInterval + * @param ?int $meterIntervalCount * @phpstan-pure */ - public function __construct(string $id, \DateTime $createdAt, string $name, ProductVisibility $visibility, bool $isRecurring, bool $isArchived, string $organizationId, array $prices, array $benefits, array $medias, CustomerOrganization $organization, ?\DateTime $modifiedAt = null, ?TrialInterval $trialInterval = null, ?int $trialIntervalCount = null, ?string $description = null, ?SubscriptionRecurringInterval $recurringInterval = null, ?int $recurringIntervalCount = null) + public function __construct(string $id, \DateTime $createdAt, string $name, ProductVisibility $visibility, bool $isRecurring, bool $isArchived, string $organizationId, array $prices, array $benefits, array $medias, CustomerOrganization $organization, ?\DateTime $modifiedAt = null, ?TrialInterval $trialInterval = null, ?int $trialIntervalCount = null, ?string $description = null, ?RecurringInterval $recurringInterval = null, ?int $recurringIntervalCount = null, ?RecurringInterval $meterInterval = null, ?int $meterIntervalCount = null) { $this->id = $id; $this->createdAt = $createdAt; @@ -191,5 +210,7 @@ public function __construct(string $id, \DateTime $createdAt, string $name, Prod $this->description = $description; $this->recurringInterval = $recurringInterval; $this->recurringIntervalCount = $recurringIntervalCount; + $this->meterInterval = $meterInterval; + $this->meterIntervalCount = $meterIntervalCount; } } \ No newline at end of file diff --git a/src/Models/Components/CustomerOrderReceipt.php b/src/Models/Components/CustomerOrderReceipt.php new file mode 100644 index 00000000..954d067b --- /dev/null +++ b/src/Models/Components/CustomerOrderReceipt.php @@ -0,0 +1,31 @@ +url = $url; + } +} \ No newline at end of file diff --git a/src/Models/Components/CustomerOrderSubscription.php b/src/Models/Components/CustomerOrderSubscription.php index 548e698f..71ac8608 100644 --- a/src/Models/Components/CustomerOrderSubscription.php +++ b/src/Models/Components/CustomerOrderSubscription.php @@ -45,11 +45,11 @@ class CustomerOrderSubscription /** * - * @var \Polar\Models\Components\SubscriptionRecurringInterval $recurringInterval + * @var \Polar\Models\Components\RecurringInterval $recurringInterval */ #[\Speakeasy\Serializer\Annotation\SerializedName('recurring_interval')] - #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\SubscriptionRecurringInterval')] - public SubscriptionRecurringInterval $recurringInterval; + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\RecurringInterval')] + public RecurringInterval $recurringInterval; /** * Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. @@ -91,6 +91,14 @@ class CustomerOrderSubscription #[\Speakeasy\Serializer\Annotation\SerializedName('cancel_at_period_end')] public bool $cancelAtPeriodEnd; + /** + * Whether the subscription will be paused at the end of the current period. + * + * @var bool $pauseAtPeriodEnd + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('pause_at_period_end')] + public bool $pauseAtPeriodEnd; + /** * The ID of the subscribed customer. * @@ -115,6 +123,22 @@ class CustomerOrderSubscription #[\Speakeasy\Serializer\Annotation\SerializedName('modified_at')] public ?\DateTime $modifiedAt; + /** + * The start timestamp of the current meter period, if the product has a meter cycle set. Metered credits are granted and overage is settled on this cadence. + * + * @var ?\DateTime $currentMeterPeriodStart + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('current_meter_period_start')] + public ?\DateTime $currentMeterPeriodStart; + + /** + * The end timestamp of the current meter period, if the product has a meter cycle set. This is when credits next renew. + * + * @var ?\DateTime $currentMeterPeriodEnd + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('current_meter_period_end')] + public ?\DateTime $currentMeterPeriodEnd; + /** * The start timestamp of the trial period, if any. * @@ -163,6 +187,22 @@ class CustomerOrderSubscription #[\Speakeasy\Serializer\Annotation\SerializedName('ended_at')] public ?\DateTime $endedAt; + /** + * The timestamp when the subscription was paused. + * + * @var ?\DateTime $pausedAt + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('paused_at')] + public ?\DateTime $pausedAt; + + /** + * The timestamp when a paused subscription is scheduled to automatically resume, if set. + * + * @var ?\DateTime $resumesAt + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('resumes_at')] + public ?\DateTime $resumesAt; + /** * The ID of the applied discount, if any. * @@ -193,6 +233,15 @@ class CustomerOrderSubscription #[\Speakeasy\Serializer\Annotation\SerializedName('customer_cancellation_comment')] public ?string $customerCancellationComment; + /** + * The timestamp when the subscription entered `past_due` status. + * + * @var ?\DateTime $pastDueAt + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('past_due_at')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?\DateTime $pastDueAt = null; + /** * The number of seats for seat-based subscriptions. None for non-seat subscriptions. * @@ -207,29 +256,35 @@ class CustomerOrderSubscription * @param string $id * @param int $amount * @param string $currency - * @param \Polar\Models\Components\SubscriptionRecurringInterval $recurringInterval + * @param \Polar\Models\Components\RecurringInterval $recurringInterval * @param int $recurringIntervalCount * @param \Polar\Models\Components\SubscriptionStatus $status * @param \DateTime $currentPeriodStart * @param \DateTime $currentPeriodEnd * @param bool $cancelAtPeriodEnd + * @param bool $pauseAtPeriodEnd * @param string $customerId * @param string $productId * @param ?\DateTime $modifiedAt + * @param ?\DateTime $currentMeterPeriodStart + * @param ?\DateTime $currentMeterPeriodEnd * @param ?\DateTime $trialStart * @param ?\DateTime $trialEnd * @param ?\DateTime $canceledAt * @param ?\DateTime $startedAt * @param ?\DateTime $endsAt * @param ?\DateTime $endedAt + * @param ?\DateTime $pausedAt + * @param ?\DateTime $resumesAt * @param ?string $discountId * @param ?string $checkoutId * @param ?\Polar\Models\Components\CustomerCancellationReason $customerCancellationReason * @param ?string $customerCancellationComment + * @param ?\DateTime $pastDueAt * @param ?int $seats * @phpstan-pure */ - public function __construct(\DateTime $createdAt, string $id, int $amount, string $currency, SubscriptionRecurringInterval $recurringInterval, int $recurringIntervalCount, SubscriptionStatus $status, \DateTime $currentPeriodStart, \DateTime $currentPeriodEnd, bool $cancelAtPeriodEnd, string $customerId, string $productId, ?\DateTime $modifiedAt = null, ?\DateTime $trialStart = null, ?\DateTime $trialEnd = null, ?\DateTime $canceledAt = null, ?\DateTime $startedAt = null, ?\DateTime $endsAt = null, ?\DateTime $endedAt = null, ?string $discountId = null, ?string $checkoutId = null, ?CustomerCancellationReason $customerCancellationReason = null, ?string $customerCancellationComment = null, ?int $seats = null) + public function __construct(\DateTime $createdAt, string $id, int $amount, string $currency, RecurringInterval $recurringInterval, int $recurringIntervalCount, SubscriptionStatus $status, \DateTime $currentPeriodStart, \DateTime $currentPeriodEnd, bool $cancelAtPeriodEnd, bool $pauseAtPeriodEnd, string $customerId, string $productId, ?\DateTime $modifiedAt = null, ?\DateTime $currentMeterPeriodStart = null, ?\DateTime $currentMeterPeriodEnd = null, ?\DateTime $trialStart = null, ?\DateTime $trialEnd = null, ?\DateTime $canceledAt = null, ?\DateTime $startedAt = null, ?\DateTime $endsAt = null, ?\DateTime $endedAt = null, ?\DateTime $pausedAt = null, ?\DateTime $resumesAt = null, ?string $discountId = null, ?string $checkoutId = null, ?CustomerCancellationReason $customerCancellationReason = null, ?string $customerCancellationComment = null, ?\DateTime $pastDueAt = null, ?int $seats = null) { $this->createdAt = $createdAt; $this->id = $id; @@ -241,19 +296,25 @@ public function __construct(\DateTime $createdAt, string $id, int $amount, strin $this->currentPeriodStart = $currentPeriodStart; $this->currentPeriodEnd = $currentPeriodEnd; $this->cancelAtPeriodEnd = $cancelAtPeriodEnd; + $this->pauseAtPeriodEnd = $pauseAtPeriodEnd; $this->customerId = $customerId; $this->productId = $productId; $this->modifiedAt = $modifiedAt; + $this->currentMeterPeriodStart = $currentMeterPeriodStart; + $this->currentMeterPeriodEnd = $currentMeterPeriodEnd; $this->trialStart = $trialStart; $this->trialEnd = $trialEnd; $this->canceledAt = $canceledAt; $this->startedAt = $startedAt; $this->endsAt = $endsAt; $this->endedAt = $endedAt; + $this->pausedAt = $pausedAt; + $this->resumesAt = $resumesAt; $this->discountId = $discountId; $this->checkoutId = $checkoutId; $this->customerCancellationReason = $customerCancellationReason; $this->customerCancellationComment = $customerCancellationComment; + $this->pastDueAt = $pastDueAt; $this->seats = $seats; } } \ No newline at end of file diff --git a/src/Models/Components/CustomerOrganizationFeatureSettings.php b/src/Models/Components/CustomerOrganizationFeatureSettings.php index eead65e2..74c3a37f 100644 --- a/src/Models/Components/CustomerOrganizationFeatureSettings.php +++ b/src/Models/Components/CustomerOrganizationFeatureSettings.php @@ -21,12 +21,23 @@ class CustomerOrganizationFeatureSettings #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public ?bool $memberModelEnabled = null; + /** + * Whether localization is enabled for this organization. + * + * @var ?bool $checkoutLocalizationEnabled + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('checkout_localization_enabled')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?bool $checkoutLocalizationEnabled = null; + /** * @param ?bool $memberModelEnabled + * @param ?bool $checkoutLocalizationEnabled * @phpstan-pure */ - public function __construct(?bool $memberModelEnabled = false) + public function __construct(?bool $memberModelEnabled = false, ?bool $checkoutLocalizationEnabled = false) { $this->memberModelEnabled = $memberModelEnabled; + $this->checkoutLocalizationEnabled = $checkoutLocalizationEnabled; } } \ No newline at end of file diff --git a/src/Models/Components/CustomerPaymentMethodCard.php b/src/Models/Components/CustomerPaymentMethodCard.php new file mode 100644 index 00000000..0be415ea --- /dev/null +++ b/src/Models/Components/CustomerPaymentMethodCard.php @@ -0,0 +1,98 @@ +id = $id; + $this->createdAt = $createdAt; + $this->processor = $processor; + $this->customerId = $customerId; + $this->methodMetadata = $methodMetadata; + $this->isDefault = $isDefault; + $this->modifiedAt = $modifiedAt; + $this->type = $type; + } +} \ No newline at end of file diff --git a/src/Models/Components/CustomerPaymentMethodGeneric.php b/src/Models/Components/CustomerPaymentMethodGeneric.php new file mode 100644 index 00000000..9ed6fc4f --- /dev/null +++ b/src/Models/Components/CustomerPaymentMethodGeneric.php @@ -0,0 +1,88 @@ +id = $id; + $this->createdAt = $createdAt; + $this->processor = $processor; + $this->customerId = $customerId; + $this->type = $type; + $this->isDefault = $isDefault; + $this->modifiedAt = $modifiedAt; + } +} \ No newline at end of file diff --git a/src/Models/Components/CustomerPortalCustomer.php b/src/Models/Components/CustomerPortalCustomer.php index 60de1f9c..bf1d4ec9 100644 --- a/src/Models/Components/CustomerPortalCustomer.php +++ b/src/Models/Components/CustomerPortalCustomer.php @@ -106,6 +106,14 @@ class CustomerPortalCustomer #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public ?CustomerType $type = null; + /** + * + * @var ?string $locale + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('locale')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $locale = null; + /** * @param \DateTime $createdAt * @param string $id @@ -119,9 +127,10 @@ class CustomerPortalCustomer * @param ?array $taxId * @param ?string $defaultPaymentMethodId * @param ?\Polar\Models\Components\CustomerType $type + * @param ?string $locale * @phpstan-pure */ - public function __construct(\DateTime $createdAt, string $id, bool $emailVerified, array $oauthAccounts, ?\DateTime $modifiedAt = null, ?string $email = null, ?string $name = null, ?string $billingName = null, ?Address $billingAddress = null, ?array $taxId = null, ?string $defaultPaymentMethodId = null, ?CustomerType $type = null) + public function __construct(\DateTime $createdAt, string $id, bool $emailVerified, array $oauthAccounts, ?\DateTime $modifiedAt = null, ?string $email = null, ?string $name = null, ?string $billingName = null, ?Address $billingAddress = null, ?array $taxId = null, ?string $defaultPaymentMethodId = null, ?CustomerType $type = null, ?string $locale = null) { $this->createdAt = $createdAt; $this->id = $id; @@ -135,5 +144,6 @@ public function __construct(\DateTime $createdAt, string $id, bool $emailVerifie $this->taxId = $taxId; $this->defaultPaymentMethodId = $defaultPaymentMethodId; $this->type = $type; + $this->locale = $locale; } } \ No newline at end of file diff --git a/src/Models/Components/CustomerPortalCustomerSettings.php b/src/Models/Components/CustomerPortalCustomerSettings.php new file mode 100644 index 00000000..5e7c8b36 --- /dev/null +++ b/src/Models/Components/CustomerPortalCustomerSettings.php @@ -0,0 +1,30 @@ +allowEmailChange = $allowEmailChange; + } +} \ No newline at end of file diff --git a/src/Models/Components/CustomerPortalCustomerUpdate.php b/src/Models/Components/CustomerPortalCustomerUpdate.php index ba027375..a4d388f6 100644 --- a/src/Models/Components/CustomerPortalCustomerUpdate.php +++ b/src/Models/Components/CustomerPortalCustomerUpdate.php @@ -36,16 +36,26 @@ class CustomerPortalCustomerUpdate #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public ?string $taxId = null; + /** + * + * @var ?string $defaultPaymentMethodId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('default_payment_method_id')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $defaultPaymentMethodId = null; + /** * @param ?string $billingName * @param ?\Polar\Models\Components\AddressInput $billingAddress * @param ?string $taxId + * @param ?string $defaultPaymentMethodId * @phpstan-pure */ - public function __construct(?string $billingName = null, ?AddressInput $billingAddress = null, ?string $taxId = null) + public function __construct(?string $billingName = null, ?AddressInput $billingAddress = null, ?string $taxId = null, ?string $defaultPaymentMethodId = null) { $this->billingName = $billingName; $this->billingAddress = $billingAddress; $this->taxId = $taxId; + $this->defaultPaymentMethodId = $defaultPaymentMethodId; } } \ No newline at end of file diff --git a/src/Models/Components/CustomerPortalMemberUpdate.php b/src/Models/Components/CustomerPortalMemberUpdate.php index 7e656fed..e490a281 100644 --- a/src/Models/Components/CustomerPortalMemberUpdate.php +++ b/src/Models/Components/CustomerPortalMemberUpdate.php @@ -9,9 +9,18 @@ namespace Polar\Models\Components; -/** CustomerPortalMemberUpdate - Schema for updating a member's role in the customer portal. */ +/** CustomerPortalMemberUpdate - Schema for updating a member in the customer portal. */ class CustomerPortalMemberUpdate { + /** + * The new name for the member. + * + * @var ?string $name + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('name')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $name = null; + /** * The new role for the member. * @@ -23,11 +32,13 @@ class CustomerPortalMemberUpdate public ?MemberRole $role = null; /** + * @param ?string $name * @param ?\Polar\Models\Components\MemberRole $role * @phpstan-pure */ - public function __construct(?MemberRole $role = null) + public function __construct(?string $name = null, ?MemberRole $role = null) { + $this->name = $name; $this->role = $role; } } \ No newline at end of file diff --git a/src/Models/Components/CustomerPortalSubscriptionSettings.php b/src/Models/Components/CustomerPortalSubscriptionSettings.php index 72d5dba7..b41fa79e 100644 --- a/src/Models/Components/CustomerPortalSubscriptionSettings.php +++ b/src/Models/Components/CustomerPortalSubscriptionSettings.php @@ -25,14 +25,24 @@ class CustomerPortalSubscriptionSettings #[\Speakeasy\Serializer\Annotation\SerializedName('update_plan')] public bool $updatePlan; + /** + * + * @var ?bool $pause + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('pause')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?bool $pause = null; + /** * @param bool $updateSeats * @param bool $updatePlan + * @param ?bool $pause * @phpstan-pure */ - public function __construct(bool $updateSeats, bool $updatePlan) + public function __construct(bool $updateSeats, bool $updatePlan, ?bool $pause = null) { $this->updateSeats = $updateSeats; $this->updatePlan = $updatePlan; + $this->pause = $pause; } } \ No newline at end of file diff --git a/src/Models/Components/CustomerProduct.php b/src/Models/Components/CustomerProduct.php index d340e473..d35e6c3b 100644 --- a/src/Models/Components/CustomerProduct.php +++ b/src/Models/Components/CustomerProduct.php @@ -71,14 +71,14 @@ class CustomerProduct /** * List of available prices for this product. * - * @var array<\Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\LegacyRecurringProductPriceFree|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceFree|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit> $prices + * @var array<\Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit> $prices */ #[\Speakeasy\Serializer\Annotation\SerializedName('prices')] - #[\Speakeasy\Serializer\Annotation\Type('array<\Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\LegacyRecurringProductPriceFree|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceFree|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit>')] + #[\Speakeasy\Serializer\Annotation\Type('array<\Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit>')] public array $prices; /** - * The benefits granted by the product. + * List of benefits granted by the product. * * @var array<\Polar\Models\Components\BenefitPublic> $benefits */ @@ -131,11 +131,11 @@ class CustomerProduct /** * The recurring interval of the product. If `None`, the product is a one-time purchase. * - * @var ?\Polar\Models\Components\SubscriptionRecurringInterval $recurringInterval + * @var ?\Polar\Models\Components\RecurringInterval $recurringInterval */ #[\Speakeasy\Serializer\Annotation\SerializedName('recurring_interval')] - #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\SubscriptionRecurringInterval|null')] - public ?SubscriptionRecurringInterval $recurringInterval; + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\RecurringInterval|null')] + public ?RecurringInterval $recurringInterval; /** * Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. None for one-time products. @@ -145,6 +145,23 @@ class CustomerProduct #[\Speakeasy\Serializer\Annotation\SerializedName('recurring_interval_count')] public ?int $recurringIntervalCount; + /** + * The meter cycle of the product, independent of the billing interval. If `None`, metered concerns follow the billing interval. + * + * @var ?\Polar\Models\Components\RecurringInterval $meterInterval + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('meter_interval')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\RecurringInterval|null')] + public ?RecurringInterval $meterInterval; + + /** + * Number of meter interval units. None when no meter cycle is set. + * + * @var ?int $meterIntervalCount + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('meter_interval_count')] + public ?int $meterIntervalCount; + /** * @param string $id * @param \DateTime $createdAt @@ -153,18 +170,20 @@ class CustomerProduct * @param bool $isRecurring * @param bool $isArchived * @param string $organizationId - * @param array<\Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\LegacyRecurringProductPriceFree|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceFree|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit> $prices + * @param array<\Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit> $prices * @param array<\Polar\Models\Components\BenefitPublic> $benefits * @param array<\Polar\Models\Components\ProductMediaFileRead> $medias * @param ?\DateTime $modifiedAt * @param ?\Polar\Models\Components\TrialInterval $trialInterval * @param ?int $trialIntervalCount * @param ?string $description - * @param ?\Polar\Models\Components\SubscriptionRecurringInterval $recurringInterval + * @param ?\Polar\Models\Components\RecurringInterval $recurringInterval * @param ?int $recurringIntervalCount + * @param ?\Polar\Models\Components\RecurringInterval $meterInterval + * @param ?int $meterIntervalCount * @phpstan-pure */ - public function __construct(string $id, \DateTime $createdAt, string $name, ProductVisibility $visibility, bool $isRecurring, bool $isArchived, string $organizationId, array $prices, array $benefits, array $medias, ?\DateTime $modifiedAt = null, ?TrialInterval $trialInterval = null, ?int $trialIntervalCount = null, ?string $description = null, ?SubscriptionRecurringInterval $recurringInterval = null, ?int $recurringIntervalCount = null) + public function __construct(string $id, \DateTime $createdAt, string $name, ProductVisibility $visibility, bool $isRecurring, bool $isArchived, string $organizationId, array $prices, array $benefits, array $medias, ?\DateTime $modifiedAt = null, ?TrialInterval $trialInterval = null, ?int $trialIntervalCount = null, ?string $description = null, ?RecurringInterval $recurringInterval = null, ?int $recurringIntervalCount = null, ?RecurringInterval $meterInterval = null, ?int $meterIntervalCount = null) { $this->id = $id; $this->createdAt = $createdAt; @@ -182,5 +201,7 @@ public function __construct(string $id, \DateTime $createdAt, string $name, Prod $this->description = $description; $this->recurringInterval = $recurringInterval; $this->recurringIntervalCount = $recurringIntervalCount; + $this->meterInterval = $meterInterval; + $this->meterIntervalCount = $meterIntervalCount; } } \ No newline at end of file diff --git a/src/Models/Components/CustomerSeat.php b/src/Models/Components/CustomerSeat.php index 4909ccc4..63310a2e 100644 --- a/src/Models/Components/CustomerSeat.php +++ b/src/Models/Components/CustomerSeat.php @@ -49,8 +49,7 @@ class CustomerSeat * @var ?string $subscriptionId */ #[\Speakeasy\Serializer\Annotation\SerializedName('subscription_id')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?string $subscriptionId = null; + public ?string $subscriptionId; /** * The order ID (for one-time purchase seats) @@ -58,8 +57,7 @@ class CustomerSeat * @var ?string $orderId */ #[\Speakeasy\Serializer\Annotation\SerializedName('order_id')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?string $orderId = null; + public ?string $orderId; /** * The customer ID. When member_model_enabled is true, this is the billing customer (purchaser). When false, this is the seat member customer. @@ -67,8 +65,7 @@ class CustomerSeat * @var ?string $customerId */ #[\Speakeasy\Serializer\Annotation\SerializedName('customer_id')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?string $customerId = null; + public ?string $customerId; /** * The member ID of the seat occupant @@ -76,8 +73,7 @@ class CustomerSeat * @var ?string $memberId */ #[\Speakeasy\Serializer\Annotation\SerializedName('member_id')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?string $memberId = null; + public ?string $memberId; /** * The member associated with this seat @@ -86,8 +82,7 @@ class CustomerSeat */ #[\Speakeasy\Serializer\Annotation\SerializedName('member')] #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\Member|null')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?Member $member = null; + public ?Member $member; /** * Email of the seat member (set when member_model_enabled is true) @@ -95,8 +90,7 @@ class CustomerSeat * @var ?string $email */ #[\Speakeasy\Serializer\Annotation\SerializedName('email')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?string $email = null; + public ?string $email; /** * The assigned customer email @@ -104,8 +98,7 @@ class CustomerSeat * @var ?string $customerEmail */ #[\Speakeasy\Serializer\Annotation\SerializedName('customer_email')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?string $customerEmail = null; + public ?string $customerEmail; /** * When the invitation token expires @@ -113,8 +106,7 @@ class CustomerSeat * @var ?\DateTime $invitationTokenExpiresAt */ #[\Speakeasy\Serializer\Annotation\SerializedName('invitation_token_expires_at')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?\DateTime $invitationTokenExpiresAt = null; + public ?\DateTime $invitationTokenExpiresAt; /** * When the seat was claimed @@ -122,8 +114,7 @@ class CustomerSeat * @var ?\DateTime $claimedAt */ #[\Speakeasy\Serializer\Annotation\SerializedName('claimed_at')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?\DateTime $claimedAt = null; + public ?\DateTime $claimedAt; /** * When the seat was revoked @@ -131,8 +122,7 @@ class CustomerSeat * @var ?\DateTime $revokedAt */ #[\Speakeasy\Serializer\Annotation\SerializedName('revoked_at')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?\DateTime $revokedAt = null; + public ?\DateTime $revokedAt; /** * Additional metadata for the seat @@ -141,8 +131,7 @@ class CustomerSeat */ #[\Speakeasy\Serializer\Annotation\SerializedName('seat_metadata')] #[\Speakeasy\Serializer\Annotation\Type('array|null')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?array $seatMetadata = null; + public ?array $seatMetadata; /** * @param \DateTime $createdAt diff --git a/src/Models/Components/CustomerSeatAssign.php b/src/Models/Components/CustomerSeatAssign.php new file mode 100644 index 00000000..07620d52 --- /dev/null +++ b/src/Models/Components/CustomerSeatAssign.php @@ -0,0 +1,131 @@ + $metadata + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('metadata')] + #[\Speakeasy\Serializer\Annotation\Type('array|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?array $metadata = null; + + /** + * Checkout ID. Resolves to the subscription or order produced by the checkout. + * + * @var ?string $checkoutId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('checkout_id')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $checkoutId = null; + + /** + * If true, the seat will be immediately claimed without sending an invitation email. API-only feature. + * + * @var ?bool $immediateClaim + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('immediate_claim')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?bool $immediateClaim = null; + + /** + * @param ?bool $immediateClaim + * @param ?string $subscriptionId + * @param ?string $orderId + * @param ?string $email + * @param ?string $externalCustomerId + * @param ?string $customerId + * @param ?string $externalMemberId + * @param ?string $memberId + * @param ?array $metadata + * @param ?string $checkoutId + * @phpstan-pure + */ + public function __construct(?string $subscriptionId = null, ?string $orderId = null, ?string $email = null, ?string $externalCustomerId = null, ?string $customerId = null, ?string $externalMemberId = null, ?string $memberId = null, ?array $metadata = null, ?string $checkoutId = null, ?bool $immediateClaim = false) + { + $this->subscriptionId = $subscriptionId; + $this->orderId = $orderId; + $this->email = $email; + $this->externalCustomerId = $externalCustomerId; + $this->customerId = $customerId; + $this->externalMemberId = $externalMemberId; + $this->memberId = $memberId; + $this->metadata = $metadata; + $this->checkoutId = $checkoutId; + $this->immediateClaim = $immediateClaim; + } +} \ No newline at end of file diff --git a/src/Models/Components/CustomerStateBenefitGrant.php b/src/Models/Components/CustomerStateBenefitGrant.php index 054719b4..9e91c3ad 100644 --- a/src/Models/Components/CustomerStateBenefitGrant.php +++ b/src/Models/Components/CustomerStateBenefitGrant.php @@ -63,11 +63,11 @@ class CustomerStateBenefitGrant /** * - * @var \Polar\Models\Components\BenefitGrantDiscordProperties|\Polar\Models\Components\BenefitGrantGitHubRepositoryProperties|\Polar\Models\Components\BenefitGrantDownloadablesProperties|\Polar\Models\Components\BenefitGrantLicenseKeysProperties|\Polar\Models\Components\BenefitGrantCustomProperties|\Polar\Models\Components\BenefitGrantFeatureFlagProperties $properties + * @var \Polar\Models\Components\BenefitGrantDiscordProperties|\Polar\Models\Components\BenefitGrantGitHubRepositoryProperties|\Polar\Models\Components\BenefitGrantDownloadablesProperties|\Polar\Models\Components\BenefitGrantLicenseKeysProperties|\Polar\Models\Components\BenefitGrantCustomProperties|\Polar\Models\Components\BenefitGrantFeatureFlagProperties|\Polar\Models\Components\BenefitGrantSlackSharedChannelProperties $properties */ #[\Speakeasy\Serializer\Annotation\SerializedName('properties')] - #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\BenefitGrantDiscordProperties|\Polar\Models\Components\BenefitGrantGitHubRepositoryProperties|\Polar\Models\Components\BenefitGrantDownloadablesProperties|\Polar\Models\Components\BenefitGrantLicenseKeysProperties|\Polar\Models\Components\BenefitGrantCustomProperties|\Polar\Models\Components\BenefitGrantFeatureFlagProperties')] - public BenefitGrantDiscordProperties|BenefitGrantGitHubRepositoryProperties|BenefitGrantDownloadablesProperties|BenefitGrantLicenseKeysProperties|BenefitGrantCustomProperties|BenefitGrantFeatureFlagProperties $properties; + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\BenefitGrantDiscordProperties|\Polar\Models\Components\BenefitGrantGitHubRepositoryProperties|\Polar\Models\Components\BenefitGrantDownloadablesProperties|\Polar\Models\Components\BenefitGrantLicenseKeysProperties|\Polar\Models\Components\BenefitGrantCustomProperties|\Polar\Models\Components\BenefitGrantFeatureFlagProperties|\Polar\Models\Components\BenefitGrantSlackSharedChannelProperties')] + public BenefitGrantDiscordProperties|BenefitGrantGitHubRepositoryProperties|BenefitGrantDownloadablesProperties|BenefitGrantLicenseKeysProperties|BenefitGrantCustomProperties|BenefitGrantFeatureFlagProperties|BenefitGrantSlackSharedChannelProperties $properties; /** * Last modification timestamp of the object. @@ -84,11 +84,11 @@ class CustomerStateBenefitGrant * @param string $benefitId * @param \Polar\Models\Components\BenefitType $benefitType * @param array $benefitMetadata - * @param \Polar\Models\Components\BenefitGrantDiscordProperties|\Polar\Models\Components\BenefitGrantGitHubRepositoryProperties|\Polar\Models\Components\BenefitGrantDownloadablesProperties|\Polar\Models\Components\BenefitGrantLicenseKeysProperties|\Polar\Models\Components\BenefitGrantCustomProperties|\Polar\Models\Components\BenefitGrantFeatureFlagProperties $properties + * @param \Polar\Models\Components\BenefitGrantDiscordProperties|\Polar\Models\Components\BenefitGrantGitHubRepositoryProperties|\Polar\Models\Components\BenefitGrantDownloadablesProperties|\Polar\Models\Components\BenefitGrantLicenseKeysProperties|\Polar\Models\Components\BenefitGrantCustomProperties|\Polar\Models\Components\BenefitGrantFeatureFlagProperties|\Polar\Models\Components\BenefitGrantSlackSharedChannelProperties $properties * @param ?\DateTime $modifiedAt * @phpstan-pure */ - public function __construct(string $id, \DateTime $createdAt, \DateTime $grantedAt, string $benefitId, BenefitType $benefitType, array $benefitMetadata, BenefitGrantDiscordProperties|BenefitGrantGitHubRepositoryProperties|BenefitGrantDownloadablesProperties|BenefitGrantLicenseKeysProperties|BenefitGrantCustomProperties|BenefitGrantFeatureFlagProperties $properties, ?\DateTime $modifiedAt = null) + public function __construct(string $id, \DateTime $createdAt, \DateTime $grantedAt, string $benefitId, BenefitType $benefitType, array $benefitMetadata, BenefitGrantDiscordProperties|BenefitGrantGitHubRepositoryProperties|BenefitGrantDownloadablesProperties|BenefitGrantLicenseKeysProperties|BenefitGrantCustomProperties|BenefitGrantFeatureFlagProperties|BenefitGrantSlackSharedChannelProperties $properties, ?\DateTime $modifiedAt = null) { $this->id = $id; $this->createdAt = $createdAt; diff --git a/src/Models/Components/CustomerStateIndividual.php b/src/Models/Components/CustomerStateIndividual.php index e4048870..e2127cc1 100644 --- a/src/Models/Components/CustomerStateIndividual.php +++ b/src/Models/Components/CustomerStateIndividual.php @@ -95,13 +95,6 @@ class CustomerStateIndividual #[\Speakeasy\Serializer\Annotation\Type('array<\Polar\Models\Components\CustomerStateMeter>')] public array $activeMeters; - /** - * - * @var string $avatarUrl - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('avatar_url')] - public string $avatarUrl; - /** * Last modification timestamp of the object. * @@ -118,6 +111,14 @@ class CustomerStateIndividual #[\Speakeasy\Serializer\Annotation\SerializedName('name')] public ?string $name; + /** + * The name that should appear on the customer's invoices. Falls back to the customer name when not explicitly set. + * + * @var ?string $billingName + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('billing_name')] + public ?string $billingName; + /** * * @var ?\Polar\Models\Components\Address $billingAddress @@ -143,6 +144,13 @@ class CustomerStateIndividual #[\Speakeasy\Serializer\Annotation\SerializedName('deleted_at')] public ?\DateTime $deletedAt; + /** + * + * @var ?string $avatarUrl + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('avatar_url')] + public ?string $avatarUrl; + /** * The ID of the customer in your system. This must be unique within the organization. Once set, it can't be updated. * @@ -160,6 +168,15 @@ class CustomerStateIndividual #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public ?string $locale = null; + /** + * The ID of the customer's default payment method, if any. Use the payment methods endpoint to retrieve its details. + * + * @var ?string $defaultPaymentMethodId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('default_payment_method_id')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $defaultPaymentMethodId = null; + /** * The type of customer. * @@ -179,17 +196,19 @@ class CustomerStateIndividual * @param array<\Polar\Models\Components\CustomerStateSubscription> $activeSubscriptions * @param array<\Polar\Models\Components\CustomerStateBenefitGrant> $grantedBenefits * @param array<\Polar\Models\Components\CustomerStateMeter> $activeMeters - * @param string $avatarUrl * @param ?\DateTime $modifiedAt * @param ?string $name + * @param ?string $billingName * @param ?\Polar\Models\Components\Address $billingAddress * @param ?array $taxId * @param ?\DateTime $deletedAt + * @param ?string $avatarUrl * @param ?string $externalId * @param ?string $locale + * @param ?string $defaultPaymentMethodId * @phpstan-pure */ - public function __construct(string $id, \DateTime $createdAt, array $metadata, string $email, bool $emailVerified, string $organizationId, array $activeSubscriptions, array $grantedBenefits, array $activeMeters, string $avatarUrl, ?\DateTime $modifiedAt = null, ?string $name = null, ?Address $billingAddress = null, ?array $taxId = null, ?\DateTime $deletedAt = null, ?string $externalId = null, ?string $locale = null, string $type = 'individual') + public function __construct(string $id, \DateTime $createdAt, array $metadata, string $email, bool $emailVerified, string $organizationId, array $activeSubscriptions, array $grantedBenefits, array $activeMeters, ?\DateTime $modifiedAt = null, ?string $name = null, ?string $billingName = null, ?Address $billingAddress = null, ?array $taxId = null, ?\DateTime $deletedAt = null, ?string $avatarUrl = null, ?string $externalId = null, ?string $locale = null, ?string $defaultPaymentMethodId = null, string $type = 'individual') { $this->id = $id; $this->createdAt = $createdAt; @@ -200,14 +219,16 @@ public function __construct(string $id, \DateTime $createdAt, array $metadata, s $this->activeSubscriptions = $activeSubscriptions; $this->grantedBenefits = $grantedBenefits; $this->activeMeters = $activeMeters; - $this->avatarUrl = $avatarUrl; $this->modifiedAt = $modifiedAt; $this->name = $name; + $this->billingName = $billingName; $this->billingAddress = $billingAddress; $this->taxId = $taxId; $this->deletedAt = $deletedAt; + $this->avatarUrl = $avatarUrl; $this->externalId = $externalId; $this->locale = $locale; + $this->defaultPaymentMethodId = $defaultPaymentMethodId; $this->type = $type; } } \ No newline at end of file diff --git a/src/Models/Components/CustomerStateSubscription.php b/src/Models/Components/CustomerStateSubscription.php index 7036889d..10088774 100644 --- a/src/Models/Components/CustomerStateSubscription.php +++ b/src/Models/Components/CustomerStateSubscription.php @@ -63,11 +63,11 @@ class CustomerStateSubscription /** * - * @var \Polar\Models\Components\SubscriptionRecurringInterval $recurringInterval + * @var \Polar\Models\Components\RecurringInterval $recurringInterval */ #[\Speakeasy\Serializer\Annotation\SerializedName('recurring_interval')] - #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\SubscriptionRecurringInterval')] - public SubscriptionRecurringInterval $recurringInterval; + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\RecurringInterval')] + public RecurringInterval $recurringInterval; /** * The start timestamp of the current billing period. @@ -183,7 +183,7 @@ class CustomerStateSubscription * @param \Polar\Models\Components\Status $status * @param int $amount * @param string $currency - * @param \Polar\Models\Components\SubscriptionRecurringInterval $recurringInterval + * @param \Polar\Models\Components\RecurringInterval $recurringInterval * @param \DateTime $currentPeriodStart * @param \DateTime $currentPeriodEnd * @param bool $cancelAtPeriodEnd @@ -199,7 +199,7 @@ class CustomerStateSubscription * @param ?string $discountId * @phpstan-pure */ - public function __construct(string $id, \DateTime $createdAt, array $metadata, Status $status, int $amount, string $currency, SubscriptionRecurringInterval $recurringInterval, \DateTime $currentPeriodStart, \DateTime $currentPeriodEnd, bool $cancelAtPeriodEnd, string $productId, array $meters, ?\DateTime $modifiedAt = null, ?array $customFieldData = null, ?\DateTime $trialStart = null, ?\DateTime $trialEnd = null, ?\DateTime $canceledAt = null, ?\DateTime $startedAt = null, ?\DateTime $endsAt = null, ?string $discountId = null) + public function __construct(string $id, \DateTime $createdAt, array $metadata, Status $status, int $amount, string $currency, RecurringInterval $recurringInterval, \DateTime $currentPeriodStart, \DateTime $currentPeriodEnd, bool $cancelAtPeriodEnd, string $productId, array $meters, ?\DateTime $modifiedAt = null, ?array $customFieldData = null, ?\DateTime $trialStart = null, ?\DateTime $trialEnd = null, ?\DateTime $canceledAt = null, ?\DateTime $startedAt = null, ?\DateTime $endsAt = null, ?string $discountId = null) { $this->id = $id; $this->createdAt = $createdAt; diff --git a/src/Models/Components/CustomerStateTeam.php b/src/Models/Components/CustomerStateTeam.php index a59c25e3..f4fc0e9d 100644 --- a/src/Models/Components/CustomerStateTeam.php +++ b/src/Models/Components/CustomerStateTeam.php @@ -87,13 +87,6 @@ class CustomerStateTeam #[\Speakeasy\Serializer\Annotation\Type('array<\Polar\Models\Components\CustomerStateMeter>')] public array $activeMeters; - /** - * - * @var string $avatarUrl - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('avatar_url')] - public string $avatarUrl; - /** * Last modification timestamp of the object. * @@ -110,6 +103,14 @@ class CustomerStateTeam #[\Speakeasy\Serializer\Annotation\SerializedName('name')] public ?string $name; + /** + * The name that should appear on the customer's invoices. Falls back to the customer name when not explicitly set. + * + * @var ?string $billingName + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('billing_name')] + public ?string $billingName; + /** * * @var ?\Polar\Models\Components\Address $billingAddress @@ -135,6 +136,13 @@ class CustomerStateTeam #[\Speakeasy\Serializer\Annotation\SerializedName('deleted_at')] public ?\DateTime $deletedAt; + /** + * + * @var ?string $avatarUrl + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('avatar_url')] + public ?string $avatarUrl; + /** * The ID of the customer in your system. This must be unique within the organization. Once set, it can't be updated. * @@ -161,6 +169,15 @@ class CustomerStateTeam #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public ?string $locale = null; + /** + * The ID of the customer's default payment method, if any. Use the payment methods endpoint to retrieve its details. + * + * @var ?string $defaultPaymentMethodId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('default_payment_method_id')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $defaultPaymentMethodId = null; + /** * The type of customer. Team customers can have multiple members. * @@ -179,18 +196,20 @@ class CustomerStateTeam * @param array<\Polar\Models\Components\CustomerStateSubscription> $activeSubscriptions * @param array<\Polar\Models\Components\CustomerStateBenefitGrant> $grantedBenefits * @param array<\Polar\Models\Components\CustomerStateMeter> $activeMeters - * @param string $avatarUrl * @param ?\DateTime $modifiedAt * @param ?string $name + * @param ?string $billingName * @param ?\Polar\Models\Components\Address $billingAddress * @param ?array $taxId * @param ?\DateTime $deletedAt + * @param ?string $avatarUrl * @param ?string $externalId * @param ?string $email * @param ?string $locale + * @param ?string $defaultPaymentMethodId * @phpstan-pure */ - public function __construct(string $id, \DateTime $createdAt, array $metadata, bool $emailVerified, string $organizationId, array $activeSubscriptions, array $grantedBenefits, array $activeMeters, string $avatarUrl, ?\DateTime $modifiedAt = null, ?string $name = null, ?Address $billingAddress = null, ?array $taxId = null, ?\DateTime $deletedAt = null, ?string $externalId = null, ?string $email = null, ?string $locale = null, string $type = 'team') + public function __construct(string $id, \DateTime $createdAt, array $metadata, bool $emailVerified, string $organizationId, array $activeSubscriptions, array $grantedBenefits, array $activeMeters, ?\DateTime $modifiedAt = null, ?string $name = null, ?string $billingName = null, ?Address $billingAddress = null, ?array $taxId = null, ?\DateTime $deletedAt = null, ?string $avatarUrl = null, ?string $externalId = null, ?string $email = null, ?string $locale = null, ?string $defaultPaymentMethodId = null, string $type = 'team') { $this->id = $id; $this->createdAt = $createdAt; @@ -200,15 +219,17 @@ public function __construct(string $id, \DateTime $createdAt, array $metadata, b $this->activeSubscriptions = $activeSubscriptions; $this->grantedBenefits = $grantedBenefits; $this->activeMeters = $activeMeters; - $this->avatarUrl = $avatarUrl; $this->modifiedAt = $modifiedAt; $this->name = $name; + $this->billingName = $billingName; $this->billingAddress = $billingAddress; $this->taxId = $taxId; $this->deletedAt = $deletedAt; + $this->avatarUrl = $avatarUrl; $this->externalId = $externalId; $this->email = $email; $this->locale = $locale; + $this->defaultPaymentMethodId = $defaultPaymentMethodId; $this->type = $type; } } \ No newline at end of file diff --git a/src/Models/Components/CustomerSubscription.php b/src/Models/Components/CustomerSubscription.php index 231ce273..de26f120 100644 --- a/src/Models/Components/CustomerSubscription.php +++ b/src/Models/Components/CustomerSubscription.php @@ -45,11 +45,11 @@ class CustomerSubscription /** * - * @var \Polar\Models\Components\SubscriptionRecurringInterval $recurringInterval + * @var \Polar\Models\Components\RecurringInterval $recurringInterval */ #[\Speakeasy\Serializer\Annotation\SerializedName('recurring_interval')] - #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\SubscriptionRecurringInterval')] - public SubscriptionRecurringInterval $recurringInterval; + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\RecurringInterval')] + public RecurringInterval $recurringInterval; /** * Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. @@ -91,6 +91,14 @@ class CustomerSubscription #[\Speakeasy\Serializer\Annotation\SerializedName('cancel_at_period_end')] public bool $cancelAtPeriodEnd; + /** + * Whether the subscription will be paused at the end of the current period. + * + * @var bool $pauseAtPeriodEnd + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('pause_at_period_end')] + public bool $pauseAtPeriodEnd; + /** * The ID of the subscribed customer. * @@ -118,10 +126,10 @@ class CustomerSubscription /** * List of enabled prices for the subscription. * - * @var array<\Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\LegacyRecurringProductPriceFree|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceFree|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit> $prices + * @var array<\Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit> $prices */ #[\Speakeasy\Serializer\Annotation\SerializedName('prices')] - #[\Speakeasy\Serializer\Annotation\Type('array<\Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\LegacyRecurringProductPriceFree|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceFree|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit>')] + #[\Speakeasy\Serializer\Annotation\Type('array<\Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit>')] public array $prices; /** @@ -141,6 +149,22 @@ class CustomerSubscription #[\Speakeasy\Serializer\Annotation\SerializedName('modified_at')] public ?\DateTime $modifiedAt; + /** + * The start timestamp of the current meter period, if the product has a meter cycle set. Metered credits are granted and overage is settled on this cadence. + * + * @var ?\DateTime $currentMeterPeriodStart + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('current_meter_period_start')] + public ?\DateTime $currentMeterPeriodStart; + + /** + * The end timestamp of the current meter period, if the product has a meter cycle set. This is when credits next renew. + * + * @var ?\DateTime $currentMeterPeriodEnd + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('current_meter_period_end')] + public ?\DateTime $currentMeterPeriodEnd; + /** * The start timestamp of the trial period, if any. * @@ -189,6 +213,22 @@ class CustomerSubscription #[\Speakeasy\Serializer\Annotation\SerializedName('ended_at')] public ?\DateTime $endedAt; + /** + * The timestamp when the subscription was paused. + * + * @var ?\DateTime $pausedAt + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('paused_at')] + public ?\DateTime $pausedAt; + + /** + * The timestamp when a paused subscription is scheduled to automatically resume, if set. + * + * @var ?\DateTime $resumesAt + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('resumes_at')] + public ?\DateTime $resumesAt; + /** * The ID of the applied discount, if any. * @@ -228,6 +268,15 @@ class CustomerSubscription #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\PendingSubscriptionUpdate|null')] public ?PendingSubscriptionUpdate $pendingUpdate; + /** + * The timestamp when the subscription entered `past_due` status. + * + * @var ?\DateTime $pastDueAt + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('past_due_at')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?\DateTime $pastDueAt = null; + /** * The number of seats for seat-based subscriptions. None for non-seat subscriptions. * @@ -242,33 +291,39 @@ class CustomerSubscription * @param string $id * @param int $amount * @param string $currency - * @param \Polar\Models\Components\SubscriptionRecurringInterval $recurringInterval + * @param \Polar\Models\Components\RecurringInterval $recurringInterval * @param int $recurringIntervalCount * @param \Polar\Models\Components\SubscriptionStatus $status * @param \DateTime $currentPeriodStart * @param \DateTime $currentPeriodEnd * @param bool $cancelAtPeriodEnd + * @param bool $pauseAtPeriodEnd * @param string $customerId * @param string $productId * @param \Polar\Models\Components\CustomerSubscriptionProduct $product - * @param array<\Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\LegacyRecurringProductPriceFree|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceFree|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit> $prices + * @param array<\Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit> $prices * @param array<\Polar\Models\Components\CustomerSubscriptionMeter> $meters * @param ?\DateTime $modifiedAt + * @param ?\DateTime $currentMeterPeriodStart + * @param ?\DateTime $currentMeterPeriodEnd * @param ?\DateTime $trialStart * @param ?\DateTime $trialEnd * @param ?\DateTime $canceledAt * @param ?\DateTime $startedAt * @param ?\DateTime $endsAt * @param ?\DateTime $endedAt + * @param ?\DateTime $pausedAt + * @param ?\DateTime $resumesAt * @param ?string $discountId * @param ?string $checkoutId * @param ?\Polar\Models\Components\CustomerCancellationReason $customerCancellationReason * @param ?string $customerCancellationComment * @param ?\Polar\Models\Components\PendingSubscriptionUpdate $pendingUpdate + * @param ?\DateTime $pastDueAt * @param ?int $seats * @phpstan-pure */ - public function __construct(\DateTime $createdAt, string $id, int $amount, string $currency, SubscriptionRecurringInterval $recurringInterval, int $recurringIntervalCount, SubscriptionStatus $status, \DateTime $currentPeriodStart, \DateTime $currentPeriodEnd, bool $cancelAtPeriodEnd, string $customerId, string $productId, CustomerSubscriptionProduct $product, array $prices, array $meters, ?\DateTime $modifiedAt = null, ?\DateTime $trialStart = null, ?\DateTime $trialEnd = null, ?\DateTime $canceledAt = null, ?\DateTime $startedAt = null, ?\DateTime $endsAt = null, ?\DateTime $endedAt = null, ?string $discountId = null, ?string $checkoutId = null, ?CustomerCancellationReason $customerCancellationReason = null, ?string $customerCancellationComment = null, ?PendingSubscriptionUpdate $pendingUpdate = null, ?int $seats = null) + public function __construct(\DateTime $createdAt, string $id, int $amount, string $currency, RecurringInterval $recurringInterval, int $recurringIntervalCount, SubscriptionStatus $status, \DateTime $currentPeriodStart, \DateTime $currentPeriodEnd, bool $cancelAtPeriodEnd, bool $pauseAtPeriodEnd, string $customerId, string $productId, CustomerSubscriptionProduct $product, array $prices, array $meters, ?\DateTime $modifiedAt = null, ?\DateTime $currentMeterPeriodStart = null, ?\DateTime $currentMeterPeriodEnd = null, ?\DateTime $trialStart = null, ?\DateTime $trialEnd = null, ?\DateTime $canceledAt = null, ?\DateTime $startedAt = null, ?\DateTime $endsAt = null, ?\DateTime $endedAt = null, ?\DateTime $pausedAt = null, ?\DateTime $resumesAt = null, ?string $discountId = null, ?string $checkoutId = null, ?CustomerCancellationReason $customerCancellationReason = null, ?string $customerCancellationComment = null, ?PendingSubscriptionUpdate $pendingUpdate = null, ?\DateTime $pastDueAt = null, ?int $seats = null) { $this->createdAt = $createdAt; $this->id = $id; @@ -280,23 +335,29 @@ public function __construct(\DateTime $createdAt, string $id, int $amount, strin $this->currentPeriodStart = $currentPeriodStart; $this->currentPeriodEnd = $currentPeriodEnd; $this->cancelAtPeriodEnd = $cancelAtPeriodEnd; + $this->pauseAtPeriodEnd = $pauseAtPeriodEnd; $this->customerId = $customerId; $this->productId = $productId; $this->product = $product; $this->prices = $prices; $this->meters = $meters; $this->modifiedAt = $modifiedAt; + $this->currentMeterPeriodStart = $currentMeterPeriodStart; + $this->currentMeterPeriodEnd = $currentMeterPeriodEnd; $this->trialStart = $trialStart; $this->trialEnd = $trialEnd; $this->canceledAt = $canceledAt; $this->startedAt = $startedAt; $this->endsAt = $endsAt; $this->endedAt = $endedAt; + $this->pausedAt = $pausedAt; + $this->resumesAt = $resumesAt; $this->discountId = $discountId; $this->checkoutId = $checkoutId; $this->customerCancellationReason = $customerCancellationReason; $this->customerCancellationComment = $customerCancellationComment; $this->pendingUpdate = $pendingUpdate; + $this->pastDueAt = $pastDueAt; $this->seats = $seats; } } \ No newline at end of file diff --git a/src/Models/Components/CustomerSubscriptionPause.php b/src/Models/Components/CustomerSubscriptionPause.php new file mode 100644 index 00000000..919c265c --- /dev/null +++ b/src/Models/Components/CustomerSubscriptionPause.php @@ -0,0 +1,45 @@ +pauseAtPeriodEnd = $pauseAtPeriodEnd; + $this->resumesAt = $resumesAt; + } +} \ No newline at end of file diff --git a/src/Models/Components/CustomerSubscriptionProduct.php b/src/Models/Components/CustomerSubscriptionProduct.php index 7542cd36..2b8d5de5 100644 --- a/src/Models/Components/CustomerSubscriptionProduct.php +++ b/src/Models/Components/CustomerSubscriptionProduct.php @@ -70,10 +70,10 @@ class CustomerSubscriptionProduct /** * List of prices for this product. * - * @var array<\Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\LegacyRecurringProductPriceFree|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceFree|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit> $prices + * @var array<\Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit> $prices */ #[\Speakeasy\Serializer\Annotation\SerializedName('prices')] - #[\Speakeasy\Serializer\Annotation\Type('array<\Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\LegacyRecurringProductPriceFree|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceFree|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit>')] + #[\Speakeasy\Serializer\Annotation\Type('array<\Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit>')] public array $prices; /** @@ -138,11 +138,11 @@ class CustomerSubscriptionProduct /** * The recurring interval of the product. If `None`, the product is a one-time purchase. * - * @var ?\Polar\Models\Components\SubscriptionRecurringInterval $recurringInterval + * @var ?\Polar\Models\Components\RecurringInterval $recurringInterval */ #[\Speakeasy\Serializer\Annotation\SerializedName('recurring_interval')] - #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\SubscriptionRecurringInterval|null')] - public ?SubscriptionRecurringInterval $recurringInterval; + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\RecurringInterval|null')] + public ?RecurringInterval $recurringInterval; /** * Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. None for one-time products. @@ -152,6 +152,23 @@ class CustomerSubscriptionProduct #[\Speakeasy\Serializer\Annotation\SerializedName('recurring_interval_count')] public ?int $recurringIntervalCount; + /** + * The meter cycle of the product, independent of the billing interval. If `None`, metered concerns follow the billing interval. + * + * @var ?\Polar\Models\Components\RecurringInterval $meterInterval + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('meter_interval')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\RecurringInterval|null')] + public ?RecurringInterval $meterInterval; + + /** + * Number of meter interval units. None when no meter cycle is set. + * + * @var ?int $meterIntervalCount + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('meter_interval_count')] + public ?int $meterIntervalCount; + /** * @param string $id * @param \DateTime $createdAt @@ -160,7 +177,7 @@ class CustomerSubscriptionProduct * @param bool $isRecurring * @param bool $isArchived * @param string $organizationId - * @param array<\Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\LegacyRecurringProductPriceFree|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceFree|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit> $prices + * @param array<\Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit> $prices * @param array<\Polar\Models\Components\BenefitPublic> $benefits * @param array<\Polar\Models\Components\ProductMediaFileRead> $medias * @param \Polar\Models\Components\CustomerOrganization $organization @@ -168,11 +185,13 @@ class CustomerSubscriptionProduct * @param ?\Polar\Models\Components\TrialInterval $trialInterval * @param ?int $trialIntervalCount * @param ?string $description - * @param ?\Polar\Models\Components\SubscriptionRecurringInterval $recurringInterval + * @param ?\Polar\Models\Components\RecurringInterval $recurringInterval * @param ?int $recurringIntervalCount + * @param ?\Polar\Models\Components\RecurringInterval $meterInterval + * @param ?int $meterIntervalCount * @phpstan-pure */ - public function __construct(string $id, \DateTime $createdAt, string $name, ProductVisibility $visibility, bool $isRecurring, bool $isArchived, string $organizationId, array $prices, array $benefits, array $medias, CustomerOrganization $organization, ?\DateTime $modifiedAt = null, ?TrialInterval $trialInterval = null, ?int $trialIntervalCount = null, ?string $description = null, ?SubscriptionRecurringInterval $recurringInterval = null, ?int $recurringIntervalCount = null) + public function __construct(string $id, \DateTime $createdAt, string $name, ProductVisibility $visibility, bool $isRecurring, bool $isArchived, string $organizationId, array $prices, array $benefits, array $medias, CustomerOrganization $organization, ?\DateTime $modifiedAt = null, ?TrialInterval $trialInterval = null, ?int $trialIntervalCount = null, ?string $description = null, ?RecurringInterval $recurringInterval = null, ?int $recurringIntervalCount = null, ?RecurringInterval $meterInterval = null, ?int $meterIntervalCount = null) { $this->id = $id; $this->createdAt = $createdAt; @@ -191,5 +210,7 @@ public function __construct(string $id, \DateTime $createdAt, string $name, Prod $this->description = $description; $this->recurringInterval = $recurringInterval; $this->recurringIntervalCount = $recurringIntervalCount; + $this->meterInterval = $meterInterval; + $this->meterIntervalCount = $meterIntervalCount; } } \ No newline at end of file diff --git a/src/Models/Components/CustomerSubscriptionResume.php b/src/Models/Components/CustomerSubscriptionResume.php new file mode 100644 index 00000000..d45979c9 --- /dev/null +++ b/src/Models/Components/CustomerSubscriptionResume.php @@ -0,0 +1,30 @@ +resume = $resume; + } +} \ No newline at end of file diff --git a/src/Models/Components/CustomerSubscriptionUpdateClear.php b/src/Models/Components/CustomerSubscriptionUpdateClear.php new file mode 100644 index 00000000..92d32ce7 --- /dev/null +++ b/src/Models/Components/CustomerSubscriptionUpdateClear.php @@ -0,0 +1,31 @@ +pendingUpdate = $pendingUpdate; + } +} \ No newline at end of file diff --git a/src/Models/Components/CustomerSubscriptionUpdateSeats.php b/src/Models/Components/CustomerSubscriptionUpdateSeats.php index 89efc799..f69f320d 100644 --- a/src/Models/Components/CustomerSubscriptionUpdateSeats.php +++ b/src/Models/Components/CustomerSubscriptionUpdateSeats.php @@ -19,24 +19,12 @@ class CustomerSubscriptionUpdateSeats #[\Speakeasy\Serializer\Annotation\SerializedName('seats')] public int $seats; - /** - * Determine how to handle the proration billing. If not provided, will use the default organization setting. - * - * @var ?\Polar\Models\Components\SubscriptionProrationBehavior $prorationBehavior - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('proration_behavior')] - #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\SubscriptionProrationBehavior|null')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?SubscriptionProrationBehavior $prorationBehavior = null; - /** * @param int $seats - * @param ?\Polar\Models\Components\SubscriptionProrationBehavior $prorationBehavior * @phpstan-pure */ - public function __construct(int $seats, ?SubscriptionProrationBehavior $prorationBehavior = null) + public function __construct(int $seats) { $this->seats = $seats; - $this->prorationBehavior = $prorationBehavior; } } \ No newline at end of file diff --git a/src/Models/Components/CustomerTeam.php b/src/Models/Components/CustomerTeam.php index fa0713a7..35d604a1 100644 --- a/src/Models/Components/CustomerTeam.php +++ b/src/Models/Components/CustomerTeam.php @@ -53,13 +53,6 @@ class CustomerTeam #[\Speakeasy\Serializer\Annotation\SerializedName('organization_id')] public string $organizationId; - /** - * - * @var string $avatarUrl - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('avatar_url')] - public string $avatarUrl; - /** * Last modification timestamp of the object. * @@ -76,6 +69,14 @@ class CustomerTeam #[\Speakeasy\Serializer\Annotation\SerializedName('name')] public ?string $name; + /** + * The name that should appear on the customer's invoices. Falls back to the customer name when not explicitly set. + * + * @var ?string $billingName + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('billing_name')] + public ?string $billingName; + /** * * @var ?\Polar\Models\Components\Address $billingAddress @@ -101,6 +102,13 @@ class CustomerTeam #[\Speakeasy\Serializer\Annotation\SerializedName('deleted_at')] public ?\DateTime $deletedAt; + /** + * + * @var ?string $avatarUrl + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('avatar_url')] + public ?string $avatarUrl; + /** * The ID of the customer in your system. This must be unique within the organization. Once set, it can't be updated. * @@ -127,6 +135,15 @@ class CustomerTeam #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public ?string $locale = null; + /** + * The ID of the customer's default payment method, if any. Use the payment methods endpoint to retrieve its details. + * + * @var ?string $defaultPaymentMethodId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('default_payment_method_id')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $defaultPaymentMethodId = null; + /** * The type of customer. Team customers can have multiple members. * @@ -142,33 +159,37 @@ class CustomerTeam * @param bool $emailVerified * @param string $type * @param string $organizationId - * @param string $avatarUrl * @param ?\DateTime $modifiedAt * @param ?string $name + * @param ?string $billingName * @param ?\Polar\Models\Components\Address $billingAddress * @param ?array $taxId * @param ?\DateTime $deletedAt + * @param ?string $avatarUrl * @param ?string $externalId * @param ?string $email * @param ?string $locale + * @param ?string $defaultPaymentMethodId * @phpstan-pure */ - public function __construct(string $id, \DateTime $createdAt, array $metadata, bool $emailVerified, string $organizationId, string $avatarUrl, ?\DateTime $modifiedAt = null, ?string $name = null, ?Address $billingAddress = null, ?array $taxId = null, ?\DateTime $deletedAt = null, ?string $externalId = null, ?string $email = null, ?string $locale = null, string $type = 'team') + public function __construct(string $id, \DateTime $createdAt, array $metadata, bool $emailVerified, string $organizationId, ?\DateTime $modifiedAt = null, ?string $name = null, ?string $billingName = null, ?Address $billingAddress = null, ?array $taxId = null, ?\DateTime $deletedAt = null, ?string $avatarUrl = null, ?string $externalId = null, ?string $email = null, ?string $locale = null, ?string $defaultPaymentMethodId = null, string $type = 'team') { $this->id = $id; $this->createdAt = $createdAt; $this->metadata = $metadata; $this->emailVerified = $emailVerified; $this->organizationId = $organizationId; - $this->avatarUrl = $avatarUrl; $this->modifiedAt = $modifiedAt; $this->name = $name; + $this->billingName = $billingName; $this->billingAddress = $billingAddress; $this->taxId = $taxId; $this->deletedAt = $deletedAt; + $this->avatarUrl = $avatarUrl; $this->externalId = $externalId; $this->email = $email; $this->locale = $locale; + $this->defaultPaymentMethodId = $defaultPaymentMethodId; $this->type = $type; } } \ No newline at end of file diff --git a/src/Models/Components/CustomerUpdatedFields.php b/src/Models/Components/CustomerUpdatedFields.php index a124ab29..6922cc8d 100644 --- a/src/Models/Components/CustomerUpdatedFields.php +++ b/src/Models/Components/CustomerUpdatedFields.php @@ -19,6 +19,14 @@ class CustomerUpdatedFields #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public ?string $name = null; + /** + * + * @var ?string $billingName + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('billing_name')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $billingName = null; + /** * * @var ?string $email @@ -56,15 +64,17 @@ class CustomerUpdatedFields /** * @param ?string $name + * @param ?string $billingName * @param ?string $email * @param ?\Polar\Models\Components\AddressDict $billingAddress * @param ?string $taxId * @param ?array $metadata * @phpstan-pure */ - public function __construct(?string $name = null, ?string $email = null, ?AddressDict $billingAddress = null, ?string $taxId = null, ?array $metadata = null) + public function __construct(?string $name = null, ?string $billingName = null, ?string $email = null, ?AddressDict $billingAddress = null, ?string $taxId = null, ?array $metadata = null) { $this->name = $name; + $this->billingName = $billingName; $this->email = $email; $this->billingAddress = $billingAddress; $this->taxId = $taxId; diff --git a/src/Models/Components/DiscountFixedRepeatDurationCreate.php b/src/Models/Components/DiscountFixedCreate.php similarity index 86% rename from src/Models/Components/DiscountFixedRepeatDurationCreate.php rename to src/Models/Components/DiscountFixedCreate.php index dc8939a6..b0e31038 100644 --- a/src/Models/Components/DiscountFixedRepeatDurationCreate.php +++ b/src/Models/Components/DiscountFixedCreate.php @@ -9,41 +9,9 @@ namespace Polar\Models\Components; -/** - * DiscountFixedRepeatDurationCreate - Schema to create a fixed amount discount that is applied on every invoice - * - * for a certain number of months. - */ -class DiscountFixedRepeatDurationCreate +/** DiscountFixedCreate - Schema to create a fixed amount discount. */ +class DiscountFixedCreate { - /** - * - * @var \Polar\Models\Components\DiscountDuration $duration - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('duration')] - #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\DiscountDuration')] - public DiscountDuration $duration; - - /** - * Number of months the discount should be applied. - * - * - * For this to work on yearly pricing, you should multiply this by 12. - * For example, to apply the discount for 2 years, set this to 24. - * - * @var int $durationInMonths - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('duration_in_months')] - public int $durationInMonths; - - /** - * - * @var \Polar\Models\Components\DiscountType $type - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('type')] - #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\DiscountType')] - public DiscountType $type; - /** * Name of the discount. Will be displayed to the customer when the discount is applied. * @@ -52,6 +20,14 @@ class DiscountFixedRepeatDurationCreate #[\Speakeasy\Serializer\Annotation\SerializedName('name')] public string $name; + /** + * + * @var \Polar\Models\Components\DiscountDuration $duration + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('duration')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\DiscountDuration')] + public DiscountDuration $duration; + /** * Key-value object allowing you to store additional information. * @@ -73,35 +49,6 @@ class DiscountFixedRepeatDurationCreate #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public ?array $metadata = null; - /** - * - * @var ?int $amount - * @deprecated field: This will be removed in a future release, please migrate away from it as soon as possible. - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('amount')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?int $amount = null; - - /** - * - * @var ?\Polar\Models\Components\PresentmentCurrency $currency - * @deprecated field: This will be removed in a future release, please migrate away from it as soon as possible. - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('currency')] - #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\PresentmentCurrency|null')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?PresentmentCurrency $currency = null; - - /** - * $amounts - * - * @var ?array $amounts - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('amounts')] - #[\Speakeasy\Serializer\Annotation\Type('array|null')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?array $amounts = null; - /** * Code customers can use to apply the discount during checkout. Must be between 3 and 256 characters long and contain only alphanumeric characters.If not provided, the discount can only be applied via the API. * @@ -158,37 +105,89 @@ class DiscountFixedRepeatDurationCreate public ?string $organizationId = null; /** - * @param \Polar\Models\Components\DiscountDuration $duration - * @param int $durationInMonths - * @param \Polar\Models\Components\DiscountType $type + * Number of months the discount should be applied. + * + * + * Required when `duration` is `repeating`. Must be omitted otherwise. + * + * For this to work on yearly pricing, you should multiply this by 12. + * For example, to apply the discount for 2 years, set this to 24. + * + * @var ?int $durationInMonths + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('duration_in_months')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?int $durationInMonths = null; + + /** + * + * @var ?int $amount + * @deprecated field: This will be removed in a future release, please migrate away from it as soon as possible. + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('amount')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?int $amount = null; + + /** + * + * @var ?\Polar\Models\Components\PresentmentCurrency $currency + * @deprecated field: This will be removed in a future release, please migrate away from it as soon as possible. + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('currency')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\PresentmentCurrency|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?PresentmentCurrency $currency = null; + + /** + * $amounts + * + * @var ?array $amounts + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('amounts')] + #[\Speakeasy\Serializer\Annotation\Type('array|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?array $amounts = null; + + /** + * + * @var ?string $type + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('type')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $type = null; + + /** * @param string $name + * @param \Polar\Models\Components\DiscountDuration $duration * @param ?array $metadata - * @param ?int $amount - * @param ?\Polar\Models\Components\PresentmentCurrency $currency - * @param ?array $amounts + * @param ?string $type * @param ?string $code * @param ?\DateTime $startsAt * @param ?\DateTime $endsAt * @param ?int $maxRedemptions * @param ?array $products * @param ?string $organizationId + * @param ?int $durationInMonths + * @param ?int $amount + * @param ?\Polar\Models\Components\PresentmentCurrency $currency + * @param ?array $amounts * @phpstan-pure */ - public function __construct(DiscountDuration $duration, int $durationInMonths, DiscountType $type, string $name, ?array $metadata = null, ?int $amount = null, ?PresentmentCurrency $currency = null, ?array $amounts = null, ?string $code = null, ?\DateTime $startsAt = null, ?\DateTime $endsAt = null, ?int $maxRedemptions = null, ?array $products = null, ?string $organizationId = null) + public function __construct(string $name, DiscountDuration $duration, ?array $metadata = null, ?string $code = null, ?\DateTime $startsAt = null, ?\DateTime $endsAt = null, ?int $maxRedemptions = null, ?array $products = null, ?string $organizationId = null, ?int $durationInMonths = null, ?int $amount = null, ?PresentmentCurrency $currency = null, ?array $amounts = null, ?string $type = 'fixed') { - $this->duration = $duration; - $this->durationInMonths = $durationInMonths; - $this->type = $type; $this->name = $name; + $this->duration = $duration; $this->metadata = $metadata; - $this->amount = $amount; - $this->currency = $currency; - $this->amounts = $amounts; $this->code = $code; $this->startsAt = $startsAt; $this->endsAt = $endsAt; $this->maxRedemptions = $maxRedemptions; $this->products = $products; $this->organizationId = $organizationId; + $this->durationInMonths = $durationInMonths; + $this->amount = $amount; + $this->currency = $currency; + $this->amounts = $amounts; + $this->type = $type; } } \ No newline at end of file diff --git a/src/Models/Components/DiscountFixedOnceForeverDurationCreate.php b/src/Models/Components/DiscountFixedOnceForeverDurationCreate.php deleted file mode 100644 index b149f17e..00000000 --- a/src/Models/Components/DiscountFixedOnceForeverDurationCreate.php +++ /dev/null @@ -1,176 +0,0 @@ - $metadata - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('metadata')] - #[\Speakeasy\Serializer\Annotation\Type('array|null')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?array $metadata = null; - - /** - * - * @var ?int $amount - * @deprecated field: This will be removed in a future release, please migrate away from it as soon as possible. - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('amount')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?int $amount = null; - - /** - * - * @var ?\Polar\Models\Components\PresentmentCurrency $currency - * @deprecated field: This will be removed in a future release, please migrate away from it as soon as possible. - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('currency')] - #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\PresentmentCurrency|null')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?PresentmentCurrency $currency = null; - - /** - * $amounts - * - * @var ?array $amounts - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('amounts')] - #[\Speakeasy\Serializer\Annotation\Type('array|null')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?array $amounts = null; - - /** - * Code customers can use to apply the discount during checkout. Must be between 3 and 256 characters long and contain only alphanumeric characters.If not provided, the discount can only be applied via the API. - * - * @var ?string $code - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('code')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?string $code = null; - - /** - * Optional timestamp after which the discount is redeemable. - * - * @var ?\DateTime $startsAt - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('starts_at')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?\DateTime $startsAt = null; - - /** - * Optional timestamp after which the discount is no longer redeemable. - * - * @var ?\DateTime $endsAt - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('ends_at')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?\DateTime $endsAt = null; - - /** - * Optional maximum number of times the discount can be redeemed. - * - * @var ?int $maxRedemptions - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('max_redemptions')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?int $maxRedemptions = null; - - /** - * $products - * - * @var ?array $products - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('products')] - #[\Speakeasy\Serializer\Annotation\Type('array|null')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?array $products = null; - - /** - * The ID of the organization owning the discount. **Required unless you use an organization token.** - * - * @var ?string $organizationId - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('organization_id')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?string $organizationId = null; - - /** - * @param \Polar\Models\Components\DiscountDuration $duration - * @param \Polar\Models\Components\DiscountType $type - * @param string $name - * @param ?array $metadata - * @param ?int $amount - * @param ?\Polar\Models\Components\PresentmentCurrency $currency - * @param ?array $amounts - * @param ?string $code - * @param ?\DateTime $startsAt - * @param ?\DateTime $endsAt - * @param ?int $maxRedemptions - * @param ?array $products - * @param ?string $organizationId - * @phpstan-pure - */ - public function __construct(DiscountDuration $duration, DiscountType $type, string $name, ?array $metadata = null, ?int $amount = null, ?PresentmentCurrency $currency = null, ?array $amounts = null, ?string $code = null, ?\DateTime $startsAt = null, ?\DateTime $endsAt = null, ?int $maxRedemptions = null, ?array $products = null, ?string $organizationId = null) - { - $this->duration = $duration; - $this->type = $type; - $this->name = $name; - $this->metadata = $metadata; - $this->amount = $amount; - $this->currency = $currency; - $this->amounts = $amounts; - $this->code = $code; - $this->startsAt = $startsAt; - $this->endsAt = $endsAt; - $this->maxRedemptions = $maxRedemptions; - $this->products = $products; - $this->organizationId = $organizationId; - } -} \ No newline at end of file diff --git a/src/Models/Components/DiscountPercentageRepeatDurationCreate.php b/src/Models/Components/DiscountPercentageCreate.php similarity index 85% rename from src/Models/Components/DiscountPercentageRepeatDurationCreate.php rename to src/Models/Components/DiscountPercentageCreate.php index e9b559cf..f767a6ce 100644 --- a/src/Models/Components/DiscountPercentageRepeatDurationCreate.php +++ b/src/Models/Components/DiscountPercentageCreate.php @@ -9,40 +9,24 @@ namespace Polar\Models\Components; -/** - * DiscountPercentageRepeatDurationCreate - Schema to create a percentage discount that is applied on every invoice - * - * for a certain number of months. - */ -class DiscountPercentageRepeatDurationCreate +/** DiscountPercentageCreate - Schema to create a percentage discount. */ +class DiscountPercentageCreate { /** + * Name of the discount. Will be displayed to the customer when the discount is applied. * - * @var \Polar\Models\Components\DiscountDuration $duration - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('duration')] - #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\DiscountDuration')] - public DiscountDuration $duration; - - /** - * Number of months the discount should be applied. - * - * - * For this to work on yearly pricing, you should multiply this by 12. - * For example, to apply the discount for 2 years, set this to 24. - * - * @var int $durationInMonths + * @var string $name */ - #[\Speakeasy\Serializer\Annotation\SerializedName('duration_in_months')] - public int $durationInMonths; + #[\Speakeasy\Serializer\Annotation\SerializedName('name')] + public string $name; /** * - * @var \Polar\Models\Components\DiscountType $type + * @var \Polar\Models\Components\DiscountDuration $duration */ - #[\Speakeasy\Serializer\Annotation\SerializedName('type')] - #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\DiscountType')] - public DiscountType $type; + #[\Speakeasy\Serializer\Annotation\SerializedName('duration')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\DiscountDuration')] + public DiscountDuration $duration; /** * Discount percentage in basis points. @@ -56,14 +40,6 @@ class DiscountPercentageRepeatDurationCreate #[\Speakeasy\Serializer\Annotation\SerializedName('basis_points')] public int $basisPoints; - /** - * Name of the discount. Will be displayed to the customer when the discount is applied. - * - * @var string $name - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('name')] - public string $name; - /** * Key-value object allowing you to store additional information. * @@ -141,27 +117,48 @@ class DiscountPercentageRepeatDurationCreate public ?string $organizationId = null; /** + * Number of months the discount should be applied. + * + * + * Required when `duration` is `repeating`. Must be omitted otherwise. + * + * For this to work on yearly pricing, you should multiply this by 12. + * For example, to apply the discount for 2 years, set this to 24. + * + * @var ?int $durationInMonths + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('duration_in_months')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?int $durationInMonths = null; + + /** + * + * @var ?string $type + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('type')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $type = null; + + /** + * @param string $name * @param \Polar\Models\Components\DiscountDuration $duration - * @param int $durationInMonths - * @param \Polar\Models\Components\DiscountType $type * @param int $basisPoints - * @param string $name * @param ?array $metadata + * @param ?string $type * @param ?string $code * @param ?\DateTime $startsAt * @param ?\DateTime $endsAt * @param ?int $maxRedemptions * @param ?array $products * @param ?string $organizationId + * @param ?int $durationInMonths * @phpstan-pure */ - public function __construct(DiscountDuration $duration, int $durationInMonths, DiscountType $type, int $basisPoints, string $name, ?array $metadata = null, ?string $code = null, ?\DateTime $startsAt = null, ?\DateTime $endsAt = null, ?int $maxRedemptions = null, ?array $products = null, ?string $organizationId = null) + public function __construct(string $name, DiscountDuration $duration, int $basisPoints, ?array $metadata = null, ?string $code = null, ?\DateTime $startsAt = null, ?\DateTime $endsAt = null, ?int $maxRedemptions = null, ?array $products = null, ?string $organizationId = null, ?int $durationInMonths = null, ?string $type = 'percentage') { + $this->name = $name; $this->duration = $duration; - $this->durationInMonths = $durationInMonths; - $this->type = $type; $this->basisPoints = $basisPoints; - $this->name = $name; $this->metadata = $metadata; $this->code = $code; $this->startsAt = $startsAt; @@ -169,5 +166,7 @@ public function __construct(DiscountDuration $duration, int $durationInMonths, D $this->maxRedemptions = $maxRedemptions; $this->products = $products; $this->organizationId = $organizationId; + $this->durationInMonths = $durationInMonths; + $this->type = $type; } } \ No newline at end of file diff --git a/src/Models/Components/DiscountPercentageOnceForeverDurationCreate.php b/src/Models/Components/DiscountPercentageOnceForeverDurationCreate.php deleted file mode 100644 index d8aff5ca..00000000 --- a/src/Models/Components/DiscountPercentageOnceForeverDurationCreate.php +++ /dev/null @@ -1,155 +0,0 @@ - $metadata - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('metadata')] - #[\Speakeasy\Serializer\Annotation\Type('array|null')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?array $metadata = null; - - /** - * Code customers can use to apply the discount during checkout. Must be between 3 and 256 characters long and contain only alphanumeric characters.If not provided, the discount can only be applied via the API. - * - * @var ?string $code - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('code')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?string $code = null; - - /** - * Optional timestamp after which the discount is redeemable. - * - * @var ?\DateTime $startsAt - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('starts_at')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?\DateTime $startsAt = null; - - /** - * Optional timestamp after which the discount is no longer redeemable. - * - * @var ?\DateTime $endsAt - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('ends_at')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?\DateTime $endsAt = null; - - /** - * Optional maximum number of times the discount can be redeemed. - * - * @var ?int $maxRedemptions - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('max_redemptions')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?int $maxRedemptions = null; - - /** - * $products - * - * @var ?array $products - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('products')] - #[\Speakeasy\Serializer\Annotation\Type('array|null')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?array $products = null; - - /** - * The ID of the organization owning the discount. **Required unless you use an organization token.** - * - * @var ?string $organizationId - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('organization_id')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?string $organizationId = null; - - /** - * @param \Polar\Models\Components\DiscountDuration $duration - * @param \Polar\Models\Components\DiscountType $type - * @param int $basisPoints - * @param string $name - * @param ?array $metadata - * @param ?string $code - * @param ?\DateTime $startsAt - * @param ?\DateTime $endsAt - * @param ?int $maxRedemptions - * @param ?array $products - * @param ?string $organizationId - * @phpstan-pure - */ - public function __construct(DiscountDuration $duration, DiscountType $type, int $basisPoints, string $name, ?array $metadata = null, ?string $code = null, ?\DateTime $startsAt = null, ?\DateTime $endsAt = null, ?int $maxRedemptions = null, ?array $products = null, ?string $organizationId = null) - { - $this->duration = $duration; - $this->type = $type; - $this->basisPoints = $basisPoints; - $this->name = $name; - $this->metadata = $metadata; - $this->code = $code; - $this->startsAt = $startsAt; - $this->endsAt = $endsAt; - $this->maxRedemptions = $maxRedemptions; - $this->products = $products; - $this->organizationId = $organizationId; - } -} \ No newline at end of file diff --git a/src/Models/Components/DiscountProduct.php b/src/Models/Components/DiscountProduct.php index c0105f04..e3e4870f 100644 --- a/src/Models/Components/DiscountProduct.php +++ b/src/Models/Components/DiscountProduct.php @@ -113,11 +113,11 @@ class DiscountProduct /** * The recurring interval of the product. If `None`, the product is a one-time purchase. * - * @var ?\Polar\Models\Components\SubscriptionRecurringInterval $recurringInterval + * @var ?\Polar\Models\Components\RecurringInterval $recurringInterval */ #[\Speakeasy\Serializer\Annotation\SerializedName('recurring_interval')] - #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\SubscriptionRecurringInterval|null')] - public ?SubscriptionRecurringInterval $recurringInterval; + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\RecurringInterval|null')] + public ?RecurringInterval $recurringInterval; /** * Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. None for one-time products. @@ -127,6 +127,23 @@ class DiscountProduct #[\Speakeasy\Serializer\Annotation\SerializedName('recurring_interval_count')] public ?int $recurringIntervalCount; + /** + * The meter cycle of the product, independent of the billing interval. If `None`, metered concerns follow the billing interval. + * + * @var ?\Polar\Models\Components\RecurringInterval $meterInterval + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('meter_interval')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\RecurringInterval|null')] + public ?RecurringInterval $meterInterval; + + /** + * Number of meter interval units. None when no meter cycle is set. + * + * @var ?int $meterIntervalCount + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('meter_interval_count')] + public ?int $meterIntervalCount; + /** * @param array $metadata * @param string $id @@ -140,11 +157,13 @@ class DiscountProduct * @param ?\Polar\Models\Components\TrialInterval $trialInterval * @param ?int $trialIntervalCount * @param ?string $description - * @param ?\Polar\Models\Components\SubscriptionRecurringInterval $recurringInterval + * @param ?\Polar\Models\Components\RecurringInterval $recurringInterval * @param ?int $recurringIntervalCount + * @param ?\Polar\Models\Components\RecurringInterval $meterInterval + * @param ?int $meterIntervalCount * @phpstan-pure */ - public function __construct(array $metadata, string $id, \DateTime $createdAt, string $name, ProductVisibility $visibility, bool $isRecurring, bool $isArchived, string $organizationId, ?\DateTime $modifiedAt = null, ?TrialInterval $trialInterval = null, ?int $trialIntervalCount = null, ?string $description = null, ?SubscriptionRecurringInterval $recurringInterval = null, ?int $recurringIntervalCount = null) + public function __construct(array $metadata, string $id, \DateTime $createdAt, string $name, ProductVisibility $visibility, bool $isRecurring, bool $isArchived, string $organizationId, ?\DateTime $modifiedAt = null, ?TrialInterval $trialInterval = null, ?int $trialIntervalCount = null, ?string $description = null, ?RecurringInterval $recurringInterval = null, ?int $recurringIntervalCount = null, ?RecurringInterval $meterInterval = null, ?int $meterIntervalCount = null) { $this->metadata = $metadata; $this->id = $id; @@ -160,5 +179,7 @@ public function __construct(array $metadata, string $id, \DateTime $createdAt, s $this->description = $description; $this->recurringInterval = $recurringInterval; $this->recurringIntervalCount = $recurringIntervalCount; + $this->meterInterval = $meterInterval; + $this->meterIntervalCount = $meterIntervalCount; } } \ No newline at end of file diff --git a/src/Models/Components/Dispute.php b/src/Models/Components/Dispute.php index 9adb2a7a..123578a7 100644 --- a/src/Models/Components/Dispute.php +++ b/src/Models/Components/Dispute.php @@ -81,6 +81,14 @@ class Dispute #[\Speakeasy\Serializer\Annotation\SerializedName('currency')] public string $currency; + /** + * Whether the evidence submission deadline has passed. + * + * @var bool $pastDue + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('past_due')] + public bool $pastDue; + /** * The ID of the order associated with the dispute. * @@ -97,6 +105,14 @@ class Dispute #[\Speakeasy\Serializer\Annotation\SerializedName('payment_id')] public string $paymentId; + /** + * + * @var \Polar\Models\Components\DisputeCustomer $customer + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('customer')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\DisputeCustomer')] + public DisputeCustomer $customer; + /** * Last modification timestamp of the object. * @@ -105,6 +121,30 @@ class Dispute #[\Speakeasy\Serializer\Annotation\SerializedName('modified_at')] public ?\DateTime $modifiedAt; + /** + * The reason for the dispute as reported by the card network (e.g. `fraudulent`, `product_not_received`). `None` until the processor reports it. + * + * @var ?string $reason + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('reason')] + public ?string $reason; + + /** + * Deadline to submit evidence in response to the dispute. `None` when no response is required. + * + * @var ?\DateTime $evidenceDueBy + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('evidence_due_by')] + public ?\DateTime $evidenceDueBy; + + /** + * The ID of the support case for this dispute, if one was opened. + * + * @var ?string $caseId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('case_id')] + public ?string $caseId; + /** * @param \DateTime $createdAt * @param string $id @@ -114,12 +154,17 @@ class Dispute * @param int $amount * @param int $taxAmount * @param string $currency + * @param bool $pastDue * @param string $orderId * @param string $paymentId + * @param \Polar\Models\Components\DisputeCustomer $customer * @param ?\DateTime $modifiedAt + * @param ?string $reason + * @param ?\DateTime $evidenceDueBy + * @param ?string $caseId * @phpstan-pure */ - public function __construct(\DateTime $createdAt, string $id, DisputeStatus $status, bool $resolved, bool $closed, int $amount, int $taxAmount, string $currency, string $orderId, string $paymentId, ?\DateTime $modifiedAt = null) + public function __construct(\DateTime $createdAt, string $id, DisputeStatus $status, bool $resolved, bool $closed, int $amount, int $taxAmount, string $currency, bool $pastDue, string $orderId, string $paymentId, DisputeCustomer $customer, ?\DateTime $modifiedAt = null, ?string $reason = null, ?\DateTime $evidenceDueBy = null, ?string $caseId = null) { $this->createdAt = $createdAt; $this->id = $id; @@ -129,8 +174,13 @@ public function __construct(\DateTime $createdAt, string $id, DisputeStatus $sta $this->amount = $amount; $this->taxAmount = $taxAmount; $this->currency = $currency; + $this->pastDue = $pastDue; $this->orderId = $orderId; $this->paymentId = $paymentId; + $this->customer = $customer; $this->modifiedAt = $modifiedAt; + $this->reason = $reason; + $this->evidenceDueBy = $evidenceDueBy; + $this->caseId = $caseId; } } \ No newline at end of file diff --git a/src/Models/Components/DisputeCustomer.php b/src/Models/Components/DisputeCustomer.php new file mode 100644 index 00000000..84c43b4d --- /dev/null +++ b/src/Models/Components/DisputeCustomer.php @@ -0,0 +1,194 @@ + $metadata + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('metadata')] + #[\Speakeasy\Serializer\Annotation\Type('array')] + public array $metadata; + + /** + * Whether the customer email address is verified. The address is automatically verified when the customer accesses the customer portal using their email address. + * + * @var bool $emailVerified + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('email_verified')] + public bool $emailVerified; + + /** + * + * @var \Polar\Models\Components\CustomerType $type + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('type')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\CustomerType')] + public CustomerType $type; + + /** + * The ID of the organization owning the customer. + * + * @var string $organizationId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('organization_id')] + public string $organizationId; + + /** + * Last modification timestamp of the object. + * + * @var ?\DateTime $modifiedAt + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('modified_at')] + public ?\DateTime $modifiedAt; + + /** + * The name of the customer. + * + * @var ?string $name + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('name')] + public ?string $name; + + /** + * The name that should appear on the customer's invoices. Falls back to the customer name when not explicitly set. + * + * @var ?string $billingName + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('billing_name')] + public ?string $billingName; + + /** + * + * @var ?\Polar\Models\Components\Address $billingAddress + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('billing_address')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\Address|null')] + public ?Address $billingAddress; + + /** + * $taxId + * + * @var ?array $taxId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('tax_id')] + #[\Speakeasy\Serializer\Annotation\Type('array|null')] + public ?array $taxId; + + /** + * Timestamp for when the customer was soft deleted. + * + * @var ?\DateTime $deletedAt + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('deleted_at')] + public ?\DateTime $deletedAt; + + /** + * + * @var ?string $avatarUrl + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('avatar_url')] + public ?string $avatarUrl; + + /** + * The ID of the customer in your system. This must be unique within the organization. Once set, it can't be updated. + * + * @var ?string $externalId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('external_id')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $externalId = null; + + /** + * The email address of the customer. This must be unique within the organization. + * + * @var ?string $email + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('email')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $email = null; + + /** + * + * @var ?string $locale + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('locale')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $locale = null; + + /** + * The ID of the customer's default payment method, if any. Use the payment methods endpoint to retrieve its details. + * + * @var ?string $defaultPaymentMethodId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('default_payment_method_id')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $defaultPaymentMethodId = null; + + /** + * @param string $id + * @param \DateTime $createdAt + * @param array $metadata + * @param bool $emailVerified + * @param \Polar\Models\Components\CustomerType $type + * @param string $organizationId + * @param ?\DateTime $modifiedAt + * @param ?string $name + * @param ?string $billingName + * @param ?\Polar\Models\Components\Address $billingAddress + * @param ?array $taxId + * @param ?\DateTime $deletedAt + * @param ?string $avatarUrl + * @param ?string $externalId + * @param ?string $email + * @param ?string $locale + * @param ?string $defaultPaymentMethodId + * @phpstan-pure + */ + public function __construct(string $id, \DateTime $createdAt, array $metadata, bool $emailVerified, CustomerType $type, string $organizationId, ?\DateTime $modifiedAt = null, ?string $name = null, ?string $billingName = null, ?Address $billingAddress = null, ?array $taxId = null, ?\DateTime $deletedAt = null, ?string $avatarUrl = null, ?string $externalId = null, ?string $email = null, ?string $locale = null, ?string $defaultPaymentMethodId = null) + { + $this->id = $id; + $this->createdAt = $createdAt; + $this->metadata = $metadata; + $this->emailVerified = $emailVerified; + $this->type = $type; + $this->organizationId = $organizationId; + $this->modifiedAt = $modifiedAt; + $this->name = $name; + $this->billingName = $billingName; + $this->billingAddress = $billingAddress; + $this->taxId = $taxId; + $this->deletedAt = $deletedAt; + $this->avatarUrl = $avatarUrl; + $this->externalId = $externalId; + $this->email = $email; + $this->locale = $locale; + $this->defaultPaymentMethodId = $defaultPaymentMethodId; + } +} \ No newline at end of file diff --git a/src/Models/Components/EventName.php b/src/Models/Components/EventName.php index 490da517..c8d918ff 100644 --- a/src/Models/Components/EventName.php +++ b/src/Models/Components/EventName.php @@ -19,6 +19,14 @@ class EventName #[\Speakeasy\Serializer\Annotation\SerializedName('name')] public string $name; + /** + * Human readable label of the event. + * + * @var string $label + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('label')] + public string $label; + /** * * @var \Polar\Models\Components\EventSource $source @@ -53,15 +61,17 @@ class EventName /** * @param string $name + * @param string $label * @param \Polar\Models\Components\EventSource $source * @param int $occurrences * @param \DateTime $firstSeen * @param \DateTime $lastSeen * @phpstan-pure */ - public function __construct(string $name, EventSource $source, int $occurrences, \DateTime $firstSeen, \DateTime $lastSeen) + public function __construct(string $name, string $label, EventSource $source, int $occurrences, \DateTime $firstSeen, \DateTime $lastSeen) { $this->name = $name; + $this->label = $label; $this->source = $source; $this->occurrences = $occurrences; $this->firstSeen = $firstSeen; diff --git a/src/Models/Components/EventTypeWithStats.php b/src/Models/Components/EventTypeWithStats.php index 665e7897..f6fbedd8 100644 --- a/src/Models/Components/EventTypeWithStats.php +++ b/src/Models/Components/EventTypeWithStats.php @@ -11,22 +11,6 @@ class EventTypeWithStats { - /** - * Creation timestamp of the object. - * - * @var \DateTime $createdAt - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('created_at')] - public \DateTime $createdAt; - - /** - * The ID of the object. - * - * @var string $id - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('id')] - public string $id; - /** * The name of the event type. * @@ -84,12 +68,31 @@ class EventTypeWithStats public \DateTime $lastSeen; /** - * Last modification timestamp of the object. + * The ID of the event type. Null for system event types. + * + * @var ?string $id + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('id')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $id = null; + + /** + * Creation timestamp of the event type. Null for system event types. + * + * @var ?\DateTime $createdAt + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('created_at')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?\DateTime $createdAt = null; + + /** + * Last modification timestamp of the event type. Null for system event types. * * @var ?\DateTime $modifiedAt */ #[\Speakeasy\Serializer\Annotation\SerializedName('modified_at')] - public ?\DateTime $modifiedAt; + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?\DateTime $modifiedAt = null; /** * Property path to extract dynamic label from event metadata. @@ -101,8 +104,6 @@ class EventTypeWithStats public ?string $labelPropertySelector = null; /** - * @param \DateTime $createdAt - * @param string $id * @param string $name * @param string $label * @param string $organizationId @@ -110,14 +111,14 @@ class EventTypeWithStats * @param int $occurrences * @param \DateTime $firstSeen * @param \DateTime $lastSeen + * @param ?string $id + * @param ?\DateTime $createdAt * @param ?\DateTime $modifiedAt * @param ?string $labelPropertySelector * @phpstan-pure */ - public function __construct(\DateTime $createdAt, string $id, string $name, string $label, string $organizationId, EventSource $source, int $occurrences, \DateTime $firstSeen, \DateTime $lastSeen, ?\DateTime $modifiedAt = null, ?string $labelPropertySelector = null) + public function __construct(string $name, string $label, string $organizationId, EventSource $source, int $occurrences, \DateTime $firstSeen, \DateTime $lastSeen, ?string $id = null, ?\DateTime $createdAt = null, ?\DateTime $modifiedAt = null, ?string $labelPropertySelector = null) { - $this->createdAt = $createdAt; - $this->id = $id; $this->name = $name; $this->label = $label; $this->organizationId = $organizationId; @@ -125,6 +126,8 @@ public function __construct(\DateTime $createdAt, string $id, string $name, stri $this->occurrences = $occurrences; $this->firstSeen = $firstSeen; $this->lastSeen = $lastSeen; + $this->id = $id; + $this->createdAt = $createdAt; $this->modifiedAt = $modifiedAt; $this->labelPropertySelector = $labelPropertySelector; } diff --git a/src/Models/Components/FileServiceTypes.php b/src/Models/Components/FileServiceTypes.php index 5bf8323d..526bd2dd 100644 --- a/src/Models/Components/FileServiceTypes.php +++ b/src/Models/Components/FileServiceTypes.php @@ -14,4 +14,5 @@ enum FileServiceTypes: string case Downloadable = 'downloadable'; case ProductMedia = 'product_media'; case OrganizationAvatar = 'organization_avatar'; + case SupportCaseAttachment = 'support_case_attachment'; } diff --git a/src/Models/Components/GenericPayment.php b/src/Models/Components/GenericPayment.php index bf53b524..5c1f7469 100644 --- a/src/Models/Components/GenericPayment.php +++ b/src/Models/Components/GenericPayment.php @@ -84,6 +84,15 @@ class GenericPayment #[\Speakeasy\Serializer\Annotation\SerializedName('modified_at')] public ?\DateTime $modifiedAt; + /** + * What initiated this payment attempt, e.g. initial purchase, subscription renewal, or an automated dunning retry. + * + * @var ?\Polar\Models\Components\PaymentTrigger $trigger + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('trigger')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\PaymentTrigger|null')] + public ?PaymentTrigger $trigger; + /** * Error code, if the payment was declined. * @@ -136,6 +145,7 @@ class GenericPayment * @param string $method * @param string $organizationId * @param ?\DateTime $modifiedAt + * @param ?\Polar\Models\Components\PaymentTrigger $trigger * @param ?string $declineReason * @param ?string $declineMessage * @param ?string $checkoutId @@ -143,7 +153,7 @@ class GenericPayment * @param ?array $processorMetadata * @phpstan-pure */ - public function __construct(\DateTime $createdAt, string $id, PaymentProcessor $processor, PaymentStatus $status, int $amount, string $currency, string $method, string $organizationId, ?\DateTime $modifiedAt = null, ?string $declineReason = null, ?string $declineMessage = null, ?string $checkoutId = null, ?string $orderId = null, ?array $processorMetadata = null) + public function __construct(\DateTime $createdAt, string $id, PaymentProcessor $processor, PaymentStatus $status, int $amount, string $currency, string $method, string $organizationId, ?\DateTime $modifiedAt = null, ?PaymentTrigger $trigger = null, ?string $declineReason = null, ?string $declineMessage = null, ?string $checkoutId = null, ?string $orderId = null, ?array $processorMetadata = null) { $this->createdAt = $createdAt; $this->id = $id; @@ -154,6 +164,7 @@ public function __construct(\DateTime $createdAt, string $id, PaymentProcessor $ $this->method = $method; $this->organizationId = $organizationId; $this->modifiedAt = $modifiedAt; + $this->trigger = $trigger; $this->declineReason = $declineReason; $this->declineMessage = $declineMessage; $this->checkoutId = $checkoutId; diff --git a/src/Models/Components/IntrospectTokenResponse.php b/src/Models/Components/IntrospectTokenResponse.php index d88fe564..925eca23 100644 --- a/src/Models/Components/IntrospectTokenResponse.php +++ b/src/Models/Components/IntrospectTokenResponse.php @@ -55,6 +55,15 @@ class IntrospectTokenResponse #[\Speakeasy\Serializer\Annotation\SerializedName('sub')] public string $sub; + /** + * $organizations + * + * @var array $organizations + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('organizations')] + #[\Speakeasy\Serializer\Annotation\Type('array')] + public array $organizations; + /** * * @var string $aud @@ -90,13 +99,14 @@ class IntrospectTokenResponse * @param string $scope * @param \Polar\Models\Components\SubType $subType * @param string $sub + * @param array $organizations * @param string $aud * @param string $iss * @param int $exp * @param int $iat * @phpstan-pure */ - public function __construct(bool $active, string $clientId, TokenType $tokenType, string $scope, SubType $subType, string $sub, string $aud, string $iss, int $exp, int $iat) + public function __construct(bool $active, string $clientId, TokenType $tokenType, string $scope, SubType $subType, string $sub, array $organizations, string $aud, string $iss, int $exp, int $iat) { $this->active = $active; $this->clientId = $clientId; @@ -104,6 +114,7 @@ public function __construct(bool $active, string $clientId, TokenType $tokenType $this->scope = $scope; $this->subType = $subType; $this->sub = $sub; + $this->organizations = $organizations; $this->aud = $aud; $this->iss = $iss; $this->exp = $exp; diff --git a/src/Models/Components/LegacyRecurringProductPriceCustom.php b/src/Models/Components/LegacyRecurringProductPriceCustom.php index 49c8e2dc..e435808c 100644 --- a/src/Models/Components/LegacyRecurringProductPriceCustom.php +++ b/src/Models/Components/LegacyRecurringProductPriceCustom.php @@ -67,14 +67,14 @@ class LegacyRecurringProductPriceCustom /** * - * @var \Polar\Models\Components\SubscriptionRecurringInterval $recurringInterval + * @var \Polar\Models\Components\RecurringInterval $recurringInterval */ #[\Speakeasy\Serializer\Annotation\SerializedName('recurring_interval')] - #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\SubscriptionRecurringInterval')] - public SubscriptionRecurringInterval $recurringInterval; + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\RecurringInterval')] + public RecurringInterval $recurringInterval; /** - * The minimum amount the customer can pay. If 0, the price is 'free or pay what you want'. Defaults to 50 cents. + * The minimum amount the customer can pay. If 0, the price is 'free or pay what you want'. * * @var int $minimumAmount */ @@ -145,7 +145,7 @@ class LegacyRecurringProductPriceCustom * @param bool $isArchived * @param string $productId * @param string $type - * @param \Polar\Models\Components\SubscriptionRecurringInterval $recurringInterval + * @param \Polar\Models\Components\RecurringInterval $recurringInterval * @param int $minimumAmount * @param bool $legacy * @param ?\DateTime $modifiedAt @@ -154,7 +154,7 @@ class LegacyRecurringProductPriceCustom * @param ?int $presetAmount * @phpstan-pure */ - public function __construct(\DateTime $createdAt, string $id, ProductPriceSource $source, string $priceCurrency, bool $isArchived, string $productId, SubscriptionRecurringInterval $recurringInterval, int $minimumAmount, ?\DateTime $modifiedAt = null, ?TaxBehaviorOption $taxBehavior = null, ?int $maximumAmount = null, ?int $presetAmount = null, string $amountType = 'custom', string $type = 'recurring', bool $legacy = true) + public function __construct(\DateTime $createdAt, string $id, ProductPriceSource $source, string $priceCurrency, bool $isArchived, string $productId, RecurringInterval $recurringInterval, int $minimumAmount, ?\DateTime $modifiedAt = null, ?TaxBehaviorOption $taxBehavior = null, ?int $maximumAmount = null, ?int $presetAmount = null, string $amountType = 'custom', string $type = 'recurring', bool $legacy = true) { $this->createdAt = $createdAt; $this->id = $id; diff --git a/src/Models/Components/LegacyRecurringProductPriceFixed.php b/src/Models/Components/LegacyRecurringProductPriceFixed.php index 0342ea3f..48068289 100644 --- a/src/Models/Components/LegacyRecurringProductPriceFixed.php +++ b/src/Models/Components/LegacyRecurringProductPriceFixed.php @@ -67,11 +67,11 @@ class LegacyRecurringProductPriceFixed /** * - * @var \Polar\Models\Components\SubscriptionRecurringInterval $recurringInterval + * @var \Polar\Models\Components\RecurringInterval $recurringInterval */ #[\Speakeasy\Serializer\Annotation\SerializedName('recurring_interval')] - #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\SubscriptionRecurringInterval')] - public SubscriptionRecurringInterval $recurringInterval; + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\RecurringInterval')] + public RecurringInterval $recurringInterval; /** * The price in cents. @@ -129,14 +129,14 @@ class LegacyRecurringProductPriceFixed * @param bool $isArchived * @param string $productId * @param string $type - * @param \Polar\Models\Components\SubscriptionRecurringInterval $recurringInterval + * @param \Polar\Models\Components\RecurringInterval $recurringInterval * @param int $priceAmount * @param bool $legacy * @param ?\DateTime $modifiedAt * @param ?\Polar\Models\Components\TaxBehaviorOption $taxBehavior * @phpstan-pure */ - public function __construct(\DateTime $createdAt, string $id, ProductPriceSource $source, string $priceCurrency, bool $isArchived, string $productId, SubscriptionRecurringInterval $recurringInterval, int $priceAmount, ?\DateTime $modifiedAt = null, ?TaxBehaviorOption $taxBehavior = null, string $amountType = 'fixed', string $type = 'recurring', bool $legacy = true) + public function __construct(\DateTime $createdAt, string $id, ProductPriceSource $source, string $priceCurrency, bool $isArchived, string $productId, RecurringInterval $recurringInterval, int $priceAmount, ?\DateTime $modifiedAt = null, ?TaxBehaviorOption $taxBehavior = null, string $amountType = 'fixed', string $type = 'recurring', bool $legacy = true) { $this->createdAt = $createdAt; $this->id = $id; diff --git a/src/Models/Components/LegacyRecurringProductPriceFree.php b/src/Models/Components/LegacyRecurringProductPriceFree.php deleted file mode 100644 index 9fd445be..00000000 --- a/src/Models/Components/LegacyRecurringProductPriceFree.php +++ /dev/null @@ -1,145 +0,0 @@ -createdAt = $createdAt; - $this->id = $id; - $this->source = $source; - $this->priceCurrency = $priceCurrency; - $this->isArchived = $isArchived; - $this->productId = $productId; - $this->recurringInterval = $recurringInterval; - $this->modifiedAt = $modifiedAt; - $this->taxBehavior = $taxBehavior; - $this->amountType = $amountType; - $this->type = $type; - $this->legacy = $legacy; - } -} \ No newline at end of file diff --git a/src/Models/Components/LicenseKeyCustomer.php b/src/Models/Components/LicenseKeyCustomer.php index 2dfcef7e..863c62e9 100644 --- a/src/Models/Components/LicenseKeyCustomer.php +++ b/src/Models/Components/LicenseKeyCustomer.php @@ -60,13 +60,6 @@ class LicenseKeyCustomer #[\Speakeasy\Serializer\Annotation\SerializedName('organization_id')] public string $organizationId; - /** - * - * @var string $avatarUrl - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('avatar_url')] - public string $avatarUrl; - /** * Last modification timestamp of the object. * @@ -83,6 +76,14 @@ class LicenseKeyCustomer #[\Speakeasy\Serializer\Annotation\SerializedName('name')] public ?string $name; + /** + * The name that should appear on the customer's invoices. Falls back to the customer name when not explicitly set. + * + * @var ?string $billingName + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('billing_name')] + public ?string $billingName; + /** * * @var ?\Polar\Models\Components\Address $billingAddress @@ -108,6 +109,13 @@ class LicenseKeyCustomer #[\Speakeasy\Serializer\Annotation\SerializedName('deleted_at')] public ?\DateTime $deletedAt; + /** + * + * @var ?string $avatarUrl + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('avatar_url')] + public ?string $avatarUrl; + /** * The ID of the customer in your system. This must be unique within the organization. Once set, it can't be updated. * @@ -134,6 +142,15 @@ class LicenseKeyCustomer #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public ?string $locale = null; + /** + * The ID of the customer's default payment method, if any. Use the payment methods endpoint to retrieve its details. + * + * @var ?string $defaultPaymentMethodId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('default_payment_method_id')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $defaultPaymentMethodId = null; + /** * @param string $id * @param \DateTime $createdAt @@ -141,18 +158,20 @@ class LicenseKeyCustomer * @param bool $emailVerified * @param \Polar\Models\Components\CustomerType $type * @param string $organizationId - * @param string $avatarUrl * @param ?\DateTime $modifiedAt * @param ?string $name + * @param ?string $billingName * @param ?\Polar\Models\Components\Address $billingAddress * @param ?array $taxId * @param ?\DateTime $deletedAt + * @param ?string $avatarUrl * @param ?string $externalId * @param ?string $email * @param ?string $locale + * @param ?string $defaultPaymentMethodId * @phpstan-pure */ - public function __construct(string $id, \DateTime $createdAt, array $metadata, bool $emailVerified, CustomerType $type, string $organizationId, string $avatarUrl, ?\DateTime $modifiedAt = null, ?string $name = null, ?Address $billingAddress = null, ?array $taxId = null, ?\DateTime $deletedAt = null, ?string $externalId = null, ?string $email = null, ?string $locale = null) + public function __construct(string $id, \DateTime $createdAt, array $metadata, bool $emailVerified, CustomerType $type, string $organizationId, ?\DateTime $modifiedAt = null, ?string $name = null, ?string $billingName = null, ?Address $billingAddress = null, ?array $taxId = null, ?\DateTime $deletedAt = null, ?string $avatarUrl = null, ?string $externalId = null, ?string $email = null, ?string $locale = null, ?string $defaultPaymentMethodId = null) { $this->id = $id; $this->createdAt = $createdAt; @@ -160,14 +179,16 @@ public function __construct(string $id, \DateTime $createdAt, array $metadata, b $this->emailVerified = $emailVerified; $this->type = $type; $this->organizationId = $organizationId; - $this->avatarUrl = $avatarUrl; $this->modifiedAt = $modifiedAt; $this->name = $name; + $this->billingName = $billingName; $this->billingAddress = $billingAddress; $this->taxId = $taxId; $this->deletedAt = $deletedAt; + $this->avatarUrl = $avatarUrl; $this->externalId = $externalId; $this->email = $email; $this->locale = $locale; + $this->defaultPaymentMethodId = $defaultPaymentMethodId; } } \ No newline at end of file diff --git a/src/Models/Components/ListResourceBenefit.php b/src/Models/Components/ListResourceBenefit.php index 8a08bc7b..70909ed5 100644 --- a/src/Models/Components/ListResourceBenefit.php +++ b/src/Models/Components/ListResourceBenefit.php @@ -14,10 +14,10 @@ class ListResourceBenefit /** * $items * - * @var array<\Polar\Models\Components\BenefitCustom|\Polar\Models\Components\BenefitDiscord|\Polar\Models\Components\BenefitGitHubRepository|\Polar\Models\Components\BenefitDownloadables|\Polar\Models\Components\BenefitLicenseKeys|\Polar\Models\Components\BenefitMeterCredit|\Polar\Models\Components\BenefitFeatureFlag> $items + * @var array<\Polar\Models\Components\BenefitCustom|\Polar\Models\Components\BenefitDiscord|\Polar\Models\Components\BenefitGitHubRepository|\Polar\Models\Components\BenefitDownloadables|\Polar\Models\Components\BenefitLicenseKeys|\Polar\Models\Components\BenefitMeterCredit|\Polar\Models\Components\BenefitFeatureFlag|\Polar\Models\Components\BenefitSlackSharedChannel> $items */ #[\Speakeasy\Serializer\Annotation\SerializedName('items')] - #[\Speakeasy\Serializer\Annotation\Type('array<\Polar\Models\Components\BenefitCustom|\Polar\Models\Components\BenefitDiscord|\Polar\Models\Components\BenefitGitHubRepository|\Polar\Models\Components\BenefitDownloadables|\Polar\Models\Components\BenefitLicenseKeys|\Polar\Models\Components\BenefitMeterCredit|\Polar\Models\Components\BenefitFeatureFlag>')] + #[\Speakeasy\Serializer\Annotation\Type('array<\Polar\Models\Components\BenefitCustom|\Polar\Models\Components\BenefitDiscord|\Polar\Models\Components\BenefitGitHubRepository|\Polar\Models\Components\BenefitDownloadables|\Polar\Models\Components\BenefitLicenseKeys|\Polar\Models\Components\BenefitMeterCredit|\Polar\Models\Components\BenefitFeatureFlag|\Polar\Models\Components\BenefitSlackSharedChannel>')] public array $items; /** @@ -29,7 +29,7 @@ class ListResourceBenefit public Pagination $pagination; /** - * @param array<\Polar\Models\Components\BenefitCustom|\Polar\Models\Components\BenefitDiscord|\Polar\Models\Components\BenefitGitHubRepository|\Polar\Models\Components\BenefitDownloadables|\Polar\Models\Components\BenefitLicenseKeys|\Polar\Models\Components\BenefitMeterCredit|\Polar\Models\Components\BenefitFeatureFlag> $items + * @param array<\Polar\Models\Components\BenefitCustom|\Polar\Models\Components\BenefitDiscord|\Polar\Models\Components\BenefitGitHubRepository|\Polar\Models\Components\BenefitDownloadables|\Polar\Models\Components\BenefitLicenseKeys|\Polar\Models\Components\BenefitMeterCredit|\Polar\Models\Components\BenefitFeatureFlag|\Polar\Models\Components\BenefitSlackSharedChannel> $items * @param \Polar\Models\Components\Pagination $pagination * @phpstan-pure */ diff --git a/src/Models/Components/ListResourceCustomerBenefitGrant.php b/src/Models/Components/ListResourceCustomerBenefitGrant.php index 69121db4..f956fbe3 100644 --- a/src/Models/Components/ListResourceCustomerBenefitGrant.php +++ b/src/Models/Components/ListResourceCustomerBenefitGrant.php @@ -14,10 +14,10 @@ class ListResourceCustomerBenefitGrant /** * $items * - * @var array<\Polar\Models\Components\CustomerBenefitGrantDiscord|\Polar\Models\Components\CustomerBenefitGrantGitHubRepository|\Polar\Models\Components\CustomerBenefitGrantDownloadables|\Polar\Models\Components\CustomerBenefitGrantLicenseKeys|\Polar\Models\Components\CustomerBenefitGrantCustom|\Polar\Models\Components\CustomerBenefitGrantMeterCredit|\Polar\Models\Components\CustomerBenefitGrantFeatureFlag> $items + * @var array<\Polar\Models\Components\CustomerBenefitGrantDiscord|\Polar\Models\Components\CustomerBenefitGrantGitHubRepository|\Polar\Models\Components\CustomerBenefitGrantDownloadables|\Polar\Models\Components\CustomerBenefitGrantLicenseKeys|\Polar\Models\Components\CustomerBenefitGrantCustom|\Polar\Models\Components\CustomerBenefitGrantMeterCredit|\Polar\Models\Components\CustomerBenefitGrantFeatureFlag|\Polar\Models\Components\CustomerBenefitGrantSlackSharedChannel> $items */ #[\Speakeasy\Serializer\Annotation\SerializedName('items')] - #[\Speakeasy\Serializer\Annotation\Type('array<\Polar\Models\Components\CustomerBenefitGrantDiscord|\Polar\Models\Components\CustomerBenefitGrantGitHubRepository|\Polar\Models\Components\CustomerBenefitGrantDownloadables|\Polar\Models\Components\CustomerBenefitGrantLicenseKeys|\Polar\Models\Components\CustomerBenefitGrantCustom|\Polar\Models\Components\CustomerBenefitGrantMeterCredit|\Polar\Models\Components\CustomerBenefitGrantFeatureFlag>')] + #[\Speakeasy\Serializer\Annotation\Type('array<\Polar\Models\Components\CustomerBenefitGrantDiscord|\Polar\Models\Components\CustomerBenefitGrantGitHubRepository|\Polar\Models\Components\CustomerBenefitGrantDownloadables|\Polar\Models\Components\CustomerBenefitGrantLicenseKeys|\Polar\Models\Components\CustomerBenefitGrantCustom|\Polar\Models\Components\CustomerBenefitGrantMeterCredit|\Polar\Models\Components\CustomerBenefitGrantFeatureFlag|\Polar\Models\Components\CustomerBenefitGrantSlackSharedChannel>')] public array $items; /** @@ -29,7 +29,7 @@ class ListResourceCustomerBenefitGrant public Pagination $pagination; /** - * @param array<\Polar\Models\Components\CustomerBenefitGrantDiscord|\Polar\Models\Components\CustomerBenefitGrantGitHubRepository|\Polar\Models\Components\CustomerBenefitGrantDownloadables|\Polar\Models\Components\CustomerBenefitGrantLicenseKeys|\Polar\Models\Components\CustomerBenefitGrantCustom|\Polar\Models\Components\CustomerBenefitGrantMeterCredit|\Polar\Models\Components\CustomerBenefitGrantFeatureFlag> $items + * @param array<\Polar\Models\Components\CustomerBenefitGrantDiscord|\Polar\Models\Components\CustomerBenefitGrantGitHubRepository|\Polar\Models\Components\CustomerBenefitGrantDownloadables|\Polar\Models\Components\CustomerBenefitGrantLicenseKeys|\Polar\Models\Components\CustomerBenefitGrantCustom|\Polar\Models\Components\CustomerBenefitGrantMeterCredit|\Polar\Models\Components\CustomerBenefitGrantFeatureFlag|\Polar\Models\Components\CustomerBenefitGrantSlackSharedChannel> $items * @param \Polar\Models\Components\Pagination $pagination * @phpstan-pure */ diff --git a/src/Models/Components/ListResourceEvent.php b/src/Models/Components/ListResourceEvent.php index 1b4115fb..c20d18f1 100644 --- a/src/Models/Components/ListResourceEvent.php +++ b/src/Models/Components/ListResourceEvent.php @@ -14,10 +14,10 @@ class ListResourceEvent /** * $items * - * @var array<\Polar\Models\Components\MeterCreditEvent|\Polar\Models\Components\MeterResetEvent|\Polar\Models\Components\BenefitGrantedEvent|\Polar\Models\Components\BenefitCycledEvent|\Polar\Models\Components\BenefitUpdatedEvent|\Polar\Models\Components\BenefitRevokedEvent|\Polar\Models\Components\SubscriptionCreatedEvent|\Polar\Models\Components\SubscriptionUpdatedEvent|\Polar\Models\Components\SubscriptionCycledEvent|\Polar\Models\Components\SubscriptionCanceledEvent|\Polar\Models\Components\SubscriptionRevokedEvent|\Polar\Models\Components\SubscriptionUncanceledEvent|\Polar\Models\Components\SubscriptionProductUpdatedEvent|\Polar\Models\Components\SubscriptionSeatsUpdatedEvent|\Polar\Models\Components\SubscriptionBillingPeriodUpdatedEvent|\Polar\Models\Components\OrderPaidEvent|\Polar\Models\Components\OrderRefundedEvent|\Polar\Models\Components\OrderVoidedEvent|\Polar\Models\Components\CheckoutCreatedEvent|\Polar\Models\Components\CustomerCreatedEvent|\Polar\Models\Components\CustomerUpdatedEvent|\Polar\Models\Components\CustomerDeletedEvent|\Polar\Models\Components\BalanceOrderEvent|\Polar\Models\Components\BalanceCreditOrderEvent|\Polar\Models\Components\BalanceRefundEvent|\Polar\Models\Components\BalanceRefundReversalEvent|\Polar\Models\Components\BalanceDisputeEvent|\Polar\Models\Components\BalanceDisputeReversalEvent|\Polar\Models\Components\UserEvent> $items + * @var array<\Polar\Models\Components\MeterCreditEvent|\Polar\Models\Components\MeterResetEvent|\Polar\Models\Components\BenefitGrantedEvent|\Polar\Models\Components\BenefitCycledEvent|\Polar\Models\Components\BenefitUpdatedEvent|\Polar\Models\Components\BenefitRevokedEvent|\Polar\Models\Components\SubscriptionCreatedEvent|\Polar\Models\Components\SubscriptionUpdatedEvent|\Polar\Models\Components\SubscriptionCycledEvent|\Polar\Models\Components\SubscriptionCanceledEvent|\Polar\Models\Components\SubscriptionRevokedEvent|\Polar\Models\Components\SubscriptionPastDueEvent|\Polar\Models\Components\SubscriptionReactivatedEvent|\Polar\Models\Components\SubscriptionPausedEvent|\Polar\Models\Components\SubscriptionResumedEvent|\Polar\Models\Components\SubscriptionUncanceledEvent|\Polar\Models\Components\SubscriptionProductUpdatedEvent|\Polar\Models\Components\SubscriptionSeatsUpdatedEvent|\Polar\Models\Components\SubscriptionBillingPeriodUpdatedEvent|\Polar\Models\Components\SubscriptionUpdateClearedEvent|\Polar\Models\Components\OrderPaidEvent|\Polar\Models\Components\OrderRefundedEvent|\Polar\Models\Components\OrderVoidedEvent|\Polar\Models\Components\CheckoutCreatedEvent|\Polar\Models\Components\CustomerCreatedEvent|\Polar\Models\Components\CustomerUpdatedEvent|\Polar\Models\Components\CustomerDeletedEvent|\Polar\Models\Components\BalanceOrderEvent|\Polar\Models\Components\BalanceCreditOrderEvent|\Polar\Models\Components\BalanceRefundEvent|\Polar\Models\Components\BalanceRefundReversalEvent|\Polar\Models\Components\BalanceDisputeEvent|\Polar\Models\Components\BalanceDisputeReversalEvent|\Polar\Models\Components\UserEvent> $items */ #[\Speakeasy\Serializer\Annotation\SerializedName('items')] - #[\Speakeasy\Serializer\Annotation\Type('array<\Polar\Models\Components\MeterCreditEvent|\Polar\Models\Components\MeterResetEvent|\Polar\Models\Components\BenefitGrantedEvent|\Polar\Models\Components\BenefitCycledEvent|\Polar\Models\Components\BenefitUpdatedEvent|\Polar\Models\Components\BenefitRevokedEvent|\Polar\Models\Components\SubscriptionCreatedEvent|\Polar\Models\Components\SubscriptionUpdatedEvent|\Polar\Models\Components\SubscriptionCycledEvent|\Polar\Models\Components\SubscriptionCanceledEvent|\Polar\Models\Components\SubscriptionRevokedEvent|\Polar\Models\Components\SubscriptionUncanceledEvent|\Polar\Models\Components\SubscriptionProductUpdatedEvent|\Polar\Models\Components\SubscriptionSeatsUpdatedEvent|\Polar\Models\Components\SubscriptionBillingPeriodUpdatedEvent|\Polar\Models\Components\OrderPaidEvent|\Polar\Models\Components\OrderRefundedEvent|\Polar\Models\Components\OrderVoidedEvent|\Polar\Models\Components\CheckoutCreatedEvent|\Polar\Models\Components\CustomerCreatedEvent|\Polar\Models\Components\CustomerUpdatedEvent|\Polar\Models\Components\CustomerDeletedEvent|\Polar\Models\Components\BalanceOrderEvent|\Polar\Models\Components\BalanceCreditOrderEvent|\Polar\Models\Components\BalanceRefundEvent|\Polar\Models\Components\BalanceRefundReversalEvent|\Polar\Models\Components\BalanceDisputeEvent|\Polar\Models\Components\BalanceDisputeReversalEvent|\Polar\Models\Components\UserEvent>')] + #[\Speakeasy\Serializer\Annotation\Type('array<\Polar\Models\Components\MeterCreditEvent|\Polar\Models\Components\MeterResetEvent|\Polar\Models\Components\BenefitGrantedEvent|\Polar\Models\Components\BenefitCycledEvent|\Polar\Models\Components\BenefitUpdatedEvent|\Polar\Models\Components\BenefitRevokedEvent|\Polar\Models\Components\SubscriptionCreatedEvent|\Polar\Models\Components\SubscriptionUpdatedEvent|\Polar\Models\Components\SubscriptionCycledEvent|\Polar\Models\Components\SubscriptionCanceledEvent|\Polar\Models\Components\SubscriptionRevokedEvent|\Polar\Models\Components\SubscriptionPastDueEvent|\Polar\Models\Components\SubscriptionReactivatedEvent|\Polar\Models\Components\SubscriptionPausedEvent|\Polar\Models\Components\SubscriptionResumedEvent|\Polar\Models\Components\SubscriptionUncanceledEvent|\Polar\Models\Components\SubscriptionProductUpdatedEvent|\Polar\Models\Components\SubscriptionSeatsUpdatedEvent|\Polar\Models\Components\SubscriptionBillingPeriodUpdatedEvent|\Polar\Models\Components\SubscriptionUpdateClearedEvent|\Polar\Models\Components\OrderPaidEvent|\Polar\Models\Components\OrderRefundedEvent|\Polar\Models\Components\OrderVoidedEvent|\Polar\Models\Components\CheckoutCreatedEvent|\Polar\Models\Components\CustomerCreatedEvent|\Polar\Models\Components\CustomerUpdatedEvent|\Polar\Models\Components\CustomerDeletedEvent|\Polar\Models\Components\BalanceOrderEvent|\Polar\Models\Components\BalanceCreditOrderEvent|\Polar\Models\Components\BalanceRefundEvent|\Polar\Models\Components\BalanceRefundReversalEvent|\Polar\Models\Components\BalanceDisputeEvent|\Polar\Models\Components\BalanceDisputeReversalEvent|\Polar\Models\Components\UserEvent>')] public array $items; /** @@ -29,7 +29,7 @@ class ListResourceEvent public Pagination $pagination; /** - * @param array<\Polar\Models\Components\MeterCreditEvent|\Polar\Models\Components\MeterResetEvent|\Polar\Models\Components\BenefitGrantedEvent|\Polar\Models\Components\BenefitCycledEvent|\Polar\Models\Components\BenefitUpdatedEvent|\Polar\Models\Components\BenefitRevokedEvent|\Polar\Models\Components\SubscriptionCreatedEvent|\Polar\Models\Components\SubscriptionUpdatedEvent|\Polar\Models\Components\SubscriptionCycledEvent|\Polar\Models\Components\SubscriptionCanceledEvent|\Polar\Models\Components\SubscriptionRevokedEvent|\Polar\Models\Components\SubscriptionUncanceledEvent|\Polar\Models\Components\SubscriptionProductUpdatedEvent|\Polar\Models\Components\SubscriptionSeatsUpdatedEvent|\Polar\Models\Components\SubscriptionBillingPeriodUpdatedEvent|\Polar\Models\Components\OrderPaidEvent|\Polar\Models\Components\OrderRefundedEvent|\Polar\Models\Components\OrderVoidedEvent|\Polar\Models\Components\CheckoutCreatedEvent|\Polar\Models\Components\CustomerCreatedEvent|\Polar\Models\Components\CustomerUpdatedEvent|\Polar\Models\Components\CustomerDeletedEvent|\Polar\Models\Components\BalanceOrderEvent|\Polar\Models\Components\BalanceCreditOrderEvent|\Polar\Models\Components\BalanceRefundEvent|\Polar\Models\Components\BalanceRefundReversalEvent|\Polar\Models\Components\BalanceDisputeEvent|\Polar\Models\Components\BalanceDisputeReversalEvent|\Polar\Models\Components\UserEvent> $items + * @param array<\Polar\Models\Components\MeterCreditEvent|\Polar\Models\Components\MeterResetEvent|\Polar\Models\Components\BenefitGrantedEvent|\Polar\Models\Components\BenefitCycledEvent|\Polar\Models\Components\BenefitUpdatedEvent|\Polar\Models\Components\BenefitRevokedEvent|\Polar\Models\Components\SubscriptionCreatedEvent|\Polar\Models\Components\SubscriptionUpdatedEvent|\Polar\Models\Components\SubscriptionCycledEvent|\Polar\Models\Components\SubscriptionCanceledEvent|\Polar\Models\Components\SubscriptionRevokedEvent|\Polar\Models\Components\SubscriptionPastDueEvent|\Polar\Models\Components\SubscriptionReactivatedEvent|\Polar\Models\Components\SubscriptionPausedEvent|\Polar\Models\Components\SubscriptionResumedEvent|\Polar\Models\Components\SubscriptionUncanceledEvent|\Polar\Models\Components\SubscriptionProductUpdatedEvent|\Polar\Models\Components\SubscriptionSeatsUpdatedEvent|\Polar\Models\Components\SubscriptionBillingPeriodUpdatedEvent|\Polar\Models\Components\SubscriptionUpdateClearedEvent|\Polar\Models\Components\OrderPaidEvent|\Polar\Models\Components\OrderRefundedEvent|\Polar\Models\Components\OrderVoidedEvent|\Polar\Models\Components\CheckoutCreatedEvent|\Polar\Models\Components\CustomerCreatedEvent|\Polar\Models\Components\CustomerUpdatedEvent|\Polar\Models\Components\CustomerDeletedEvent|\Polar\Models\Components\BalanceOrderEvent|\Polar\Models\Components\BalanceCreditOrderEvent|\Polar\Models\Components\BalanceRefundEvent|\Polar\Models\Components\BalanceRefundReversalEvent|\Polar\Models\Components\BalanceDisputeEvent|\Polar\Models\Components\BalanceDisputeReversalEvent|\Polar\Models\Components\UserEvent> $items * @param \Polar\Models\Components\Pagination $pagination * @phpstan-pure */ diff --git a/src/Models/Components/ListResourceFileRead.php b/src/Models/Components/ListResourceFileRead.php index a92b1332..f1b2527b 100644 --- a/src/Models/Components/ListResourceFileRead.php +++ b/src/Models/Components/ListResourceFileRead.php @@ -14,10 +14,10 @@ class ListResourceFileRead /** * $items * - * @var array<\Polar\Models\Components\DownloadableFileRead|\Polar\Models\Components\ProductMediaFileRead|\Polar\Models\Components\OrganizationAvatarFileRead> $items + * @var array<\Polar\Models\Components\DownloadableFileRead|\Polar\Models\Components\ProductMediaFileRead|\Polar\Models\Components\OrganizationAvatarFileRead|\Polar\Models\Components\SupportCaseAttachmentFileRead> $items */ #[\Speakeasy\Serializer\Annotation\SerializedName('items')] - #[\Speakeasy\Serializer\Annotation\Type('array<\Polar\Models\Components\DownloadableFileRead|\Polar\Models\Components\ProductMediaFileRead|\Polar\Models\Components\OrganizationAvatarFileRead>')] + #[\Speakeasy\Serializer\Annotation\Type('array<\Polar\Models\Components\DownloadableFileRead|\Polar\Models\Components\ProductMediaFileRead|\Polar\Models\Components\OrganizationAvatarFileRead|\Polar\Models\Components\SupportCaseAttachmentFileRead>')] public array $items; /** @@ -29,7 +29,7 @@ class ListResourceFileRead public Pagination $pagination; /** - * @param array<\Polar\Models\Components\DownloadableFileRead|\Polar\Models\Components\ProductMediaFileRead|\Polar\Models\Components\OrganizationAvatarFileRead> $items + * @param array<\Polar\Models\Components\DownloadableFileRead|\Polar\Models\Components\ProductMediaFileRead|\Polar\Models\Components\OrganizationAvatarFileRead|\Polar\Models\Components\SupportCaseAttachmentFileRead> $items * @param \Polar\Models\Components\Pagination $pagination * @phpstan-pure */ diff --git a/src/Models/Components/ListResourceOrganizationAccessToken.php b/src/Models/Components/ListResourcePaymentMethod.php similarity index 68% rename from src/Models/Components/ListResourceOrganizationAccessToken.php rename to src/Models/Components/ListResourcePaymentMethod.php index 380de0e1..ebb98d15 100644 --- a/src/Models/Components/ListResourceOrganizationAccessToken.php +++ b/src/Models/Components/ListResourcePaymentMethod.php @@ -9,15 +9,15 @@ namespace Polar\Models\Components; -class ListResourceOrganizationAccessToken +class ListResourcePaymentMethod { /** * $items * - * @var array<\Polar\Models\Components\OrganizationAccessToken> $items + * @var array<\Polar\Models\Components\CustomerPaymentMethodCard|\Polar\Models\Components\CustomerPaymentMethodGeneric> $items */ #[\Speakeasy\Serializer\Annotation\SerializedName('items')] - #[\Speakeasy\Serializer\Annotation\Type('array<\Polar\Models\Components\OrganizationAccessToken>')] + #[\Speakeasy\Serializer\Annotation\Type('array<\Polar\Models\Components\CustomerPaymentMethodCard|\Polar\Models\Components\CustomerPaymentMethodGeneric>')] public array $items; /** @@ -29,7 +29,7 @@ class ListResourceOrganizationAccessToken public Pagination $pagination; /** - * @param array<\Polar\Models\Components\OrganizationAccessToken> $items + * @param array<\Polar\Models\Components\CustomerPaymentMethodCard|\Polar\Models\Components\CustomerPaymentMethodGeneric> $items * @param \Polar\Models\Components\Pagination $pagination * @phpstan-pure */ diff --git a/src/Models/Components/ListResourceWithCursorPaginationEvent.php b/src/Models/Components/ListResourceWithCursorPaginationEvent.php index 19c14002..e7d4bc1b 100644 --- a/src/Models/Components/ListResourceWithCursorPaginationEvent.php +++ b/src/Models/Components/ListResourceWithCursorPaginationEvent.php @@ -14,10 +14,10 @@ class ListResourceWithCursorPaginationEvent /** * $items * - * @var array<\Polar\Models\Components\MeterCreditEvent|\Polar\Models\Components\MeterResetEvent|\Polar\Models\Components\BenefitGrantedEvent|\Polar\Models\Components\BenefitCycledEvent|\Polar\Models\Components\BenefitUpdatedEvent|\Polar\Models\Components\BenefitRevokedEvent|\Polar\Models\Components\SubscriptionCreatedEvent|\Polar\Models\Components\SubscriptionUpdatedEvent|\Polar\Models\Components\SubscriptionCycledEvent|\Polar\Models\Components\SubscriptionCanceledEvent|\Polar\Models\Components\SubscriptionRevokedEvent|\Polar\Models\Components\SubscriptionUncanceledEvent|\Polar\Models\Components\SubscriptionProductUpdatedEvent|\Polar\Models\Components\SubscriptionSeatsUpdatedEvent|\Polar\Models\Components\SubscriptionBillingPeriodUpdatedEvent|\Polar\Models\Components\OrderPaidEvent|\Polar\Models\Components\OrderRefundedEvent|\Polar\Models\Components\OrderVoidedEvent|\Polar\Models\Components\CheckoutCreatedEvent|\Polar\Models\Components\CustomerCreatedEvent|\Polar\Models\Components\CustomerUpdatedEvent|\Polar\Models\Components\CustomerDeletedEvent|\Polar\Models\Components\BalanceOrderEvent|\Polar\Models\Components\BalanceCreditOrderEvent|\Polar\Models\Components\BalanceRefundEvent|\Polar\Models\Components\BalanceRefundReversalEvent|\Polar\Models\Components\BalanceDisputeEvent|\Polar\Models\Components\BalanceDisputeReversalEvent|\Polar\Models\Components\UserEvent> $items + * @var array<\Polar\Models\Components\MeterCreditEvent|\Polar\Models\Components\MeterResetEvent|\Polar\Models\Components\BenefitGrantedEvent|\Polar\Models\Components\BenefitCycledEvent|\Polar\Models\Components\BenefitUpdatedEvent|\Polar\Models\Components\BenefitRevokedEvent|\Polar\Models\Components\SubscriptionCreatedEvent|\Polar\Models\Components\SubscriptionUpdatedEvent|\Polar\Models\Components\SubscriptionCycledEvent|\Polar\Models\Components\SubscriptionCanceledEvent|\Polar\Models\Components\SubscriptionRevokedEvent|\Polar\Models\Components\SubscriptionPastDueEvent|\Polar\Models\Components\SubscriptionReactivatedEvent|\Polar\Models\Components\SubscriptionPausedEvent|\Polar\Models\Components\SubscriptionResumedEvent|\Polar\Models\Components\SubscriptionUncanceledEvent|\Polar\Models\Components\SubscriptionProductUpdatedEvent|\Polar\Models\Components\SubscriptionSeatsUpdatedEvent|\Polar\Models\Components\SubscriptionBillingPeriodUpdatedEvent|\Polar\Models\Components\SubscriptionUpdateClearedEvent|\Polar\Models\Components\OrderPaidEvent|\Polar\Models\Components\OrderRefundedEvent|\Polar\Models\Components\OrderVoidedEvent|\Polar\Models\Components\CheckoutCreatedEvent|\Polar\Models\Components\CustomerCreatedEvent|\Polar\Models\Components\CustomerUpdatedEvent|\Polar\Models\Components\CustomerDeletedEvent|\Polar\Models\Components\BalanceOrderEvent|\Polar\Models\Components\BalanceCreditOrderEvent|\Polar\Models\Components\BalanceRefundEvent|\Polar\Models\Components\BalanceRefundReversalEvent|\Polar\Models\Components\BalanceDisputeEvent|\Polar\Models\Components\BalanceDisputeReversalEvent|\Polar\Models\Components\UserEvent> $items */ #[\Speakeasy\Serializer\Annotation\SerializedName('items')] - #[\Speakeasy\Serializer\Annotation\Type('array<\Polar\Models\Components\MeterCreditEvent|\Polar\Models\Components\MeterResetEvent|\Polar\Models\Components\BenefitGrantedEvent|\Polar\Models\Components\BenefitCycledEvent|\Polar\Models\Components\BenefitUpdatedEvent|\Polar\Models\Components\BenefitRevokedEvent|\Polar\Models\Components\SubscriptionCreatedEvent|\Polar\Models\Components\SubscriptionUpdatedEvent|\Polar\Models\Components\SubscriptionCycledEvent|\Polar\Models\Components\SubscriptionCanceledEvent|\Polar\Models\Components\SubscriptionRevokedEvent|\Polar\Models\Components\SubscriptionUncanceledEvent|\Polar\Models\Components\SubscriptionProductUpdatedEvent|\Polar\Models\Components\SubscriptionSeatsUpdatedEvent|\Polar\Models\Components\SubscriptionBillingPeriodUpdatedEvent|\Polar\Models\Components\OrderPaidEvent|\Polar\Models\Components\OrderRefundedEvent|\Polar\Models\Components\OrderVoidedEvent|\Polar\Models\Components\CheckoutCreatedEvent|\Polar\Models\Components\CustomerCreatedEvent|\Polar\Models\Components\CustomerUpdatedEvent|\Polar\Models\Components\CustomerDeletedEvent|\Polar\Models\Components\BalanceOrderEvent|\Polar\Models\Components\BalanceCreditOrderEvent|\Polar\Models\Components\BalanceRefundEvent|\Polar\Models\Components\BalanceRefundReversalEvent|\Polar\Models\Components\BalanceDisputeEvent|\Polar\Models\Components\BalanceDisputeReversalEvent|\Polar\Models\Components\UserEvent>')] + #[\Speakeasy\Serializer\Annotation\Type('array<\Polar\Models\Components\MeterCreditEvent|\Polar\Models\Components\MeterResetEvent|\Polar\Models\Components\BenefitGrantedEvent|\Polar\Models\Components\BenefitCycledEvent|\Polar\Models\Components\BenefitUpdatedEvent|\Polar\Models\Components\BenefitRevokedEvent|\Polar\Models\Components\SubscriptionCreatedEvent|\Polar\Models\Components\SubscriptionUpdatedEvent|\Polar\Models\Components\SubscriptionCycledEvent|\Polar\Models\Components\SubscriptionCanceledEvent|\Polar\Models\Components\SubscriptionRevokedEvent|\Polar\Models\Components\SubscriptionPastDueEvent|\Polar\Models\Components\SubscriptionReactivatedEvent|\Polar\Models\Components\SubscriptionPausedEvent|\Polar\Models\Components\SubscriptionResumedEvent|\Polar\Models\Components\SubscriptionUncanceledEvent|\Polar\Models\Components\SubscriptionProductUpdatedEvent|\Polar\Models\Components\SubscriptionSeatsUpdatedEvent|\Polar\Models\Components\SubscriptionBillingPeriodUpdatedEvent|\Polar\Models\Components\SubscriptionUpdateClearedEvent|\Polar\Models\Components\OrderPaidEvent|\Polar\Models\Components\OrderRefundedEvent|\Polar\Models\Components\OrderVoidedEvent|\Polar\Models\Components\CheckoutCreatedEvent|\Polar\Models\Components\CustomerCreatedEvent|\Polar\Models\Components\CustomerUpdatedEvent|\Polar\Models\Components\CustomerDeletedEvent|\Polar\Models\Components\BalanceOrderEvent|\Polar\Models\Components\BalanceCreditOrderEvent|\Polar\Models\Components\BalanceRefundEvent|\Polar\Models\Components\BalanceRefundReversalEvent|\Polar\Models\Components\BalanceDisputeEvent|\Polar\Models\Components\BalanceDisputeReversalEvent|\Polar\Models\Components\UserEvent>')] public array $items; /** @@ -29,7 +29,7 @@ class ListResourceWithCursorPaginationEvent public CursorPagination $pagination; /** - * @param array<\Polar\Models\Components\MeterCreditEvent|\Polar\Models\Components\MeterResetEvent|\Polar\Models\Components\BenefitGrantedEvent|\Polar\Models\Components\BenefitCycledEvent|\Polar\Models\Components\BenefitUpdatedEvent|\Polar\Models\Components\BenefitRevokedEvent|\Polar\Models\Components\SubscriptionCreatedEvent|\Polar\Models\Components\SubscriptionUpdatedEvent|\Polar\Models\Components\SubscriptionCycledEvent|\Polar\Models\Components\SubscriptionCanceledEvent|\Polar\Models\Components\SubscriptionRevokedEvent|\Polar\Models\Components\SubscriptionUncanceledEvent|\Polar\Models\Components\SubscriptionProductUpdatedEvent|\Polar\Models\Components\SubscriptionSeatsUpdatedEvent|\Polar\Models\Components\SubscriptionBillingPeriodUpdatedEvent|\Polar\Models\Components\OrderPaidEvent|\Polar\Models\Components\OrderRefundedEvent|\Polar\Models\Components\OrderVoidedEvent|\Polar\Models\Components\CheckoutCreatedEvent|\Polar\Models\Components\CustomerCreatedEvent|\Polar\Models\Components\CustomerUpdatedEvent|\Polar\Models\Components\CustomerDeletedEvent|\Polar\Models\Components\BalanceOrderEvent|\Polar\Models\Components\BalanceCreditOrderEvent|\Polar\Models\Components\BalanceRefundEvent|\Polar\Models\Components\BalanceRefundReversalEvent|\Polar\Models\Components\BalanceDisputeEvent|\Polar\Models\Components\BalanceDisputeReversalEvent|\Polar\Models\Components\UserEvent> $items + * @param array<\Polar\Models\Components\MeterCreditEvent|\Polar\Models\Components\MeterResetEvent|\Polar\Models\Components\BenefitGrantedEvent|\Polar\Models\Components\BenefitCycledEvent|\Polar\Models\Components\BenefitUpdatedEvent|\Polar\Models\Components\BenefitRevokedEvent|\Polar\Models\Components\SubscriptionCreatedEvent|\Polar\Models\Components\SubscriptionUpdatedEvent|\Polar\Models\Components\SubscriptionCycledEvent|\Polar\Models\Components\SubscriptionCanceledEvent|\Polar\Models\Components\SubscriptionRevokedEvent|\Polar\Models\Components\SubscriptionPastDueEvent|\Polar\Models\Components\SubscriptionReactivatedEvent|\Polar\Models\Components\SubscriptionPausedEvent|\Polar\Models\Components\SubscriptionResumedEvent|\Polar\Models\Components\SubscriptionUncanceledEvent|\Polar\Models\Components\SubscriptionProductUpdatedEvent|\Polar\Models\Components\SubscriptionSeatsUpdatedEvent|\Polar\Models\Components\SubscriptionBillingPeriodUpdatedEvent|\Polar\Models\Components\SubscriptionUpdateClearedEvent|\Polar\Models\Components\OrderPaidEvent|\Polar\Models\Components\OrderRefundedEvent|\Polar\Models\Components\OrderVoidedEvent|\Polar\Models\Components\CheckoutCreatedEvent|\Polar\Models\Components\CustomerCreatedEvent|\Polar\Models\Components\CustomerUpdatedEvent|\Polar\Models\Components\CustomerDeletedEvent|\Polar\Models\Components\BalanceOrderEvent|\Polar\Models\Components\BalanceCreditOrderEvent|\Polar\Models\Components\BalanceRefundEvent|\Polar\Models\Components\BalanceRefundReversalEvent|\Polar\Models\Components\BalanceDisputeEvent|\Polar\Models\Components\BalanceDisputeReversalEvent|\Polar\Models\Components\UserEvent> $items * @param \Polar\Models\Components\CursorPagination $pagination * @phpstan-pure */ diff --git a/src/Models/Components/MemberCreate.php b/src/Models/Components/MemberCreateFromCustomer.php similarity index 65% rename from src/Models/Components/MemberCreate.php rename to src/Models/Components/MemberCreateFromCustomer.php index a1b17f7b..0180356e 100644 --- a/src/Models/Components/MemberCreate.php +++ b/src/Models/Components/MemberCreateFromCustomer.php @@ -9,17 +9,14 @@ namespace Polar\Models\Components; -/** MemberCreate - Schema for creating a new member. */ -class MemberCreate +/** + * MemberCreateFromCustomer - Schema for creating a new member nested under a customer. + * + * + * The customer is taken from the URL path, so it's not part of the body. + */ +class MemberCreateFromCustomer { - /** - * The ID of the customer this member belongs to. - * - * @var string $customerId - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('customer_id')] - public string $customerId; - /** * The email address of the member. * @@ -28,15 +25,6 @@ class MemberCreate #[\Speakeasy\Serializer\Annotation\SerializedName('email')] public string $email; - /** - * - * @var ?\Polar\Models\Components\MemberRole $role - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('role')] - #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\MemberRole|null')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?MemberRole $role = null; - /** * * @var ?string $name @@ -55,19 +43,27 @@ class MemberCreate public ?string $externalId = null; /** - * @param string $customerId + * The role of the member within the customer. To assign or transfer ownership, use the member update endpoint. + * + * @var ?\Polar\Models\Components\Role $role + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('role')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\Role|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?Role $role = null; + + /** * @param string $email - * @param ?\Polar\Models\Components\MemberRole $role + * @param ?\Polar\Models\Components\Role $role * @param ?string $name * @param ?string $externalId * @phpstan-pure */ - public function __construct(string $customerId, string $email, ?MemberRole $role = null, ?string $name = null, ?string $externalId = null) + public function __construct(string $email, ?string $name = null, ?string $externalId = null, ?Role $role = Role::Member) { - $this->customerId = $customerId; $this->email = $email; - $this->role = $role; $this->name = $name; $this->externalId = $externalId; + $this->role = $role; } } \ No newline at end of file diff --git a/src/Models/Components/MemberUpdate.php b/src/Models/Components/MemberUpdate.php index 5a686ae4..ba7fbfa2 100644 --- a/src/Models/Components/MemberUpdate.php +++ b/src/Models/Components/MemberUpdate.php @@ -20,6 +20,14 @@ class MemberUpdate #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public ?string $name = null; + /** + * + * @var ?string $email + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('email')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $email = null; + /** * The role of the member within the customer. * @@ -32,12 +40,14 @@ class MemberUpdate /** * @param ?string $name + * @param ?string $email * @param ?\Polar\Models\Components\MemberRole $role * @phpstan-pure */ - public function __construct(?string $name = null, ?MemberRole $role = null) + public function __construct(?string $name = null, ?string $email = null, ?MemberRole $role = null) { $this->name = $name; + $this->email = $email; $this->role = $role; } } \ No newline at end of file diff --git a/src/Models/Components/Meter.php b/src/Models/Components/Meter.php index dac33c72..70134400 100644 --- a/src/Models/Components/Meter.php +++ b/src/Models/Components/Meter.php @@ -44,6 +44,14 @@ class Meter #[\Speakeasy\Serializer\Annotation\SerializedName('name')] public string $name; + /** + * + * @var \Polar\Models\Components\MeterUnit $unit + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('unit')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\MeterUnit')] + public MeterUnit $unit; + /** * * @var \Polar\Models\Components\Filter $filter @@ -78,6 +86,24 @@ class Meter #[\Speakeasy\Serializer\Annotation\SerializedName('modified_at')] public ?\DateTime $modifiedAt; + /** + * The label for the custom unit. + * + * @var ?string $customLabel + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('custom_label')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $customLabel = null; + + /** + * The multiplier to convert from base unit to display scale. + * + * @var ?int $customMultiplier + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('custom_multiplier')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?int $customMultiplier = null; + /** * Whether the meter is archived and the time it was archived. * @@ -92,23 +118,29 @@ class Meter * @param \DateTime $createdAt * @param string $id * @param string $name + * @param \Polar\Models\Components\MeterUnit $unit * @param \Polar\Models\Components\Filter $filter * @param \Polar\Models\Components\CountAggregation|\Polar\Models\Components\PropertyAggregation|\Polar\Models\Components\UniqueAggregation $aggregation * @param string $organizationId * @param ?\DateTime $modifiedAt + * @param ?string $customLabel + * @param ?int $customMultiplier * @param ?\DateTime $archivedAt * @phpstan-pure */ - public function __construct(array $metadata, \DateTime $createdAt, string $id, string $name, Filter $filter, CountAggregation|PropertyAggregation|UniqueAggregation $aggregation, string $organizationId, ?\DateTime $modifiedAt = null, ?\DateTime $archivedAt = null) + public function __construct(array $metadata, \DateTime $createdAt, string $id, string $name, MeterUnit $unit, Filter $filter, CountAggregation|PropertyAggregation|UniqueAggregation $aggregation, string $organizationId, ?\DateTime $modifiedAt = null, ?string $customLabel = null, ?int $customMultiplier = null, ?\DateTime $archivedAt = null) { $this->metadata = $metadata; $this->createdAt = $createdAt; $this->id = $id; $this->name = $name; + $this->unit = $unit; $this->filter = $filter; $this->aggregation = $aggregation; $this->organizationId = $organizationId; $this->modifiedAt = $modifiedAt; + $this->customLabel = $customLabel; + $this->customMultiplier = $customMultiplier; $this->archivedAt = $archivedAt; } } \ No newline at end of file diff --git a/src/Models/Components/MeterCreate.php b/src/Models/Components/MeterCreate.php index 7cf61917..d95fb5fa 100644 --- a/src/Models/Components/MeterCreate.php +++ b/src/Models/Components/MeterCreate.php @@ -58,6 +58,33 @@ class MeterCreate #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public ?array $metadata = null; + /** + * + * @var ?\Polar\Models\Components\MeterUnit $unit + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('unit')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\MeterUnit|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?MeterUnit $unit = null; + + /** + * The label for the custom unit, e.g. 'request'. Required when unit is 'custom'. + * + * @var ?string $customLabel + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('custom_label')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $customLabel = null; + + /** + * The multiplier to convert from the base unit to display scale, e.g. 1000 to display per 1000 units. Defaults to 1 when not provided. + * + * @var ?int $customMultiplier + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('custom_multiplier')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?int $customMultiplier = null; + /** * The ID of the organization owning the meter. **Required unless you use an organization token.** * @@ -72,15 +99,21 @@ class MeterCreate * @param \Polar\Models\Components\Filter $filter * @param \Polar\Models\Components\CountAggregation|\Polar\Models\Components\PropertyAggregation|\Polar\Models\Components\UniqueAggregation $aggregation * @param ?array $metadata + * @param ?\Polar\Models\Components\MeterUnit $unit + * @param ?string $customLabel + * @param ?int $customMultiplier * @param ?string $organizationId * @phpstan-pure */ - public function __construct(string $name, Filter $filter, CountAggregation|PropertyAggregation|UniqueAggregation $aggregation, ?array $metadata = null, ?string $organizationId = null) + public function __construct(string $name, Filter $filter, CountAggregation|PropertyAggregation|UniqueAggregation $aggregation, ?array $metadata = null, ?MeterUnit $unit = null, ?string $customLabel = null, ?int $customMultiplier = null, ?string $organizationId = null) { $this->name = $name; $this->filter = $filter; $this->aggregation = $aggregation; $this->metadata = $metadata; + $this->unit = $unit; + $this->customLabel = $customLabel; + $this->customMultiplier = $customMultiplier; $this->organizationId = $organizationId; } } \ No newline at end of file diff --git a/src/Models/Components/MeterUnit.php b/src/Models/Components/MeterUnit.php new file mode 100644 index 00000000..8dfa7314 --- /dev/null +++ b/src/Models/Components/MeterUnit.php @@ -0,0 +1,17 @@ + $metadata * @param ?string $name + * @param ?\Polar\Models\Components\MeterUnit $unit + * @param ?string $customLabel + * @param ?int $customMultiplier * @param ?\Polar\Models\Components\Filter $filter * @param \Polar\Models\Components\CountAggregation|\Polar\Models\Components\PropertyAggregation|\Polar\Models\Components\UniqueAggregation|null $aggregation * @param ?bool $isArchived * @phpstan-pure */ - public function __construct(?array $metadata = null, ?string $name = null, ?Filter $filter = null, CountAggregation|PropertyAggregation|UniqueAggregation|null $aggregation = null, ?bool $isArchived = null) + public function __construct(?array $metadata = null, ?string $name = null, ?MeterUnit $unit = null, ?string $customLabel = null, ?int $customMultiplier = null, ?Filter $filter = null, CountAggregation|PropertyAggregation|UniqueAggregation|null $aggregation = null, ?bool $isArchived = null) { $this->metadata = $metadata; $this->name = $name; + $this->unit = $unit; + $this->customLabel = $customLabel; + $this->customMultiplier = $customMultiplier; $this->filter = $filter; $this->aggregation = $aggregation; $this->isArchived = $isArchived; diff --git a/src/Models/Components/MetricPeriod.php b/src/Models/Components/MetricPeriod.php index 2a4d9b4f..4459dfa3 100644 --- a/src/Models/Components/MetricPeriod.php +++ b/src/Models/Components/MetricPeriod.php @@ -46,6 +46,15 @@ class MetricPeriod #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public int|float|null $monthlyRecurringRevenue = null; + /** + * + * @var int|float|null $trialMonthlyRecurringRevenue + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('trial_monthly_recurring_revenue')] + #[\Speakeasy\Serializer\Annotation\Type('int|float|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public int|float|null $trialMonthlyRecurringRevenue = null; + /** * * @var int|float|null $committedMonthlyRecurringRevenue @@ -55,6 +64,15 @@ class MetricPeriod #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public int|float|null $committedMonthlyRecurringRevenue = null; + /** + * + * @var int|float|null $trialCommittedMonthlyRecurringRevenue + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('trial_committed_monthly_recurring_revenue')] + #[\Speakeasy\Serializer\Annotation\Type('int|float|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public int|float|null $trialCommittedMonthlyRecurringRevenue = null; + /** * * @var int|float|null $averageRevenuePerUser @@ -100,6 +118,60 @@ class MetricPeriod #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public int|float|null $churnRate = null; + /** + * + * @var int|float|null $seatsTotal + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('seats_total')] + #[\Speakeasy\Serializer\Annotation\Type('int|float|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public int|float|null $seatsTotal = null; + + /** + * + * @var int|float|null $seatsClaimed + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('seats_claimed')] + #[\Speakeasy\Serializer\Annotation\Type('int|float|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public int|float|null $seatsClaimed = null; + + /** + * + * @var int|float|null $seatsPending + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('seats_pending')] + #[\Speakeasy\Serializer\Annotation\Type('int|float|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public int|float|null $seatsPending = null; + + /** + * + * @var int|float|null $seatCustomers + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('seat_customers')] + #[\Speakeasy\Serializer\Annotation\Type('int|float|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public int|float|null $seatCustomers = null; + + /** + * + * @var int|float|null $newSeatCustomers + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('new_seat_customers')] + #[\Speakeasy\Serializer\Annotation\Type('int|float|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public int|float|null $newSeatCustomers = null; + + /** + * + * @var int|float|null $churnedSeatCustomers + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('churned_seat_customers')] + #[\Speakeasy\Serializer\Annotation\Type('int|float|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public int|float|null $churnedSeatCustomers = null; + /** * * @var int|float|null $orders @@ -361,6 +433,24 @@ class MetricPeriod #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public int|float|null $canceledSubscriptionsOther = null; + /** + * + * @var int|float|null $annualRecurringRevenue + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('annual_recurring_revenue')] + #[\Speakeasy\Serializer\Annotation\Type('int|float|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public int|float|null $annualRecurringRevenue = null; + + /** + * + * @var int|float|null $committedAnnualRecurringRevenue + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('committed_annual_recurring_revenue')] + #[\Speakeasy\Serializer\Annotation\Type('int|float|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public int|float|null $committedAnnualRecurringRevenue = null; + /** * * @var int|float|null $checkoutsConversion @@ -406,17 +496,43 @@ class MetricPeriod #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public int|float|null $cashflow = null; + /** + * + * @var int|float|null $averageSeatsPerCustomer + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('average_seats_per_customer')] + #[\Speakeasy\Serializer\Annotation\Type('int|float|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public int|float|null $averageSeatsPerCustomer = null; + + /** + * + * @var int|float|null $seatUtilizationRate + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('seat_utilization_rate')] + #[\Speakeasy\Serializer\Annotation\Type('int|float|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public int|float|null $seatUtilizationRate = null; + /** * @param \DateTime $timestamp * @param int|float|null $activeSubscriptions * @param int|float|null $committedSubscriptions * @param int|float|null $monthlyRecurringRevenue + * @param int|float|null $trialMonthlyRecurringRevenue * @param int|float|null $committedMonthlyRecurringRevenue + * @param int|float|null $trialCommittedMonthlyRecurringRevenue * @param int|float|null $averageRevenuePerUser * @param int|float|null $checkouts * @param int|float|null $succeededCheckouts * @param int|float|null $churnedSubscriptions * @param int|float|null $churnRate + * @param int|float|null $seatsTotal + * @param int|float|null $seatsClaimed + * @param int|float|null $seatsPending + * @param int|float|null $seatCustomers + * @param int|float|null $newSeatCustomers + * @param int|float|null $churnedSeatCustomers * @param int|float|null $orders * @param int|float|null $revenue * @param int|float|null $netRevenue @@ -446,25 +562,37 @@ class MetricPeriod * @param int|float|null $canceledSubscriptionsTooExpensive * @param int|float|null $canceledSubscriptionsUnused * @param int|float|null $canceledSubscriptionsOther + * @param int|float|null $annualRecurringRevenue + * @param int|float|null $committedAnnualRecurringRevenue * @param int|float|null $checkoutsConversion * @param int|float|null $ltv * @param int|float|null $grossMargin * @param int|float|null $grossMarginPercentage * @param int|float|null $cashflow + * @param int|float|null $averageSeatsPerCustomer + * @param int|float|null $seatUtilizationRate * @phpstan-pure */ - public function __construct(\DateTime $timestamp, int|float|null $activeSubscriptions = null, int|float|null $committedSubscriptions = null, int|float|null $monthlyRecurringRevenue = null, int|float|null $committedMonthlyRecurringRevenue = null, int|float|null $averageRevenuePerUser = null, int|float|null $checkouts = null, int|float|null $succeededCheckouts = null, int|float|null $churnedSubscriptions = null, int|float|null $churnRate = null, int|float|null $orders = null, int|float|null $revenue = null, int|float|null $netRevenue = null, int|float|null $cumulativeRevenue = null, int|float|null $netCumulativeRevenue = null, int|float|null $costs = null, int|float|null $cumulativeCosts = null, int|float|null $averageOrderValue = null, int|float|null $netAverageOrderValue = null, int|float|null $costPerUser = null, int|float|null $activeUserByEvent = null, int|float|null $oneTimeProducts = null, int|float|null $oneTimeProductsRevenue = null, int|float|null $oneTimeProductsNetRevenue = null, int|float|null $newSubscriptions = null, int|float|null $newSubscriptionsRevenue = null, int|float|null $newSubscriptionsNetRevenue = null, int|float|null $renewedSubscriptions = null, int|float|null $renewedSubscriptionsRevenue = null, int|float|null $renewedSubscriptionsNetRevenue = null, int|float|null $canceledSubscriptions = null, int|float|null $canceledSubscriptionsCustomerService = null, int|float|null $canceledSubscriptionsLowQuality = null, int|float|null $canceledSubscriptionsMissingFeatures = null, int|float|null $canceledSubscriptionsSwitchedService = null, int|float|null $canceledSubscriptionsTooComplex = null, int|float|null $canceledSubscriptionsTooExpensive = null, int|float|null $canceledSubscriptionsUnused = null, int|float|null $canceledSubscriptionsOther = null, int|float|null $checkoutsConversion = null, int|float|null $ltv = null, int|float|null $grossMargin = null, int|float|null $grossMarginPercentage = null, int|float|null $cashflow = null) + public function __construct(\DateTime $timestamp, int|float|null $activeSubscriptions = null, int|float|null $committedSubscriptions = null, int|float|null $monthlyRecurringRevenue = null, int|float|null $trialMonthlyRecurringRevenue = null, int|float|null $committedMonthlyRecurringRevenue = null, int|float|null $trialCommittedMonthlyRecurringRevenue = null, int|float|null $averageRevenuePerUser = null, int|float|null $checkouts = null, int|float|null $succeededCheckouts = null, int|float|null $churnedSubscriptions = null, int|float|null $churnRate = null, int|float|null $seatsTotal = null, int|float|null $seatsClaimed = null, int|float|null $seatsPending = null, int|float|null $seatCustomers = null, int|float|null $newSeatCustomers = null, int|float|null $churnedSeatCustomers = null, int|float|null $orders = null, int|float|null $revenue = null, int|float|null $netRevenue = null, int|float|null $cumulativeRevenue = null, int|float|null $netCumulativeRevenue = null, int|float|null $costs = null, int|float|null $cumulativeCosts = null, int|float|null $averageOrderValue = null, int|float|null $netAverageOrderValue = null, int|float|null $costPerUser = null, int|float|null $activeUserByEvent = null, int|float|null $oneTimeProducts = null, int|float|null $oneTimeProductsRevenue = null, int|float|null $oneTimeProductsNetRevenue = null, int|float|null $newSubscriptions = null, int|float|null $newSubscriptionsRevenue = null, int|float|null $newSubscriptionsNetRevenue = null, int|float|null $renewedSubscriptions = null, int|float|null $renewedSubscriptionsRevenue = null, int|float|null $renewedSubscriptionsNetRevenue = null, int|float|null $canceledSubscriptions = null, int|float|null $canceledSubscriptionsCustomerService = null, int|float|null $canceledSubscriptionsLowQuality = null, int|float|null $canceledSubscriptionsMissingFeatures = null, int|float|null $canceledSubscriptionsSwitchedService = null, int|float|null $canceledSubscriptionsTooComplex = null, int|float|null $canceledSubscriptionsTooExpensive = null, int|float|null $canceledSubscriptionsUnused = null, int|float|null $canceledSubscriptionsOther = null, int|float|null $annualRecurringRevenue = null, int|float|null $committedAnnualRecurringRevenue = null, int|float|null $checkoutsConversion = null, int|float|null $ltv = null, int|float|null $grossMargin = null, int|float|null $grossMarginPercentage = null, int|float|null $cashflow = null, int|float|null $averageSeatsPerCustomer = null, int|float|null $seatUtilizationRate = null) { $this->timestamp = $timestamp; $this->activeSubscriptions = $activeSubscriptions; $this->committedSubscriptions = $committedSubscriptions; $this->monthlyRecurringRevenue = $monthlyRecurringRevenue; + $this->trialMonthlyRecurringRevenue = $trialMonthlyRecurringRevenue; $this->committedMonthlyRecurringRevenue = $committedMonthlyRecurringRevenue; + $this->trialCommittedMonthlyRecurringRevenue = $trialCommittedMonthlyRecurringRevenue; $this->averageRevenuePerUser = $averageRevenuePerUser; $this->checkouts = $checkouts; $this->succeededCheckouts = $succeededCheckouts; $this->churnedSubscriptions = $churnedSubscriptions; $this->churnRate = $churnRate; + $this->seatsTotal = $seatsTotal; + $this->seatsClaimed = $seatsClaimed; + $this->seatsPending = $seatsPending; + $this->seatCustomers = $seatCustomers; + $this->newSeatCustomers = $newSeatCustomers; + $this->churnedSeatCustomers = $churnedSeatCustomers; $this->orders = $orders; $this->revenue = $revenue; $this->netRevenue = $netRevenue; @@ -494,10 +622,14 @@ public function __construct(\DateTime $timestamp, int|float|null $activeSubscrip $this->canceledSubscriptionsTooExpensive = $canceledSubscriptionsTooExpensive; $this->canceledSubscriptionsUnused = $canceledSubscriptionsUnused; $this->canceledSubscriptionsOther = $canceledSubscriptionsOther; + $this->annualRecurringRevenue = $annualRecurringRevenue; + $this->committedAnnualRecurringRevenue = $committedAnnualRecurringRevenue; $this->checkoutsConversion = $checkoutsConversion; $this->ltv = $ltv; $this->grossMargin = $grossMargin; $this->grossMarginPercentage = $grossMarginPercentage; $this->cashflow = $cashflow; + $this->averageSeatsPerCustomer = $averageSeatsPerCustomer; + $this->seatUtilizationRate = $seatUtilizationRate; } } \ No newline at end of file diff --git a/src/Models/Components/Metrics.php b/src/Models/Components/Metrics.php index 478a4ddf..47abd588 100644 --- a/src/Models/Components/Metrics.php +++ b/src/Models/Components/Metrics.php @@ -38,6 +38,15 @@ class Metrics #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public ?Metric $monthlyRecurringRevenue = null; + /** + * + * @var ?\Polar\Models\Components\Metric $trialMonthlyRecurringRevenue + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('trial_monthly_recurring_revenue')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\Metric|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?Metric $trialMonthlyRecurringRevenue = null; + /** * * @var ?\Polar\Models\Components\Metric $committedMonthlyRecurringRevenue @@ -47,6 +56,15 @@ class Metrics #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public ?Metric $committedMonthlyRecurringRevenue = null; + /** + * + * @var ?\Polar\Models\Components\Metric $trialCommittedMonthlyRecurringRevenue + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('trial_committed_monthly_recurring_revenue')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\Metric|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?Metric $trialCommittedMonthlyRecurringRevenue = null; + /** * * @var ?\Polar\Models\Components\Metric $averageRevenuePerUser @@ -92,6 +110,60 @@ class Metrics #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public ?Metric $churnRate = null; + /** + * + * @var ?\Polar\Models\Components\Metric $seatsTotal + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('seats_total')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\Metric|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?Metric $seatsTotal = null; + + /** + * + * @var ?\Polar\Models\Components\Metric $seatsClaimed + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('seats_claimed')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\Metric|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?Metric $seatsClaimed = null; + + /** + * + * @var ?\Polar\Models\Components\Metric $seatsPending + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('seats_pending')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\Metric|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?Metric $seatsPending = null; + + /** + * + * @var ?\Polar\Models\Components\Metric $seatCustomers + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('seat_customers')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\Metric|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?Metric $seatCustomers = null; + + /** + * + * @var ?\Polar\Models\Components\Metric $newSeatCustomers + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('new_seat_customers')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\Metric|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?Metric $newSeatCustomers = null; + + /** + * + * @var ?\Polar\Models\Components\Metric $churnedSeatCustomers + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('churned_seat_customers')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\Metric|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?Metric $churnedSeatCustomers = null; + /** * * @var ?\Polar\Models\Components\Metric $orders @@ -353,6 +425,24 @@ class Metrics #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public ?Metric $canceledSubscriptionsOther = null; + /** + * + * @var ?\Polar\Models\Components\Metric $annualRecurringRevenue + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('annual_recurring_revenue')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\Metric|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?Metric $annualRecurringRevenue = null; + + /** + * + * @var ?\Polar\Models\Components\Metric $committedAnnualRecurringRevenue + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('committed_annual_recurring_revenue')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\Metric|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?Metric $committedAnnualRecurringRevenue = null; + /** * * @var ?\Polar\Models\Components\Metric $checkoutsConversion @@ -398,16 +488,42 @@ class Metrics #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public ?Metric $cashflow = null; + /** + * + * @var ?\Polar\Models\Components\Metric $averageSeatsPerCustomer + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('average_seats_per_customer')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\Metric|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?Metric $averageSeatsPerCustomer = null; + + /** + * + * @var ?\Polar\Models\Components\Metric $seatUtilizationRate + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('seat_utilization_rate')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\Metric|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?Metric $seatUtilizationRate = null; + /** * @param ?\Polar\Models\Components\Metric $activeSubscriptions * @param ?\Polar\Models\Components\Metric $committedSubscriptions * @param ?\Polar\Models\Components\Metric $monthlyRecurringRevenue + * @param ?\Polar\Models\Components\Metric $trialMonthlyRecurringRevenue * @param ?\Polar\Models\Components\Metric $committedMonthlyRecurringRevenue + * @param ?\Polar\Models\Components\Metric $trialCommittedMonthlyRecurringRevenue * @param ?\Polar\Models\Components\Metric $averageRevenuePerUser * @param ?\Polar\Models\Components\Metric $checkouts * @param ?\Polar\Models\Components\Metric $succeededCheckouts * @param ?\Polar\Models\Components\Metric $churnedSubscriptions * @param ?\Polar\Models\Components\Metric $churnRate + * @param ?\Polar\Models\Components\Metric $seatsTotal + * @param ?\Polar\Models\Components\Metric $seatsClaimed + * @param ?\Polar\Models\Components\Metric $seatsPending + * @param ?\Polar\Models\Components\Metric $seatCustomers + * @param ?\Polar\Models\Components\Metric $newSeatCustomers + * @param ?\Polar\Models\Components\Metric $churnedSeatCustomers * @param ?\Polar\Models\Components\Metric $orders * @param ?\Polar\Models\Components\Metric $revenue * @param ?\Polar\Models\Components\Metric $netRevenue @@ -437,24 +553,36 @@ class Metrics * @param ?\Polar\Models\Components\Metric $canceledSubscriptionsTooExpensive * @param ?\Polar\Models\Components\Metric $canceledSubscriptionsUnused * @param ?\Polar\Models\Components\Metric $canceledSubscriptionsOther + * @param ?\Polar\Models\Components\Metric $annualRecurringRevenue + * @param ?\Polar\Models\Components\Metric $committedAnnualRecurringRevenue * @param ?\Polar\Models\Components\Metric $checkoutsConversion * @param ?\Polar\Models\Components\Metric $ltv * @param ?\Polar\Models\Components\Metric $grossMargin * @param ?\Polar\Models\Components\Metric $grossMarginPercentage * @param ?\Polar\Models\Components\Metric $cashflow + * @param ?\Polar\Models\Components\Metric $averageSeatsPerCustomer + * @param ?\Polar\Models\Components\Metric $seatUtilizationRate * @phpstan-pure */ - public function __construct(?Metric $activeSubscriptions = null, ?Metric $committedSubscriptions = null, ?Metric $monthlyRecurringRevenue = null, ?Metric $committedMonthlyRecurringRevenue = null, ?Metric $averageRevenuePerUser = null, ?Metric $checkouts = null, ?Metric $succeededCheckouts = null, ?Metric $churnedSubscriptions = null, ?Metric $churnRate = null, ?Metric $orders = null, ?Metric $revenue = null, ?Metric $netRevenue = null, ?Metric $cumulativeRevenue = null, ?Metric $netCumulativeRevenue = null, ?Metric $costs = null, ?Metric $cumulativeCosts = null, ?Metric $averageOrderValue = null, ?Metric $netAverageOrderValue = null, ?Metric $costPerUser = null, ?Metric $activeUserByEvent = null, ?Metric $oneTimeProducts = null, ?Metric $oneTimeProductsRevenue = null, ?Metric $oneTimeProductsNetRevenue = null, ?Metric $newSubscriptions = null, ?Metric $newSubscriptionsRevenue = null, ?Metric $newSubscriptionsNetRevenue = null, ?Metric $renewedSubscriptions = null, ?Metric $renewedSubscriptionsRevenue = null, ?Metric $renewedSubscriptionsNetRevenue = null, ?Metric $canceledSubscriptions = null, ?Metric $canceledSubscriptionsCustomerService = null, ?Metric $canceledSubscriptionsLowQuality = null, ?Metric $canceledSubscriptionsMissingFeatures = null, ?Metric $canceledSubscriptionsSwitchedService = null, ?Metric $canceledSubscriptionsTooComplex = null, ?Metric $canceledSubscriptionsTooExpensive = null, ?Metric $canceledSubscriptionsUnused = null, ?Metric $canceledSubscriptionsOther = null, ?Metric $checkoutsConversion = null, ?Metric $ltv = null, ?Metric $grossMargin = null, ?Metric $grossMarginPercentage = null, ?Metric $cashflow = null) + public function __construct(?Metric $activeSubscriptions = null, ?Metric $committedSubscriptions = null, ?Metric $monthlyRecurringRevenue = null, ?Metric $trialMonthlyRecurringRevenue = null, ?Metric $committedMonthlyRecurringRevenue = null, ?Metric $trialCommittedMonthlyRecurringRevenue = null, ?Metric $averageRevenuePerUser = null, ?Metric $checkouts = null, ?Metric $succeededCheckouts = null, ?Metric $churnedSubscriptions = null, ?Metric $churnRate = null, ?Metric $seatsTotal = null, ?Metric $seatsClaimed = null, ?Metric $seatsPending = null, ?Metric $seatCustomers = null, ?Metric $newSeatCustomers = null, ?Metric $churnedSeatCustomers = null, ?Metric $orders = null, ?Metric $revenue = null, ?Metric $netRevenue = null, ?Metric $cumulativeRevenue = null, ?Metric $netCumulativeRevenue = null, ?Metric $costs = null, ?Metric $cumulativeCosts = null, ?Metric $averageOrderValue = null, ?Metric $netAverageOrderValue = null, ?Metric $costPerUser = null, ?Metric $activeUserByEvent = null, ?Metric $oneTimeProducts = null, ?Metric $oneTimeProductsRevenue = null, ?Metric $oneTimeProductsNetRevenue = null, ?Metric $newSubscriptions = null, ?Metric $newSubscriptionsRevenue = null, ?Metric $newSubscriptionsNetRevenue = null, ?Metric $renewedSubscriptions = null, ?Metric $renewedSubscriptionsRevenue = null, ?Metric $renewedSubscriptionsNetRevenue = null, ?Metric $canceledSubscriptions = null, ?Metric $canceledSubscriptionsCustomerService = null, ?Metric $canceledSubscriptionsLowQuality = null, ?Metric $canceledSubscriptionsMissingFeatures = null, ?Metric $canceledSubscriptionsSwitchedService = null, ?Metric $canceledSubscriptionsTooComplex = null, ?Metric $canceledSubscriptionsTooExpensive = null, ?Metric $canceledSubscriptionsUnused = null, ?Metric $canceledSubscriptionsOther = null, ?Metric $annualRecurringRevenue = null, ?Metric $committedAnnualRecurringRevenue = null, ?Metric $checkoutsConversion = null, ?Metric $ltv = null, ?Metric $grossMargin = null, ?Metric $grossMarginPercentage = null, ?Metric $cashflow = null, ?Metric $averageSeatsPerCustomer = null, ?Metric $seatUtilizationRate = null) { $this->activeSubscriptions = $activeSubscriptions; $this->committedSubscriptions = $committedSubscriptions; $this->monthlyRecurringRevenue = $monthlyRecurringRevenue; + $this->trialMonthlyRecurringRevenue = $trialMonthlyRecurringRevenue; $this->committedMonthlyRecurringRevenue = $committedMonthlyRecurringRevenue; + $this->trialCommittedMonthlyRecurringRevenue = $trialCommittedMonthlyRecurringRevenue; $this->averageRevenuePerUser = $averageRevenuePerUser; $this->checkouts = $checkouts; $this->succeededCheckouts = $succeededCheckouts; $this->churnedSubscriptions = $churnedSubscriptions; $this->churnRate = $churnRate; + $this->seatsTotal = $seatsTotal; + $this->seatsClaimed = $seatsClaimed; + $this->seatsPending = $seatsPending; + $this->seatCustomers = $seatCustomers; + $this->newSeatCustomers = $newSeatCustomers; + $this->churnedSeatCustomers = $churnedSeatCustomers; $this->orders = $orders; $this->revenue = $revenue; $this->netRevenue = $netRevenue; @@ -484,10 +612,14 @@ public function __construct(?Metric $activeSubscriptions = null, ?Metric $commit $this->canceledSubscriptionsTooExpensive = $canceledSubscriptionsTooExpensive; $this->canceledSubscriptionsUnused = $canceledSubscriptionsUnused; $this->canceledSubscriptionsOther = $canceledSubscriptionsOther; + $this->annualRecurringRevenue = $annualRecurringRevenue; + $this->committedAnnualRecurringRevenue = $committedAnnualRecurringRevenue; $this->checkoutsConversion = $checkoutsConversion; $this->ltv = $ltv; $this->grossMargin = $grossMargin; $this->grossMarginPercentage = $grossMarginPercentage; $this->cashflow = $cashflow; + $this->averageSeatsPerCustomer = $averageSeatsPerCustomer; + $this->seatUtilizationRate = $seatUtilizationRate; } } \ No newline at end of file diff --git a/src/Models/Components/MetricsTotals.php b/src/Models/Components/MetricsTotals.php index 64b6f9f1..ab45eca2 100644 --- a/src/Models/Components/MetricsTotals.php +++ b/src/Models/Components/MetricsTotals.php @@ -38,6 +38,15 @@ class MetricsTotals #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public int|float|null $monthlyRecurringRevenue = null; + /** + * + * @var int|float|null $trialMonthlyRecurringRevenue + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('trial_monthly_recurring_revenue')] + #[\Speakeasy\Serializer\Annotation\Type('int|float|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public int|float|null $trialMonthlyRecurringRevenue = null; + /** * * @var int|float|null $committedMonthlyRecurringRevenue @@ -47,6 +56,15 @@ class MetricsTotals #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public int|float|null $committedMonthlyRecurringRevenue = null; + /** + * + * @var int|float|null $trialCommittedMonthlyRecurringRevenue + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('trial_committed_monthly_recurring_revenue')] + #[\Speakeasy\Serializer\Annotation\Type('int|float|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public int|float|null $trialCommittedMonthlyRecurringRevenue = null; + /** * * @var int|float|null $averageRevenuePerUser @@ -92,6 +110,60 @@ class MetricsTotals #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public int|float|null $churnRate = null; + /** + * + * @var int|float|null $seatsTotal + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('seats_total')] + #[\Speakeasy\Serializer\Annotation\Type('int|float|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public int|float|null $seatsTotal = null; + + /** + * + * @var int|float|null $seatsClaimed + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('seats_claimed')] + #[\Speakeasy\Serializer\Annotation\Type('int|float|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public int|float|null $seatsClaimed = null; + + /** + * + * @var int|float|null $seatsPending + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('seats_pending')] + #[\Speakeasy\Serializer\Annotation\Type('int|float|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public int|float|null $seatsPending = null; + + /** + * + * @var int|float|null $seatCustomers + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('seat_customers')] + #[\Speakeasy\Serializer\Annotation\Type('int|float|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public int|float|null $seatCustomers = null; + + /** + * + * @var int|float|null $newSeatCustomers + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('new_seat_customers')] + #[\Speakeasy\Serializer\Annotation\Type('int|float|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public int|float|null $newSeatCustomers = null; + + /** + * + * @var int|float|null $churnedSeatCustomers + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('churned_seat_customers')] + #[\Speakeasy\Serializer\Annotation\Type('int|float|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public int|float|null $churnedSeatCustomers = null; + /** * * @var int|float|null $orders @@ -353,6 +425,24 @@ class MetricsTotals #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public int|float|null $canceledSubscriptionsOther = null; + /** + * + * @var int|float|null $annualRecurringRevenue + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('annual_recurring_revenue')] + #[\Speakeasy\Serializer\Annotation\Type('int|float|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public int|float|null $annualRecurringRevenue = null; + + /** + * + * @var int|float|null $committedAnnualRecurringRevenue + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('committed_annual_recurring_revenue')] + #[\Speakeasy\Serializer\Annotation\Type('int|float|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public int|float|null $committedAnnualRecurringRevenue = null; + /** * * @var int|float|null $checkoutsConversion @@ -398,16 +488,42 @@ class MetricsTotals #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public int|float|null $cashflow = null; + /** + * + * @var int|float|null $averageSeatsPerCustomer + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('average_seats_per_customer')] + #[\Speakeasy\Serializer\Annotation\Type('int|float|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public int|float|null $averageSeatsPerCustomer = null; + + /** + * + * @var int|float|null $seatUtilizationRate + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('seat_utilization_rate')] + #[\Speakeasy\Serializer\Annotation\Type('int|float|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public int|float|null $seatUtilizationRate = null; + /** * @param int|float|null $activeSubscriptions * @param int|float|null $committedSubscriptions * @param int|float|null $monthlyRecurringRevenue + * @param int|float|null $trialMonthlyRecurringRevenue * @param int|float|null $committedMonthlyRecurringRevenue + * @param int|float|null $trialCommittedMonthlyRecurringRevenue * @param int|float|null $averageRevenuePerUser * @param int|float|null $checkouts * @param int|float|null $succeededCheckouts * @param int|float|null $churnedSubscriptions * @param int|float|null $churnRate + * @param int|float|null $seatsTotal + * @param int|float|null $seatsClaimed + * @param int|float|null $seatsPending + * @param int|float|null $seatCustomers + * @param int|float|null $newSeatCustomers + * @param int|float|null $churnedSeatCustomers * @param int|float|null $orders * @param int|float|null $revenue * @param int|float|null $netRevenue @@ -437,24 +553,36 @@ class MetricsTotals * @param int|float|null $canceledSubscriptionsTooExpensive * @param int|float|null $canceledSubscriptionsUnused * @param int|float|null $canceledSubscriptionsOther + * @param int|float|null $annualRecurringRevenue + * @param int|float|null $committedAnnualRecurringRevenue * @param int|float|null $checkoutsConversion * @param int|float|null $ltv * @param int|float|null $grossMargin * @param int|float|null $grossMarginPercentage * @param int|float|null $cashflow + * @param int|float|null $averageSeatsPerCustomer + * @param int|float|null $seatUtilizationRate * @phpstan-pure */ - public function __construct(int|float|null $activeSubscriptions = null, int|float|null $committedSubscriptions = null, int|float|null $monthlyRecurringRevenue = null, int|float|null $committedMonthlyRecurringRevenue = null, int|float|null $averageRevenuePerUser = null, int|float|null $checkouts = null, int|float|null $succeededCheckouts = null, int|float|null $churnedSubscriptions = null, int|float|null $churnRate = null, int|float|null $orders = null, int|float|null $revenue = null, int|float|null $netRevenue = null, int|float|null $cumulativeRevenue = null, int|float|null $netCumulativeRevenue = null, int|float|null $costs = null, int|float|null $cumulativeCosts = null, int|float|null $averageOrderValue = null, int|float|null $netAverageOrderValue = null, int|float|null $costPerUser = null, int|float|null $activeUserByEvent = null, int|float|null $oneTimeProducts = null, int|float|null $oneTimeProductsRevenue = null, int|float|null $oneTimeProductsNetRevenue = null, int|float|null $newSubscriptions = null, int|float|null $newSubscriptionsRevenue = null, int|float|null $newSubscriptionsNetRevenue = null, int|float|null $renewedSubscriptions = null, int|float|null $renewedSubscriptionsRevenue = null, int|float|null $renewedSubscriptionsNetRevenue = null, int|float|null $canceledSubscriptions = null, int|float|null $canceledSubscriptionsCustomerService = null, int|float|null $canceledSubscriptionsLowQuality = null, int|float|null $canceledSubscriptionsMissingFeatures = null, int|float|null $canceledSubscriptionsSwitchedService = null, int|float|null $canceledSubscriptionsTooComplex = null, int|float|null $canceledSubscriptionsTooExpensive = null, int|float|null $canceledSubscriptionsUnused = null, int|float|null $canceledSubscriptionsOther = null, int|float|null $checkoutsConversion = null, int|float|null $ltv = null, int|float|null $grossMargin = null, int|float|null $grossMarginPercentage = null, int|float|null $cashflow = null) + public function __construct(int|float|null $activeSubscriptions = null, int|float|null $committedSubscriptions = null, int|float|null $monthlyRecurringRevenue = null, int|float|null $trialMonthlyRecurringRevenue = null, int|float|null $committedMonthlyRecurringRevenue = null, int|float|null $trialCommittedMonthlyRecurringRevenue = null, int|float|null $averageRevenuePerUser = null, int|float|null $checkouts = null, int|float|null $succeededCheckouts = null, int|float|null $churnedSubscriptions = null, int|float|null $churnRate = null, int|float|null $seatsTotal = null, int|float|null $seatsClaimed = null, int|float|null $seatsPending = null, int|float|null $seatCustomers = null, int|float|null $newSeatCustomers = null, int|float|null $churnedSeatCustomers = null, int|float|null $orders = null, int|float|null $revenue = null, int|float|null $netRevenue = null, int|float|null $cumulativeRevenue = null, int|float|null $netCumulativeRevenue = null, int|float|null $costs = null, int|float|null $cumulativeCosts = null, int|float|null $averageOrderValue = null, int|float|null $netAverageOrderValue = null, int|float|null $costPerUser = null, int|float|null $activeUserByEvent = null, int|float|null $oneTimeProducts = null, int|float|null $oneTimeProductsRevenue = null, int|float|null $oneTimeProductsNetRevenue = null, int|float|null $newSubscriptions = null, int|float|null $newSubscriptionsRevenue = null, int|float|null $newSubscriptionsNetRevenue = null, int|float|null $renewedSubscriptions = null, int|float|null $renewedSubscriptionsRevenue = null, int|float|null $renewedSubscriptionsNetRevenue = null, int|float|null $canceledSubscriptions = null, int|float|null $canceledSubscriptionsCustomerService = null, int|float|null $canceledSubscriptionsLowQuality = null, int|float|null $canceledSubscriptionsMissingFeatures = null, int|float|null $canceledSubscriptionsSwitchedService = null, int|float|null $canceledSubscriptionsTooComplex = null, int|float|null $canceledSubscriptionsTooExpensive = null, int|float|null $canceledSubscriptionsUnused = null, int|float|null $canceledSubscriptionsOther = null, int|float|null $annualRecurringRevenue = null, int|float|null $committedAnnualRecurringRevenue = null, int|float|null $checkoutsConversion = null, int|float|null $ltv = null, int|float|null $grossMargin = null, int|float|null $grossMarginPercentage = null, int|float|null $cashflow = null, int|float|null $averageSeatsPerCustomer = null, int|float|null $seatUtilizationRate = null) { $this->activeSubscriptions = $activeSubscriptions; $this->committedSubscriptions = $committedSubscriptions; $this->monthlyRecurringRevenue = $monthlyRecurringRevenue; + $this->trialMonthlyRecurringRevenue = $trialMonthlyRecurringRevenue; $this->committedMonthlyRecurringRevenue = $committedMonthlyRecurringRevenue; + $this->trialCommittedMonthlyRecurringRevenue = $trialCommittedMonthlyRecurringRevenue; $this->averageRevenuePerUser = $averageRevenuePerUser; $this->checkouts = $checkouts; $this->succeededCheckouts = $succeededCheckouts; $this->churnedSubscriptions = $churnedSubscriptions; $this->churnRate = $churnRate; + $this->seatsTotal = $seatsTotal; + $this->seatsClaimed = $seatsClaimed; + $this->seatsPending = $seatsPending; + $this->seatCustomers = $seatCustomers; + $this->newSeatCustomers = $newSeatCustomers; + $this->churnedSeatCustomers = $churnedSeatCustomers; $this->orders = $orders; $this->revenue = $revenue; $this->netRevenue = $netRevenue; @@ -484,10 +612,14 @@ public function __construct(int|float|null $activeSubscriptions = null, int|floa $this->canceledSubscriptionsTooExpensive = $canceledSubscriptionsTooExpensive; $this->canceledSubscriptionsUnused = $canceledSubscriptionsUnused; $this->canceledSubscriptionsOther = $canceledSubscriptionsOther; + $this->annualRecurringRevenue = $annualRecurringRevenue; + $this->committedAnnualRecurringRevenue = $committedAnnualRecurringRevenue; $this->checkoutsConversion = $checkoutsConversion; $this->ltv = $ltv; $this->grossMargin = $grossMargin; $this->grossMarginPercentage = $grossMarginPercentage; $this->cashflow = $cashflow; + $this->averageSeatsPerCustomer = $averageSeatsPerCustomer; + $this->seatUtilizationRate = $seatUtilizationRate; } } \ No newline at end of file diff --git a/src/Models/Components/OAuth2ClientConfiguration.php b/src/Models/Components/OAuth2ClientConfiguration.php index da71c649..32a199cb 100644 --- a/src/Models/Components/OAuth2ClientConfiguration.php +++ b/src/Models/Components/OAuth2ClientConfiguration.php @@ -119,7 +119,7 @@ class OAuth2ClientConfiguration * @param ?string $policyUri * @phpstan-pure */ - public function __construct(array $redirectUris, string $clientName, ?array $grantTypes = null, ?array $responseTypes = null, ?SubType $defaultSubType = null, ?string $clientUri = null, ?string $logoUri = null, ?string $tosUri = null, ?string $policyUri = null, ?TokenEndpointAuthMethod $tokenEndpointAuthMethod = TokenEndpointAuthMethod::ClientSecretPost, ?string $scope = 'openid profile email user:read user:write organizations:read organizations:write custom_fields:read custom_fields:write discounts:read discounts:write checkout_links:read checkout_links:write checkouts:read checkouts:write transactions:read transactions:write payouts:read payouts:write products:read products:write benefits:read benefits:write events:read events:write meters:read meters:write files:read files:write subscriptions:read subscriptions:write customers:read customers:write members:read members:write wallets:read wallets:write disputes:read customer_meters:read customer_sessions:write member_sessions:write customer_seats:read customer_seats:write orders:read orders:write refunds:read refunds:write payments:read metrics:read metrics:write webhooks:read webhooks:write license_keys:read license_keys:write customer_portal:read customer_portal:write notifications:read notifications:write notification_recipients:read notification_recipients:write organization_access_tokens:read organization_access_tokens:write') + public function __construct(array $redirectUris, string $clientName, ?array $grantTypes = null, ?array $responseTypes = null, ?SubType $defaultSubType = null, ?string $clientUri = null, ?string $logoUri = null, ?string $tosUri = null, ?string $policyUri = null, ?TokenEndpointAuthMethod $tokenEndpointAuthMethod = TokenEndpointAuthMethod::ClientSecretPost, ?string $scope = 'openid profile email user:read user:write organizations:read organizations:write custom_fields:read custom_fields:write discounts:read discounts:write checkout_links:read checkout_links:write checkouts:read checkouts:write transactions:read transactions:write payouts:read payouts:write products:read products:write benefits:read benefits:write events:read events:write meters:read meters:write files:read files:write subscriptions:read subscriptions:write customers:read customers:write members:read members:write wallets:read wallets:write disputes:read disputes:write customer_meters:read customer_sessions:write member_sessions:write customer_seats:read customer_seats:write orders:read orders:write refunds:read refunds:write payments:read metrics:read metrics:write webhooks:read webhooks:write license_keys:read license_keys:write customer_portal:read customer_portal:write notifications:read notifications:write notification_recipients:read notification_recipients:write') { $this->redirectUris = $redirectUris; $this->clientName = $clientName; diff --git a/src/Models/Components/OAuth2ClientConfigurationUpdate.php b/src/Models/Components/OAuth2ClientConfigurationUpdate.php index 13a9cd51..9e46e11a 100644 --- a/src/Models/Components/OAuth2ClientConfigurationUpdate.php +++ b/src/Models/Components/OAuth2ClientConfigurationUpdate.php @@ -127,7 +127,7 @@ class OAuth2ClientConfigurationUpdate * @param ?string $policyUri * @phpstan-pure */ - public function __construct(array $redirectUris, string $clientName, string $clientId, ?array $grantTypes = null, ?array $responseTypes = null, ?SubType $defaultSubType = null, ?string $clientUri = null, ?string $logoUri = null, ?string $tosUri = null, ?string $policyUri = null, ?OAuth2ClientConfigurationUpdateTokenEndpointAuthMethod $tokenEndpointAuthMethod = OAuth2ClientConfigurationUpdateTokenEndpointAuthMethod::ClientSecretPost, ?string $scope = 'openid profile email user:read user:write organizations:read organizations:write custom_fields:read custom_fields:write discounts:read discounts:write checkout_links:read checkout_links:write checkouts:read checkouts:write transactions:read transactions:write payouts:read payouts:write products:read products:write benefits:read benefits:write events:read events:write meters:read meters:write files:read files:write subscriptions:read subscriptions:write customers:read customers:write members:read members:write wallets:read wallets:write disputes:read customer_meters:read customer_sessions:write member_sessions:write customer_seats:read customer_seats:write orders:read orders:write refunds:read refunds:write payments:read metrics:read metrics:write webhooks:read webhooks:write license_keys:read license_keys:write customer_portal:read customer_portal:write notifications:read notifications:write notification_recipients:read notification_recipients:write organization_access_tokens:read organization_access_tokens:write') + public function __construct(array $redirectUris, string $clientName, string $clientId, ?array $grantTypes = null, ?array $responseTypes = null, ?SubType $defaultSubType = null, ?string $clientUri = null, ?string $logoUri = null, ?string $tosUri = null, ?string $policyUri = null, ?OAuth2ClientConfigurationUpdateTokenEndpointAuthMethod $tokenEndpointAuthMethod = OAuth2ClientConfigurationUpdateTokenEndpointAuthMethod::ClientSecretPost, ?string $scope = 'openid profile email user:read user:write organizations:read organizations:write custom_fields:read custom_fields:write discounts:read discounts:write checkout_links:read checkout_links:write checkouts:read checkouts:write transactions:read transactions:write payouts:read payouts:write products:read products:write benefits:read benefits:write events:read events:write meters:read meters:write files:read files:write subscriptions:read subscriptions:write customers:read customers:write members:read members:write wallets:read wallets:write disputes:read disputes:write customer_meters:read customer_sessions:write member_sessions:write customer_seats:read customer_seats:write orders:read orders:write refunds:read refunds:write payments:read metrics:read metrics:write webhooks:read webhooks:write license_keys:read license_keys:write customer_portal:read customer_portal:write notifications:read notifications:write notification_recipients:read notification_recipients:write') { $this->redirectUris = $redirectUris; $this->clientName = $clientName; diff --git a/src/Models/Components/Order.php b/src/Models/Components/Order.php index df3eb981..4c3f2d4c 100644 --- a/src/Models/Components/Order.php +++ b/src/Models/Components/Order.php @@ -130,14 +130,6 @@ class Order #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\OrderBillingReason')] public OrderBillingReason $billingReason; - /** - * The invoice number associated with this order. - * - * @var string $invoiceNumber - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('invoice_number')] - public string $invoiceNumber; - /** * Whether an invoice has been generated for this order. * @@ -195,6 +187,22 @@ class Order #[\Speakeasy\Serializer\Annotation\SerializedName('description')] public string $description; + /** + * Amount in cents that can still be refunded (net, before taxes). Accounts for any applied customer balance and previous refunds. + * + * @var int $refundableAmount + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('refundable_amount')] + public int $refundableAmount; + + /** + * Sales tax in cents that would be refunded if the full refundable amount is refunded. + * + * @var int $refundableTaxAmount + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('refundable_tax_amount')] + public int $refundableTaxAmount; + /** * Last modification timestamp of the object. * @@ -219,6 +227,22 @@ class Order #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\Address|null')] public ?Address $billingAddress; + /** + * The invoice number associated with this order. `null` while the order is in `draft` status; assigned at finalize. + * + * @var ?string $invoiceNumber + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('invoice_number')] + public ?string $invoiceNumber; + + /** + * The receipt number for this order. Set once the order is paid for organizations with receipts enabled. When set, a downloadable receipt PDF can be obtained via the receipt endpoint. + * + * @var ?string $receiptNumber + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('receipt_number')] + public ?string $receiptNumber; + /** * * @var ?string $productId @@ -298,6 +322,15 @@ class Order #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public ?int $seats = null; + /** + * When the next automatic payment retry is scheduled. `null` if the order is not in dunning or all retries have been exhausted. + * + * @var ?\DateTime $nextPaymentAttemptAt + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('next_payment_attempt_at')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?\DateTime $nextPaymentAttemptAt = null; + /** * @param string $id * @param \DateTime $createdAt @@ -314,7 +347,6 @@ class Order * @param int $refundedTaxAmount * @param string $currency * @param \Polar\Models\Components\OrderBillingReason $billingReason - * @param string $invoiceNumber * @param bool $isInvoiceGenerated * @param string $customerId * @param array $metadata @@ -322,9 +354,13 @@ class Order * @param \Polar\Models\Components\OrderCustomer $customer * @param array<\Polar\Models\Components\OrderItemSchema> $items * @param string $description + * @param int $refundableAmount + * @param int $refundableTaxAmount * @param ?\DateTime $modifiedAt * @param ?string $billingName * @param ?\Polar\Models\Components\Address $billingAddress + * @param ?string $invoiceNumber + * @param ?string $receiptNumber * @param ?string $productId * @param ?string $discountId * @param ?string $subscriptionId @@ -335,9 +371,10 @@ class Order * @param \Polar\Models\Components\DiscountFixedOnceForeverDurationBase|\Polar\Models\Components\DiscountFixedRepeatDurationBase|\Polar\Models\Components\DiscountPercentageOnceForeverDurationBase|\Polar\Models\Components\DiscountPercentageRepeatDurationBase|null $discount * @param ?\Polar\Models\Components\OrderSubscription $subscription * @param ?int $seats + * @param ?\DateTime $nextPaymentAttemptAt * @phpstan-pure */ - public function __construct(string $id, \DateTime $createdAt, OrderStatus $status, bool $paid, int $subtotalAmount, int $discountAmount, int $netAmount, int $taxAmount, int $totalAmount, int $appliedBalanceAmount, int $dueAmount, int $refundedAmount, int $refundedTaxAmount, string $currency, OrderBillingReason $billingReason, string $invoiceNumber, bool $isInvoiceGenerated, string $customerId, array $metadata, int $platformFeeAmount, OrderCustomer $customer, array $items, string $description, ?\DateTime $modifiedAt = null, ?string $billingName = null, ?Address $billingAddress = null, ?string $productId = null, ?string $discountId = null, ?string $subscriptionId = null, ?string $checkoutId = null, ?array $customFieldData = null, ?string $platformFeeCurrency = null, ?OrderProduct $product = null, DiscountFixedOnceForeverDurationBase|DiscountFixedRepeatDurationBase|DiscountPercentageOnceForeverDurationBase|DiscountPercentageRepeatDurationBase|null $discount = null, ?OrderSubscription $subscription = null, ?int $seats = null) + public function __construct(string $id, \DateTime $createdAt, OrderStatus $status, bool $paid, int $subtotalAmount, int $discountAmount, int $netAmount, int $taxAmount, int $totalAmount, int $appliedBalanceAmount, int $dueAmount, int $refundedAmount, int $refundedTaxAmount, string $currency, OrderBillingReason $billingReason, bool $isInvoiceGenerated, string $customerId, array $metadata, int $platformFeeAmount, OrderCustomer $customer, array $items, string $description, int $refundableAmount, int $refundableTaxAmount, ?\DateTime $modifiedAt = null, ?string $billingName = null, ?Address $billingAddress = null, ?string $invoiceNumber = null, ?string $receiptNumber = null, ?string $productId = null, ?string $discountId = null, ?string $subscriptionId = null, ?string $checkoutId = null, ?array $customFieldData = null, ?string $platformFeeCurrency = null, ?OrderProduct $product = null, DiscountFixedOnceForeverDurationBase|DiscountFixedRepeatDurationBase|DiscountPercentageOnceForeverDurationBase|DiscountPercentageRepeatDurationBase|null $discount = null, ?OrderSubscription $subscription = null, ?int $seats = null, ?\DateTime $nextPaymentAttemptAt = null) { $this->id = $id; $this->createdAt = $createdAt; @@ -354,7 +391,6 @@ public function __construct(string $id, \DateTime $createdAt, OrderStatus $statu $this->refundedTaxAmount = $refundedTaxAmount; $this->currency = $currency; $this->billingReason = $billingReason; - $this->invoiceNumber = $invoiceNumber; $this->isInvoiceGenerated = $isInvoiceGenerated; $this->customerId = $customerId; $this->metadata = $metadata; @@ -362,9 +398,13 @@ public function __construct(string $id, \DateTime $createdAt, OrderStatus $statu $this->customer = $customer; $this->items = $items; $this->description = $description; + $this->refundableAmount = $refundableAmount; + $this->refundableTaxAmount = $refundableTaxAmount; $this->modifiedAt = $modifiedAt; $this->billingName = $billingName; $this->billingAddress = $billingAddress; + $this->invoiceNumber = $invoiceNumber; + $this->receiptNumber = $receiptNumber; $this->productId = $productId; $this->discountId = $discountId; $this->subscriptionId = $subscriptionId; @@ -375,5 +415,6 @@ public function __construct(string $id, \DateTime $createdAt, OrderStatus $statu $this->discount = $discount; $this->subscription = $subscription; $this->seats = $seats; + $this->nextPaymentAttemptAt = $nextPaymentAttemptAt; } } \ No newline at end of file diff --git a/src/Models/Components/OrderCreate.php b/src/Models/Components/OrderCreate.php new file mode 100644 index 00000000..23c24f45 --- /dev/null +++ b/src/Models/Components/OrderCreate.php @@ -0,0 +1,120 @@ + $customFieldData + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('custom_field_data')] + #[\Speakeasy\Serializer\Annotation\Type('array|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?array $customFieldData = null; + + /** + * Key-value object allowing you to store additional information. + * + * + * The key must be a string with a maximum length of **40 characters**. + * The value must be either: + * + * * A string with a maximum length of **500 characters** + * * An integer + * * A floating-point number + * * A boolean + * + * You can store up to **50 key-value pairs**. + * + * @var ?array $metadata + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('metadata')] + #[\Speakeasy\Serializer\Annotation\Type('array|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?array $metadata = null; + + /** + * The ID of the organization the order belongs to. **Required unless you use an organization token.** The customer and product must belong to this organization. + * + * @var ?string $organizationId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('organization_id')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $organizationId = null; + + /** + * The currency to charge in (ISO 4217, lowercase, e.g. `usd`). Defaults to the organization's default currency; specify it to force a different one, or when the product isn't priced in the organization's default currency. + * + * @var ?string $currency + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('currency')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $currency = null; + + /** + * A custom amount to charge, in the smallest currency unit. Overrides the product's price; defaults to the product's configured price (0 for free products). A positive amount must be at least the currency's minimum. + * + * @var ?int $amount + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('amount')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?int $amount = null; + + /** + * A custom description for the order's line item, shown on the invoice and receipt (e.g. `5,000 tokens`). Defaults to the product name. + * + * @var ?string $description + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('description')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $description = null; + + /** + * @param string $customerId + * @param string $productId + * @param ?array $customFieldData + * @param ?array $metadata + * @param ?string $organizationId + * @param ?string $currency + * @param ?int $amount + * @param ?string $description + * @phpstan-pure + */ + public function __construct(string $customerId, string $productId, ?array $customFieldData = null, ?array $metadata = null, ?string $organizationId = null, ?string $currency = null, ?int $amount = null, ?string $description = null) + { + $this->customerId = $customerId; + $this->productId = $productId; + $this->customFieldData = $customFieldData; + $this->metadata = $metadata; + $this->organizationId = $organizationId; + $this->currency = $currency; + $this->amount = $amount; + $this->description = $description; + } +} \ No newline at end of file diff --git a/src/Models/Components/OrderCustomer.php b/src/Models/Components/OrderCustomer.php index cb65958d..32dd4b80 100644 --- a/src/Models/Components/OrderCustomer.php +++ b/src/Models/Components/OrderCustomer.php @@ -60,13 +60,6 @@ class OrderCustomer #[\Speakeasy\Serializer\Annotation\SerializedName('organization_id')] public string $organizationId; - /** - * - * @var string $avatarUrl - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('avatar_url')] - public string $avatarUrl; - /** * Last modification timestamp of the object. * @@ -83,6 +76,14 @@ class OrderCustomer #[\Speakeasy\Serializer\Annotation\SerializedName('name')] public ?string $name; + /** + * The name that should appear on the customer's invoices. Falls back to the customer name when not explicitly set. + * + * @var ?string $billingName + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('billing_name')] + public ?string $billingName; + /** * * @var ?\Polar\Models\Components\Address $billingAddress @@ -108,6 +109,13 @@ class OrderCustomer #[\Speakeasy\Serializer\Annotation\SerializedName('deleted_at')] public ?\DateTime $deletedAt; + /** + * + * @var ?string $avatarUrl + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('avatar_url')] + public ?string $avatarUrl; + /** * The ID of the customer in your system. This must be unique within the organization. Once set, it can't be updated. * @@ -134,6 +142,15 @@ class OrderCustomer #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public ?string $locale = null; + /** + * The ID of the customer's default payment method, if any. Use the payment methods endpoint to retrieve its details. + * + * @var ?string $defaultPaymentMethodId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('default_payment_method_id')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $defaultPaymentMethodId = null; + /** * @param string $id * @param \DateTime $createdAt @@ -141,18 +158,20 @@ class OrderCustomer * @param bool $emailVerified * @param \Polar\Models\Components\CustomerType $type * @param string $organizationId - * @param string $avatarUrl * @param ?\DateTime $modifiedAt * @param ?string $name + * @param ?string $billingName * @param ?\Polar\Models\Components\Address $billingAddress * @param ?array $taxId * @param ?\DateTime $deletedAt + * @param ?string $avatarUrl * @param ?string $externalId * @param ?string $email * @param ?string $locale + * @param ?string $defaultPaymentMethodId * @phpstan-pure */ - public function __construct(string $id, \DateTime $createdAt, array $metadata, bool $emailVerified, CustomerType $type, string $organizationId, string $avatarUrl, ?\DateTime $modifiedAt = null, ?string $name = null, ?Address $billingAddress = null, ?array $taxId = null, ?\DateTime $deletedAt = null, ?string $externalId = null, ?string $email = null, ?string $locale = null) + public function __construct(string $id, \DateTime $createdAt, array $metadata, bool $emailVerified, CustomerType $type, string $organizationId, ?\DateTime $modifiedAt = null, ?string $name = null, ?string $billingName = null, ?Address $billingAddress = null, ?array $taxId = null, ?\DateTime $deletedAt = null, ?string $avatarUrl = null, ?string $externalId = null, ?string $email = null, ?string $locale = null, ?string $defaultPaymentMethodId = null) { $this->id = $id; $this->createdAt = $createdAt; @@ -160,14 +179,16 @@ public function __construct(string $id, \DateTime $createdAt, array $metadata, b $this->emailVerified = $emailVerified; $this->type = $type; $this->organizationId = $organizationId; - $this->avatarUrl = $avatarUrl; $this->modifiedAt = $modifiedAt; $this->name = $name; + $this->billingName = $billingName; $this->billingAddress = $billingAddress; $this->taxId = $taxId; $this->deletedAt = $deletedAt; + $this->avatarUrl = $avatarUrl; $this->externalId = $externalId; $this->email = $email; $this->locale = $locale; + $this->defaultPaymentMethodId = $defaultPaymentMethodId; } } \ No newline at end of file diff --git a/src/Models/Components/OrderFinalize.php b/src/Models/Components/OrderFinalize.php new file mode 100644 index 00000000..1d62896c --- /dev/null +++ b/src/Models/Components/OrderFinalize.php @@ -0,0 +1,32 @@ +paymentMethodId = $paymentMethodId; + } +} \ No newline at end of file diff --git a/src/Models/Components/OrderProduct.php b/src/Models/Components/OrderProduct.php index 266227a5..4bb82572 100644 --- a/src/Models/Components/OrderProduct.php +++ b/src/Models/Components/OrderProduct.php @@ -112,11 +112,11 @@ class OrderProduct /** * The recurring interval of the product. If `None`, the product is a one-time purchase. * - * @var ?\Polar\Models\Components\SubscriptionRecurringInterval $recurringInterval + * @var ?\Polar\Models\Components\RecurringInterval $recurringInterval */ #[\Speakeasy\Serializer\Annotation\SerializedName('recurring_interval')] - #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\SubscriptionRecurringInterval|null')] - public ?SubscriptionRecurringInterval $recurringInterval; + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\RecurringInterval|null')] + public ?RecurringInterval $recurringInterval; /** * Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. None for one-time products. @@ -126,6 +126,23 @@ class OrderProduct #[\Speakeasy\Serializer\Annotation\SerializedName('recurring_interval_count')] public ?int $recurringIntervalCount; + /** + * The meter cycle of the product, independent of the billing interval. If `None`, metered concerns follow the billing interval. + * + * @var ?\Polar\Models\Components\RecurringInterval $meterInterval + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('meter_interval')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\RecurringInterval|null')] + public ?RecurringInterval $meterInterval; + + /** + * Number of meter interval units. None when no meter cycle is set. + * + * @var ?int $meterIntervalCount + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('meter_interval_count')] + public ?int $meterIntervalCount; + /** * @param array $metadata * @param string $id @@ -139,11 +156,13 @@ class OrderProduct * @param ?\Polar\Models\Components\TrialInterval $trialInterval * @param ?int $trialIntervalCount * @param ?string $description - * @param ?\Polar\Models\Components\SubscriptionRecurringInterval $recurringInterval + * @param ?\Polar\Models\Components\RecurringInterval $recurringInterval * @param ?int $recurringIntervalCount + * @param ?\Polar\Models\Components\RecurringInterval $meterInterval + * @param ?int $meterIntervalCount * @phpstan-pure */ - public function __construct(array $metadata, string $id, \DateTime $createdAt, string $name, ProductVisibility $visibility, bool $isRecurring, bool $isArchived, string $organizationId, ?\DateTime $modifiedAt = null, ?TrialInterval $trialInterval = null, ?int $trialIntervalCount = null, ?string $description = null, ?SubscriptionRecurringInterval $recurringInterval = null, ?int $recurringIntervalCount = null) + public function __construct(array $metadata, string $id, \DateTime $createdAt, string $name, ProductVisibility $visibility, bool $isRecurring, bool $isArchived, string $organizationId, ?\DateTime $modifiedAt = null, ?TrialInterval $trialInterval = null, ?int $trialIntervalCount = null, ?string $description = null, ?RecurringInterval $recurringInterval = null, ?int $recurringIntervalCount = null, ?RecurringInterval $meterInterval = null, ?int $meterIntervalCount = null) { $this->metadata = $metadata; $this->id = $id; @@ -159,5 +178,7 @@ public function __construct(array $metadata, string $id, \DateTime $createdAt, s $this->description = $description; $this->recurringInterval = $recurringInterval; $this->recurringIntervalCount = $recurringIntervalCount; + $this->meterInterval = $meterInterval; + $this->meterIntervalCount = $meterIntervalCount; } } \ No newline at end of file diff --git a/src/Models/Components/OrderReceipt.php b/src/Models/Components/OrderReceipt.php new file mode 100644 index 00000000..89a37c05 --- /dev/null +++ b/src/Models/Components/OrderReceipt.php @@ -0,0 +1,31 @@ +url = $url; + } +} \ No newline at end of file diff --git a/src/Models/Components/OrderStatus.php b/src/Models/Components/OrderStatus.php index 2fc4d4dd..cfdce38c 100644 --- a/src/Models/Components/OrderStatus.php +++ b/src/Models/Components/OrderStatus.php @@ -11,6 +11,7 @@ enum OrderStatus: string { + case Draft = 'draft'; case Pending = 'pending'; case Paid = 'paid'; case Refunded = 'refunded'; diff --git a/src/Models/Components/OrderSubscription.php b/src/Models/Components/OrderSubscription.php index 163db357..9e52dc53 100644 --- a/src/Models/Components/OrderSubscription.php +++ b/src/Models/Components/OrderSubscription.php @@ -54,11 +54,11 @@ class OrderSubscription /** * - * @var \Polar\Models\Components\SubscriptionRecurringInterval $recurringInterval + * @var \Polar\Models\Components\RecurringInterval $recurringInterval */ #[\Speakeasy\Serializer\Annotation\SerializedName('recurring_interval')] - #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\SubscriptionRecurringInterval')] - public SubscriptionRecurringInterval $recurringInterval; + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\RecurringInterval')] + public RecurringInterval $recurringInterval; /** * Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. @@ -100,6 +100,14 @@ class OrderSubscription #[\Speakeasy\Serializer\Annotation\SerializedName('cancel_at_period_end')] public bool $cancelAtPeriodEnd; + /** + * Whether the subscription will be paused at the end of the current period. + * + * @var bool $pauseAtPeriodEnd + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('pause_at_period_end')] + public bool $pauseAtPeriodEnd; + /** * The ID of the subscribed customer. * @@ -124,6 +132,22 @@ class OrderSubscription #[\Speakeasy\Serializer\Annotation\SerializedName('modified_at')] public ?\DateTime $modifiedAt; + /** + * The start timestamp of the current meter period, if the product has a meter cycle set. Metered credits are granted and overage is settled on this cadence. + * + * @var ?\DateTime $currentMeterPeriodStart + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('current_meter_period_start')] + public ?\DateTime $currentMeterPeriodStart; + + /** + * The end timestamp of the current meter period, if the product has a meter cycle set. This is when credits next renew. + * + * @var ?\DateTime $currentMeterPeriodEnd + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('current_meter_period_end')] + public ?\DateTime $currentMeterPeriodEnd; + /** * The start timestamp of the trial period, if any. * @@ -172,6 +196,22 @@ class OrderSubscription #[\Speakeasy\Serializer\Annotation\SerializedName('ended_at')] public ?\DateTime $endedAt; + /** + * The timestamp when the subscription was paused. + * + * @var ?\DateTime $pausedAt + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('paused_at')] + public ?\DateTime $pausedAt; + + /** + * The timestamp when a paused subscription is scheduled to automatically resume, if set. + * + * @var ?\DateTime $resumesAt + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('resumes_at')] + public ?\DateTime $resumesAt; + /** * The ID of the applied discount, if any. * @@ -202,6 +242,15 @@ class OrderSubscription #[\Speakeasy\Serializer\Annotation\SerializedName('customer_cancellation_comment')] public ?string $customerCancellationComment; + /** + * The timestamp when the subscription entered `past_due` status. + * + * @var ?\DateTime $pastDueAt + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('past_due_at')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?\DateTime $pastDueAt = null; + /** * The number of seats for seat-based subscriptions. None for non-seat subscriptions. * @@ -217,29 +266,35 @@ class OrderSubscription * @param string $id * @param int $amount * @param string $currency - * @param \Polar\Models\Components\SubscriptionRecurringInterval $recurringInterval + * @param \Polar\Models\Components\RecurringInterval $recurringInterval * @param int $recurringIntervalCount * @param \Polar\Models\Components\SubscriptionStatus $status * @param \DateTime $currentPeriodStart * @param \DateTime $currentPeriodEnd * @param bool $cancelAtPeriodEnd + * @param bool $pauseAtPeriodEnd * @param string $customerId * @param string $productId * @param ?\DateTime $modifiedAt + * @param ?\DateTime $currentMeterPeriodStart + * @param ?\DateTime $currentMeterPeriodEnd * @param ?\DateTime $trialStart * @param ?\DateTime $trialEnd * @param ?\DateTime $canceledAt * @param ?\DateTime $startedAt * @param ?\DateTime $endsAt * @param ?\DateTime $endedAt + * @param ?\DateTime $pausedAt + * @param ?\DateTime $resumesAt * @param ?string $discountId * @param ?string $checkoutId * @param ?\Polar\Models\Components\CustomerCancellationReason $customerCancellationReason * @param ?string $customerCancellationComment + * @param ?\DateTime $pastDueAt * @param ?int $seats * @phpstan-pure */ - public function __construct(array $metadata, \DateTime $createdAt, string $id, int $amount, string $currency, SubscriptionRecurringInterval $recurringInterval, int $recurringIntervalCount, SubscriptionStatus $status, \DateTime $currentPeriodStart, \DateTime $currentPeriodEnd, bool $cancelAtPeriodEnd, string $customerId, string $productId, ?\DateTime $modifiedAt = null, ?\DateTime $trialStart = null, ?\DateTime $trialEnd = null, ?\DateTime $canceledAt = null, ?\DateTime $startedAt = null, ?\DateTime $endsAt = null, ?\DateTime $endedAt = null, ?string $discountId = null, ?string $checkoutId = null, ?CustomerCancellationReason $customerCancellationReason = null, ?string $customerCancellationComment = null, ?int $seats = null) + public function __construct(array $metadata, \DateTime $createdAt, string $id, int $amount, string $currency, RecurringInterval $recurringInterval, int $recurringIntervalCount, SubscriptionStatus $status, \DateTime $currentPeriodStart, \DateTime $currentPeriodEnd, bool $cancelAtPeriodEnd, bool $pauseAtPeriodEnd, string $customerId, string $productId, ?\DateTime $modifiedAt = null, ?\DateTime $currentMeterPeriodStart = null, ?\DateTime $currentMeterPeriodEnd = null, ?\DateTime $trialStart = null, ?\DateTime $trialEnd = null, ?\DateTime $canceledAt = null, ?\DateTime $startedAt = null, ?\DateTime $endsAt = null, ?\DateTime $endedAt = null, ?\DateTime $pausedAt = null, ?\DateTime $resumesAt = null, ?string $discountId = null, ?string $checkoutId = null, ?CustomerCancellationReason $customerCancellationReason = null, ?string $customerCancellationComment = null, ?\DateTime $pastDueAt = null, ?int $seats = null) { $this->metadata = $metadata; $this->createdAt = $createdAt; @@ -252,19 +307,25 @@ public function __construct(array $metadata, \DateTime $createdAt, string $id, i $this->currentPeriodStart = $currentPeriodStart; $this->currentPeriodEnd = $currentPeriodEnd; $this->cancelAtPeriodEnd = $cancelAtPeriodEnd; + $this->pauseAtPeriodEnd = $pauseAtPeriodEnd; $this->customerId = $customerId; $this->productId = $productId; $this->modifiedAt = $modifiedAt; + $this->currentMeterPeriodStart = $currentMeterPeriodStart; + $this->currentMeterPeriodEnd = $currentMeterPeriodEnd; $this->trialStart = $trialStart; $this->trialEnd = $trialEnd; $this->canceledAt = $canceledAt; $this->startedAt = $startedAt; $this->endsAt = $endsAt; $this->endedAt = $endedAt; + $this->pausedAt = $pausedAt; + $this->resumesAt = $resumesAt; $this->discountId = $discountId; $this->checkoutId = $checkoutId; $this->customerCancellationReason = $customerCancellationReason; $this->customerCancellationComment = $customerCancellationComment; + $this->pastDueAt = $pastDueAt; $this->seats = $seats; } } \ No newline at end of file diff --git a/src/Models/Components/Organization.php b/src/Models/Components/Organization.php index d0cf461e..97582f50 100644 --- a/src/Models/Components/Organization.php +++ b/src/Models/Components/Organization.php @@ -76,6 +76,14 @@ class Organization #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\OrganizationStatus')] public OrganizationStatus $status; + /** + * Whether members must access this organization through its SSO connection. + * + * @var bool $ssoEnforced + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('sso_enforced')] + public bool $ssoEnforced; + /** * Default presentment currency. Used as fallback in checkout and customer portal, if the customer's local currency is not available. * @@ -100,14 +108,6 @@ class Organization #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\OrganizationSubscriptionSettings')] public OrganizationSubscriptionSettings $subscriptionSettings; - /** - * - * @var \Polar\Models\Components\OrganizationNotificationSettings $notificationSettings - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('notification_settings')] - #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\OrganizationNotificationSettings')] - public OrganizationNotificationSettings $notificationSettings; - /** * * @var \Polar\Models\Components\OrganizationCustomerEmailSettings $customerEmailSettings @@ -124,6 +124,14 @@ class Organization #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\OrganizationCustomerPortalSettings')] public OrganizationCustomerPortalSettings $customerPortalSettings; + /** + * + * @var \Polar\Models\Components\OrganizationCapabilities $capabilities + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('capabilities')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\OrganizationCapabilities')] + public OrganizationCapabilities $capabilities; + /** * Last modification timestamp of the object. * @@ -173,6 +181,22 @@ class Organization #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\OrganizationFeatureSettings|null')] public ?OrganizationFeatureSettings $featureSettings; + /** + * ID of the transactions account. + * + * @var ?string $accountId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('account_id')] + public ?string $accountId; + + /** + * ID of the payout account. + * + * @var ?string $payoutAccountId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('payout_account_id')] + public ?string $payoutAccountId; + /** * Two-letter country code (ISO 3166-1 alpha-2). * @@ -192,22 +216,25 @@ class Organization * @param bool $allowCustomerUpdates * @param array<\Polar\Models\Components\OrganizationSocialLink> $socials * @param \Polar\Models\Components\OrganizationStatus $status + * @param bool $ssoEnforced * @param string $defaultPresentmentCurrency * @param \Polar\Models\Components\TaxBehaviorOption $defaultTaxBehavior * @param \Polar\Models\Components\OrganizationSubscriptionSettings $subscriptionSettings - * @param \Polar\Models\Components\OrganizationNotificationSettings $notificationSettings * @param \Polar\Models\Components\OrganizationCustomerEmailSettings $customerEmailSettings * @param \Polar\Models\Components\OrganizationCustomerPortalSettings $customerPortalSettings + * @param \Polar\Models\Components\OrganizationCapabilities $capabilities * @param ?\DateTime $modifiedAt * @param ?string $avatarUrl * @param ?string $email * @param ?string $website * @param ?\DateTime $detailsSubmittedAt * @param ?\Polar\Models\Components\OrganizationFeatureSettings $featureSettings + * @param ?string $accountId + * @param ?string $payoutAccountId * @param ?\Polar\Models\Components\CountryAlpha2 $country * @phpstan-pure */ - public function __construct(\DateTime $createdAt, string $id, string $name, string $slug, SubscriptionProrationBehavior $prorationBehavior, bool $allowCustomerUpdates, array $socials, OrganizationStatus $status, string $defaultPresentmentCurrency, TaxBehaviorOption $defaultTaxBehavior, OrganizationSubscriptionSettings $subscriptionSettings, OrganizationNotificationSettings $notificationSettings, OrganizationCustomerEmailSettings $customerEmailSettings, OrganizationCustomerPortalSettings $customerPortalSettings, ?\DateTime $modifiedAt = null, ?string $avatarUrl = null, ?string $email = null, ?string $website = null, ?\DateTime $detailsSubmittedAt = null, ?OrganizationFeatureSettings $featureSettings = null, ?CountryAlpha2 $country = null) + public function __construct(\DateTime $createdAt, string $id, string $name, string $slug, SubscriptionProrationBehavior $prorationBehavior, bool $allowCustomerUpdates, array $socials, OrganizationStatus $status, bool $ssoEnforced, string $defaultPresentmentCurrency, TaxBehaviorOption $defaultTaxBehavior, OrganizationSubscriptionSettings $subscriptionSettings, OrganizationCustomerEmailSettings $customerEmailSettings, OrganizationCustomerPortalSettings $customerPortalSettings, OrganizationCapabilities $capabilities, ?\DateTime $modifiedAt = null, ?string $avatarUrl = null, ?string $email = null, ?string $website = null, ?\DateTime $detailsSubmittedAt = null, ?OrganizationFeatureSettings $featureSettings = null, ?string $accountId = null, ?string $payoutAccountId = null, ?CountryAlpha2 $country = null) { $this->createdAt = $createdAt; $this->id = $id; @@ -217,18 +244,21 @@ public function __construct(\DateTime $createdAt, string $id, string $name, stri $this->allowCustomerUpdates = $allowCustomerUpdates; $this->socials = $socials; $this->status = $status; + $this->ssoEnforced = $ssoEnforced; $this->defaultPresentmentCurrency = $defaultPresentmentCurrency; $this->defaultTaxBehavior = $defaultTaxBehavior; $this->subscriptionSettings = $subscriptionSettings; - $this->notificationSettings = $notificationSettings; $this->customerEmailSettings = $customerEmailSettings; $this->customerPortalSettings = $customerPortalSettings; + $this->capabilities = $capabilities; $this->modifiedAt = $modifiedAt; $this->avatarUrl = $avatarUrl; $this->email = $email; $this->website = $website; $this->detailsSubmittedAt = $detailsSubmittedAt; $this->featureSettings = $featureSettings; + $this->accountId = $accountId; + $this->payoutAccountId = $payoutAccountId; $this->country = $country; } } \ No newline at end of file diff --git a/src/Models/Components/OrganizationAccessToken.php b/src/Models/Components/OrganizationAccessToken.php deleted file mode 100644 index c315ee49..00000000 --- a/src/Models/Components/OrganizationAccessToken.php +++ /dev/null @@ -1,97 +0,0 @@ - $scopes - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('scopes')] - #[\Speakeasy\Serializer\Annotation\Type('array<\Polar\Models\Components\Scope>')] - public array $scopes; - - /** - * - * @var string $comment - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('comment')] - public string $comment; - - /** - * The organization ID. - * - * @var string $organizationId - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('organization_id')] - public string $organizationId; - - /** - * Last modification timestamp of the object. - * - * @var ?\DateTime $modifiedAt - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('modified_at')] - public ?\DateTime $modifiedAt; - - /** - * - * @var ?\DateTime $expiresAt - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('expires_at')] - public ?\DateTime $expiresAt; - - /** - * - * @var ?\DateTime $lastUsedAt - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('last_used_at')] - public ?\DateTime $lastUsedAt; - - /** - * @param \DateTime $createdAt - * @param string $id - * @param array<\Polar\Models\Components\Scope> $scopes - * @param string $comment - * @param string $organizationId - * @param ?\DateTime $modifiedAt - * @param ?\DateTime $expiresAt - * @param ?\DateTime $lastUsedAt - * @phpstan-pure - */ - public function __construct(\DateTime $createdAt, string $id, array $scopes, string $comment, string $organizationId, ?\DateTime $modifiedAt = null, ?\DateTime $expiresAt = null, ?\DateTime $lastUsedAt = null) - { - $this->createdAt = $createdAt; - $this->id = $id; - $this->scopes = $scopes; - $this->comment = $comment; - $this->organizationId = $organizationId; - $this->modifiedAt = $modifiedAt; - $this->expiresAt = $expiresAt; - $this->lastUsedAt = $lastUsedAt; - } -} \ No newline at end of file diff --git a/src/Models/Components/OrganizationAccessTokenCreate.php b/src/Models/Components/OrganizationAccessTokenCreate.php deleted file mode 100644 index c07baf2a..00000000 --- a/src/Models/Components/OrganizationAccessTokenCreate.php +++ /dev/null @@ -1,60 +0,0 @@ - $scopes - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('scopes')] - #[\Speakeasy\Serializer\Annotation\Type('array<\Polar\Models\Components\AvailableScope>')] - public array $scopes; - - /** - * - * @var ?string $organizationId - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('organization_id')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?string $organizationId = null; - - /** - * - * @var ?string $expiresIn - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('expires_in')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?string $expiresIn = null; - - /** - * @param string $comment - * @param array<\Polar\Models\Components\AvailableScope> $scopes - * @param ?string $organizationId - * @param ?string $expiresIn - * @phpstan-pure - */ - public function __construct(string $comment, array $scopes, ?string $organizationId = null, ?string $expiresIn = null) - { - $this->comment = $comment; - $this->scopes = $scopes; - $this->organizationId = $organizationId; - $this->expiresIn = $expiresIn; - } -} \ No newline at end of file diff --git a/src/Models/Components/OrganizationAccessTokenCreateResponse.php b/src/Models/Components/OrganizationAccessTokenCreateResponse.php deleted file mode 100644 index d1960d74..00000000 --- a/src/Models/Components/OrganizationAccessTokenCreateResponse.php +++ /dev/null @@ -1,39 +0,0 @@ -organizationAccessToken = $organizationAccessToken; - $this->token = $token; - } -} \ No newline at end of file diff --git a/src/Models/Components/OrganizationAccessTokenSortProperty.php b/src/Models/Components/OrganizationAccessTokenSortProperty.php deleted file mode 100644 index 0d52fc39..00000000 --- a/src/Models/Components/OrganizationAccessTokenSortProperty.php +++ /dev/null @@ -1,22 +0,0 @@ - $scopes - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('scopes')] - #[\Speakeasy\Serializer\Annotation\Type('array<\Polar\Models\Components\AvailableScope>|null')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?array $scopes = null; - - /** - * @param ?string $comment - * @param ?array<\Polar\Models\Components\AvailableScope> $scopes - * @phpstan-pure - */ - public function __construct(?string $comment = null, ?array $scopes = null) - { - $this->comment = $comment; - $this->scopes = $scopes; - } -} \ No newline at end of file diff --git a/src/Models/Components/OrganizationCapabilities.php b/src/Models/Components/OrganizationCapabilities.php new file mode 100644 index 00000000..99badaeb --- /dev/null +++ b/src/Models/Components/OrganizationCapabilities.php @@ -0,0 +1,80 @@ +checkoutPayments = $checkoutPayments; + $this->subscriptionRenewals = $subscriptionRenewals; + $this->payouts = $payouts; + $this->refunds = $refunds; + $this->apiAccess = $apiAccess; + $this->dashboardAccess = $dashboardAccess; + } +} \ No newline at end of file diff --git a/src/Models/Components/OrganizationCreate.php b/src/Models/Components/OrganizationCreate.php index 68637f27..02ac2137 100644 --- a/src/Models/Components/OrganizationCreate.php +++ b/src/Models/Components/OrganizationCreate.php @@ -111,12 +111,12 @@ class OrganizationCreate /** * - * @var ?\Polar\Models\Components\OrganizationFeatureSettings $featureSettings + * @var ?\Polar\Models\Components\OrganizationFeatureSettingsUpdate $featureSettings */ #[\Speakeasy\Serializer\Annotation\SerializedName('feature_settings')] - #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\OrganizationFeatureSettings|null')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\OrganizationFeatureSettingsUpdate|null')] #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?OrganizationFeatureSettings $featureSettings = null; + public ?OrganizationFeatureSettingsUpdate $featureSettings = null; /** * @@ -127,15 +127,6 @@ class OrganizationCreate #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public ?OrganizationSubscriptionSettings $subscriptionSettings = null; - /** - * - * @var ?\Polar\Models\Components\OrganizationNotificationSettings $notificationSettings - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('notification_settings')] - #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\OrganizationNotificationSettings|null')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?OrganizationNotificationSettings $notificationSettings = null; - /** * * @var ?\Polar\Models\Components\OrganizationCustomerEmailSettings $customerEmailSettings @@ -166,14 +157,13 @@ class OrganizationCreate * @param ?array<\Polar\Models\Components\OrganizationSocialLink> $socials * @param ?\Polar\Models\Components\OrganizationDetails $details * @param ?\Polar\Models\Components\CountryAlpha2Input $country - * @param ?\Polar\Models\Components\OrganizationFeatureSettings $featureSettings + * @param ?\Polar\Models\Components\OrganizationFeatureSettingsUpdate $featureSettings * @param ?\Polar\Models\Components\OrganizationSubscriptionSettings $subscriptionSettings - * @param ?\Polar\Models\Components\OrganizationNotificationSettings $notificationSettings * @param ?\Polar\Models\Components\OrganizationCustomerEmailSettings $customerEmailSettings * @param ?\Polar\Models\Components\OrganizationCustomerPortalSettings $customerPortalSettings * @phpstan-pure */ - public function __construct(string $name, string $slug, ?PresentmentCurrency $defaultPresentmentCurrency = null, ?TaxBehaviorOption $defaultTaxBehavior = null, ?string $avatarUrl = null, OrganizationIndividualLegalEntitySchema|OrganizationCompanyLegalEntitySchema|null $legalEntity = null, ?string $email = null, ?string $website = null, ?array $socials = null, ?OrganizationDetails $details = null, ?CountryAlpha2Input $country = null, ?OrganizationFeatureSettings $featureSettings = null, ?OrganizationSubscriptionSettings $subscriptionSettings = null, ?OrganizationNotificationSettings $notificationSettings = null, ?OrganizationCustomerEmailSettings $customerEmailSettings = null, ?OrganizationCustomerPortalSettings $customerPortalSettings = null) + public function __construct(string $name, string $slug, ?PresentmentCurrency $defaultPresentmentCurrency = null, ?TaxBehaviorOption $defaultTaxBehavior = null, ?string $avatarUrl = null, OrganizationIndividualLegalEntitySchema|OrganizationCompanyLegalEntitySchema|null $legalEntity = null, ?string $email = null, ?string $website = null, ?array $socials = null, ?OrganizationDetails $details = null, ?CountryAlpha2Input $country = null, ?OrganizationFeatureSettingsUpdate $featureSettings = null, ?OrganizationSubscriptionSettings $subscriptionSettings = null, ?OrganizationCustomerEmailSettings $customerEmailSettings = null, ?OrganizationCustomerPortalSettings $customerPortalSettings = null) { $this->name = $name; $this->slug = $slug; @@ -188,7 +178,6 @@ public function __construct(string $name, string $slug, ?PresentmentCurrency $de $this->country = $country; $this->featureSettings = $featureSettings; $this->subscriptionSettings = $subscriptionSettings; - $this->notificationSettings = $notificationSettings; $this->customerEmailSettings = $customerEmailSettings; $this->customerPortalSettings = $customerPortalSettings; } diff --git a/src/Models/Components/OrganizationCustomerEmailSettings.php b/src/Models/Components/OrganizationCustomerEmailSettings.php index abfec091..67f2458c 100644 --- a/src/Models/Components/OrganizationCustomerEmailSettings.php +++ b/src/Models/Components/OrganizationCustomerEmailSettings.php @@ -53,6 +53,20 @@ class OrganizationCustomerEmailSettings #[\Speakeasy\Serializer\Annotation\SerializedName('subscription_past_due')] public bool $subscriptionPastDue; + /** + * + * @var bool $subscriptionPaused + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('subscription_paused')] + public bool $subscriptionPaused; + + /** + * + * @var bool $subscriptionResumed + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('subscription_resumed')] + public bool $subscriptionResumed; + /** * * @var bool $subscriptionRenewalReminder @@ -95,6 +109,8 @@ class OrganizationCustomerEmailSettings * @param bool $subscriptionCycled * @param bool $subscriptionCycledAfterTrial * @param bool $subscriptionPastDue + * @param bool $subscriptionPaused + * @param bool $subscriptionResumed * @param bool $subscriptionRenewalReminder * @param bool $subscriptionRevoked * @param bool $subscriptionTrialConversionReminder @@ -102,7 +118,7 @@ class OrganizationCustomerEmailSettings * @param bool $subscriptionUpdated * @phpstan-pure */ - public function __construct(bool $orderConfirmation, bool $subscriptionCancellation, bool $subscriptionConfirmation, bool $subscriptionCycled, bool $subscriptionCycledAfterTrial, bool $subscriptionPastDue, bool $subscriptionRenewalReminder, bool $subscriptionRevoked, bool $subscriptionTrialConversionReminder, bool $subscriptionUncanceled, bool $subscriptionUpdated) + public function __construct(bool $orderConfirmation, bool $subscriptionCancellation, bool $subscriptionConfirmation, bool $subscriptionCycled, bool $subscriptionCycledAfterTrial, bool $subscriptionPastDue, bool $subscriptionPaused, bool $subscriptionResumed, bool $subscriptionRenewalReminder, bool $subscriptionRevoked, bool $subscriptionTrialConversionReminder, bool $subscriptionUncanceled, bool $subscriptionUpdated) { $this->orderConfirmation = $orderConfirmation; $this->subscriptionCancellation = $subscriptionCancellation; @@ -110,6 +126,8 @@ public function __construct(bool $orderConfirmation, bool $subscriptionCancellat $this->subscriptionCycled = $subscriptionCycled; $this->subscriptionCycledAfterTrial = $subscriptionCycledAfterTrial; $this->subscriptionPastDue = $subscriptionPastDue; + $this->subscriptionPaused = $subscriptionPaused; + $this->subscriptionResumed = $subscriptionResumed; $this->subscriptionRenewalReminder = $subscriptionRenewalReminder; $this->subscriptionRevoked = $subscriptionRevoked; $this->subscriptionTrialConversionReminder = $subscriptionTrialConversionReminder; diff --git a/src/Models/Components/OrganizationCustomerPortalSettings.php b/src/Models/Components/OrganizationCustomerPortalSettings.php index eb962cc6..60130efe 100644 --- a/src/Models/Components/OrganizationCustomerPortalSettings.php +++ b/src/Models/Components/OrganizationCustomerPortalSettings.php @@ -27,14 +27,25 @@ class OrganizationCustomerPortalSettings #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\CustomerPortalSubscriptionSettings')] public CustomerPortalSubscriptionSettings $subscription; + /** + * + * @var ?\Polar\Models\Components\CustomerPortalCustomerSettings $customer + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('customer')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\CustomerPortalCustomerSettings|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?CustomerPortalCustomerSettings $customer = null; + /** * @param \Polar\Models\Components\CustomerPortalUsageSettings $usage * @param \Polar\Models\Components\CustomerPortalSubscriptionSettings $subscription + * @param ?\Polar\Models\Components\CustomerPortalCustomerSettings $customer * @phpstan-pure */ - public function __construct(CustomerPortalUsageSettings $usage, CustomerPortalSubscriptionSettings $subscription) + public function __construct(CustomerPortalUsageSettings $usage, CustomerPortalSubscriptionSettings $subscription, ?CustomerPortalCustomerSettings $customer = null) { $this->usage = $usage; $this->subscription = $subscription; + $this->customer = $customer; } } \ No newline at end of file diff --git a/src/Models/Components/OrganizationFeatureSettings.php b/src/Models/Components/OrganizationFeatureSettings.php index 2cf64aad..70e4c96f 100644 --- a/src/Models/Components/OrganizationFeatureSettings.php +++ b/src/Models/Components/OrganizationFeatureSettings.php @@ -39,15 +39,6 @@ class OrganizationFeatureSettings #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public ?bool $seatBasedPricingEnabled = null; - /** - * If this organization has RevOps enabled - * - * @var ?bool $revopsEnabled - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('revops_enabled')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?bool $revopsEnabled = null; - /** * If this organization has Wallets enabled * @@ -67,54 +58,118 @@ class OrganizationFeatureSettings public ?bool $memberModelEnabled = null; /** - * If this organization reads from Tinybird + * If this organization has checkout localization enabled * - * @var ?bool $tinybirdRead + * @var ?bool $checkoutLocalizationEnabled */ - #[\Speakeasy\Serializer\Annotation\SerializedName('tinybird_read')] + #[\Speakeasy\Serializer\Annotation\SerializedName('checkout_localization_enabled')] #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?bool $tinybirdRead = null; + public ?bool $checkoutLocalizationEnabled = null; /** - * If this organization compares Tinybird results with database + * If this organization has access to reset proration behavior. * - * @var ?bool $tinybirdCompare + * @var ?bool $resetProrationBehaviorEnabled */ - #[\Speakeasy\Serializer\Annotation\SerializedName('tinybird_compare')] + #[\Speakeasy\Serializer\Annotation\SerializedName('reset_proration_behavior_enabled')] #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?bool $tinybirdCompare = null; + public ?bool $resetProrationBehaviorEnabled = null; /** - * If this organization has checkout localization enabled + * If this organization can create and finalize draft orders via the API (off-session charges against a saved payment method). * - * @var ?bool $checkoutLocalizationEnabled + * @var ?bool $offSessionChargesEnabled */ - #[\Speakeasy\Serializer\Annotation\SerializedName('checkout_localization_enabled')] + #[\Speakeasy\Serializer\Annotation\SerializedName('off_session_charges_enabled')] #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?bool $checkoutLocalizationEnabled = null; + public ?bool $offSessionChargesEnabled = null; + + /** + * Enables the slack shared channel benefit + * + * @var ?bool $slackBenefitEnabled + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('slack_benefit_enabled')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?bool $slackBenefitEnabled = null; + + /** + * If this organization has preview access to new features enabled + * + * @var ?bool $previewAccessEnabled + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('preview_access_enabled')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?bool $previewAccessEnabled = null; + + /** + * If this organization has the disputes dashboard enabled + * + * @var ?bool $disputesEnabled + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('disputes_enabled')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?bool $disputesEnabled = null; + + /** + * If this organization has single sign-on configuration enabled + * + * @var ?bool $ssoEnabled + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('sso_enabled')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?bool $ssoEnabled = null; + + /** + * If this organization has the split product navigation (Billing / Compass / Customers) enabled in the dashboard + * + * @var ?bool $compassEnabled + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('compass_enabled')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?bool $compassEnabled = null; + + /** + * If this organization can migrate its billing from another provider (e.g. Stripe) to Polar. + * + * @var ?bool $merchantMigrationEnabled + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('merchant_migration_enabled')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?bool $merchantMigrationEnabled = null; /** * @param ?bool $issueFundingEnabled * @param ?bool $seatBasedPricingEnabled - * @param ?bool $revopsEnabled * @param ?bool $walletsEnabled * @param ?bool $memberModelEnabled - * @param ?bool $tinybirdRead - * @param ?bool $tinybirdCompare * @param ?bool $checkoutLocalizationEnabled + * @param ?bool $resetProrationBehaviorEnabled + * @param ?bool $offSessionChargesEnabled + * @param ?bool $slackBenefitEnabled + * @param ?bool $previewAccessEnabled + * @param ?bool $disputesEnabled + * @param ?bool $ssoEnabled + * @param ?bool $compassEnabled + * @param ?bool $merchantMigrationEnabled * @param ?array $overviewMetrics * @phpstan-pure */ - public function __construct(?array $overviewMetrics = null, ?bool $issueFundingEnabled = false, ?bool $seatBasedPricingEnabled = false, ?bool $revopsEnabled = false, ?bool $walletsEnabled = false, ?bool $memberModelEnabled = false, ?bool $tinybirdRead = false, ?bool $tinybirdCompare = false, ?bool $checkoutLocalizationEnabled = false) + public function __construct(?array $overviewMetrics = null, ?bool $issueFundingEnabled = false, ?bool $seatBasedPricingEnabled = false, ?bool $walletsEnabled = false, ?bool $memberModelEnabled = false, ?bool $checkoutLocalizationEnabled = false, ?bool $resetProrationBehaviorEnabled = false, ?bool $offSessionChargesEnabled = false, ?bool $slackBenefitEnabled = false, ?bool $previewAccessEnabled = false, ?bool $disputesEnabled = false, ?bool $ssoEnabled = false, ?bool $compassEnabled = false, ?bool $merchantMigrationEnabled = false) { $this->overviewMetrics = $overviewMetrics; $this->issueFundingEnabled = $issueFundingEnabled; $this->seatBasedPricingEnabled = $seatBasedPricingEnabled; - $this->revopsEnabled = $revopsEnabled; $this->walletsEnabled = $walletsEnabled; $this->memberModelEnabled = $memberModelEnabled; - $this->tinybirdRead = $tinybirdRead; - $this->tinybirdCompare = $tinybirdCompare; $this->checkoutLocalizationEnabled = $checkoutLocalizationEnabled; + $this->resetProrationBehaviorEnabled = $resetProrationBehaviorEnabled; + $this->offSessionChargesEnabled = $offSessionChargesEnabled; + $this->slackBenefitEnabled = $slackBenefitEnabled; + $this->previewAccessEnabled = $previewAccessEnabled; + $this->disputesEnabled = $disputesEnabled; + $this->ssoEnabled = $ssoEnabled; + $this->compassEnabled = $compassEnabled; + $this->merchantMigrationEnabled = $merchantMigrationEnabled; } } \ No newline at end of file diff --git a/src/Models/Components/OrganizationFeatureSettingsUpdate.php b/src/Models/Components/OrganizationFeatureSettingsUpdate.php new file mode 100644 index 00000000..7ac320d1 --- /dev/null +++ b/src/Models/Components/OrganizationFeatureSettingsUpdate.php @@ -0,0 +1,72 @@ + $overviewMetrics + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('overview_metrics')] + #[\Speakeasy\Serializer\Annotation\Type('array|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?array $overviewMetrics = null; + + /** + * If this organization has seat-based pricing enabled + * + * @var ?bool $seatBasedPricingEnabled + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('seat_based_pricing_enabled')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?bool $seatBasedPricingEnabled = null; + + /** + * If this organization has the Member model enabled + * + * @var ?bool $memberModelEnabled + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('member_model_enabled')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?bool $memberModelEnabled = null; + + /** + * If this organization has checkout localization enabled + * + * @var ?bool $checkoutLocalizationEnabled + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('checkout_localization_enabled')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?bool $checkoutLocalizationEnabled = null; + + /** + * @param ?bool $seatBasedPricingEnabled + * @param ?bool $memberModelEnabled + * @param ?bool $checkoutLocalizationEnabled + * @param ?array $overviewMetrics + * @phpstan-pure + */ + public function __construct(?array $overviewMetrics = null, ?bool $seatBasedPricingEnabled = false, ?bool $memberModelEnabled = false, ?bool $checkoutLocalizationEnabled = false) + { + $this->overviewMetrics = $overviewMetrics; + $this->seatBasedPricingEnabled = $seatBasedPricingEnabled; + $this->memberModelEnabled = $memberModelEnabled; + $this->checkoutLocalizationEnabled = $checkoutLocalizationEnabled; + } +} \ No newline at end of file diff --git a/src/Models/Components/OrganizationNotificationSettings.php b/src/Models/Components/OrganizationNotificationSettings.php deleted file mode 100644 index 8bbedba1..00000000 --- a/src/Models/Components/OrganizationNotificationSettings.php +++ /dev/null @@ -1,38 +0,0 @@ -newOrder = $newOrder; - $this->newSubscription = $newSubscription; - } -} \ No newline at end of file diff --git a/src/Models/Components/OrganizationStatus.php b/src/Models/Components/OrganizationStatus.php index 2be12716..d1de867a 100644 --- a/src/Models/Components/OrganizationStatus.php +++ b/src/Models/Components/OrganizationStatus.php @@ -12,9 +12,11 @@ enum OrganizationStatus: string { case Created = 'created'; - case OnboardingStarted = 'onboarding_started'; - case InitialReview = 'initial_review'; - case OngoingReview = 'ongoing_review'; + case Review = 'review'; + case Snoozed = 'snoozed'; case Denied = 'denied'; case Active = 'active'; + case Blocked = 'blocked'; + case Offboarding = 'offboarding'; + case Offboarded = 'offboarded'; } diff --git a/src/Models/Components/OrganizationSubscriptionSettings.php b/src/Models/Components/OrganizationSubscriptionSettings.php index 910f4fd3..08cc41cc 100644 --- a/src/Models/Components/OrganizationSubscriptionSettings.php +++ b/src/Models/Components/OrganizationSubscriptionSettings.php @@ -20,18 +20,11 @@ class OrganizationSubscriptionSettings /** * - * @var bool $allowCustomerUpdates - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('allow_customer_updates')] - public bool $allowCustomerUpdates; - - /** - * - * @var \Polar\Models\Components\SubscriptionProrationBehavior $prorationBehavior + * @var \Polar\Models\Components\PublicSubscriptionProrationBehavior $prorationBehavior */ #[\Speakeasy\Serializer\Annotation\SerializedName('proration_behavior')] - #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\SubscriptionProrationBehavior')] - public SubscriptionProrationBehavior $prorationBehavior; + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\PublicSubscriptionProrationBehavior')] + public PublicSubscriptionProrationBehavior $prorationBehavior; /** * @@ -47,20 +40,27 @@ class OrganizationSubscriptionSettings #[\Speakeasy\Serializer\Annotation\SerializedName('prevent_trial_abuse')] public bool $preventTrialAbuse; + /** + * + * @var bool $allowCustomerUpdates + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('allow_customer_updates')] + public bool $allowCustomerUpdates; + /** * @param bool $allowMultipleSubscriptions - * @param bool $allowCustomerUpdates - * @param \Polar\Models\Components\SubscriptionProrationBehavior $prorationBehavior + * @param \Polar\Models\Components\PublicSubscriptionProrationBehavior $prorationBehavior * @param int $benefitRevocationGracePeriod * @param bool $preventTrialAbuse + * @param bool $allowCustomerUpdates * @phpstan-pure */ - public function __construct(bool $allowMultipleSubscriptions, bool $allowCustomerUpdates, SubscriptionProrationBehavior $prorationBehavior, int $benefitRevocationGracePeriod, bool $preventTrialAbuse) + public function __construct(bool $allowMultipleSubscriptions, PublicSubscriptionProrationBehavior $prorationBehavior, int $benefitRevocationGracePeriod, bool $preventTrialAbuse, bool $allowCustomerUpdates) { $this->allowMultipleSubscriptions = $allowMultipleSubscriptions; - $this->allowCustomerUpdates = $allowCustomerUpdates; $this->prorationBehavior = $prorationBehavior; $this->benefitRevocationGracePeriod = $benefitRevocationGracePeriod; $this->preventTrialAbuse = $preventTrialAbuse; + $this->allowCustomerUpdates = $allowCustomerUpdates; } } \ No newline at end of file diff --git a/src/Models/Components/OrganizationUpdate.php b/src/Models/Components/OrganizationUpdate.php index 88e8139c..1e6f5473 100644 --- a/src/Models/Components/OrganizationUpdate.php +++ b/src/Models/Components/OrganizationUpdate.php @@ -77,12 +77,12 @@ class OrganizationUpdate /** * - * @var ?\Polar\Models\Components\OrganizationFeatureSettings $featureSettings + * @var ?\Polar\Models\Components\OrganizationFeatureSettingsUpdate $featureSettings */ #[\Speakeasy\Serializer\Annotation\SerializedName('feature_settings')] - #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\OrganizationFeatureSettings|null')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\OrganizationFeatureSettingsUpdate|null')] #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?OrganizationFeatureSettings $featureSettings = null; + public ?OrganizationFeatureSettingsUpdate $featureSettings = null; /** * @@ -93,15 +93,6 @@ class OrganizationUpdate #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public ?OrganizationSubscriptionSettings $subscriptionSettings = null; - /** - * - * @var ?\Polar\Models\Components\OrganizationNotificationSettings $notificationSettings - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('notification_settings')] - #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\OrganizationNotificationSettings|null')] - #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?OrganizationNotificationSettings $notificationSettings = null; - /** * * @var ?\Polar\Models\Components\OrganizationCustomerEmailSettings $customerEmailSettings @@ -140,6 +131,15 @@ class OrganizationUpdate #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public ?TaxBehaviorOption $defaultTaxBehavior = null; + /** + * Whether members must access this organization through its SSO connection. Turning this on requires an active SSO session for this organization and at least one enabled SSO connection. + * + * @var ?bool $ssoEnforced + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('sso_enforced')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?bool $ssoEnforced = null; + /** * @param ?string $name * @param ?string $avatarUrl @@ -148,16 +148,16 @@ class OrganizationUpdate * @param ?array<\Polar\Models\Components\OrganizationSocialLink> $socials * @param ?\Polar\Models\Components\OrganizationDetails $details * @param ?\Polar\Models\Components\CountryCountryAlpha2Input $country - * @param ?\Polar\Models\Components\OrganizationFeatureSettings $featureSettings + * @param ?\Polar\Models\Components\OrganizationFeatureSettingsUpdate $featureSettings * @param ?\Polar\Models\Components\OrganizationSubscriptionSettings $subscriptionSettings - * @param ?\Polar\Models\Components\OrganizationNotificationSettings $notificationSettings * @param ?\Polar\Models\Components\OrganizationCustomerEmailSettings $customerEmailSettings * @param ?\Polar\Models\Components\OrganizationCustomerPortalSettings $customerPortalSettings * @param ?\Polar\Models\Components\PresentmentCurrency $defaultPresentmentCurrency * @param ?\Polar\Models\Components\TaxBehaviorOption $defaultTaxBehavior + * @param ?bool $ssoEnforced * @phpstan-pure */ - public function __construct(?string $name = null, ?string $avatarUrl = null, ?string $email = null, ?string $website = null, ?array $socials = null, ?OrganizationDetails $details = null, ?CountryCountryAlpha2Input $country = null, ?OrganizationFeatureSettings $featureSettings = null, ?OrganizationSubscriptionSettings $subscriptionSettings = null, ?OrganizationNotificationSettings $notificationSettings = null, ?OrganizationCustomerEmailSettings $customerEmailSettings = null, ?OrganizationCustomerPortalSettings $customerPortalSettings = null, ?PresentmentCurrency $defaultPresentmentCurrency = null, ?TaxBehaviorOption $defaultTaxBehavior = null) + public function __construct(?string $name = null, ?string $avatarUrl = null, ?string $email = null, ?string $website = null, ?array $socials = null, ?OrganizationDetails $details = null, ?CountryCountryAlpha2Input $country = null, ?OrganizationFeatureSettingsUpdate $featureSettings = null, ?OrganizationSubscriptionSettings $subscriptionSettings = null, ?OrganizationCustomerEmailSettings $customerEmailSettings = null, ?OrganizationCustomerPortalSettings $customerPortalSettings = null, ?PresentmentCurrency $defaultPresentmentCurrency = null, ?TaxBehaviorOption $defaultTaxBehavior = null, ?bool $ssoEnforced = null) { $this->name = $name; $this->avatarUrl = $avatarUrl; @@ -168,10 +168,10 @@ public function __construct(?string $name = null, ?string $avatarUrl = null, ?st $this->country = $country; $this->featureSettings = $featureSettings; $this->subscriptionSettings = $subscriptionSettings; - $this->notificationSettings = $notificationSettings; $this->customerEmailSettings = $customerEmailSettings; $this->customerPortalSettings = $customerPortalSettings; $this->defaultPresentmentCurrency = $defaultPresentmentCurrency; $this->defaultTaxBehavior = $defaultTaxBehavior; + $this->ssoEnforced = $ssoEnforced; } } \ No newline at end of file diff --git a/src/Models/Components/PaymentTrigger.php b/src/Models/Components/PaymentTrigger.php new file mode 100644 index 00000000..8724ada2 --- /dev/null +++ b/src/Models/Components/PaymentTrigger.php @@ -0,0 +1,20 @@ + $prices + * @var array<\Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit> $prices */ #[\Speakeasy\Serializer\Annotation\SerializedName('prices')] - #[\Speakeasy\Serializer\Annotation\Type('array<\Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\LegacyRecurringProductPriceFree|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceFree|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit>')] + #[\Speakeasy\Serializer\Annotation\Type('array<\Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit>')] public array $prices; /** * List of benefits granted by the product. * - * @var array<\Polar\Models\Components\BenefitCustom|\Polar\Models\Components\BenefitDiscord|\Polar\Models\Components\BenefitGitHubRepository|\Polar\Models\Components\BenefitDownloadables|\Polar\Models\Components\BenefitLicenseKeys|\Polar\Models\Components\BenefitMeterCredit|\Polar\Models\Components\BenefitFeatureFlag> $benefits + * @var array<\Polar\Models\Components\BenefitCustom|\Polar\Models\Components\BenefitDiscord|\Polar\Models\Components\BenefitGitHubRepository|\Polar\Models\Components\BenefitDownloadables|\Polar\Models\Components\BenefitLicenseKeys|\Polar\Models\Components\BenefitMeterCredit|\Polar\Models\Components\BenefitFeatureFlag|\Polar\Models\Components\BenefitSlackSharedChannel> $benefits */ #[\Speakeasy\Serializer\Annotation\SerializedName('benefits')] - #[\Speakeasy\Serializer\Annotation\Type('array<\Polar\Models\Components\BenefitCustom|\Polar\Models\Components\BenefitDiscord|\Polar\Models\Components\BenefitGitHubRepository|\Polar\Models\Components\BenefitDownloadables|\Polar\Models\Components\BenefitLicenseKeys|\Polar\Models\Components\BenefitMeterCredit|\Polar\Models\Components\BenefitFeatureFlag>')] + #[\Speakeasy\Serializer\Annotation\Type('array<\Polar\Models\Components\BenefitCustom|\Polar\Models\Components\BenefitDiscord|\Polar\Models\Components\BenefitGitHubRepository|\Polar\Models\Components\BenefitDownloadables|\Polar\Models\Components\BenefitLicenseKeys|\Polar\Models\Components\BenefitMeterCredit|\Polar\Models\Components\BenefitFeatureFlag|\Polar\Models\Components\BenefitSlackSharedChannel>')] public array $benefits; /** @@ -149,11 +149,11 @@ class Product /** * The recurring interval of the product. If `None`, the product is a one-time purchase. * - * @var ?\Polar\Models\Components\SubscriptionRecurringInterval $recurringInterval + * @var ?\Polar\Models\Components\RecurringInterval $recurringInterval */ #[\Speakeasy\Serializer\Annotation\SerializedName('recurring_interval')] - #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\SubscriptionRecurringInterval|null')] - public ?SubscriptionRecurringInterval $recurringInterval; + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\RecurringInterval|null')] + public ?RecurringInterval $recurringInterval; /** * Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. None for one-time products. @@ -163,6 +163,23 @@ class Product #[\Speakeasy\Serializer\Annotation\SerializedName('recurring_interval_count')] public ?int $recurringIntervalCount; + /** + * The meter cycle of the product, independent of the billing interval. If `None`, metered concerns follow the billing interval. + * + * @var ?\Polar\Models\Components\RecurringInterval $meterInterval + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('meter_interval')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\RecurringInterval|null')] + public ?RecurringInterval $meterInterval; + + /** + * Number of meter interval units. None when no meter cycle is set. + * + * @var ?int $meterIntervalCount + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('meter_interval_count')] + public ?int $meterIntervalCount; + /** * @param string $id * @param \DateTime $createdAt @@ -172,19 +189,21 @@ class Product * @param bool $isArchived * @param string $organizationId * @param array $metadata - * @param array<\Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\LegacyRecurringProductPriceFree|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceFree|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit> $prices - * @param array<\Polar\Models\Components\BenefitCustom|\Polar\Models\Components\BenefitDiscord|\Polar\Models\Components\BenefitGitHubRepository|\Polar\Models\Components\BenefitDownloadables|\Polar\Models\Components\BenefitLicenseKeys|\Polar\Models\Components\BenefitMeterCredit|\Polar\Models\Components\BenefitFeatureFlag> $benefits + * @param array<\Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit> $prices + * @param array<\Polar\Models\Components\BenefitCustom|\Polar\Models\Components\BenefitDiscord|\Polar\Models\Components\BenefitGitHubRepository|\Polar\Models\Components\BenefitDownloadables|\Polar\Models\Components\BenefitLicenseKeys|\Polar\Models\Components\BenefitMeterCredit|\Polar\Models\Components\BenefitFeatureFlag|\Polar\Models\Components\BenefitSlackSharedChannel> $benefits * @param array<\Polar\Models\Components\ProductMediaFileRead> $medias * @param array<\Polar\Models\Components\AttachedCustomField> $attachedCustomFields * @param ?\DateTime $modifiedAt * @param ?\Polar\Models\Components\TrialInterval $trialInterval * @param ?int $trialIntervalCount * @param ?string $description - * @param ?\Polar\Models\Components\SubscriptionRecurringInterval $recurringInterval + * @param ?\Polar\Models\Components\RecurringInterval $recurringInterval * @param ?int $recurringIntervalCount + * @param ?\Polar\Models\Components\RecurringInterval $meterInterval + * @param ?int $meterIntervalCount * @phpstan-pure */ - public function __construct(string $id, \DateTime $createdAt, string $name, ProductVisibility $visibility, bool $isRecurring, bool $isArchived, string $organizationId, array $metadata, array $prices, array $benefits, array $medias, array $attachedCustomFields, ?\DateTime $modifiedAt = null, ?TrialInterval $trialInterval = null, ?int $trialIntervalCount = null, ?string $description = null, ?SubscriptionRecurringInterval $recurringInterval = null, ?int $recurringIntervalCount = null) + public function __construct(string $id, \DateTime $createdAt, string $name, ProductVisibility $visibility, bool $isRecurring, bool $isArchived, string $organizationId, array $metadata, array $prices, array $benefits, array $medias, array $attachedCustomFields, ?\DateTime $modifiedAt = null, ?TrialInterval $trialInterval = null, ?int $trialIntervalCount = null, ?string $description = null, ?RecurringInterval $recurringInterval = null, ?int $recurringIntervalCount = null, ?RecurringInterval $meterInterval = null, ?int $meterIntervalCount = null) { $this->id = $id; $this->createdAt = $createdAt; @@ -204,5 +223,7 @@ public function __construct(string $id, \DateTime $createdAt, string $name, Prod $this->description = $description; $this->recurringInterval = $recurringInterval; $this->recurringIntervalCount = $recurringIntervalCount; + $this->meterInterval = $meterInterval; + $this->meterIntervalCount = $meterIntervalCount; } } \ No newline at end of file diff --git a/src/Models/Components/ProductCreateOneTime.php b/src/Models/Components/ProductCreateOneTime.php index fe2cf591..1046ffe7 100644 --- a/src/Models/Components/ProductCreateOneTime.php +++ b/src/Models/Components/ProductCreateOneTime.php @@ -20,12 +20,12 @@ class ProductCreateOneTime public string $name; /** - * List of available prices for this product. It should contain at most one static price (fixed, custom or free), and any number of metered prices. Metered prices are not supported on one-time purchase products. + * List of available prices for this product. It may combine at most one fixed price with one seat-based price (billed as `fixed + seat_charge`), or contain a single custom or free price, plus any number of metered prices. A free price cannot be combined with other prices, and a custom price cannot be combined with a fixed or seat-based price. Metered prices are not supported on one-time purchase products. * - * @var array<\Polar\Models\Components\ProductPriceFixedCreate|\Polar\Models\Components\ProductPriceCustomCreate|\Polar\Models\Components\ProductPriceFreeCreate|\Polar\Models\Components\ProductPriceSeatBasedCreate|\Polar\Models\Components\ProductPriceMeteredUnitCreate> $prices + * @var array<\Polar\Models\Components\ProductPriceFixedCreate|\Polar\Models\Components\ProductPriceCustomCreate|\Polar\Models\Components\ProductPriceSeatBasedCreate|\Polar\Models\Components\ProductPriceMeteredUnitCreate> $prices */ #[\Speakeasy\Serializer\Annotation\SerializedName('prices')] - #[\Speakeasy\Serializer\Annotation\Type('array<\Polar\Models\Components\ProductPriceFixedCreate|\Polar\Models\Components\ProductPriceCustomCreate|\Polar\Models\Components\ProductPriceFreeCreate|\Polar\Models\Components\ProductPriceSeatBasedCreate|\Polar\Models\Components\ProductPriceMeteredUnitCreate>')] + #[\Speakeasy\Serializer\Annotation\Type('array<\Polar\Models\Components\ProductPriceFixedCreate|\Polar\Models\Components\ProductPriceCustomCreate|\Polar\Models\Components\ProductPriceSeatBasedCreate|\Polar\Models\Components\ProductPriceMeteredUnitCreate>')] public array $prices; /** @@ -118,7 +118,7 @@ class ProductCreateOneTime /** * @param string $name - * @param array<\Polar\Models\Components\ProductPriceFixedCreate|\Polar\Models\Components\ProductPriceCustomCreate|\Polar\Models\Components\ProductPriceFreeCreate|\Polar\Models\Components\ProductPriceSeatBasedCreate|\Polar\Models\Components\ProductPriceMeteredUnitCreate> $prices + * @param array<\Polar\Models\Components\ProductPriceFixedCreate|\Polar\Models\Components\ProductPriceCustomCreate|\Polar\Models\Components\ProductPriceSeatBasedCreate|\Polar\Models\Components\ProductPriceMeteredUnitCreate> $prices * @param ?array $metadata * @param ?\Polar\Models\Components\ProductVisibility $visibility * @param ?array<\Polar\Models\Components\AttachedCustomFieldCreate> $attachedCustomFields diff --git a/src/Models/Components/ProductCreateRecurring.php b/src/Models/Components/ProductCreateRecurring.php index d95f6381..34cfd322 100644 --- a/src/Models/Components/ProductCreateRecurring.php +++ b/src/Models/Components/ProductCreateRecurring.php @@ -20,21 +20,21 @@ class ProductCreateRecurring public string $name; /** - * List of available prices for this product. It should contain at most one static price (fixed, custom or free), and any number of metered prices. Metered prices are not supported on one-time purchase products. + * List of available prices for this product. It may combine at most one fixed price with one seat-based price (billed as `fixed + seat_charge`), or contain a single custom or free price, plus any number of metered prices. A free price cannot be combined with other prices, and a custom price cannot be combined with a fixed or seat-based price. Metered prices are not supported on one-time purchase products. * - * @var array<\Polar\Models\Components\ProductPriceFixedCreate|\Polar\Models\Components\ProductPriceCustomCreate|\Polar\Models\Components\ProductPriceFreeCreate|\Polar\Models\Components\ProductPriceSeatBasedCreate|\Polar\Models\Components\ProductPriceMeteredUnitCreate> $prices + * @var array<\Polar\Models\Components\ProductPriceFixedCreate|\Polar\Models\Components\ProductPriceCustomCreate|\Polar\Models\Components\ProductPriceSeatBasedCreate|\Polar\Models\Components\ProductPriceMeteredUnitCreate> $prices */ #[\Speakeasy\Serializer\Annotation\SerializedName('prices')] - #[\Speakeasy\Serializer\Annotation\Type('array<\Polar\Models\Components\ProductPriceFixedCreate|\Polar\Models\Components\ProductPriceCustomCreate|\Polar\Models\Components\ProductPriceFreeCreate|\Polar\Models\Components\ProductPriceSeatBasedCreate|\Polar\Models\Components\ProductPriceMeteredUnitCreate>')] + #[\Speakeasy\Serializer\Annotation\Type('array<\Polar\Models\Components\ProductPriceFixedCreate|\Polar\Models\Components\ProductPriceCustomCreate|\Polar\Models\Components\ProductPriceSeatBasedCreate|\Polar\Models\Components\ProductPriceMeteredUnitCreate>')] public array $prices; /** * - * @var \Polar\Models\Components\SubscriptionRecurringInterval $recurringInterval + * @var \Polar\Models\Components\RecurringInterval $recurringInterval */ #[\Speakeasy\Serializer\Annotation\SerializedName('recurring_interval')] - #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\SubscriptionRecurringInterval')] - public SubscriptionRecurringInterval $recurringInterval; + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\RecurringInterval')] + public RecurringInterval $recurringInterval; /** * Key-value object allowing you to store additional information. @@ -123,6 +123,25 @@ class ProductCreateRecurring #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public ?int $trialIntervalCount = null; + /** + * Optional meter cycle, independent of the billing interval. When set, overage settlement, meter resets and meter-credit grants run on this cadence rather than the billing interval — e.g. yearly billing with monthly credits. It must evenly divide the billing interval. If `None`, metered concerns follow the billing interval. **Once set, it can't be changed.** + * + * @var ?\Polar\Models\Components\RecurringInterval $meterInterval + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('meter_interval')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\RecurringInterval|null')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?RecurringInterval $meterInterval = null; + + /** + * Number of meter interval units. Defaults to 1 when `meter_interval` is set. Ignored when `meter_interval` is `None`. + * + * @var ?int $meterIntervalCount + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('meter_interval_count')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?int $meterIntervalCount = null; + /** * Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. * @@ -134,8 +153,8 @@ class ProductCreateRecurring /** * @param string $name - * @param array<\Polar\Models\Components\ProductPriceFixedCreate|\Polar\Models\Components\ProductPriceCustomCreate|\Polar\Models\Components\ProductPriceFreeCreate|\Polar\Models\Components\ProductPriceSeatBasedCreate|\Polar\Models\Components\ProductPriceMeteredUnitCreate> $prices - * @param \Polar\Models\Components\SubscriptionRecurringInterval $recurringInterval + * @param array<\Polar\Models\Components\ProductPriceFixedCreate|\Polar\Models\Components\ProductPriceCustomCreate|\Polar\Models\Components\ProductPriceSeatBasedCreate|\Polar\Models\Components\ProductPriceMeteredUnitCreate> $prices + * @param \Polar\Models\Components\RecurringInterval $recurringInterval * @param ?array $metadata * @param ?\Polar\Models\Components\ProductVisibility $visibility * @param ?array<\Polar\Models\Components\AttachedCustomFieldCreate> $attachedCustomFields @@ -145,9 +164,11 @@ class ProductCreateRecurring * @param ?string $organizationId * @param ?\Polar\Models\Components\TrialInterval $trialInterval * @param ?int $trialIntervalCount + * @param ?\Polar\Models\Components\RecurringInterval $meterInterval + * @param ?int $meterIntervalCount * @phpstan-pure */ - public function __construct(string $name, array $prices, SubscriptionRecurringInterval $recurringInterval, ?array $metadata = null, ?ProductVisibility $visibility = null, ?array $attachedCustomFields = null, ?string $description = null, ?array $medias = null, ?string $organizationId = null, ?TrialInterval $trialInterval = null, ?int $trialIntervalCount = null, ?int $recurringIntervalCount = 1) + public function __construct(string $name, array $prices, RecurringInterval $recurringInterval, ?array $metadata = null, ?ProductVisibility $visibility = null, ?array $attachedCustomFields = null, ?string $description = null, ?array $medias = null, ?string $organizationId = null, ?TrialInterval $trialInterval = null, ?int $trialIntervalCount = null, ?RecurringInterval $meterInterval = null, ?int $meterIntervalCount = null, ?int $recurringIntervalCount = 1) { $this->name = $name; $this->prices = $prices; @@ -160,6 +181,8 @@ public function __construct(string $name, array $prices, SubscriptionRecurringIn $this->organizationId = $organizationId; $this->trialInterval = $trialInterval; $this->trialIntervalCount = $trialIntervalCount; + $this->meterInterval = $meterInterval; + $this->meterIntervalCount = $meterIntervalCount; $this->recurringIntervalCount = $recurringIntervalCount; } } \ No newline at end of file diff --git a/src/Models/Components/ProductPriceCustom.php b/src/Models/Components/ProductPriceCustom.php index 9107eda7..f1eb305a 100644 --- a/src/Models/Components/ProductPriceCustom.php +++ b/src/Models/Components/ProductPriceCustom.php @@ -61,7 +61,7 @@ class ProductPriceCustom public string $productId; /** - * The minimum amount the customer can pay. If 0, the price is 'free or pay what you want'. Defaults to 50 cents. + * The minimum amount the customer can pay. If 0, the price is 'free or pay what you want'. * * @var int $minimumAmount */ diff --git a/src/Models/Components/ProductPriceCustomCreate.php b/src/Models/Components/ProductPriceCustomCreate.php index 7690a2ba..4f10cbc1 100644 --- a/src/Models/Components/ProductPriceCustomCreate.php +++ b/src/Models/Components/ProductPriceCustomCreate.php @@ -32,7 +32,24 @@ class ProductPriceCustomCreate public ?TaxBehaviorOption $taxBehavior = null; /** - * The maximum amount the customer can pay. + * The maximum amount the customer can pay. Maximum per currency: + * + * - USD: 999,999.99 + * - EUR: 999,999.99 + * - GBP: 999,999.99 + * - ARS: 1,400,000 + * - CDF: 2,800,000 + * - COP: 4,000,000 + * - IDR: 16,000,000 + * - KHR: 4,000,000 + * - LAK: 21,000,000 + * - MNT: 3,500,000 + * - MWK: 1,750,000 + * - NGN: 1,550,000 + * - TZS: 2,500,000 + * - UGX: 3,700,000 + * - UZS: 12,500,000 + * - Other currencies: 99,999,999 minor units * * @var ?int $maximumAmount */ @@ -41,7 +58,135 @@ class ProductPriceCustomCreate public ?int $maximumAmount = null; /** - * The initial amount shown to the customer. If 0, the customer will see $0 as the default. Values between 1-49 are rejected. + * The initial amount shown to the customer. If 0, the customer will see $0 as the default. If set to a value below the minimum price amount for the currency, it will be rejected.Minimum per currency: + * + * - USD: 0.5 + * - AED: 2 + * - ALL: 50 + * - AMD: 200 + * - AOA: 500 + * - ARS: 750 + * - AUD: 0.7 + * - AWG: 1 + * - AZN: 1 + * - BAM: 1 + * - BBD: 2 + * - BDT: 70 + * - BIF: 2,000 + * - BMD: 1 + * - BND: 1 + * - BOB: 5 + * - BRL: 2.5 + * - BSD: 1 + * - BWP: 10 + * - BZD: 2 + * - CAD: 0.7 + * - CDF: 2,000 + * - CHF: 0.5 + * - CLP: 500 + * - CNY: 5 + * - COP: 2,000 + * - CRC: 300 + * - CVE: 50 + * - CZK: 15 + * - DJF: 100 + * - DKK: 3.2 + * - DOP: 40 + * - DZD: 70 + * - EGP: 30 + * - ETB: 80 + * - EUR: 0.5 + * - FJD: 2 + * - FKP: 1 + * - GBP: 0.4 + * - GEL: 2 + * - GNF: 5,000 + * - GIP: 1 + * - GMD: 40 + * - GTQ: 5 + * - GYD: 200 + * - HKD: 4 + * - HNL: 20 + * - HTG: 70 + * - HUF: 175 + * - IDR: 9,000 + * - ILS: 1.5 + * - INR: 60 + * - ISK: 70 + * - JMD: 80 + * - JPY: 80 + * - KES: 70 + * - KGS: 50 + * - KHR: 3,000 + * - KMF: 500 + * - KRW: 800 + * - KYD: 1 + * - KZT: 300 + * - LAK: 20,000 + * - LKR: 200 + * - LRD: 100 + * - LSL: 10 + * - MAD: 5 + * - MDL: 10 + * - MGA: 3,000 + * - MKD: 50 + * - MNT: 2,000 + * - MOP: 5 + * - MUR: 50 + * - MVR: 8 + * - MXN: 9 + * - MWK: 1,000 + * - MYR: 2 + * - MZN: 50 + * - NAD: 10 + * - NGN: 700 + * - NIO: 20 + * - NOK: 5 + * - NPR: 80 + * - NZD: 0.9 + * - PAB: 1 + * - PEN: 2 + * - PGK: 3 + * - PHP: 35 + * - PKR: 200 + * - PLN: 2 + * - PYG: 4,000 + * - QAR: 2 + * - RON: 2.5 + * - RSD: 60 + * - RWF: 1,000 + * - SAR: 2 + * - SBD: 4 + * - SCR: 8 + * - SEK: 5 + * - SGD: 0.7 + * - SHP: 1 + * - SOS: 500 + * - SRD: 20 + * - SZL: 10 + * - THB: 20 + * - TJS: 5 + * - TOP: 2 + * - TRY: 30 + * - TTD: 4 + * - TWD: 20 + * - TZS: 2,000 + * - UAH: 30 + * - UGX: 2,000 + * - UYU: 20 + * - UZS: 7,000 + * - VND: 20,000 + * - VUV: 100 + * - WST: 2 + * - XAF: 500 + * - XCD: 2 + * - XCG: 1 + * - XOF: 500 + * - XPF: 100 + * - YER: 200 + * - ZAR: 9 + * - ZMW: 10 + * - Other currencies: 50 minor units * * @var ?int $presetAmount */ @@ -57,7 +202,135 @@ class ProductPriceCustomCreate public string $amountType; /** - * The minimum amount the customer can pay. If set to 0, the price is 'free or pay what you want' and $0 is accepted. If set to a value between 1-49, it will be rejected. Defaults to 50 cents. + * The minimum amount the customer can pay. If set to 0, the price is 'free or pay what you want' and $0 is accepted. If set to a value below the minimum price amount for the currency, it will be rejected. Defaults to the minimum price amount for the currency. Minimum per currency: + * + * - USD: 0.5 + * - AED: 2 + * - ALL: 50 + * - AMD: 200 + * - AOA: 500 + * - ARS: 750 + * - AUD: 0.7 + * - AWG: 1 + * - AZN: 1 + * - BAM: 1 + * - BBD: 2 + * - BDT: 70 + * - BIF: 2,000 + * - BMD: 1 + * - BND: 1 + * - BOB: 5 + * - BRL: 2.5 + * - BSD: 1 + * - BWP: 10 + * - BZD: 2 + * - CAD: 0.7 + * - CDF: 2,000 + * - CHF: 0.5 + * - CLP: 500 + * - CNY: 5 + * - COP: 2,000 + * - CRC: 300 + * - CVE: 50 + * - CZK: 15 + * - DJF: 100 + * - DKK: 3.2 + * - DOP: 40 + * - DZD: 70 + * - EGP: 30 + * - ETB: 80 + * - EUR: 0.5 + * - FJD: 2 + * - FKP: 1 + * - GBP: 0.4 + * - GEL: 2 + * - GNF: 5,000 + * - GIP: 1 + * - GMD: 40 + * - GTQ: 5 + * - GYD: 200 + * - HKD: 4 + * - HNL: 20 + * - HTG: 70 + * - HUF: 175 + * - IDR: 9,000 + * - ILS: 1.5 + * - INR: 60 + * - ISK: 70 + * - JMD: 80 + * - JPY: 80 + * - KES: 70 + * - KGS: 50 + * - KHR: 3,000 + * - KMF: 500 + * - KRW: 800 + * - KYD: 1 + * - KZT: 300 + * - LAK: 20,000 + * - LKR: 200 + * - LRD: 100 + * - LSL: 10 + * - MAD: 5 + * - MDL: 10 + * - MGA: 3,000 + * - MKD: 50 + * - MNT: 2,000 + * - MOP: 5 + * - MUR: 50 + * - MVR: 8 + * - MXN: 9 + * - MWK: 1,000 + * - MYR: 2 + * - MZN: 50 + * - NAD: 10 + * - NGN: 700 + * - NIO: 20 + * - NOK: 5 + * - NPR: 80 + * - NZD: 0.9 + * - PAB: 1 + * - PEN: 2 + * - PGK: 3 + * - PHP: 35 + * - PKR: 200 + * - PLN: 2 + * - PYG: 4,000 + * - QAR: 2 + * - RON: 2.5 + * - RSD: 60 + * - RWF: 1,000 + * - SAR: 2 + * - SBD: 4 + * - SCR: 8 + * - SEK: 5 + * - SGD: 0.7 + * - SHP: 1 + * - SOS: 500 + * - SRD: 20 + * - SZL: 10 + * - THB: 20 + * - TJS: 5 + * - TOP: 2 + * - TRY: 30 + * - TTD: 4 + * - TWD: 20 + * - TZS: 2,000 + * - UAH: 30 + * - UGX: 2,000 + * - UYU: 20 + * - UZS: 7,000 + * - VND: 20,000 + * - VUV: 100 + * - WST: 2 + * - XAF: 500 + * - XCD: 2 + * - XCG: 1 + * - XOF: 500 + * - XPF: 100 + * - YER: 200 + * - ZAR: 9 + * - ZMW: 10 + * - Other currencies: 50 minor units * * @var ?int $minimumAmount */ diff --git a/src/Models/Components/ProductPriceFixedCreate.php b/src/Models/Components/ProductPriceFixedCreate.php index 03d9cfad..ec1fadaa 100644 --- a/src/Models/Components/ProductPriceFixedCreate.php +++ b/src/Models/Components/ProductPriceFixedCreate.php @@ -13,40 +13,136 @@ class ProductPriceFixedCreate { /** - * The price in cents. + * The price in cents. Set to `0` for a free price. * * Minimum amounts per currency: - * - USD: $0.50 - * - AED: AED2.00 - * - ARS: ARS0.50 - * - AUD: A$0.50 - * - BRL: R$0.50 - * - CAD: CA$0.50 - * - CHF: CHF0.50 - * - COP: COP0.50 - * - CZK: CZK15.00 - * - DKK: DKK2.50 - * - EUR: €0.50 - * - GBP: £0.30 - * - HKD: HK$4.00 - * - HUF: HUF175.00 - * - IDR: IDR0.50 - * - ILS: ₪0.50 - * - INR: ₹60.00 - * - JPY: ¥50 - * - KRW: ₩50 - * - MXN: MX$0.10 - * - MYR: MYR2.00 - * - NOK: NOK3.00 - * - NZD: NZ$0.50 - * - PHP: ₱0.50 - * - PLN: PLN2.00 - * - RON: RON2.00 - * - RUB: RUB0.50 - * - SEK: SEK3.00 - * - SGD: SGD0.50 - * - THB: THB0.10 - * - ZAR: ZAR0.50 + * - USD: 0.5 + * - AED: 2 + * - ALL: 50 + * - AMD: 200 + * - AOA: 500 + * - ARS: 750 + * - AUD: 0.7 + * - AWG: 1 + * - AZN: 1 + * - BAM: 1 + * - BBD: 2 + * - BDT: 70 + * - BIF: 2,000 + * - BMD: 1 + * - BND: 1 + * - BOB: 5 + * - BRL: 2.5 + * - BSD: 1 + * - BWP: 10 + * - BZD: 2 + * - CAD: 0.7 + * - CDF: 2,000 + * - CHF: 0.5 + * - CLP: 500 + * - CNY: 5 + * - COP: 2,000 + * - CRC: 300 + * - CVE: 50 + * - CZK: 15 + * - DJF: 100 + * - DKK: 3.2 + * - DOP: 40 + * - DZD: 70 + * - EGP: 30 + * - ETB: 80 + * - EUR: 0.5 + * - FJD: 2 + * - FKP: 1 + * - GBP: 0.4 + * - GEL: 2 + * - GNF: 5,000 + * - GIP: 1 + * - GMD: 40 + * - GTQ: 5 + * - GYD: 200 + * - HKD: 4 + * - HNL: 20 + * - HTG: 70 + * - HUF: 175 + * - IDR: 9,000 + * - ILS: 1.5 + * - INR: 60 + * - ISK: 70 + * - JMD: 80 + * - JPY: 80 + * - KES: 70 + * - KGS: 50 + * - KHR: 3,000 + * - KMF: 500 + * - KRW: 800 + * - KYD: 1 + * - KZT: 300 + * - LAK: 20,000 + * - LKR: 200 + * - LRD: 100 + * - LSL: 10 + * - MAD: 5 + * - MDL: 10 + * - MGA: 3,000 + * - MKD: 50 + * - MNT: 2,000 + * - MOP: 5 + * - MUR: 50 + * - MVR: 8 + * - MXN: 9 + * - MWK: 1,000 + * - MYR: 2 + * - MZN: 50 + * - NAD: 10 + * - NGN: 700 + * - NIO: 20 + * - NOK: 5 + * - NPR: 80 + * - NZD: 0.9 + * - PAB: 1 + * - PEN: 2 + * - PGK: 3 + * - PHP: 35 + * - PKR: 200 + * - PLN: 2 + * - PYG: 4,000 + * - QAR: 2 + * - RON: 2.5 + * - RSD: 60 + * - RWF: 1,000 + * - SAR: 2 + * - SBD: 4 + * - SCR: 8 + * - SEK: 5 + * - SGD: 0.7 + * - SHP: 1 + * - SOS: 500 + * - SRD: 20 + * - SZL: 10 + * - THB: 20 + * - TJS: 5 + * - TOP: 2 + * - TRY: 30 + * - TTD: 4 + * - TWD: 20 + * - TZS: 2,000 + * - UAH: 30 + * - UGX: 2,000 + * - UYU: 20 + * - UZS: 7,000 + * - VND: 20,000 + * - VUV: 100 + * - WST: 2 + * - XAF: 500 + * - XCD: 2 + * - XCG: 1 + * - XOF: 500 + * - XPF: 100 + * - YER: 200 + * - ZAR: 9 + * - ZMW: 10 + * - Other currencies: 50 minor units * * @var int $priceAmount */ diff --git a/src/Models/Components/ProductPriceFree.php b/src/Models/Components/ProductPriceFree.php deleted file mode 100644 index 26a1146c..00000000 --- a/src/Models/Components/ProductPriceFree.php +++ /dev/null @@ -1,111 +0,0 @@ -createdAt = $createdAt; - $this->id = $id; - $this->source = $source; - $this->priceCurrency = $priceCurrency; - $this->isArchived = $isArchived; - $this->productId = $productId; - $this->modifiedAt = $modifiedAt; - $this->taxBehavior = $taxBehavior; - $this->amountType = $amountType; - } -} \ No newline at end of file diff --git a/src/Models/Components/ProductPriceFreeCreate.php b/src/Models/Components/ProductPriceFreeCreate.php deleted file mode 100644 index 58b19edc..00000000 --- a/src/Models/Components/ProductPriceFreeCreate.php +++ /dev/null @@ -1,53 +0,0 @@ -priceCurrency = $priceCurrency; - $this->taxBehavior = $taxBehavior; - $this->amountType = $amountType; - } -} \ No newline at end of file diff --git a/src/Models/Components/ProductPriceMeter.php b/src/Models/Components/ProductPriceMeter.php index f43fb83c..c493d2e9 100644 --- a/src/Models/Components/ProductPriceMeter.php +++ b/src/Models/Components/ProductPriceMeter.php @@ -28,14 +28,44 @@ class ProductPriceMeter #[\Speakeasy\Serializer\Annotation\SerializedName('name')] public string $name; + /** + * + * @var \Polar\Models\Components\MeterUnit $unit + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('unit')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\MeterUnit')] + public MeterUnit $unit; + + /** + * The label for the custom unit. + * + * @var ?string $customLabel + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('custom_label')] + public ?string $customLabel; + + /** + * The multiplier to convert from base unit to display scale. + * + * @var ?int $customMultiplier + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('custom_multiplier')] + public ?int $customMultiplier; + /** * @param string $id * @param string $name + * @param \Polar\Models\Components\MeterUnit $unit + * @param ?string $customLabel + * @param ?int $customMultiplier * @phpstan-pure */ - public function __construct(string $id, string $name) + public function __construct(string $id, string $name, MeterUnit $unit, ?string $customLabel = null, ?int $customMultiplier = null) { $this->id = $id; $this->name = $name; + $this->unit = $unit; + $this->customLabel = $customLabel; + $this->customMultiplier = $customMultiplier; } } \ No newline at end of file diff --git a/src/Models/Components/ProductUpdate.php b/src/Models/Components/ProductUpdate.php index f808d911..448940c4 100644 --- a/src/Models/Components/ProductUpdate.php +++ b/src/Models/Components/ProductUpdate.php @@ -72,12 +72,12 @@ class ProductUpdate /** * The recurring interval of the product. If `None`, the product is a one-time purchase. **Can only be set on legacy recurring products. Once set, it can't be changed.** * - * @var ?\Polar\Models\Components\SubscriptionRecurringInterval $recurringInterval + * @var ?\Polar\Models\Components\RecurringInterval $recurringInterval */ #[\Speakeasy\Serializer\Annotation\SerializedName('recurring_interval')] - #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\SubscriptionRecurringInterval|null')] + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\RecurringInterval|null')] #[\Speakeasy\Serializer\Annotation\SkipWhenNull] - public ?SubscriptionRecurringInterval $recurringInterval = null; + public ?RecurringInterval $recurringInterval = null; /** * Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. Once set, it can't be changed.** @@ -110,10 +110,10 @@ class ProductUpdate /** * List of available prices for this product. If you want to keep existing prices, include them in the list as an `ExistingProductPrice` object. * - * @var ?array<\Polar\Models\Components\ExistingProductPrice|\Polar\Models\Components\ProductPriceFixedCreate|\Polar\Models\Components\ProductPriceCustomCreate|\Polar\Models\Components\ProductPriceFreeCreate|\Polar\Models\Components\ProductPriceSeatBasedCreate|\Polar\Models\Components\ProductPriceMeteredUnitCreate> $prices + * @var ?array<\Polar\Models\Components\ExistingProductPrice|\Polar\Models\Components\ProductPriceFixedCreate|\Polar\Models\Components\ProductPriceCustomCreate|\Polar\Models\Components\ProductPriceSeatBasedCreate|\Polar\Models\Components\ProductPriceMeteredUnitCreate> $prices */ #[\Speakeasy\Serializer\Annotation\SerializedName('prices')] - #[\Speakeasy\Serializer\Annotation\Type('array<\Polar\Models\Components\ExistingProductPrice|\Polar\Models\Components\ProductPriceFixedCreate|\Polar\Models\Components\ProductPriceCustomCreate|\Polar\Models\Components\ProductPriceFreeCreate|\Polar\Models\Components\ProductPriceSeatBasedCreate|\Polar\Models\Components\ProductPriceMeteredUnitCreate>|null')] + #[\Speakeasy\Serializer\Annotation\Type('array<\Polar\Models\Components\ExistingProductPrice|\Polar\Models\Components\ProductPriceFixedCreate|\Polar\Models\Components\ProductPriceCustomCreate|\Polar\Models\Components\ProductPriceSeatBasedCreate|\Polar\Models\Components\ProductPriceMeteredUnitCreate>|null')] #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public ?array $prices = null; @@ -143,16 +143,16 @@ class ProductUpdate * @param ?int $trialIntervalCount * @param ?string $name * @param ?string $description - * @param ?\Polar\Models\Components\SubscriptionRecurringInterval $recurringInterval + * @param ?\Polar\Models\Components\RecurringInterval $recurringInterval * @param ?int $recurringIntervalCount * @param ?bool $isArchived * @param ?\Polar\Models\Components\ProductVisibility $visibility - * @param ?array<\Polar\Models\Components\ExistingProductPrice|\Polar\Models\Components\ProductPriceFixedCreate|\Polar\Models\Components\ProductPriceCustomCreate|\Polar\Models\Components\ProductPriceFreeCreate|\Polar\Models\Components\ProductPriceSeatBasedCreate|\Polar\Models\Components\ProductPriceMeteredUnitCreate> $prices + * @param ?array<\Polar\Models\Components\ExistingProductPrice|\Polar\Models\Components\ProductPriceFixedCreate|\Polar\Models\Components\ProductPriceCustomCreate|\Polar\Models\Components\ProductPriceSeatBasedCreate|\Polar\Models\Components\ProductPriceMeteredUnitCreate> $prices * @param ?array $medias * @param ?array<\Polar\Models\Components\AttachedCustomFieldCreate> $attachedCustomFields * @phpstan-pure */ - public function __construct(?array $metadata = null, ?TrialInterval $trialInterval = null, ?int $trialIntervalCount = null, ?string $name = null, ?string $description = null, ?SubscriptionRecurringInterval $recurringInterval = null, ?int $recurringIntervalCount = null, ?bool $isArchived = null, ?ProductVisibility $visibility = null, ?array $prices = null, ?array $medias = null, ?array $attachedCustomFields = null) + public function __construct(?array $metadata = null, ?TrialInterval $trialInterval = null, ?int $trialIntervalCount = null, ?string $name = null, ?string $description = null, ?RecurringInterval $recurringInterval = null, ?int $recurringIntervalCount = null, ?bool $isArchived = null, ?ProductVisibility $visibility = null, ?array $prices = null, ?array $medias = null, ?array $attachedCustomFields = null) { $this->metadata = $metadata; $this->trialInterval = $trialInterval; diff --git a/src/Models/Components/PublicSubscriptionProrationBehavior.php b/src/Models/Components/PublicSubscriptionProrationBehavior.php new file mode 100644 index 00000000..fda5213c --- /dev/null +++ b/src/Models/Components/PublicSubscriptionProrationBehavior.php @@ -0,0 +1,17 @@ + $metadata * @param ?bool $revokeBenefits * @param ?string $comment * @phpstan-pure */ - public function __construct(string $orderId, RefundReason $reason, int $amount, ?array $metadata = null, ?string $comment = null, ?bool $revokeBenefits = false) + public function __construct(string $orderId, Reason $reason, int $amount, ?array $metadata = null, ?string $comment = null, ?bool $revokeBenefits = false) { $this->orderId = $orderId; $this->reason = $reason; diff --git a/src/Models/Components/RefundDispute.php b/src/Models/Components/RefundDispute.php index 10a3ac76..f7b39772 100644 --- a/src/Models/Components/RefundDispute.php +++ b/src/Models/Components/RefundDispute.php @@ -80,6 +80,14 @@ class RefundDispute #[\Speakeasy\Serializer\Annotation\SerializedName('currency')] public string $currency; + /** + * Whether the evidence submission deadline has passed. + * + * @var bool $pastDue + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('past_due')] + public bool $pastDue; + /** * The ID of the order associated with the dispute. * @@ -104,6 +112,22 @@ class RefundDispute #[\Speakeasy\Serializer\Annotation\SerializedName('modified_at')] public ?\DateTime $modifiedAt; + /** + * The reason for the dispute as reported by the card network (e.g. `fraudulent`, `product_not_received`). `None` until the processor reports it. + * + * @var ?string $reason + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('reason')] + public ?string $reason; + + /** + * Deadline to submit evidence in response to the dispute. `None` when no response is required. + * + * @var ?\DateTime $evidenceDueBy + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('evidence_due_by')] + public ?\DateTime $evidenceDueBy; + /** * @param \DateTime $createdAt * @param string $id @@ -113,12 +137,15 @@ class RefundDispute * @param int $amount * @param int $taxAmount * @param string $currency + * @param bool $pastDue * @param string $orderId * @param string $paymentId * @param ?\DateTime $modifiedAt + * @param ?string $reason + * @param ?\DateTime $evidenceDueBy * @phpstan-pure */ - public function __construct(\DateTime $createdAt, string $id, DisputeStatus $status, bool $resolved, bool $closed, int $amount, int $taxAmount, string $currency, string $orderId, string $paymentId, ?\DateTime $modifiedAt = null) + public function __construct(\DateTime $createdAt, string $id, DisputeStatus $status, bool $resolved, bool $closed, int $amount, int $taxAmount, string $currency, bool $pastDue, string $orderId, string $paymentId, ?\DateTime $modifiedAt = null, ?string $reason = null, ?\DateTime $evidenceDueBy = null) { $this->createdAt = $createdAt; $this->id = $id; @@ -128,8 +155,11 @@ public function __construct(\DateTime $createdAt, string $id, DisputeStatus $sta $this->amount = $amount; $this->taxAmount = $taxAmount; $this->currency = $currency; + $this->pastDue = $pastDue; $this->orderId = $orderId; $this->paymentId = $paymentId; $this->modifiedAt = $modifiedAt; + $this->reason = $reason; + $this->evidenceDueBy = $evidenceDueBy; } } \ No newline at end of file diff --git a/src/Models/Components/Role.php b/src/Models/Components/Role.php new file mode 100644 index 00000000..c7e7e244 --- /dev/null +++ b/src/Models/Components/Role.php @@ -0,0 +1,17 @@ + $metadata * @phpstan-pure */ - public function __construct(?string $subscriptionId = null, ?string $checkoutId = null, ?string $orderId = null, ?string $email = null, ?string $externalCustomerId = null, ?string $customerId = null, ?string $externalMemberId = null, ?string $memberId = null, ?array $metadata = null, ?bool $immediateClaim = false) + public function __construct(?string $subscriptionId = null, ?string $orderId = null, ?string $email = null, ?string $externalCustomerId = null, ?string $customerId = null, ?string $externalMemberId = null, ?string $memberId = null, ?array $metadata = null, ?bool $immediateClaim = false) { $this->subscriptionId = $subscriptionId; - $this->checkoutId = $checkoutId; $this->orderId = $orderId; $this->email = $email; $this->externalCustomerId = $externalCustomerId; diff --git a/src/Models/Components/Subscription.php b/src/Models/Components/Subscription.php index 714a799f..387592e7 100644 --- a/src/Models/Components/Subscription.php +++ b/src/Models/Components/Subscription.php @@ -45,11 +45,11 @@ class Subscription /** * - * @var \Polar\Models\Components\SubscriptionRecurringInterval $recurringInterval + * @var \Polar\Models\Components\RecurringInterval $recurringInterval */ #[\Speakeasy\Serializer\Annotation\SerializedName('recurring_interval')] - #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\SubscriptionRecurringInterval')] - public SubscriptionRecurringInterval $recurringInterval; + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\RecurringInterval')] + public RecurringInterval $recurringInterval; /** * Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. @@ -91,6 +91,14 @@ class Subscription #[\Speakeasy\Serializer\Annotation\SerializedName('cancel_at_period_end')] public bool $cancelAtPeriodEnd; + /** + * Whether the subscription will be paused at the end of the current period. + * + * @var bool $pauseAtPeriodEnd + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('pause_at_period_end')] + public bool $pauseAtPeriodEnd; + /** * The ID of the subscribed customer. * @@ -136,10 +144,10 @@ class Subscription /** * List of enabled prices for the subscription. * - * @var array<\Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\LegacyRecurringProductPriceFree|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceFree|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit> $prices + * @var array<\Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit> $prices */ #[\Speakeasy\Serializer\Annotation\SerializedName('prices')] - #[\Speakeasy\Serializer\Annotation\Type('array<\Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\LegacyRecurringProductPriceFree|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceFree|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit>')] + #[\Speakeasy\Serializer\Annotation\Type('array<\Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit>')] public array $prices; /** @@ -159,6 +167,22 @@ class Subscription #[\Speakeasy\Serializer\Annotation\SerializedName('modified_at')] public ?\DateTime $modifiedAt; + /** + * The start timestamp of the current meter period, if the product has a meter cycle set. Metered credits are granted and overage is settled on this cadence. + * + * @var ?\DateTime $currentMeterPeriodStart + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('current_meter_period_start')] + public ?\DateTime $currentMeterPeriodStart; + + /** + * The end timestamp of the current meter period, if the product has a meter cycle set. This is when credits next renew. + * + * @var ?\DateTime $currentMeterPeriodEnd + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('current_meter_period_end')] + public ?\DateTime $currentMeterPeriodEnd; + /** * The start timestamp of the trial period, if any. * @@ -207,6 +231,22 @@ class Subscription #[\Speakeasy\Serializer\Annotation\SerializedName('ended_at')] public ?\DateTime $endedAt; + /** + * The timestamp when the subscription was paused. + * + * @var ?\DateTime $pausedAt + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('paused_at')] + public ?\DateTime $pausedAt; + + /** + * The timestamp when a paused subscription is scheduled to automatically resume, if set. + * + * @var ?\DateTime $resumesAt + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('resumes_at')] + public ?\DateTime $resumesAt; + /** * The ID of the applied discount, if any. * @@ -264,6 +304,15 @@ class Subscription #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\PendingSubscriptionUpdate|null')] public ?PendingSubscriptionUpdate $pendingUpdate; + /** + * The timestamp when the subscription entered `past_due` status. + * + * @var ?\DateTime $pastDueAt + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('past_due_at')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?\DateTime $pastDueAt = null; + /** * The number of seats for seat-based subscriptions. None for non-seat subscriptions. * @@ -278,26 +327,31 @@ class Subscription * @param string $id * @param int $amount * @param string $currency - * @param \Polar\Models\Components\SubscriptionRecurringInterval $recurringInterval + * @param \Polar\Models\Components\RecurringInterval $recurringInterval * @param int $recurringIntervalCount * @param \Polar\Models\Components\SubscriptionStatus $status * @param \DateTime $currentPeriodStart * @param \DateTime $currentPeriodEnd * @param bool $cancelAtPeriodEnd + * @param bool $pauseAtPeriodEnd * @param string $customerId * @param string $productId * @param array $metadata * @param \Polar\Models\Components\SubscriptionCustomer $customer * @param \Polar\Models\Components\Product $product - * @param array<\Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\LegacyRecurringProductPriceFree|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceFree|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit> $prices + * @param array<\Polar\Models\Components\LegacyRecurringProductPriceFixed|\Polar\Models\Components\LegacyRecurringProductPriceCustom|\Polar\Models\Components\ProductPriceFixed|\Polar\Models\Components\ProductPriceCustom|\Polar\Models\Components\ProductPriceSeatBased|\Polar\Models\Components\ProductPriceMeteredUnit> $prices * @param array<\Polar\Models\Components\SubscriptionMeter> $meters * @param ?\DateTime $modifiedAt + * @param ?\DateTime $currentMeterPeriodStart + * @param ?\DateTime $currentMeterPeriodEnd * @param ?\DateTime $trialStart * @param ?\DateTime $trialEnd * @param ?\DateTime $canceledAt * @param ?\DateTime $startedAt * @param ?\DateTime $endsAt * @param ?\DateTime $endedAt + * @param ?\DateTime $pausedAt + * @param ?\DateTime $resumesAt * @param ?string $discountId * @param ?string $checkoutId * @param ?\Polar\Models\Components\CustomerCancellationReason $customerCancellationReason @@ -305,10 +359,11 @@ class Subscription * @param ?array $customFieldData * @param \Polar\Models\Components\DiscountFixedOnceForeverDurationBase|\Polar\Models\Components\DiscountFixedRepeatDurationBase|\Polar\Models\Components\DiscountPercentageOnceForeverDurationBase|\Polar\Models\Components\DiscountPercentageRepeatDurationBase|null $discount * @param ?\Polar\Models\Components\PendingSubscriptionUpdate $pendingUpdate + * @param ?\DateTime $pastDueAt * @param ?int $seats * @phpstan-pure */ - public function __construct(\DateTime $createdAt, string $id, int $amount, string $currency, SubscriptionRecurringInterval $recurringInterval, int $recurringIntervalCount, SubscriptionStatus $status, \DateTime $currentPeriodStart, \DateTime $currentPeriodEnd, bool $cancelAtPeriodEnd, string $customerId, string $productId, array $metadata, SubscriptionCustomer $customer, Product $product, array $prices, array $meters, ?\DateTime $modifiedAt = null, ?\DateTime $trialStart = null, ?\DateTime $trialEnd = null, ?\DateTime $canceledAt = null, ?\DateTime $startedAt = null, ?\DateTime $endsAt = null, ?\DateTime $endedAt = null, ?string $discountId = null, ?string $checkoutId = null, ?CustomerCancellationReason $customerCancellationReason = null, ?string $customerCancellationComment = null, ?array $customFieldData = null, DiscountFixedOnceForeverDurationBase|DiscountFixedRepeatDurationBase|DiscountPercentageOnceForeverDurationBase|DiscountPercentageRepeatDurationBase|null $discount = null, ?PendingSubscriptionUpdate $pendingUpdate = null, ?int $seats = null) + public function __construct(\DateTime $createdAt, string $id, int $amount, string $currency, RecurringInterval $recurringInterval, int $recurringIntervalCount, SubscriptionStatus $status, \DateTime $currentPeriodStart, \DateTime $currentPeriodEnd, bool $cancelAtPeriodEnd, bool $pauseAtPeriodEnd, string $customerId, string $productId, array $metadata, SubscriptionCustomer $customer, Product $product, array $prices, array $meters, ?\DateTime $modifiedAt = null, ?\DateTime $currentMeterPeriodStart = null, ?\DateTime $currentMeterPeriodEnd = null, ?\DateTime $trialStart = null, ?\DateTime $trialEnd = null, ?\DateTime $canceledAt = null, ?\DateTime $startedAt = null, ?\DateTime $endsAt = null, ?\DateTime $endedAt = null, ?\DateTime $pausedAt = null, ?\DateTime $resumesAt = null, ?string $discountId = null, ?string $checkoutId = null, ?CustomerCancellationReason $customerCancellationReason = null, ?string $customerCancellationComment = null, ?array $customFieldData = null, DiscountFixedOnceForeverDurationBase|DiscountFixedRepeatDurationBase|DiscountPercentageOnceForeverDurationBase|DiscountPercentageRepeatDurationBase|null $discount = null, ?PendingSubscriptionUpdate $pendingUpdate = null, ?\DateTime $pastDueAt = null, ?int $seats = null) { $this->createdAt = $createdAt; $this->id = $id; @@ -320,6 +375,7 @@ public function __construct(\DateTime $createdAt, string $id, int $amount, strin $this->currentPeriodStart = $currentPeriodStart; $this->currentPeriodEnd = $currentPeriodEnd; $this->cancelAtPeriodEnd = $cancelAtPeriodEnd; + $this->pauseAtPeriodEnd = $pauseAtPeriodEnd; $this->customerId = $customerId; $this->productId = $productId; $this->metadata = $metadata; @@ -328,12 +384,16 @@ public function __construct(\DateTime $createdAt, string $id, int $amount, strin $this->prices = $prices; $this->meters = $meters; $this->modifiedAt = $modifiedAt; + $this->currentMeterPeriodStart = $currentMeterPeriodStart; + $this->currentMeterPeriodEnd = $currentMeterPeriodEnd; $this->trialStart = $trialStart; $this->trialEnd = $trialEnd; $this->canceledAt = $canceledAt; $this->startedAt = $startedAt; $this->endsAt = $endsAt; $this->endedAt = $endedAt; + $this->pausedAt = $pausedAt; + $this->resumesAt = $resumesAt; $this->discountId = $discountId; $this->checkoutId = $checkoutId; $this->customerCancellationReason = $customerCancellationReason; @@ -341,6 +401,7 @@ public function __construct(\DateTime $createdAt, string $id, int $amount, strin $this->customFieldData = $customFieldData; $this->discount = $discount; $this->pendingUpdate = $pendingUpdate; + $this->pastDueAt = $pastDueAt; $this->seats = $seats; } } \ No newline at end of file diff --git a/src/Models/Components/SubscriptionCustomer.php b/src/Models/Components/SubscriptionCustomer.php index 579a4605..80c0d8d7 100644 --- a/src/Models/Components/SubscriptionCustomer.php +++ b/src/Models/Components/SubscriptionCustomer.php @@ -60,13 +60,6 @@ class SubscriptionCustomer #[\Speakeasy\Serializer\Annotation\SerializedName('organization_id')] public string $organizationId; - /** - * - * @var string $avatarUrl - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('avatar_url')] - public string $avatarUrl; - /** * Last modification timestamp of the object. * @@ -83,6 +76,14 @@ class SubscriptionCustomer #[\Speakeasy\Serializer\Annotation\SerializedName('name')] public ?string $name; + /** + * The name that should appear on the customer's invoices. Falls back to the customer name when not explicitly set. + * + * @var ?string $billingName + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('billing_name')] + public ?string $billingName; + /** * * @var ?\Polar\Models\Components\Address $billingAddress @@ -108,6 +109,13 @@ class SubscriptionCustomer #[\Speakeasy\Serializer\Annotation\SerializedName('deleted_at')] public ?\DateTime $deletedAt; + /** + * + * @var ?string $avatarUrl + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('avatar_url')] + public ?string $avatarUrl; + /** * The ID of the customer in your system. This must be unique within the organization. Once set, it can't be updated. * @@ -134,6 +142,15 @@ class SubscriptionCustomer #[\Speakeasy\Serializer\Annotation\SkipWhenNull] public ?string $locale = null; + /** + * The ID of the customer's default payment method, if any. Use the payment methods endpoint to retrieve its details. + * + * @var ?string $defaultPaymentMethodId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('default_payment_method_id')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $defaultPaymentMethodId = null; + /** * @param string $id * @param \DateTime $createdAt @@ -141,18 +158,20 @@ class SubscriptionCustomer * @param bool $emailVerified * @param \Polar\Models\Components\CustomerType $type * @param string $organizationId - * @param string $avatarUrl * @param ?\DateTime $modifiedAt * @param ?string $name + * @param ?string $billingName * @param ?\Polar\Models\Components\Address $billingAddress * @param ?array $taxId * @param ?\DateTime $deletedAt + * @param ?string $avatarUrl * @param ?string $externalId * @param ?string $email * @param ?string $locale + * @param ?string $defaultPaymentMethodId * @phpstan-pure */ - public function __construct(string $id, \DateTime $createdAt, array $metadata, bool $emailVerified, CustomerType $type, string $organizationId, string $avatarUrl, ?\DateTime $modifiedAt = null, ?string $name = null, ?Address $billingAddress = null, ?array $taxId = null, ?\DateTime $deletedAt = null, ?string $externalId = null, ?string $email = null, ?string $locale = null) + public function __construct(string $id, \DateTime $createdAt, array $metadata, bool $emailVerified, CustomerType $type, string $organizationId, ?\DateTime $modifiedAt = null, ?string $name = null, ?string $billingName = null, ?Address $billingAddress = null, ?array $taxId = null, ?\DateTime $deletedAt = null, ?string $avatarUrl = null, ?string $externalId = null, ?string $email = null, ?string $locale = null, ?string $defaultPaymentMethodId = null) { $this->id = $id; $this->createdAt = $createdAt; @@ -160,14 +179,16 @@ public function __construct(string $id, \DateTime $createdAt, array $metadata, b $this->emailVerified = $emailVerified; $this->type = $type; $this->organizationId = $organizationId; - $this->avatarUrl = $avatarUrl; $this->modifiedAt = $modifiedAt; $this->name = $name; + $this->billingName = $billingName; $this->billingAddress = $billingAddress; $this->taxId = $taxId; $this->deletedAt = $deletedAt; + $this->avatarUrl = $avatarUrl; $this->externalId = $externalId; $this->email = $email; $this->locale = $locale; + $this->defaultPaymentMethodId = $defaultPaymentMethodId; } } \ No newline at end of file diff --git a/src/Models/Components/SubscriptionPastDueEvent.php b/src/Models/Components/SubscriptionPastDueEvent.php new file mode 100644 index 00000000..d4a00bbf --- /dev/null +++ b/src/Models/Components/SubscriptionPastDueEvent.php @@ -0,0 +1,167 @@ + '\Polar\Models\Components\CustomerIndividual', 'team' => '\Polar\Models\Components\CustomerTeam'])] + public CustomerIndividual|CustomerTeam|null $customer; + + /** + * ID of the customer in your system associated with the event. + * + * @var ?string $externalCustomerId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('external_customer_id')] + public ?string $externalCustomerId; + + /** + * ID of the member within the customer's organization who performed the action inside B2B. + * + * @var ?string $memberId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('member_id')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $memberId = null; + + /** + * ID of the member in your system within the customer's organization who performed the action inside B2B. + * + * @var ?string $externalMemberId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('external_member_id')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $externalMemberId = null; + + /** + * The ID of the parent event. + * + * @var ?string $parentId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('parent_id')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $parentId = null; + + /** + * The source of the event. `system` events are created by Polar. `user` events are the one you create through our ingestion API. + * + * @var string $source + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('source')] + public string $source; + + /** + * The name of the event. + * + * @var string $name + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('name')] + public string $name; + + /** + * Number of direct child events linked to this event. + * + * @var ?int $childCount + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('child_count')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?int $childCount = null; + + /** + * @param string $id + * @param \DateTime $timestamp + * @param string $organizationId + * @param string $label + * @param string $source + * @param string $name + * @param \Polar\Models\Components\SubscriptionPastDueMetadata $metadata + * @param ?string $customerId + * @param \Polar\Models\Components\CustomerIndividual|\Polar\Models\Components\CustomerTeam|null $customer + * @param ?string $externalCustomerId + * @param ?int $childCount + * @param ?string $memberId + * @param ?string $externalMemberId + * @param ?string $parentId + * @phpstan-pure + */ + public function __construct(string $id, \DateTime $timestamp, string $organizationId, string $label, SubscriptionPastDueMetadata $metadata, ?string $customerId = null, CustomerIndividual|CustomerTeam|null $customer = null, ?string $externalCustomerId = null, ?string $memberId = null, ?string $externalMemberId = null, ?string $parentId = null, string $source = 'system', string $name = 'subscription.past_due', ?int $childCount = 0) + { + $this->id = $id; + $this->timestamp = $timestamp; + $this->organizationId = $organizationId; + $this->label = $label; + $this->metadata = $metadata; + $this->customerId = $customerId; + $this->customer = $customer; + $this->externalCustomerId = $externalCustomerId; + $this->memberId = $memberId; + $this->externalMemberId = $externalMemberId; + $this->parentId = $parentId; + $this->source = $source; + $this->name = $name; + $this->childCount = $childCount; + } +} \ No newline at end of file diff --git a/src/Models/Components/SubscriptionPastDueMetadata.php b/src/Models/Components/SubscriptionPastDueMetadata.php new file mode 100644 index 00000000..851c724c --- /dev/null +++ b/src/Models/Components/SubscriptionPastDueMetadata.php @@ -0,0 +1,88 @@ +subscriptionId = $subscriptionId; + $this->pastDueAt = $pastDueAt; + $this->productId = $productId; + $this->amount = $amount; + $this->currency = $currency; + $this->recurringInterval = $recurringInterval; + $this->recurringIntervalCount = $recurringIntervalCount; + } +} \ No newline at end of file diff --git a/src/Models/Components/SubscriptionPause.php b/src/Models/Components/SubscriptionPause.php new file mode 100644 index 00000000..395cab04 --- /dev/null +++ b/src/Models/Components/SubscriptionPause.php @@ -0,0 +1,49 @@ +pauseAtPeriodEnd = $pauseAtPeriodEnd; + $this->resumesAt = $resumesAt; + } +} \ No newline at end of file diff --git a/src/Models/Components/SubscriptionPausedEvent.php b/src/Models/Components/SubscriptionPausedEvent.php new file mode 100644 index 00000000..7562ba81 --- /dev/null +++ b/src/Models/Components/SubscriptionPausedEvent.php @@ -0,0 +1,167 @@ + '\Polar\Models\Components\CustomerIndividual', 'team' => '\Polar\Models\Components\CustomerTeam'])] + public CustomerIndividual|CustomerTeam|null $customer; + + /** + * ID of the customer in your system associated with the event. + * + * @var ?string $externalCustomerId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('external_customer_id')] + public ?string $externalCustomerId; + + /** + * ID of the member within the customer's organization who performed the action inside B2B. + * + * @var ?string $memberId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('member_id')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $memberId = null; + + /** + * ID of the member in your system within the customer's organization who performed the action inside B2B. + * + * @var ?string $externalMemberId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('external_member_id')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $externalMemberId = null; + + /** + * The ID of the parent event. + * + * @var ?string $parentId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('parent_id')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $parentId = null; + + /** + * The source of the event. `system` events are created by Polar. `user` events are the one you create through our ingestion API. + * + * @var string $source + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('source')] + public string $source; + + /** + * The name of the event. + * + * @var string $name + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('name')] + public string $name; + + /** + * Number of direct child events linked to this event. + * + * @var ?int $childCount + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('child_count')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?int $childCount = null; + + /** + * @param string $id + * @param \DateTime $timestamp + * @param string $organizationId + * @param string $label + * @param string $source + * @param string $name + * @param \Polar\Models\Components\SubscriptionPausedMetadata $metadata + * @param ?string $customerId + * @param \Polar\Models\Components\CustomerIndividual|\Polar\Models\Components\CustomerTeam|null $customer + * @param ?string $externalCustomerId + * @param ?int $childCount + * @param ?string $memberId + * @param ?string $externalMemberId + * @param ?string $parentId + * @phpstan-pure + */ + public function __construct(string $id, \DateTime $timestamp, string $organizationId, string $label, SubscriptionPausedMetadata $metadata, ?string $customerId = null, CustomerIndividual|CustomerTeam|null $customer = null, ?string $externalCustomerId = null, ?string $memberId = null, ?string $externalMemberId = null, ?string $parentId = null, string $source = 'system', string $name = 'subscription.paused', ?int $childCount = 0) + { + $this->id = $id; + $this->timestamp = $timestamp; + $this->organizationId = $organizationId; + $this->label = $label; + $this->metadata = $metadata; + $this->customerId = $customerId; + $this->customer = $customer; + $this->externalCustomerId = $externalCustomerId; + $this->memberId = $memberId; + $this->externalMemberId = $externalMemberId; + $this->parentId = $parentId; + $this->source = $source; + $this->name = $name; + $this->childCount = $childCount; + } +} \ No newline at end of file diff --git a/src/Models/Components/SubscriptionPausedMetadata.php b/src/Models/Components/SubscriptionPausedMetadata.php new file mode 100644 index 00000000..b421be8a --- /dev/null +++ b/src/Models/Components/SubscriptionPausedMetadata.php @@ -0,0 +1,98 @@ +subscriptionId = $subscriptionId; + $this->pausedAt = $pausedAt; + $this->productId = $productId; + $this->amount = $amount; + $this->currency = $currency; + $this->recurringInterval = $recurringInterval; + $this->recurringIntervalCount = $recurringIntervalCount; + $this->resumesAt = $resumesAt; + } +} \ No newline at end of file diff --git a/src/Models/Components/SubscriptionProrationBehavior.php b/src/Models/Components/SubscriptionProrationBehavior.php index 273b3b9c..af45e93f 100644 --- a/src/Models/Components/SubscriptionProrationBehavior.php +++ b/src/Models/Components/SubscriptionProrationBehavior.php @@ -14,4 +14,5 @@ enum SubscriptionProrationBehavior: string case Invoice = 'invoice'; case Prorate = 'prorate'; case NextPeriod = 'next_period'; + case Reset = 'reset'; } diff --git a/src/Models/Components/SubscriptionReactivatedEvent.php b/src/Models/Components/SubscriptionReactivatedEvent.php new file mode 100644 index 00000000..c3c62bdf --- /dev/null +++ b/src/Models/Components/SubscriptionReactivatedEvent.php @@ -0,0 +1,167 @@ + '\Polar\Models\Components\CustomerIndividual', 'team' => '\Polar\Models\Components\CustomerTeam'])] + public CustomerIndividual|CustomerTeam|null $customer; + + /** + * ID of the customer in your system associated with the event. + * + * @var ?string $externalCustomerId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('external_customer_id')] + public ?string $externalCustomerId; + + /** + * ID of the member within the customer's organization who performed the action inside B2B. + * + * @var ?string $memberId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('member_id')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $memberId = null; + + /** + * ID of the member in your system within the customer's organization who performed the action inside B2B. + * + * @var ?string $externalMemberId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('external_member_id')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $externalMemberId = null; + + /** + * The ID of the parent event. + * + * @var ?string $parentId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('parent_id')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $parentId = null; + + /** + * The source of the event. `system` events are created by Polar. `user` events are the one you create through our ingestion API. + * + * @var string $source + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('source')] + public string $source; + + /** + * The name of the event. + * + * @var string $name + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('name')] + public string $name; + + /** + * Number of direct child events linked to this event. + * + * @var ?int $childCount + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('child_count')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?int $childCount = null; + + /** + * @param string $id + * @param \DateTime $timestamp + * @param string $organizationId + * @param string $label + * @param string $source + * @param string $name + * @param \Polar\Models\Components\SubscriptionReactivatedMetadata $metadata + * @param ?string $customerId + * @param \Polar\Models\Components\CustomerIndividual|\Polar\Models\Components\CustomerTeam|null $customer + * @param ?string $externalCustomerId + * @param ?int $childCount + * @param ?string $memberId + * @param ?string $externalMemberId + * @param ?string $parentId + * @phpstan-pure + */ + public function __construct(string $id, \DateTime $timestamp, string $organizationId, string $label, SubscriptionReactivatedMetadata $metadata, ?string $customerId = null, CustomerIndividual|CustomerTeam|null $customer = null, ?string $externalCustomerId = null, ?string $memberId = null, ?string $externalMemberId = null, ?string $parentId = null, string $source = 'system', string $name = 'subscription.reactivated', ?int $childCount = 0) + { + $this->id = $id; + $this->timestamp = $timestamp; + $this->organizationId = $organizationId; + $this->label = $label; + $this->metadata = $metadata; + $this->customerId = $customerId; + $this->customer = $customer; + $this->externalCustomerId = $externalCustomerId; + $this->memberId = $memberId; + $this->externalMemberId = $externalMemberId; + $this->parentId = $parentId; + $this->source = $source; + $this->name = $name; + $this->childCount = $childCount; + } +} \ No newline at end of file diff --git a/src/Models/Components/SubscriptionReactivatedMetadata.php b/src/Models/Components/SubscriptionReactivatedMetadata.php new file mode 100644 index 00000000..3d40f14d --- /dev/null +++ b/src/Models/Components/SubscriptionReactivatedMetadata.php @@ -0,0 +1,79 @@ +subscriptionId = $subscriptionId; + $this->productId = $productId; + $this->amount = $amount; + $this->currency = $currency; + $this->recurringInterval = $recurringInterval; + $this->recurringIntervalCount = $recurringIntervalCount; + } +} \ No newline at end of file diff --git a/src/Models/Components/SubscriptionResume.php b/src/Models/Components/SubscriptionResume.php new file mode 100644 index 00000000..37b15de7 --- /dev/null +++ b/src/Models/Components/SubscriptionResume.php @@ -0,0 +1,30 @@ +resume = $resume; + } +} \ No newline at end of file diff --git a/src/Models/Components/SubscriptionResumedEvent.php b/src/Models/Components/SubscriptionResumedEvent.php new file mode 100644 index 00000000..dc1d0048 --- /dev/null +++ b/src/Models/Components/SubscriptionResumedEvent.php @@ -0,0 +1,167 @@ + '\Polar\Models\Components\CustomerIndividual', 'team' => '\Polar\Models\Components\CustomerTeam'])] + public CustomerIndividual|CustomerTeam|null $customer; + + /** + * ID of the customer in your system associated with the event. + * + * @var ?string $externalCustomerId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('external_customer_id')] + public ?string $externalCustomerId; + + /** + * ID of the member within the customer's organization who performed the action inside B2B. + * + * @var ?string $memberId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('member_id')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $memberId = null; + + /** + * ID of the member in your system within the customer's organization who performed the action inside B2B. + * + * @var ?string $externalMemberId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('external_member_id')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $externalMemberId = null; + + /** + * The ID of the parent event. + * + * @var ?string $parentId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('parent_id')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $parentId = null; + + /** + * The source of the event. `system` events are created by Polar. `user` events are the one you create through our ingestion API. + * + * @var string $source + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('source')] + public string $source; + + /** + * The name of the event. + * + * @var string $name + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('name')] + public string $name; + + /** + * Number of direct child events linked to this event. + * + * @var ?int $childCount + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('child_count')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?int $childCount = null; + + /** + * @param string $id + * @param \DateTime $timestamp + * @param string $organizationId + * @param string $label + * @param string $source + * @param string $name + * @param \Polar\Models\Components\SubscriptionResumedMetadata $metadata + * @param ?string $customerId + * @param \Polar\Models\Components\CustomerIndividual|\Polar\Models\Components\CustomerTeam|null $customer + * @param ?string $externalCustomerId + * @param ?int $childCount + * @param ?string $memberId + * @param ?string $externalMemberId + * @param ?string $parentId + * @phpstan-pure + */ + public function __construct(string $id, \DateTime $timestamp, string $organizationId, string $label, SubscriptionResumedMetadata $metadata, ?string $customerId = null, CustomerIndividual|CustomerTeam|null $customer = null, ?string $externalCustomerId = null, ?string $memberId = null, ?string $externalMemberId = null, ?string $parentId = null, string $source = 'system', string $name = 'subscription.resumed', ?int $childCount = 0) + { + $this->id = $id; + $this->timestamp = $timestamp; + $this->organizationId = $organizationId; + $this->label = $label; + $this->metadata = $metadata; + $this->customerId = $customerId; + $this->customer = $customer; + $this->externalCustomerId = $externalCustomerId; + $this->memberId = $memberId; + $this->externalMemberId = $externalMemberId; + $this->parentId = $parentId; + $this->source = $source; + $this->name = $name; + $this->childCount = $childCount; + } +} \ No newline at end of file diff --git a/src/Models/Components/SubscriptionResumedMetadata.php b/src/Models/Components/SubscriptionResumedMetadata.php new file mode 100644 index 00000000..52d3d81a --- /dev/null +++ b/src/Models/Components/SubscriptionResumedMetadata.php @@ -0,0 +1,79 @@ +subscriptionId = $subscriptionId; + $this->productId = $productId; + $this->amount = $amount; + $this->currency = $currency; + $this->recurringInterval = $recurringInterval; + $this->recurringIntervalCount = $recurringIntervalCount; + } +} \ No newline at end of file diff --git a/src/Models/Components/SubscriptionStatus.php b/src/Models/Components/SubscriptionStatus.php index 937f2a40..c131cb3f 100644 --- a/src/Models/Components/SubscriptionStatus.php +++ b/src/Models/Components/SubscriptionStatus.php @@ -18,4 +18,5 @@ enum SubscriptionStatus: string case PastDue = 'past_due'; case Canceled = 'canceled'; case Unpaid = 'unpaid'; + case Paused = 'paused'; } diff --git a/src/Models/Components/SubscriptionUpdateBase.php b/src/Models/Components/SubscriptionUpdateBase.php new file mode 100644 index 00000000..a5996982 --- /dev/null +++ b/src/Models/Components/SubscriptionUpdateBase.php @@ -0,0 +1,65 @@ +productId = $productId; + $this->prorationBehavior = $prorationBehavior; + $this->discountId = $discountId; + $this->trialEnd = $trialEnd; + } +} \ No newline at end of file diff --git a/src/Models/Components/SubscriptionUpdateBillingPeriod.php b/src/Models/Components/SubscriptionUpdateBillingPeriod.php index a7694742..09aee880 100644 --- a/src/Models/Components/SubscriptionUpdateBillingPeriod.php +++ b/src/Models/Components/SubscriptionUpdateBillingPeriod.php @@ -12,7 +12,7 @@ class SubscriptionUpdateBillingPeriod { /** - * Set a new date for the end of the current billing period. The subscription will renew on this date. Needs to be later than the current value. + * Set a new date for the end of the current billing period. The subscription will renew on this date. The new date can be earlier or later than the current period end, as long as it's in the future. * * * It is not possible to update the current billing period on a canceled subscription. diff --git a/src/Models/Components/SubscriptionUpdateClear.php b/src/Models/Components/SubscriptionUpdateClear.php new file mode 100644 index 00000000..45dc19cd --- /dev/null +++ b/src/Models/Components/SubscriptionUpdateClear.php @@ -0,0 +1,31 @@ +pendingUpdate = $pendingUpdate; + } +} \ No newline at end of file diff --git a/src/Models/Components/SubscriptionUpdateClearedEvent.php b/src/Models/Components/SubscriptionUpdateClearedEvent.php new file mode 100644 index 00000000..b0d6e97d --- /dev/null +++ b/src/Models/Components/SubscriptionUpdateClearedEvent.php @@ -0,0 +1,167 @@ + '\Polar\Models\Components\CustomerIndividual', 'team' => '\Polar\Models\Components\CustomerTeam'])] + public CustomerIndividual|CustomerTeam|null $customer; + + /** + * ID of the customer in your system associated with the event. + * + * @var ?string $externalCustomerId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('external_customer_id')] + public ?string $externalCustomerId; + + /** + * ID of the member within the customer's organization who performed the action inside B2B. + * + * @var ?string $memberId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('member_id')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $memberId = null; + + /** + * ID of the member in your system within the customer's organization who performed the action inside B2B. + * + * @var ?string $externalMemberId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('external_member_id')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $externalMemberId = null; + + /** + * The ID of the parent event. + * + * @var ?string $parentId + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('parent_id')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?string $parentId = null; + + /** + * The source of the event. `system` events are created by Polar. `user` events are the one you create through our ingestion API. + * + * @var string $source + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('source')] + public string $source; + + /** + * The name of the event. + * + * @var string $name + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('name')] + public string $name; + + /** + * Number of direct child events linked to this event. + * + * @var ?int $childCount + */ + #[\Speakeasy\Serializer\Annotation\SerializedName('child_count')] + #[\Speakeasy\Serializer\Annotation\SkipWhenNull] + public ?int $childCount = null; + + /** + * @param string $id + * @param \DateTime $timestamp + * @param string $organizationId + * @param string $label + * @param string $source + * @param string $name + * @param \Polar\Models\Components\SubscriptionUpdateClearedMetadata $metadata + * @param ?string $customerId + * @param \Polar\Models\Components\CustomerIndividual|\Polar\Models\Components\CustomerTeam|null $customer + * @param ?string $externalCustomerId + * @param ?int $childCount + * @param ?string $memberId + * @param ?string $externalMemberId + * @param ?string $parentId + * @phpstan-pure + */ + public function __construct(string $id, \DateTime $timestamp, string $organizationId, string $label, SubscriptionUpdateClearedMetadata $metadata, ?string $customerId = null, CustomerIndividual|CustomerTeam|null $customer = null, ?string $externalCustomerId = null, ?string $memberId = null, ?string $externalMemberId = null, ?string $parentId = null, string $source = 'system', string $name = 'subscription.update_cleared', ?int $childCount = 0) + { + $this->id = $id; + $this->timestamp = $timestamp; + $this->organizationId = $organizationId; + $this->label = $label; + $this->metadata = $metadata; + $this->customerId = $customerId; + $this->customer = $customer; + $this->externalCustomerId = $externalCustomerId; + $this->memberId = $memberId; + $this->externalMemberId = $externalMemberId; + $this->parentId = $parentId; + $this->source = $source; + $this->name = $name; + $this->childCount = $childCount; + } +} \ No newline at end of file diff --git a/src/Models/Components/SubscriptionUpdatedTrialMetadata.php b/src/Models/Components/SubscriptionUpdateClearedMetadata.php similarity index 57% rename from src/Models/Components/SubscriptionUpdatedTrialMetadata.php rename to src/Models/Components/SubscriptionUpdateClearedMetadata.php index a9d8eae8..41c8f8a0 100644 --- a/src/Models/Components/SubscriptionUpdatedTrialMetadata.php +++ b/src/Models/Components/SubscriptionUpdateClearedMetadata.php @@ -9,7 +9,7 @@ namespace Polar\Models\Components; -class SubscriptionUpdatedTrialMetadata +class SubscriptionUpdateClearedMetadata { /** * @@ -18,21 +18,12 @@ class SubscriptionUpdatedTrialMetadata #[\Speakeasy\Serializer\Annotation\SerializedName('subscription_id')] public string $subscriptionId; - /** - * - * @var string $trialEnd - */ - #[\Speakeasy\Serializer\Annotation\SerializedName('trial_end')] - public string $trialEnd; - /** * @param string $subscriptionId - * @param string $trialEnd * @phpstan-pure */ - public function __construct(string $subscriptionId, string $trialEnd) + public function __construct(string $subscriptionId) { $this->subscriptionId = $subscriptionId; - $this->trialEnd = $trialEnd; } } \ No newline at end of file diff --git a/src/Models/Components/SubscriptionUpdateDiscount.php b/src/Models/Components/SubscriptionUpdateDiscount.php deleted file mode 100644 index 3d3936ff..00000000 --- a/src/Models/Components/SubscriptionUpdateDiscount.php +++ /dev/null @@ -1,30 +0,0 @@ -discountId = $discountId; - } -} \ No newline at end of file diff --git a/src/Models/Components/SubscriptionUpdateProduct.php b/src/Models/Components/SubscriptionUpdateProduct.php deleted file mode 100644 index b4baebd3..00000000 --- a/src/Models/Components/SubscriptionUpdateProduct.php +++ /dev/null @@ -1,42 +0,0 @@ -productId = $productId; - $this->prorationBehavior = $prorationBehavior; - } -} \ No newline at end of file diff --git a/src/Models/Components/SubscriptionUpdateTrial.php b/src/Models/Components/SubscriptionUpdateTrial.php deleted file mode 100644 index a49d953f..00000000 --- a/src/Models/Components/SubscriptionUpdateTrial.php +++ /dev/null @@ -1,30 +0,0 @@ -trialEnd = $trialEnd; - } -} \ No newline at end of file diff --git a/src/Models/Components/SubscriptionUpdatedBillingPeriodMetadata.php b/src/Models/Components/SubscriptionUpdatedBillingPeriodMetadata.php deleted file mode 100644 index 663140cd..00000000 --- a/src/Models/Components/SubscriptionUpdatedBillingPeriodMetadata.php +++ /dev/null @@ -1,38 +0,0 @@ -subscriptionId = $subscriptionId; - $this->billingPeriodEnd = $billingPeriodEnd; - } -} \ No newline at end of file diff --git a/src/Models/Components/SubscriptionUpdatedDiscountMetadata.php b/src/Models/Components/SubscriptionUpdatedDiscountMetadata.php deleted file mode 100644 index 13f401d2..00000000 --- a/src/Models/Components/SubscriptionUpdatedDiscountMetadata.php +++ /dev/null @@ -1,38 +0,0 @@ -subscriptionId = $subscriptionId; - $this->discountId = $discountId; - } -} \ No newline at end of file diff --git a/src/Models/Components/SubscriptionUpdatedEvent.php b/src/Models/Components/SubscriptionUpdatedEvent.php index a39f58ad..32badf5c 100644 --- a/src/Models/Components/SubscriptionUpdatedEvent.php +++ b/src/Models/Components/SubscriptionUpdatedEvent.php @@ -46,11 +46,11 @@ class SubscriptionUpdatedEvent /** * - * @var \Polar\Models\Components\SubscriptionUpdatedProductMetadata|\Polar\Models\Components\SubscriptionUpdatedDiscountMetadata|\Polar\Models\Components\SubscriptionUpdatedTrialMetadata|\Polar\Models\Components\SubscriptionUpdatedSeatsMetadata|\Polar\Models\Components\SubscriptionUpdatedBillingPeriodMetadata $metadata + * @var \Polar\Models\Components\SubscriptionUpdatedMetadata $metadata */ #[\Speakeasy\Serializer\Annotation\SerializedName('metadata')] - #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\SubscriptionUpdatedProductMetadata|\Polar\Models\Components\SubscriptionUpdatedDiscountMetadata|\Polar\Models\Components\SubscriptionUpdatedTrialMetadata|\Polar\Models\Components\SubscriptionUpdatedSeatsMetadata|\Polar\Models\Components\SubscriptionUpdatedBillingPeriodMetadata')] - public SubscriptionUpdatedProductMetadata|SubscriptionUpdatedDiscountMetadata|SubscriptionUpdatedTrialMetadata|SubscriptionUpdatedSeatsMetadata|SubscriptionUpdatedBillingPeriodMetadata $metadata; + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\SubscriptionUpdatedMetadata')] + public SubscriptionUpdatedMetadata $metadata; /** * ID of the customer in your Polar organization associated with the event. @@ -137,7 +137,7 @@ class SubscriptionUpdatedEvent * @param string $label * @param string $source * @param string $name - * @param \Polar\Models\Components\SubscriptionUpdatedProductMetadata|\Polar\Models\Components\SubscriptionUpdatedDiscountMetadata|\Polar\Models\Components\SubscriptionUpdatedTrialMetadata|\Polar\Models\Components\SubscriptionUpdatedSeatsMetadata|\Polar\Models\Components\SubscriptionUpdatedBillingPeriodMetadata $metadata + * @param \Polar\Models\Components\SubscriptionUpdatedMetadata $metadata * @param ?string $customerId * @param \Polar\Models\Components\CustomerIndividual|\Polar\Models\Components\CustomerTeam|null $customer * @param ?string $externalCustomerId @@ -147,7 +147,7 @@ class SubscriptionUpdatedEvent * @param ?string $parentId * @phpstan-pure */ - public function __construct(string $id, \DateTime $timestamp, string $organizationId, string $label, SubscriptionUpdatedProductMetadata|SubscriptionUpdatedDiscountMetadata|SubscriptionUpdatedTrialMetadata|SubscriptionUpdatedSeatsMetadata|SubscriptionUpdatedBillingPeriodMetadata $metadata, ?string $customerId = null, CustomerIndividual|CustomerTeam|null $customer = null, ?string $externalCustomerId = null, ?string $memberId = null, ?string $externalMemberId = null, ?string $parentId = null, string $source = 'system', string $name = 'subscription.updated', ?int $childCount = 0) + public function __construct(string $id, \DateTime $timestamp, string $organizationId, string $label, SubscriptionUpdatedMetadata $metadata, ?string $customerId = null, CustomerIndividual|CustomerTeam|null $customer = null, ?string $externalCustomerId = null, ?string $memberId = null, ?string $externalMemberId = null, ?string $parentId = null, string $source = 'system', string $name = 'subscription.updated', ?int $childCount = 0) { $this->id = $id; $this->timestamp = $timestamp; diff --git a/src/Models/Components/SubscriptionUpdatedMetadata.php b/src/Models/Components/SubscriptionUpdatedMetadata.php new file mode 100644 index 00000000..305d6663 --- /dev/null +++ b/src/Models/Components/SubscriptionUpdatedMetadata.php @@ -0,0 +1,90 @@ +subscriptionId = $subscriptionId; + $this->productId = $productId; + $this->prorationBehavior = $prorationBehavior; + $this->trialEnd = $trialEnd; + $this->seats = $seats; + $this->billingPeriodEnd = $billingPeriodEnd; + $this->discountId = $discountId; + } +} \ No newline at end of file diff --git a/src/Models/Components/SubscriptionUpdatedProductMetadata.php b/src/Models/Components/SubscriptionUpdatedProductMetadata.php deleted file mode 100644 index 2edd0bbc..00000000 --- a/src/Models/Components/SubscriptionUpdatedProductMetadata.php +++ /dev/null @@ -1,48 +0,0 @@ -subscriptionId = $subscriptionId; - $this->productId = $productId; - $this->prorationBehavior = $prorationBehavior; - } -} \ No newline at end of file diff --git a/src/Models/Components/SubscriptionUpdatedSeatsMetadata.php b/src/Models/Components/SubscriptionUpdatedSeatsMetadata.php deleted file mode 100644 index ad0a0f17..00000000 --- a/src/Models/Components/SubscriptionUpdatedSeatsMetadata.php +++ /dev/null @@ -1,48 +0,0 @@ -subscriptionId = $subscriptionId; - $this->seats = $seats; - $this->prorationBehavior = $prorationBehavior; - } -} \ No newline at end of file diff --git a/src/Models/Components/SupportCaseAttachmentFileCreate.php b/src/Models/Components/SupportCaseAttachmentFileCreate.php new file mode 100644 index 00000000..f6eeda64 --- /dev/null +++ b/src/Models/Components/SupportCaseAttachmentFileCreate.php @@ -0,0 +1,99 @@ +name = $name; + $this->mimeType = $mimeType; + $this->size = $size; + $this->upload = $upload; + $this->organizationId = $organizationId; + $this->checksumSha256Base64 = $checksumSha256Base64; + $this->version = $version; + $this->service = $service; + } +} \ No newline at end of file diff --git a/src/Models/Components/SupportCaseAttachmentFileRead.php b/src/Models/Components/SupportCaseAttachmentFileRead.php new file mode 100644 index 00000000..61a8a9b1 --- /dev/null +++ b/src/Models/Components/SupportCaseAttachmentFileRead.php @@ -0,0 +1,166 @@ +id = $id; + $this->organizationId = $organizationId; + $this->name = $name; + $this->path = $path; + $this->mimeType = $mimeType; + $this->size = $size; + $this->isUploaded = $isUploaded; + $this->createdAt = $createdAt; + $this->sizeReadable = $sizeReadable; + $this->storageVersion = $storageVersion; + $this->checksumEtag = $checksumEtag; + $this->checksumSha256Base64 = $checksumSha256Base64; + $this->checksumSha256Hex = $checksumSha256Hex; + $this->lastModifiedAt = $lastModifiedAt; + $this->version = $version; + $this->service = $service; + } +} \ No newline at end of file diff --git a/src/Models/Components/TaxBehavior.php b/src/Models/Components/TaxBehavior.php new file mode 100644 index 00000000..6824483c --- /dev/null +++ b/src/Models/Components/TaxBehavior.php @@ -0,0 +1,16 @@ + '\Polar\Models\Components\BenefitCustom', 'discord' => '\Polar\Models\Components\BenefitDiscord', 'downloadables' => '\Polar\Models\Components\BenefitDownloadables', 'feature_flag' => '\Polar\Models\Components\BenefitFeatureFlag', 'github_repository' => '\Polar\Models\Components\BenefitGitHubRepository', 'license_keys' => '\Polar\Models\Components\BenefitLicenseKeys', 'meter_credit' => '\Polar\Models\Components\BenefitMeterCredit'])] - public BenefitCustom|BenefitDiscord|BenefitGitHubRepository|BenefitDownloadables|BenefitLicenseKeys|BenefitMeterCredit|BenefitFeatureFlag $data; + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\BenefitCustom|\Polar\Models\Components\BenefitDiscord|\Polar\Models\Components\BenefitGitHubRepository|\Polar\Models\Components\BenefitDownloadables|\Polar\Models\Components\BenefitLicenseKeys|\Polar\Models\Components\BenefitMeterCredit|\Polar\Models\Components\BenefitFeatureFlag|\Polar\Models\Components\BenefitSlackSharedChannel')] + #[\Speakeasy\Serializer\Annotation\UnionDiscriminator(field: 'type', map: ['custom' => '\Polar\Models\Components\BenefitCustom', 'discord' => '\Polar\Models\Components\BenefitDiscord', 'downloadables' => '\Polar\Models\Components\BenefitDownloadables', 'feature_flag' => '\Polar\Models\Components\BenefitFeatureFlag', 'github_repository' => '\Polar\Models\Components\BenefitGitHubRepository', 'license_keys' => '\Polar\Models\Components\BenefitLicenseKeys', 'meter_credit' => '\Polar\Models\Components\BenefitMeterCredit', 'slack_shared_channel' => '\Polar\Models\Components\BenefitSlackSharedChannel'])] + public BenefitCustom|BenefitDiscord|BenefitGitHubRepository|BenefitDownloadables|BenefitLicenseKeys|BenefitMeterCredit|BenefitFeatureFlag|BenefitSlackSharedChannel $data; /** * @@ -43,10 +43,10 @@ class WebhookBenefitCreatedPayload /** * @param string $type * @param \DateTime $timestamp - * @param \Polar\Models\Components\BenefitCustom|\Polar\Models\Components\BenefitDiscord|\Polar\Models\Components\BenefitGitHubRepository|\Polar\Models\Components\BenefitDownloadables|\Polar\Models\Components\BenefitLicenseKeys|\Polar\Models\Components\BenefitMeterCredit|\Polar\Models\Components\BenefitFeatureFlag $data + * @param \Polar\Models\Components\BenefitCustom|\Polar\Models\Components\BenefitDiscord|\Polar\Models\Components\BenefitGitHubRepository|\Polar\Models\Components\BenefitDownloadables|\Polar\Models\Components\BenefitLicenseKeys|\Polar\Models\Components\BenefitMeterCredit|\Polar\Models\Components\BenefitFeatureFlag|\Polar\Models\Components\BenefitSlackSharedChannel $data * @phpstan-pure */ - public function __construct(\DateTime $timestamp, BenefitCustom|BenefitDiscord|BenefitGitHubRepository|BenefitDownloadables|BenefitLicenseKeys|BenefitMeterCredit|BenefitFeatureFlag $data, string $type = 'benefit.created') + public function __construct(\DateTime $timestamp, BenefitCustom|BenefitDiscord|BenefitGitHubRepository|BenefitDownloadables|BenefitLicenseKeys|BenefitMeterCredit|BenefitFeatureFlag|BenefitSlackSharedChannel $data, string $type = 'benefit.created') { $this->timestamp = $timestamp; $this->data = $data; diff --git a/src/Models/Components/WebhookBenefitGrantCreatedPayload.php b/src/Models/Components/WebhookBenefitGrantCreatedPayload.php index 7bc00743..6c4dbd41 100644 --- a/src/Models/Components/WebhookBenefitGrantCreatedPayload.php +++ b/src/Models/Components/WebhookBenefitGrantCreatedPayload.php @@ -26,11 +26,11 @@ class WebhookBenefitGrantCreatedPayload /** * - * @var \Polar\Models\Components\BenefitGrantDiscordWebhook|\Polar\Models\Components\BenefitGrantCustomWebhook|\Polar\Models\Components\BenefitGrantGitHubRepositoryWebhook|\Polar\Models\Components\BenefitGrantDownloadablesWebhook|\Polar\Models\Components\BenefitGrantLicenseKeysWebhook|\Polar\Models\Components\BenefitGrantMeterCreditWebhook|\Polar\Models\Components\BenefitGrantFeatureFlagWebhook $data + * @var \Polar\Models\Components\BenefitGrantDiscordWebhook|\Polar\Models\Components\BenefitGrantCustomWebhook|\Polar\Models\Components\BenefitGrantGitHubRepositoryWebhook|\Polar\Models\Components\BenefitGrantDownloadablesWebhook|\Polar\Models\Components\BenefitGrantLicenseKeysWebhook|\Polar\Models\Components\BenefitGrantMeterCreditWebhook|\Polar\Models\Components\BenefitGrantFeatureFlagWebhook|\Polar\Models\Components\BenefitGrantSlackSharedChannelWebhook $data */ #[\Speakeasy\Serializer\Annotation\SerializedName('data')] - #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\BenefitGrantDiscordWebhook|\Polar\Models\Components\BenefitGrantCustomWebhook|\Polar\Models\Components\BenefitGrantGitHubRepositoryWebhook|\Polar\Models\Components\BenefitGrantDownloadablesWebhook|\Polar\Models\Components\BenefitGrantLicenseKeysWebhook|\Polar\Models\Components\BenefitGrantMeterCreditWebhook|\Polar\Models\Components\BenefitGrantFeatureFlagWebhook')] - public BenefitGrantDiscordWebhook|BenefitGrantCustomWebhook|BenefitGrantGitHubRepositoryWebhook|BenefitGrantDownloadablesWebhook|BenefitGrantLicenseKeysWebhook|BenefitGrantMeterCreditWebhook|BenefitGrantFeatureFlagWebhook $data; + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\BenefitGrantDiscordWebhook|\Polar\Models\Components\BenefitGrantCustomWebhook|\Polar\Models\Components\BenefitGrantGitHubRepositoryWebhook|\Polar\Models\Components\BenefitGrantDownloadablesWebhook|\Polar\Models\Components\BenefitGrantLicenseKeysWebhook|\Polar\Models\Components\BenefitGrantMeterCreditWebhook|\Polar\Models\Components\BenefitGrantFeatureFlagWebhook|\Polar\Models\Components\BenefitGrantSlackSharedChannelWebhook')] + public BenefitGrantDiscordWebhook|BenefitGrantCustomWebhook|BenefitGrantGitHubRepositoryWebhook|BenefitGrantDownloadablesWebhook|BenefitGrantLicenseKeysWebhook|BenefitGrantMeterCreditWebhook|BenefitGrantFeatureFlagWebhook|BenefitGrantSlackSharedChannelWebhook $data; /** * @@ -42,10 +42,10 @@ class WebhookBenefitGrantCreatedPayload /** * @param string $type * @param \DateTime $timestamp - * @param \Polar\Models\Components\BenefitGrantDiscordWebhook|\Polar\Models\Components\BenefitGrantCustomWebhook|\Polar\Models\Components\BenefitGrantGitHubRepositoryWebhook|\Polar\Models\Components\BenefitGrantDownloadablesWebhook|\Polar\Models\Components\BenefitGrantLicenseKeysWebhook|\Polar\Models\Components\BenefitGrantMeterCreditWebhook|\Polar\Models\Components\BenefitGrantFeatureFlagWebhook $data + * @param \Polar\Models\Components\BenefitGrantDiscordWebhook|\Polar\Models\Components\BenefitGrantCustomWebhook|\Polar\Models\Components\BenefitGrantGitHubRepositoryWebhook|\Polar\Models\Components\BenefitGrantDownloadablesWebhook|\Polar\Models\Components\BenefitGrantLicenseKeysWebhook|\Polar\Models\Components\BenefitGrantMeterCreditWebhook|\Polar\Models\Components\BenefitGrantFeatureFlagWebhook|\Polar\Models\Components\BenefitGrantSlackSharedChannelWebhook $data * @phpstan-pure */ - public function __construct(\DateTime $timestamp, BenefitGrantDiscordWebhook|BenefitGrantCustomWebhook|BenefitGrantGitHubRepositoryWebhook|BenefitGrantDownloadablesWebhook|BenefitGrantLicenseKeysWebhook|BenefitGrantMeterCreditWebhook|BenefitGrantFeatureFlagWebhook $data, string $type = 'benefit_grant.created') + public function __construct(\DateTime $timestamp, BenefitGrantDiscordWebhook|BenefitGrantCustomWebhook|BenefitGrantGitHubRepositoryWebhook|BenefitGrantDownloadablesWebhook|BenefitGrantLicenseKeysWebhook|BenefitGrantMeterCreditWebhook|BenefitGrantFeatureFlagWebhook|BenefitGrantSlackSharedChannelWebhook $data, string $type = 'benefit_grant.created') { $this->timestamp = $timestamp; $this->data = $data; diff --git a/src/Models/Components/WebhookBenefitGrantCycledPayload.php b/src/Models/Components/WebhookBenefitGrantCycledPayload.php index e84dc49a..67b92ff2 100644 --- a/src/Models/Components/WebhookBenefitGrantCycledPayload.php +++ b/src/Models/Components/WebhookBenefitGrantCycledPayload.php @@ -27,11 +27,11 @@ class WebhookBenefitGrantCycledPayload /** * - * @var \Polar\Models\Components\BenefitGrantDiscordWebhook|\Polar\Models\Components\BenefitGrantCustomWebhook|\Polar\Models\Components\BenefitGrantGitHubRepositoryWebhook|\Polar\Models\Components\BenefitGrantDownloadablesWebhook|\Polar\Models\Components\BenefitGrantLicenseKeysWebhook|\Polar\Models\Components\BenefitGrantMeterCreditWebhook|\Polar\Models\Components\BenefitGrantFeatureFlagWebhook $data + * @var \Polar\Models\Components\BenefitGrantDiscordWebhook|\Polar\Models\Components\BenefitGrantCustomWebhook|\Polar\Models\Components\BenefitGrantGitHubRepositoryWebhook|\Polar\Models\Components\BenefitGrantDownloadablesWebhook|\Polar\Models\Components\BenefitGrantLicenseKeysWebhook|\Polar\Models\Components\BenefitGrantMeterCreditWebhook|\Polar\Models\Components\BenefitGrantFeatureFlagWebhook|\Polar\Models\Components\BenefitGrantSlackSharedChannelWebhook $data */ #[\Speakeasy\Serializer\Annotation\SerializedName('data')] - #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\BenefitGrantDiscordWebhook|\Polar\Models\Components\BenefitGrantCustomWebhook|\Polar\Models\Components\BenefitGrantGitHubRepositoryWebhook|\Polar\Models\Components\BenefitGrantDownloadablesWebhook|\Polar\Models\Components\BenefitGrantLicenseKeysWebhook|\Polar\Models\Components\BenefitGrantMeterCreditWebhook|\Polar\Models\Components\BenefitGrantFeatureFlagWebhook')] - public BenefitGrantDiscordWebhook|BenefitGrantCustomWebhook|BenefitGrantGitHubRepositoryWebhook|BenefitGrantDownloadablesWebhook|BenefitGrantLicenseKeysWebhook|BenefitGrantMeterCreditWebhook|BenefitGrantFeatureFlagWebhook $data; + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\BenefitGrantDiscordWebhook|\Polar\Models\Components\BenefitGrantCustomWebhook|\Polar\Models\Components\BenefitGrantGitHubRepositoryWebhook|\Polar\Models\Components\BenefitGrantDownloadablesWebhook|\Polar\Models\Components\BenefitGrantLicenseKeysWebhook|\Polar\Models\Components\BenefitGrantMeterCreditWebhook|\Polar\Models\Components\BenefitGrantFeatureFlagWebhook|\Polar\Models\Components\BenefitGrantSlackSharedChannelWebhook')] + public BenefitGrantDiscordWebhook|BenefitGrantCustomWebhook|BenefitGrantGitHubRepositoryWebhook|BenefitGrantDownloadablesWebhook|BenefitGrantLicenseKeysWebhook|BenefitGrantMeterCreditWebhook|BenefitGrantFeatureFlagWebhook|BenefitGrantSlackSharedChannelWebhook $data; /** * @@ -43,10 +43,10 @@ class WebhookBenefitGrantCycledPayload /** * @param string $type * @param \DateTime $timestamp - * @param \Polar\Models\Components\BenefitGrantDiscordWebhook|\Polar\Models\Components\BenefitGrantCustomWebhook|\Polar\Models\Components\BenefitGrantGitHubRepositoryWebhook|\Polar\Models\Components\BenefitGrantDownloadablesWebhook|\Polar\Models\Components\BenefitGrantLicenseKeysWebhook|\Polar\Models\Components\BenefitGrantMeterCreditWebhook|\Polar\Models\Components\BenefitGrantFeatureFlagWebhook $data + * @param \Polar\Models\Components\BenefitGrantDiscordWebhook|\Polar\Models\Components\BenefitGrantCustomWebhook|\Polar\Models\Components\BenefitGrantGitHubRepositoryWebhook|\Polar\Models\Components\BenefitGrantDownloadablesWebhook|\Polar\Models\Components\BenefitGrantLicenseKeysWebhook|\Polar\Models\Components\BenefitGrantMeterCreditWebhook|\Polar\Models\Components\BenefitGrantFeatureFlagWebhook|\Polar\Models\Components\BenefitGrantSlackSharedChannelWebhook $data * @phpstan-pure */ - public function __construct(\DateTime $timestamp, BenefitGrantDiscordWebhook|BenefitGrantCustomWebhook|BenefitGrantGitHubRepositoryWebhook|BenefitGrantDownloadablesWebhook|BenefitGrantLicenseKeysWebhook|BenefitGrantMeterCreditWebhook|BenefitGrantFeatureFlagWebhook $data, string $type = 'benefit_grant.cycled') + public function __construct(\DateTime $timestamp, BenefitGrantDiscordWebhook|BenefitGrantCustomWebhook|BenefitGrantGitHubRepositoryWebhook|BenefitGrantDownloadablesWebhook|BenefitGrantLicenseKeysWebhook|BenefitGrantMeterCreditWebhook|BenefitGrantFeatureFlagWebhook|BenefitGrantSlackSharedChannelWebhook $data, string $type = 'benefit_grant.cycled') { $this->timestamp = $timestamp; $this->data = $data; diff --git a/src/Models/Components/WebhookBenefitGrantRevokedPayload.php b/src/Models/Components/WebhookBenefitGrantRevokedPayload.php index 99a1faaa..227d2070 100644 --- a/src/Models/Components/WebhookBenefitGrantRevokedPayload.php +++ b/src/Models/Components/WebhookBenefitGrantRevokedPayload.php @@ -26,11 +26,11 @@ class WebhookBenefitGrantRevokedPayload /** * - * @var \Polar\Models\Components\BenefitGrantDiscordWebhook|\Polar\Models\Components\BenefitGrantCustomWebhook|\Polar\Models\Components\BenefitGrantGitHubRepositoryWebhook|\Polar\Models\Components\BenefitGrantDownloadablesWebhook|\Polar\Models\Components\BenefitGrantLicenseKeysWebhook|\Polar\Models\Components\BenefitGrantMeterCreditWebhook|\Polar\Models\Components\BenefitGrantFeatureFlagWebhook $data + * @var \Polar\Models\Components\BenefitGrantDiscordWebhook|\Polar\Models\Components\BenefitGrantCustomWebhook|\Polar\Models\Components\BenefitGrantGitHubRepositoryWebhook|\Polar\Models\Components\BenefitGrantDownloadablesWebhook|\Polar\Models\Components\BenefitGrantLicenseKeysWebhook|\Polar\Models\Components\BenefitGrantMeterCreditWebhook|\Polar\Models\Components\BenefitGrantFeatureFlagWebhook|\Polar\Models\Components\BenefitGrantSlackSharedChannelWebhook $data */ #[\Speakeasy\Serializer\Annotation\SerializedName('data')] - #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\BenefitGrantDiscordWebhook|\Polar\Models\Components\BenefitGrantCustomWebhook|\Polar\Models\Components\BenefitGrantGitHubRepositoryWebhook|\Polar\Models\Components\BenefitGrantDownloadablesWebhook|\Polar\Models\Components\BenefitGrantLicenseKeysWebhook|\Polar\Models\Components\BenefitGrantMeterCreditWebhook|\Polar\Models\Components\BenefitGrantFeatureFlagWebhook')] - public BenefitGrantDiscordWebhook|BenefitGrantCustomWebhook|BenefitGrantGitHubRepositoryWebhook|BenefitGrantDownloadablesWebhook|BenefitGrantLicenseKeysWebhook|BenefitGrantMeterCreditWebhook|BenefitGrantFeatureFlagWebhook $data; + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\BenefitGrantDiscordWebhook|\Polar\Models\Components\BenefitGrantCustomWebhook|\Polar\Models\Components\BenefitGrantGitHubRepositoryWebhook|\Polar\Models\Components\BenefitGrantDownloadablesWebhook|\Polar\Models\Components\BenefitGrantLicenseKeysWebhook|\Polar\Models\Components\BenefitGrantMeterCreditWebhook|\Polar\Models\Components\BenefitGrantFeatureFlagWebhook|\Polar\Models\Components\BenefitGrantSlackSharedChannelWebhook')] + public BenefitGrantDiscordWebhook|BenefitGrantCustomWebhook|BenefitGrantGitHubRepositoryWebhook|BenefitGrantDownloadablesWebhook|BenefitGrantLicenseKeysWebhook|BenefitGrantMeterCreditWebhook|BenefitGrantFeatureFlagWebhook|BenefitGrantSlackSharedChannelWebhook $data; /** * @@ -42,10 +42,10 @@ class WebhookBenefitGrantRevokedPayload /** * @param string $type * @param \DateTime $timestamp - * @param \Polar\Models\Components\BenefitGrantDiscordWebhook|\Polar\Models\Components\BenefitGrantCustomWebhook|\Polar\Models\Components\BenefitGrantGitHubRepositoryWebhook|\Polar\Models\Components\BenefitGrantDownloadablesWebhook|\Polar\Models\Components\BenefitGrantLicenseKeysWebhook|\Polar\Models\Components\BenefitGrantMeterCreditWebhook|\Polar\Models\Components\BenefitGrantFeatureFlagWebhook $data + * @param \Polar\Models\Components\BenefitGrantDiscordWebhook|\Polar\Models\Components\BenefitGrantCustomWebhook|\Polar\Models\Components\BenefitGrantGitHubRepositoryWebhook|\Polar\Models\Components\BenefitGrantDownloadablesWebhook|\Polar\Models\Components\BenefitGrantLicenseKeysWebhook|\Polar\Models\Components\BenefitGrantMeterCreditWebhook|\Polar\Models\Components\BenefitGrantFeatureFlagWebhook|\Polar\Models\Components\BenefitGrantSlackSharedChannelWebhook $data * @phpstan-pure */ - public function __construct(\DateTime $timestamp, BenefitGrantDiscordWebhook|BenefitGrantCustomWebhook|BenefitGrantGitHubRepositoryWebhook|BenefitGrantDownloadablesWebhook|BenefitGrantLicenseKeysWebhook|BenefitGrantMeterCreditWebhook|BenefitGrantFeatureFlagWebhook $data, string $type = 'benefit_grant.revoked') + public function __construct(\DateTime $timestamp, BenefitGrantDiscordWebhook|BenefitGrantCustomWebhook|BenefitGrantGitHubRepositoryWebhook|BenefitGrantDownloadablesWebhook|BenefitGrantLicenseKeysWebhook|BenefitGrantMeterCreditWebhook|BenefitGrantFeatureFlagWebhook|BenefitGrantSlackSharedChannelWebhook $data, string $type = 'benefit_grant.revoked') { $this->timestamp = $timestamp; $this->data = $data; diff --git a/src/Models/Components/WebhookBenefitGrantUpdatedPayload.php b/src/Models/Components/WebhookBenefitGrantUpdatedPayload.php index 5194d9aa..82800825 100644 --- a/src/Models/Components/WebhookBenefitGrantUpdatedPayload.php +++ b/src/Models/Components/WebhookBenefitGrantUpdatedPayload.php @@ -26,11 +26,11 @@ class WebhookBenefitGrantUpdatedPayload /** * - * @var \Polar\Models\Components\BenefitGrantDiscordWebhook|\Polar\Models\Components\BenefitGrantCustomWebhook|\Polar\Models\Components\BenefitGrantGitHubRepositoryWebhook|\Polar\Models\Components\BenefitGrantDownloadablesWebhook|\Polar\Models\Components\BenefitGrantLicenseKeysWebhook|\Polar\Models\Components\BenefitGrantMeterCreditWebhook|\Polar\Models\Components\BenefitGrantFeatureFlagWebhook $data + * @var \Polar\Models\Components\BenefitGrantDiscordWebhook|\Polar\Models\Components\BenefitGrantCustomWebhook|\Polar\Models\Components\BenefitGrantGitHubRepositoryWebhook|\Polar\Models\Components\BenefitGrantDownloadablesWebhook|\Polar\Models\Components\BenefitGrantLicenseKeysWebhook|\Polar\Models\Components\BenefitGrantMeterCreditWebhook|\Polar\Models\Components\BenefitGrantFeatureFlagWebhook|\Polar\Models\Components\BenefitGrantSlackSharedChannelWebhook $data */ #[\Speakeasy\Serializer\Annotation\SerializedName('data')] - #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\BenefitGrantDiscordWebhook|\Polar\Models\Components\BenefitGrantCustomWebhook|\Polar\Models\Components\BenefitGrantGitHubRepositoryWebhook|\Polar\Models\Components\BenefitGrantDownloadablesWebhook|\Polar\Models\Components\BenefitGrantLicenseKeysWebhook|\Polar\Models\Components\BenefitGrantMeterCreditWebhook|\Polar\Models\Components\BenefitGrantFeatureFlagWebhook')] - public BenefitGrantDiscordWebhook|BenefitGrantCustomWebhook|BenefitGrantGitHubRepositoryWebhook|BenefitGrantDownloadablesWebhook|BenefitGrantLicenseKeysWebhook|BenefitGrantMeterCreditWebhook|BenefitGrantFeatureFlagWebhook $data; + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\BenefitGrantDiscordWebhook|\Polar\Models\Components\BenefitGrantCustomWebhook|\Polar\Models\Components\BenefitGrantGitHubRepositoryWebhook|\Polar\Models\Components\BenefitGrantDownloadablesWebhook|\Polar\Models\Components\BenefitGrantLicenseKeysWebhook|\Polar\Models\Components\BenefitGrantMeterCreditWebhook|\Polar\Models\Components\BenefitGrantFeatureFlagWebhook|\Polar\Models\Components\BenefitGrantSlackSharedChannelWebhook')] + public BenefitGrantDiscordWebhook|BenefitGrantCustomWebhook|BenefitGrantGitHubRepositoryWebhook|BenefitGrantDownloadablesWebhook|BenefitGrantLicenseKeysWebhook|BenefitGrantMeterCreditWebhook|BenefitGrantFeatureFlagWebhook|BenefitGrantSlackSharedChannelWebhook $data; /** * @@ -42,10 +42,10 @@ class WebhookBenefitGrantUpdatedPayload /** * @param string $type * @param \DateTime $timestamp - * @param \Polar\Models\Components\BenefitGrantDiscordWebhook|\Polar\Models\Components\BenefitGrantCustomWebhook|\Polar\Models\Components\BenefitGrantGitHubRepositoryWebhook|\Polar\Models\Components\BenefitGrantDownloadablesWebhook|\Polar\Models\Components\BenefitGrantLicenseKeysWebhook|\Polar\Models\Components\BenefitGrantMeterCreditWebhook|\Polar\Models\Components\BenefitGrantFeatureFlagWebhook $data + * @param \Polar\Models\Components\BenefitGrantDiscordWebhook|\Polar\Models\Components\BenefitGrantCustomWebhook|\Polar\Models\Components\BenefitGrantGitHubRepositoryWebhook|\Polar\Models\Components\BenefitGrantDownloadablesWebhook|\Polar\Models\Components\BenefitGrantLicenseKeysWebhook|\Polar\Models\Components\BenefitGrantMeterCreditWebhook|\Polar\Models\Components\BenefitGrantFeatureFlagWebhook|\Polar\Models\Components\BenefitGrantSlackSharedChannelWebhook $data * @phpstan-pure */ - public function __construct(\DateTime $timestamp, BenefitGrantDiscordWebhook|BenefitGrantCustomWebhook|BenefitGrantGitHubRepositoryWebhook|BenefitGrantDownloadablesWebhook|BenefitGrantLicenseKeysWebhook|BenefitGrantMeterCreditWebhook|BenefitGrantFeatureFlagWebhook $data, string $type = 'benefit_grant.updated') + public function __construct(\DateTime $timestamp, BenefitGrantDiscordWebhook|BenefitGrantCustomWebhook|BenefitGrantGitHubRepositoryWebhook|BenefitGrantDownloadablesWebhook|BenefitGrantLicenseKeysWebhook|BenefitGrantMeterCreditWebhook|BenefitGrantFeatureFlagWebhook|BenefitGrantSlackSharedChannelWebhook $data, string $type = 'benefit_grant.updated') { $this->timestamp = $timestamp; $this->data = $data; diff --git a/src/Models/Components/WebhookBenefitUpdatedPayload.php b/src/Models/Components/WebhookBenefitUpdatedPayload.php index 5621c42d..b09a8e2a 100644 --- a/src/Models/Components/WebhookBenefitUpdatedPayload.php +++ b/src/Models/Components/WebhookBenefitUpdatedPayload.php @@ -26,12 +26,12 @@ class WebhookBenefitUpdatedPayload /** * - * @var \Polar\Models\Components\BenefitCustom|\Polar\Models\Components\BenefitDiscord|\Polar\Models\Components\BenefitGitHubRepository|\Polar\Models\Components\BenefitDownloadables|\Polar\Models\Components\BenefitLicenseKeys|\Polar\Models\Components\BenefitMeterCredit|\Polar\Models\Components\BenefitFeatureFlag $data + * @var \Polar\Models\Components\BenefitCustom|\Polar\Models\Components\BenefitDiscord|\Polar\Models\Components\BenefitGitHubRepository|\Polar\Models\Components\BenefitDownloadables|\Polar\Models\Components\BenefitLicenseKeys|\Polar\Models\Components\BenefitMeterCredit|\Polar\Models\Components\BenefitFeatureFlag|\Polar\Models\Components\BenefitSlackSharedChannel $data */ #[\Speakeasy\Serializer\Annotation\SerializedName('data')] - #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\BenefitCustom|\Polar\Models\Components\BenefitDiscord|\Polar\Models\Components\BenefitGitHubRepository|\Polar\Models\Components\BenefitDownloadables|\Polar\Models\Components\BenefitLicenseKeys|\Polar\Models\Components\BenefitMeterCredit|\Polar\Models\Components\BenefitFeatureFlag')] - #[\Speakeasy\Serializer\Annotation\UnionDiscriminator(field: 'type', map: ['custom' => '\Polar\Models\Components\BenefitCustom', 'discord' => '\Polar\Models\Components\BenefitDiscord', 'downloadables' => '\Polar\Models\Components\BenefitDownloadables', 'feature_flag' => '\Polar\Models\Components\BenefitFeatureFlag', 'github_repository' => '\Polar\Models\Components\BenefitGitHubRepository', 'license_keys' => '\Polar\Models\Components\BenefitLicenseKeys', 'meter_credit' => '\Polar\Models\Components\BenefitMeterCredit'])] - public BenefitCustom|BenefitDiscord|BenefitGitHubRepository|BenefitDownloadables|BenefitLicenseKeys|BenefitMeterCredit|BenefitFeatureFlag $data; + #[\Speakeasy\Serializer\Annotation\Type('\Polar\Models\Components\BenefitCustom|\Polar\Models\Components\BenefitDiscord|\Polar\Models\Components\BenefitGitHubRepository|\Polar\Models\Components\BenefitDownloadables|\Polar\Models\Components\BenefitLicenseKeys|\Polar\Models\Components\BenefitMeterCredit|\Polar\Models\Components\BenefitFeatureFlag|\Polar\Models\Components\BenefitSlackSharedChannel')] + #[\Speakeasy\Serializer\Annotation\UnionDiscriminator(field: 'type', map: ['custom' => '\Polar\Models\Components\BenefitCustom', 'discord' => '\Polar\Models\Components\BenefitDiscord', 'downloadables' => '\Polar\Models\Components\BenefitDownloadables', 'feature_flag' => '\Polar\Models\Components\BenefitFeatureFlag', 'github_repository' => '\Polar\Models\Components\BenefitGitHubRepository', 'license_keys' => '\Polar\Models\Components\BenefitLicenseKeys', 'meter_credit' => '\Polar\Models\Components\BenefitMeterCredit', 'slack_shared_channel' => '\Polar\Models\Components\BenefitSlackSharedChannel'])] + public BenefitCustom|BenefitDiscord|BenefitGitHubRepository|BenefitDownloadables|BenefitLicenseKeys|BenefitMeterCredit|BenefitFeatureFlag|BenefitSlackSharedChannel $data; /** * @@ -43,10 +43,10 @@ class WebhookBenefitUpdatedPayload /** * @param string $type * @param \DateTime $timestamp - * @param \Polar\Models\Components\BenefitCustom|\Polar\Models\Components\BenefitDiscord|\Polar\Models\Components\BenefitGitHubRepository|\Polar\Models\Components\BenefitDownloadables|\Polar\Models\Components\BenefitLicenseKeys|\Polar\Models\Components\BenefitMeterCredit|\Polar\Models\Components\BenefitFeatureFlag $data + * @param \Polar\Models\Components\BenefitCustom|\Polar\Models\Components\BenefitDiscord|\Polar\Models\Components\BenefitGitHubRepository|\Polar\Models\Components\BenefitDownloadables|\Polar\Models\Components\BenefitLicenseKeys|\Polar\Models\Components\BenefitMeterCredit|\Polar\Models\Components\BenefitFeatureFlag|\Polar\Models\Components\BenefitSlackSharedChannel $data * @phpstan-pure */ - public function __construct(\DateTime $timestamp, BenefitCustom|BenefitDiscord|BenefitGitHubRepository|BenefitDownloadables|BenefitLicenseKeys|BenefitMeterCredit|BenefitFeatureFlag $data, string $type = 'benefit.updated') + public function __construct(\DateTime $timestamp, BenefitCustom|BenefitDiscord|BenefitGitHubRepository|BenefitDownloadables|BenefitLicenseKeys|BenefitMeterCredit|BenefitFeatureFlag|BenefitSlackSharedChannel $data, string $type = 'benefit.updated') { $this->timestamp = $timestamp; $this->data = $data; diff --git a/src/Models/Components/WebhookEventType.php b/src/Models/Components/WebhookEventType.php index bb5730c7..ff4b8060 100644 --- a/src/Models/Components/WebhookEventType.php +++ b/src/Models/Components/WebhookEventType.php @@ -35,6 +35,8 @@ enum WebhookEventType: string case SubscriptionUncanceled = 'subscription.uncanceled'; case SubscriptionRevoked = 'subscription.revoked'; case SubscriptionPastDue = 'subscription.past_due'; + case SubscriptionPaused = 'subscription.paused'; + case SubscriptionResumed = 'subscription.resumed'; case RefundCreated = 'refund.created'; case RefundUpdated = 'refund.updated'; case ProductCreated = 'product.created'; diff --git a/src/Models/Components/WebhookSubscriptionPausedPayload.php b/src/Models/Components/WebhookSubscriptionPausedPayload.php new file mode 100644 index 00000000..26bda276 --- /dev/null +++ b/src/Models/Components/WebhookSubscriptionPausedPayload.php @@ -0,0 +1,57 @@ +timestamp = $timestamp; + $this->data = $data; + $this->type = $type; + } +} \ No newline at end of file diff --git a/src/Models/Components/WebhookSubscriptionResumedPayload.php b/src/Models/Components/WebhookSubscriptionResumedPayload.php new file mode 100644 index 00000000..07ad979a --- /dev/null +++ b/src/Models/Components/WebhookSubscriptionResumedPayload.php @@ -0,0 +1,56 @@ +timestamp = $timestamp; + $this->data = $data; + $this->type = $type; + } +} \ No newline at end of file diff --git a/src/Models/Errors/AlreadyCanceledSubscription1.php b/src/Models/Errors/AlreadyCanceledSubscription1.php new file mode 100644 index 00000000..c5d99f46 --- /dev/null +++ b/src/Models/Errors/AlreadyCanceledSubscription1.php @@ -0,0 +1,58 @@ +error = $error; + $this->detail = $detail; + $this->rawResponse = $rawResponse; + } + + public function toException(): AlreadyCanceledSubscription1Throwable + { + $serializer = Utils\JSON::createSerializer(); + $message = $serializer->serialize($this, 'json'); + $code = -1; + + return new AlreadyCanceledSubscription1Throwable($message, (int) $code, $this); + } +} \ No newline at end of file diff --git a/src/Models/Errors/AlreadyCanceledSubscription1Throwable.php b/src/Models/Errors/AlreadyCanceledSubscription1Throwable.php new file mode 100644 index 00000000..b94f47c8 --- /dev/null +++ b/src/Models/Errors/AlreadyCanceledSubscription1Throwable.php @@ -0,0 +1,20 @@ +container = $container; + } +} \ No newline at end of file diff --git a/src/Models/Errors/AmbiguousExternalCustomerID.php b/src/Models/Errors/AmbiguousExternalCustomerID.php new file mode 100644 index 00000000..f56921ea --- /dev/null +++ b/src/Models/Errors/AmbiguousExternalCustomerID.php @@ -0,0 +1,47 @@ +error = $error; + $this->detail = $detail; + } + + public function toException(): AmbiguousExternalCustomerIDThrowable + { + $serializer = Utils\JSON::createSerializer(); + $message = $serializer->serialize($this, 'json'); + $code = -1; + + return new AmbiguousExternalCustomerIDThrowable($message, (int) $code, $this); + } +} \ No newline at end of file diff --git a/src/Models/Errors/AmbiguousExternalCustomerIDThrowable.php b/src/Models/Errors/AmbiguousExternalCustomerIDThrowable.php new file mode 100644 index 00000000..9195f222 --- /dev/null +++ b/src/Models/Errors/AmbiguousExternalCustomerIDThrowable.php @@ -0,0 +1,20 @@ +container = $container; + } +} \ No newline at end of file diff --git a/src/Models/Errors/CannotCreateOrganizationError.php b/src/Models/Errors/CannotCreateOrganizationError.php new file mode 100644 index 00000000..e85bbbba --- /dev/null +++ b/src/Models/Errors/CannotCreateOrganizationError.php @@ -0,0 +1,47 @@ +error = $error; + $this->detail = $detail; + } + + public function toException(): CannotCreateOrganizationErrorThrowable + { + $serializer = Utils\JSON::createSerializer(); + $message = $serializer->serialize($this, 'json'); + $code = -1; + + return new CannotCreateOrganizationErrorThrowable($message, (int) $code, $this); + } +} \ No newline at end of file diff --git a/src/Models/Errors/CannotCreateOrganizationErrorThrowable.php b/src/Models/Errors/CannotCreateOrganizationErrorThrowable.php new file mode 100644 index 00000000..d8097746 --- /dev/null +++ b/src/Models/Errors/CannotCreateOrganizationErrorThrowable.php @@ -0,0 +1,20 @@ +container = $container; + } +} \ No newline at end of file diff --git a/src/Models/Errors/DisputeNotOpenError.php b/src/Models/Errors/DisputeNotOpenError.php new file mode 100644 index 00000000..119c699d --- /dev/null +++ b/src/Models/Errors/DisputeNotOpenError.php @@ -0,0 +1,47 @@ +error = $error; + $this->detail = $detail; + } + + public function toException(): DisputeNotOpenErrorThrowable + { + $serializer = Utils\JSON::createSerializer(); + $message = $serializer->serialize($this, 'json'); + $code = -1; + + return new DisputeNotOpenErrorThrowable($message, (int) $code, $this); + } +} \ No newline at end of file diff --git a/src/Models/Errors/DisputeNotOpenErrorThrowable.php b/src/Models/Errors/DisputeNotOpenErrorThrowable.php new file mode 100644 index 00000000..c35af501 --- /dev/null +++ b/src/Models/Errors/DisputeNotOpenErrorThrowable.php @@ -0,0 +1,20 @@ +container = $container; + } +} \ No newline at end of file diff --git a/src/Models/Errors/ManualRetryLimitExceeded.php b/src/Models/Errors/ManualRetryLimitExceeded.php new file mode 100644 index 00000000..c6adfed0 --- /dev/null +++ b/src/Models/Errors/ManualRetryLimitExceeded.php @@ -0,0 +1,47 @@ +error = $error; + $this->detail = $detail; + } + + public function toException(): ManualRetryLimitExceededThrowable + { + $serializer = Utils\JSON::createSerializer(); + $message = $serializer->serialize($this, 'json'); + $code = -1; + + return new ManualRetryLimitExceededThrowable($message, (int) $code, $this); + } +} \ No newline at end of file diff --git a/src/Models/Errors/ManualRetryLimitExceededThrowable.php b/src/Models/Errors/ManualRetryLimitExceededThrowable.php new file mode 100644 index 00000000..6c242327 --- /dev/null +++ b/src/Models/Errors/ManualRetryLimitExceededThrowable.php @@ -0,0 +1,20 @@ +container = $container; + } +} \ No newline at end of file diff --git a/src/Models/Errors/MissingInvoiceBillingDetails.php b/src/Models/Errors/MissingInvoiceBillingDetails.php index f977a024..436a2a9c 100644 --- a/src/Models/Errors/MissingInvoiceBillingDetails.php +++ b/src/Models/Errors/MissingInvoiceBillingDetails.php @@ -25,26 +25,15 @@ class MissingInvoiceBillingDetails #[\Speakeasy\Serializer\Annotation\SerializedName('detail')] public string $detail; - /** - * Raw HTTP response; suitable for custom response parsing - * - * @var ?\Psr\Http\Message\ResponseInterface $rawResponse - */ - #[\Speakeasy\Serializer\Annotation\Exclude] - - public ?\Psr\Http\Message\ResponseInterface $rawResponse = null; - /** * @param string $error * @param string $detail - * @param ?\Psr\Http\Message\ResponseInterface $rawResponse * @phpstan-pure */ - public function __construct(string $detail, ?\Psr\Http\Message\ResponseInterface $rawResponse = null, string $error = 'MissingInvoiceBillingDetails') + public function __construct(string $detail, string $error = 'MissingInvoiceBillingDetails') { $this->error = $error; $this->detail = $detail; - $this->rawResponse = $rawResponse; } public function toException(): MissingInvoiceBillingDetailsThrowable diff --git a/src/Models/Errors/OffSessionChargesNotEnabled.php b/src/Models/Errors/OffSessionChargesNotEnabled.php new file mode 100644 index 00000000..f41e954a --- /dev/null +++ b/src/Models/Errors/OffSessionChargesNotEnabled.php @@ -0,0 +1,58 @@ +error = $error; + $this->detail = $detail; + $this->rawResponse = $rawResponse; + } + + public function toException(): OffSessionChargesNotEnabledThrowable + { + $serializer = Utils\JSON::createSerializer(); + $message = $serializer->serialize($this, 'json'); + $code = -1; + + return new OffSessionChargesNotEnabledThrowable($message, (int) $code, $this); + } +} \ No newline at end of file diff --git a/src/Models/Errors/OffSessionChargesNotEnabledThrowable.php b/src/Models/Errors/OffSessionChargesNotEnabledThrowable.php new file mode 100644 index 00000000..bfa4a449 --- /dev/null +++ b/src/Models/Errors/OffSessionChargesNotEnabledThrowable.php @@ -0,0 +1,20 @@ +container = $container; + } +} \ No newline at end of file diff --git a/src/Models/Errors/OrderNotDraft.php b/src/Models/Errors/OrderNotDraft.php new file mode 100644 index 00000000..658411df --- /dev/null +++ b/src/Models/Errors/OrderNotDraft.php @@ -0,0 +1,47 @@ +error = $error; + $this->detail = $detail; + } + + public function toException(): OrderNotDraftThrowable + { + $serializer = Utils\JSON::createSerializer(); + $message = $serializer->serialize($this, 'json'); + $code = -1; + + return new OrderNotDraftThrowable($message, (int) $code, $this); + } +} \ No newline at end of file diff --git a/src/Models/Errors/NotPaidOrderThrowable.php b/src/Models/Errors/OrderNotDraftThrowable.php similarity index 72% rename from src/Models/Errors/NotPaidOrderThrowable.php rename to src/Models/Errors/OrderNotDraftThrowable.php index b7c4ea89..ba31c8b8 100644 --- a/src/Models/Errors/NotPaidOrderThrowable.php +++ b/src/Models/Errors/OrderNotDraftThrowable.php @@ -8,11 +8,11 @@ namespace Polar\Models\Errors; -class NotPaidOrderThrowable extends \RuntimeException +class OrderNotDraftThrowable extends \RuntimeException { - public NotPaidOrder $container; + public OrderNotDraft $container; - public function __construct(string $message, int $statusCode, NotPaidOrder $container) + public function __construct(string $message, int $statusCode, OrderNotDraft $container) { parent::__construct($message, $statusCode); $this->container = $container; diff --git a/src/Models/Errors/OrderNotEligibleForInvoice.php b/src/Models/Errors/OrderNotEligibleForInvoice.php new file mode 100644 index 00000000..da356805 --- /dev/null +++ b/src/Models/Errors/OrderNotEligibleForInvoice.php @@ -0,0 +1,47 @@ +error = $error; + $this->detail = $detail; + } + + public function toException(): OrderNotEligibleForInvoiceThrowable + { + $serializer = Utils\JSON::createSerializer(); + $message = $serializer->serialize($this, 'json'); + $code = -1; + + return new OrderNotEligibleForInvoiceThrowable($message, (int) $code, $this); + } +} \ No newline at end of file diff --git a/src/Models/Errors/OrderNotEligibleForInvoiceThrowable.php b/src/Models/Errors/OrderNotEligibleForInvoiceThrowable.php new file mode 100644 index 00000000..380f1bc4 --- /dev/null +++ b/src/Models/Errors/OrderNotEligibleForInvoiceThrowable.php @@ -0,0 +1,20 @@ +container = $container; + } +} \ No newline at end of file diff --git a/src/Models/Errors/OrganizationNotReadyForPayments.php b/src/Models/Errors/OrganizationNotReadyForPayments.php new file mode 100644 index 00000000..9bf9bbc7 --- /dev/null +++ b/src/Models/Errors/OrganizationNotReadyForPayments.php @@ -0,0 +1,58 @@ +error = $error; + $this->detail = $detail; + $this->rawResponse = $rawResponse; + } + + public function toException(): OrganizationNotReadyForPaymentsThrowable + { + $serializer = Utils\JSON::createSerializer(); + $message = $serializer->serialize($this, 'json'); + $code = -1; + + return new OrganizationNotReadyForPaymentsThrowable($message, (int) $code, $this); + } +} \ No newline at end of file diff --git a/src/Models/Errors/OrganizationNotReadyForPaymentsThrowable.php b/src/Models/Errors/OrganizationNotReadyForPaymentsThrowable.php new file mode 100644 index 00000000..a50c7c99 --- /dev/null +++ b/src/Models/Errors/OrganizationNotReadyForPaymentsThrowable.php @@ -0,0 +1,20 @@ +container = $container; + } +} \ No newline at end of file diff --git a/src/Models/Errors/PauseResumeNotAllowed.php b/src/Models/Errors/PauseResumeNotAllowed.php new file mode 100644 index 00000000..2e6b3eec --- /dev/null +++ b/src/Models/Errors/PauseResumeNotAllowed.php @@ -0,0 +1,58 @@ +error = $error; + $this->detail = $detail; + $this->rawResponse = $rawResponse; + } + + public function toException(): PauseResumeNotAllowedThrowable + { + $serializer = Utils\JSON::createSerializer(); + $message = $serializer->serialize($this, 'json'); + $code = -1; + + return new PauseResumeNotAllowedThrowable($message, (int) $code, $this); + } +} \ No newline at end of file diff --git a/src/Models/Errors/PauseResumeNotAllowedThrowable.php b/src/Models/Errors/PauseResumeNotAllowedThrowable.php new file mode 100644 index 00000000..9528b87f --- /dev/null +++ b/src/Models/Errors/PauseResumeNotAllowedThrowable.php @@ -0,0 +1,20 @@ +container = $container; + } +} \ No newline at end of file diff --git a/src/Models/Errors/PaymentActionRequired.php b/src/Models/Errors/PaymentActionRequired.php new file mode 100644 index 00000000..1b890688 --- /dev/null +++ b/src/Models/Errors/PaymentActionRequired.php @@ -0,0 +1,58 @@ +error = $error; + $this->detail = $detail; + $this->rawResponse = $rawResponse; + } + + public function toException(): PaymentActionRequiredThrowable + { + $serializer = Utils\JSON::createSerializer(); + $message = $serializer->serialize($this, 'json'); + $code = -1; + + return new PaymentActionRequiredThrowable($message, (int) $code, $this); + } +} \ No newline at end of file diff --git a/src/Models/Errors/PaymentActionRequiredThrowable.php b/src/Models/Errors/PaymentActionRequiredThrowable.php new file mode 100644 index 00000000..537436b2 --- /dev/null +++ b/src/Models/Errors/PaymentActionRequiredThrowable.php @@ -0,0 +1,20 @@ +container = $container; + } +} \ No newline at end of file diff --git a/src/Models/Errors/NotPaidOrder.php b/src/Models/Errors/PaymentFailed1.php similarity index 84% rename from src/Models/Errors/NotPaidOrder.php rename to src/Models/Errors/PaymentFailed1.php index 796b0b32..5a322b91 100644 --- a/src/Models/Errors/NotPaidOrder.php +++ b/src/Models/Errors/PaymentFailed1.php @@ -9,7 +9,7 @@ namespace Polar\Models\Errors; use Polar\Utils; -class NotPaidOrder +class PaymentFailed1 { /** * @@ -40,19 +40,19 @@ class NotPaidOrder * @param ?\Psr\Http\Message\ResponseInterface $rawResponse * @phpstan-pure */ - public function __construct(string $detail, ?\Psr\Http\Message\ResponseInterface $rawResponse = null, string $error = 'NotPaidOrder') + public function __construct(string $detail, ?\Psr\Http\Message\ResponseInterface $rawResponse = null, string $error = 'PaymentFailed') { $this->error = $error; $this->detail = $detail; $this->rawResponse = $rawResponse; } - public function toException(): NotPaidOrderThrowable + public function toException(): PaymentFailed1Throwable { $serializer = Utils\JSON::createSerializer(); $message = $serializer->serialize($this, 'json'); $code = -1; - return new NotPaidOrderThrowable($message, (int) $code, $this); + return new PaymentFailed1Throwable($message, (int) $code, $this); } } \ No newline at end of file diff --git a/src/Models/Errors/PaymentFailed1Throwable.php b/src/Models/Errors/PaymentFailed1Throwable.php new file mode 100644 index 00000000..db9c6b80 --- /dev/null +++ b/src/Models/Errors/PaymentFailed1Throwable.php @@ -0,0 +1,20 @@ +container = $container; + } +} \ No newline at end of file diff --git a/src/Models/Errors/PaymentMethodSetupFailed.php b/src/Models/Errors/PaymentMethodSetupFailed.php new file mode 100644 index 00000000..93ba30f0 --- /dev/null +++ b/src/Models/Errors/PaymentMethodSetupFailed.php @@ -0,0 +1,47 @@ +error = $error; + $this->detail = $detail; + } + + public function toException(): PaymentMethodSetupFailedThrowable + { + $serializer = Utils\JSON::createSerializer(); + $message = $serializer->serialize($this, 'json'); + $code = -1; + + return new PaymentMethodSetupFailedThrowable($message, (int) $code, $this); + } +} \ No newline at end of file diff --git a/src/Models/Errors/PaymentMethodSetupFailedThrowable.php b/src/Models/Errors/PaymentMethodSetupFailedThrowable.php new file mode 100644 index 00000000..72d20617 --- /dev/null +++ b/src/Models/Errors/PaymentMethodSetupFailedThrowable.php @@ -0,0 +1,20 @@ +container = $container; + } +} \ No newline at end of file diff --git a/src/Models/Errors/SSOEnforcementRequiresConnection.php b/src/Models/Errors/SSOEnforcementRequiresConnection.php new file mode 100644 index 00000000..498ab363 --- /dev/null +++ b/src/Models/Errors/SSOEnforcementRequiresConnection.php @@ -0,0 +1,47 @@ +error = $error; + $this->detail = $detail; + } + + public function toException(): SSOEnforcementRequiresConnectionThrowable + { + $serializer = Utils\JSON::createSerializer(); + $message = $serializer->serialize($this, 'json'); + $code = -1; + + return new SSOEnforcementRequiresConnectionThrowable($message, (int) $code, $this); + } +} \ No newline at end of file diff --git a/src/Models/Errors/SSOEnforcementRequiresConnectionThrowable.php b/src/Models/Errors/SSOEnforcementRequiresConnectionThrowable.php new file mode 100644 index 00000000..5672036f --- /dev/null +++ b/src/Models/Errors/SSOEnforcementRequiresConnectionThrowable.php @@ -0,0 +1,20 @@ +container = $container; + } +} \ No newline at end of file diff --git a/src/Models/Operations/BenefitsCreateResponse.php b/src/Models/Operations/BenefitsCreateResponse.php index c4eba3ce..208cfd34 100644 --- a/src/Models/Operations/BenefitsCreateResponse.php +++ b/src/Models/Operations/BenefitsCreateResponse.php @@ -35,18 +35,18 @@ class BenefitsCreateResponse /** * Benefit created. * - * @var \Polar\Models\Components\BenefitCustom|\Polar\Models\Components\BenefitDiscord|\Polar\Models\Components\BenefitGitHubRepository|\Polar\Models\Components\BenefitDownloadables|\Polar\Models\Components\BenefitLicenseKeys|\Polar\Models\Components\BenefitMeterCredit|\Polar\Models\Components\BenefitFeatureFlag|null $benefit + * @var \Polar\Models\Components\BenefitCustom|\Polar\Models\Components\BenefitDiscord|\Polar\Models\Components\BenefitGitHubRepository|\Polar\Models\Components\BenefitDownloadables|\Polar\Models\Components\BenefitLicenseKeys|\Polar\Models\Components\BenefitMeterCredit|\Polar\Models\Components\BenefitFeatureFlag|\Polar\Models\Components\BenefitSlackSharedChannel|null $benefit */ - public Components\BenefitCustom|Components\BenefitDiscord|Components\BenefitGitHubRepository|Components\BenefitDownloadables|Components\BenefitLicenseKeys|Components\BenefitMeterCredit|Components\BenefitFeatureFlag|null $benefit = null; + public Components\BenefitCustom|Components\BenefitDiscord|Components\BenefitGitHubRepository|Components\BenefitDownloadables|Components\BenefitLicenseKeys|Components\BenefitMeterCredit|Components\BenefitFeatureFlag|Components\BenefitSlackSharedChannel|null $benefit = null; /** * @param string $contentType * @param int $statusCode * @param \Psr\Http\Message\ResponseInterface $rawResponse - * @param \Polar\Models\Components\BenefitCustom|\Polar\Models\Components\BenefitDiscord|\Polar\Models\Components\BenefitGitHubRepository|\Polar\Models\Components\BenefitDownloadables|\Polar\Models\Components\BenefitLicenseKeys|\Polar\Models\Components\BenefitMeterCredit|\Polar\Models\Components\BenefitFeatureFlag|null $benefit + * @param \Polar\Models\Components\BenefitCustom|\Polar\Models\Components\BenefitDiscord|\Polar\Models\Components\BenefitGitHubRepository|\Polar\Models\Components\BenefitDownloadables|\Polar\Models\Components\BenefitLicenseKeys|\Polar\Models\Components\BenefitMeterCredit|\Polar\Models\Components\BenefitFeatureFlag|\Polar\Models\Components\BenefitSlackSharedChannel|null $benefit * @phpstan-pure */ - public function __construct(string $contentType, int $statusCode, \Psr\Http\Message\ResponseInterface $rawResponse, Components\BenefitCustom|Components\BenefitDiscord|Components\BenefitGitHubRepository|Components\BenefitDownloadables|Components\BenefitLicenseKeys|Components\BenefitMeterCredit|Components\BenefitFeatureFlag|null $benefit = null) + public function __construct(string $contentType, int $statusCode, \Psr\Http\Message\ResponseInterface $rawResponse, Components\BenefitCustom|Components\BenefitDiscord|Components\BenefitGitHubRepository|Components\BenefitDownloadables|Components\BenefitLicenseKeys|Components\BenefitMeterCredit|Components\BenefitFeatureFlag|Components\BenefitSlackSharedChannel|null $benefit = null) { $this->contentType = $contentType; $this->statusCode = $statusCode; diff --git a/src/Models/Operations/BenefitsGetResponse.php b/src/Models/Operations/BenefitsGetResponse.php index d68e0844..fe7cef88 100644 --- a/src/Models/Operations/BenefitsGetResponse.php +++ b/src/Models/Operations/BenefitsGetResponse.php @@ -35,18 +35,18 @@ class BenefitsGetResponse /** * Successful Response * - * @var \Polar\Models\Components\BenefitCustom|\Polar\Models\Components\BenefitDiscord|\Polar\Models\Components\BenefitGitHubRepository|\Polar\Models\Components\BenefitDownloadables|\Polar\Models\Components\BenefitLicenseKeys|\Polar\Models\Components\BenefitMeterCredit|\Polar\Models\Components\BenefitFeatureFlag|null $benefit + * @var \Polar\Models\Components\BenefitCustom|\Polar\Models\Components\BenefitDiscord|\Polar\Models\Components\BenefitGitHubRepository|\Polar\Models\Components\BenefitDownloadables|\Polar\Models\Components\BenefitLicenseKeys|\Polar\Models\Components\BenefitMeterCredit|\Polar\Models\Components\BenefitFeatureFlag|\Polar\Models\Components\BenefitSlackSharedChannel|null $benefit */ - public Components\BenefitCustom|Components\BenefitDiscord|Components\BenefitGitHubRepository|Components\BenefitDownloadables|Components\BenefitLicenseKeys|Components\BenefitMeterCredit|Components\BenefitFeatureFlag|null $benefit = null; + public Components\BenefitCustom|Components\BenefitDiscord|Components\BenefitGitHubRepository|Components\BenefitDownloadables|Components\BenefitLicenseKeys|Components\BenefitMeterCredit|Components\BenefitFeatureFlag|Components\BenefitSlackSharedChannel|null $benefit = null; /** * @param string $contentType * @param int $statusCode * @param \Psr\Http\Message\ResponseInterface $rawResponse - * @param \Polar\Models\Components\BenefitCustom|\Polar\Models\Components\BenefitDiscord|\Polar\Models\Components\BenefitGitHubRepository|\Polar\Models\Components\BenefitDownloadables|\Polar\Models\Components\BenefitLicenseKeys|\Polar\Models\Components\BenefitMeterCredit|\Polar\Models\Components\BenefitFeatureFlag|null $benefit + * @param \Polar\Models\Components\BenefitCustom|\Polar\Models\Components\BenefitDiscord|\Polar\Models\Components\BenefitGitHubRepository|\Polar\Models\Components\BenefitDownloadables|\Polar\Models\Components\BenefitLicenseKeys|\Polar\Models\Components\BenefitMeterCredit|\Polar\Models\Components\BenefitFeatureFlag|\Polar\Models\Components\BenefitSlackSharedChannel|null $benefit * @phpstan-pure */ - public function __construct(string $contentType, int $statusCode, \Psr\Http\Message\ResponseInterface $rawResponse, Components\BenefitCustom|Components\BenefitDiscord|Components\BenefitGitHubRepository|Components\BenefitDownloadables|Components\BenefitLicenseKeys|Components\BenefitMeterCredit|Components\BenefitFeatureFlag|null $benefit = null) + public function __construct(string $contentType, int $statusCode, \Psr\Http\Message\ResponseInterface $rawResponse, Components\BenefitCustom|Components\BenefitDiscord|Components\BenefitGitHubRepository|Components\BenefitDownloadables|Components\BenefitLicenseKeys|Components\BenefitMeterCredit|Components\BenefitFeatureFlag|Components\BenefitSlackSharedChannel|null $benefit = null) { $this->contentType = $contentType; $this->statusCode = $statusCode; diff --git a/src/Models/Operations/BenefitsUpdateRequest.php b/src/Models/Operations/BenefitsUpdateRequest.php index 3c6217f7..ab2880c4 100644 --- a/src/Models/Operations/BenefitsUpdateRequest.php +++ b/src/Models/Operations/BenefitsUpdateRequest.php @@ -21,17 +21,17 @@ class BenefitsUpdateRequest /** * - * @var \Polar\Models\Components\BenefitCustomUpdate|\Polar\Models\Components\BenefitDiscordUpdate|\Polar\Models\Components\BenefitGitHubRepositoryUpdate|\Polar\Models\Components\BenefitDownloadablesUpdate|\Polar\Models\Components\BenefitLicenseKeysUpdate|\Polar\Models\Components\BenefitMeterCreditUpdate|\Polar\Models\Components\BenefitFeatureFlagUpdate $requestBody + * @var \Polar\Models\Components\BenefitCustomUpdate|\Polar\Models\Components\BenefitDiscordUpdate|\Polar\Models\Components\BenefitGitHubRepositoryUpdate|\Polar\Models\Components\BenefitDownloadablesUpdate|\Polar\Models\Components\BenefitLicenseKeysUpdate|\Polar\Models\Components\BenefitMeterCreditUpdate|\Polar\Models\Components\BenefitFeatureFlagUpdate|\Polar\Models\Components\BenefitSlackSharedChannelUpdate $requestBody */ #[SpeakeasyMetadata('request:mediaType=application/json')] - public Components\BenefitCustomUpdate|Components\BenefitDiscordUpdate|Components\BenefitGitHubRepositoryUpdate|Components\BenefitDownloadablesUpdate|Components\BenefitLicenseKeysUpdate|Components\BenefitMeterCreditUpdate|Components\BenefitFeatureFlagUpdate $requestBody; + public Components\BenefitCustomUpdate|Components\BenefitDiscordUpdate|Components\BenefitGitHubRepositoryUpdate|Components\BenefitDownloadablesUpdate|Components\BenefitLicenseKeysUpdate|Components\BenefitMeterCreditUpdate|Components\BenefitFeatureFlagUpdate|Components\BenefitSlackSharedChannelUpdate $requestBody; /** * @param string $id - * @param \Polar\Models\Components\BenefitCustomUpdate|\Polar\Models\Components\BenefitDiscordUpdate|\Polar\Models\Components\BenefitGitHubRepositoryUpdate|\Polar\Models\Components\BenefitDownloadablesUpdate|\Polar\Models\Components\BenefitLicenseKeysUpdate|\Polar\Models\Components\BenefitMeterCreditUpdate|\Polar\Models\Components\BenefitFeatureFlagUpdate $requestBody + * @param \Polar\Models\Components\BenefitCustomUpdate|\Polar\Models\Components\BenefitDiscordUpdate|\Polar\Models\Components\BenefitGitHubRepositoryUpdate|\Polar\Models\Components\BenefitDownloadablesUpdate|\Polar\Models\Components\BenefitLicenseKeysUpdate|\Polar\Models\Components\BenefitMeterCreditUpdate|\Polar\Models\Components\BenefitFeatureFlagUpdate|\Polar\Models\Components\BenefitSlackSharedChannelUpdate $requestBody * @phpstan-pure */ - public function __construct(string $id, Components\BenefitCustomUpdate|Components\BenefitDiscordUpdate|Components\BenefitGitHubRepositoryUpdate|Components\BenefitDownloadablesUpdate|Components\BenefitLicenseKeysUpdate|Components\BenefitMeterCreditUpdate|Components\BenefitFeatureFlagUpdate $requestBody) + public function __construct(string $id, Components\BenefitCustomUpdate|Components\BenefitDiscordUpdate|Components\BenefitGitHubRepositoryUpdate|Components\BenefitDownloadablesUpdate|Components\BenefitLicenseKeysUpdate|Components\BenefitMeterCreditUpdate|Components\BenefitFeatureFlagUpdate|Components\BenefitSlackSharedChannelUpdate $requestBody) { $this->id = $id; $this->requestBody = $requestBody; diff --git a/src/Models/Operations/BenefitsUpdateResponse.php b/src/Models/Operations/BenefitsUpdateResponse.php index 1928b788..d6ccd7d0 100644 --- a/src/Models/Operations/BenefitsUpdateResponse.php +++ b/src/Models/Operations/BenefitsUpdateResponse.php @@ -35,18 +35,18 @@ class BenefitsUpdateResponse /** * Benefit updated. * - * @var \Polar\Models\Components\BenefitCustom|\Polar\Models\Components\BenefitDiscord|\Polar\Models\Components\BenefitGitHubRepository|\Polar\Models\Components\BenefitDownloadables|\Polar\Models\Components\BenefitLicenseKeys|\Polar\Models\Components\BenefitMeterCredit|\Polar\Models\Components\BenefitFeatureFlag|null $benefit + * @var \Polar\Models\Components\BenefitCustom|\Polar\Models\Components\BenefitDiscord|\Polar\Models\Components\BenefitGitHubRepository|\Polar\Models\Components\BenefitDownloadables|\Polar\Models\Components\BenefitLicenseKeys|\Polar\Models\Components\BenefitMeterCredit|\Polar\Models\Components\BenefitFeatureFlag|\Polar\Models\Components\BenefitSlackSharedChannel|null $benefit */ - public Components\BenefitCustom|Components\BenefitDiscord|Components\BenefitGitHubRepository|Components\BenefitDownloadables|Components\BenefitLicenseKeys|Components\BenefitMeterCredit|Components\BenefitFeatureFlag|null $benefit = null; + public Components\BenefitCustom|Components\BenefitDiscord|Components\BenefitGitHubRepository|Components\BenefitDownloadables|Components\BenefitLicenseKeys|Components\BenefitMeterCredit|Components\BenefitFeatureFlag|Components\BenefitSlackSharedChannel|null $benefit = null; /** * @param string $contentType * @param int $statusCode * @param \Psr\Http\Message\ResponseInterface $rawResponse - * @param \Polar\Models\Components\BenefitCustom|\Polar\Models\Components\BenefitDiscord|\Polar\Models\Components\BenefitGitHubRepository|\Polar\Models\Components\BenefitDownloadables|\Polar\Models\Components\BenefitLicenseKeys|\Polar\Models\Components\BenefitMeterCredit|\Polar\Models\Components\BenefitFeatureFlag|null $benefit + * @param \Polar\Models\Components\BenefitCustom|\Polar\Models\Components\BenefitDiscord|\Polar\Models\Components\BenefitGitHubRepository|\Polar\Models\Components\BenefitDownloadables|\Polar\Models\Components\BenefitLicenseKeys|\Polar\Models\Components\BenefitMeterCredit|\Polar\Models\Components\BenefitFeatureFlag|\Polar\Models\Components\BenefitSlackSharedChannel|null $benefit * @phpstan-pure */ - public function __construct(string $contentType, int $statusCode, \Psr\Http\Message\ResponseInterface $rawResponse, Components\BenefitCustom|Components\BenefitDiscord|Components\BenefitGitHubRepository|Components\BenefitDownloadables|Components\BenefitLicenseKeys|Components\BenefitMeterCredit|Components\BenefitFeatureFlag|null $benefit = null) + public function __construct(string $contentType, int $statusCode, \Psr\Http\Message\ResponseInterface $rawResponse, Components\BenefitCustom|Components\BenefitDiscord|Components\BenefitGitHubRepository|Components\BenefitDownloadables|Components\BenefitLicenseKeys|Components\BenefitMeterCredit|Components\BenefitFeatureFlag|Components\BenefitSlackSharedChannel|null $benefit = null) { $this->contentType = $contentType; $this->statusCode = $statusCode; diff --git a/src/Models/Operations/CustomerPortalBenefitGrantsGetResponse.php b/src/Models/Operations/CustomerPortalBenefitGrantsGetResponse.php index 46b23b2d..32eee810 100644 --- a/src/Models/Operations/CustomerPortalBenefitGrantsGetResponse.php +++ b/src/Models/Operations/CustomerPortalBenefitGrantsGetResponse.php @@ -35,18 +35,18 @@ class CustomerPortalBenefitGrantsGetResponse /** * Successful Response * - * @var \Polar\Models\Components\CustomerBenefitGrantDiscord|\Polar\Models\Components\CustomerBenefitGrantGitHubRepository|\Polar\Models\Components\CustomerBenefitGrantDownloadables|\Polar\Models\Components\CustomerBenefitGrantLicenseKeys|\Polar\Models\Components\CustomerBenefitGrantCustom|\Polar\Models\Components\CustomerBenefitGrantMeterCredit|\Polar\Models\Components\CustomerBenefitGrantFeatureFlag|null $customerBenefitGrant + * @var \Polar\Models\Components\CustomerBenefitGrantDiscord|\Polar\Models\Components\CustomerBenefitGrantGitHubRepository|\Polar\Models\Components\CustomerBenefitGrantDownloadables|\Polar\Models\Components\CustomerBenefitGrantLicenseKeys|\Polar\Models\Components\CustomerBenefitGrantCustom|\Polar\Models\Components\CustomerBenefitGrantMeterCredit|\Polar\Models\Components\CustomerBenefitGrantFeatureFlag|\Polar\Models\Components\CustomerBenefitGrantSlackSharedChannel|null $customerBenefitGrant */ - public Components\CustomerBenefitGrantDiscord|Components\CustomerBenefitGrantGitHubRepository|Components\CustomerBenefitGrantDownloadables|Components\CustomerBenefitGrantLicenseKeys|Components\CustomerBenefitGrantCustom|Components\CustomerBenefitGrantMeterCredit|Components\CustomerBenefitGrantFeatureFlag|null $customerBenefitGrant = null; + public Components\CustomerBenefitGrantDiscord|Components\CustomerBenefitGrantGitHubRepository|Components\CustomerBenefitGrantDownloadables|Components\CustomerBenefitGrantLicenseKeys|Components\CustomerBenefitGrantCustom|Components\CustomerBenefitGrantMeterCredit|Components\CustomerBenefitGrantFeatureFlag|Components\CustomerBenefitGrantSlackSharedChannel|null $customerBenefitGrant = null; /** * @param string $contentType * @param int $statusCode * @param \Psr\Http\Message\ResponseInterface $rawResponse - * @param \Polar\Models\Components\CustomerBenefitGrantDiscord|\Polar\Models\Components\CustomerBenefitGrantGitHubRepository|\Polar\Models\Components\CustomerBenefitGrantDownloadables|\Polar\Models\Components\CustomerBenefitGrantLicenseKeys|\Polar\Models\Components\CustomerBenefitGrantCustom|\Polar\Models\Components\CustomerBenefitGrantMeterCredit|\Polar\Models\Components\CustomerBenefitGrantFeatureFlag|null $customerBenefitGrant + * @param \Polar\Models\Components\CustomerBenefitGrantDiscord|\Polar\Models\Components\CustomerBenefitGrantGitHubRepository|\Polar\Models\Components\CustomerBenefitGrantDownloadables|\Polar\Models\Components\CustomerBenefitGrantLicenseKeys|\Polar\Models\Components\CustomerBenefitGrantCustom|\Polar\Models\Components\CustomerBenefitGrantMeterCredit|\Polar\Models\Components\CustomerBenefitGrantFeatureFlag|\Polar\Models\Components\CustomerBenefitGrantSlackSharedChannel|null $customerBenefitGrant * @phpstan-pure */ - public function __construct(string $contentType, int $statusCode, \Psr\Http\Message\ResponseInterface $rawResponse, Components\CustomerBenefitGrantDiscord|Components\CustomerBenefitGrantGitHubRepository|Components\CustomerBenefitGrantDownloadables|Components\CustomerBenefitGrantLicenseKeys|Components\CustomerBenefitGrantCustom|Components\CustomerBenefitGrantMeterCredit|Components\CustomerBenefitGrantFeatureFlag|null $customerBenefitGrant = null) + public function __construct(string $contentType, int $statusCode, \Psr\Http\Message\ResponseInterface $rawResponse, Components\CustomerBenefitGrantDiscord|Components\CustomerBenefitGrantGitHubRepository|Components\CustomerBenefitGrantDownloadables|Components\CustomerBenefitGrantLicenseKeys|Components\CustomerBenefitGrantCustom|Components\CustomerBenefitGrantMeterCredit|Components\CustomerBenefitGrantFeatureFlag|Components\CustomerBenefitGrantSlackSharedChannel|null $customerBenefitGrant = null) { $this->contentType = $contentType; $this->statusCode = $statusCode; diff --git a/src/Models/Operations/CustomerPortalBenefitGrantsUpdateRequest.php b/src/Models/Operations/CustomerPortalBenefitGrantsUpdateRequest.php index 3ede2b38..8b51a5f5 100644 --- a/src/Models/Operations/CustomerPortalBenefitGrantsUpdateRequest.php +++ b/src/Models/Operations/CustomerPortalBenefitGrantsUpdateRequest.php @@ -22,17 +22,17 @@ class CustomerPortalBenefitGrantsUpdateRequest /** * - * @var \Polar\Models\Components\CustomerBenefitGrantDiscordUpdate|\Polar\Models\Components\CustomerBenefitGrantGitHubRepositoryUpdate|\Polar\Models\Components\CustomerBenefitGrantDownloadablesUpdate|\Polar\Models\Components\CustomerBenefitGrantLicenseKeysUpdate|\Polar\Models\Components\CustomerBenefitGrantCustomUpdate|\Polar\Models\Components\CustomerBenefitGrantMeterCreditUpdate|\Polar\Models\Components\CustomerBenefitGrantFeatureFlagUpdate $customerBenefitGrantUpdate + * @var \Polar\Models\Components\CustomerBenefitGrantDiscordUpdate|\Polar\Models\Components\CustomerBenefitGrantGitHubRepositoryUpdate|\Polar\Models\Components\CustomerBenefitGrantDownloadablesUpdate|\Polar\Models\Components\CustomerBenefitGrantLicenseKeysUpdate|\Polar\Models\Components\CustomerBenefitGrantCustomUpdate|\Polar\Models\Components\CustomerBenefitGrantMeterCreditUpdate|\Polar\Models\Components\CustomerBenefitGrantFeatureFlagUpdate|\Polar\Models\Components\CustomerBenefitGrantSlackSharedChannelUpdate $customerBenefitGrantUpdate */ #[SpeakeasyMetadata('request:mediaType=application/json')] - public Components\CustomerBenefitGrantDiscordUpdate|Components\CustomerBenefitGrantGitHubRepositoryUpdate|Components\CustomerBenefitGrantDownloadablesUpdate|Components\CustomerBenefitGrantLicenseKeysUpdate|Components\CustomerBenefitGrantCustomUpdate|Components\CustomerBenefitGrantMeterCreditUpdate|Components\CustomerBenefitGrantFeatureFlagUpdate $customerBenefitGrantUpdate; + public Components\CustomerBenefitGrantDiscordUpdate|Components\CustomerBenefitGrantGitHubRepositoryUpdate|Components\CustomerBenefitGrantDownloadablesUpdate|Components\CustomerBenefitGrantLicenseKeysUpdate|Components\CustomerBenefitGrantCustomUpdate|Components\CustomerBenefitGrantMeterCreditUpdate|Components\CustomerBenefitGrantFeatureFlagUpdate|Components\CustomerBenefitGrantSlackSharedChannelUpdate $customerBenefitGrantUpdate; /** * @param string $id - * @param \Polar\Models\Components\CustomerBenefitGrantDiscordUpdate|\Polar\Models\Components\CustomerBenefitGrantGitHubRepositoryUpdate|\Polar\Models\Components\CustomerBenefitGrantDownloadablesUpdate|\Polar\Models\Components\CustomerBenefitGrantLicenseKeysUpdate|\Polar\Models\Components\CustomerBenefitGrantCustomUpdate|\Polar\Models\Components\CustomerBenefitGrantMeterCreditUpdate|\Polar\Models\Components\CustomerBenefitGrantFeatureFlagUpdate $customerBenefitGrantUpdate + * @param \Polar\Models\Components\CustomerBenefitGrantDiscordUpdate|\Polar\Models\Components\CustomerBenefitGrantGitHubRepositoryUpdate|\Polar\Models\Components\CustomerBenefitGrantDownloadablesUpdate|\Polar\Models\Components\CustomerBenefitGrantLicenseKeysUpdate|\Polar\Models\Components\CustomerBenefitGrantCustomUpdate|\Polar\Models\Components\CustomerBenefitGrantMeterCreditUpdate|\Polar\Models\Components\CustomerBenefitGrantFeatureFlagUpdate|\Polar\Models\Components\CustomerBenefitGrantSlackSharedChannelUpdate $customerBenefitGrantUpdate * @phpstan-pure */ - public function __construct(string $id, Components\CustomerBenefitGrantDiscordUpdate|Components\CustomerBenefitGrantGitHubRepositoryUpdate|Components\CustomerBenefitGrantDownloadablesUpdate|Components\CustomerBenefitGrantLicenseKeysUpdate|Components\CustomerBenefitGrantCustomUpdate|Components\CustomerBenefitGrantMeterCreditUpdate|Components\CustomerBenefitGrantFeatureFlagUpdate $customerBenefitGrantUpdate) + public function __construct(string $id, Components\CustomerBenefitGrantDiscordUpdate|Components\CustomerBenefitGrantGitHubRepositoryUpdate|Components\CustomerBenefitGrantDownloadablesUpdate|Components\CustomerBenefitGrantLicenseKeysUpdate|Components\CustomerBenefitGrantCustomUpdate|Components\CustomerBenefitGrantMeterCreditUpdate|Components\CustomerBenefitGrantFeatureFlagUpdate|Components\CustomerBenefitGrantSlackSharedChannelUpdate $customerBenefitGrantUpdate) { $this->id = $id; $this->customerBenefitGrantUpdate = $customerBenefitGrantUpdate; diff --git a/src/Models/Operations/CustomerPortalBenefitGrantsUpdateResponse.php b/src/Models/Operations/CustomerPortalBenefitGrantsUpdateResponse.php index 88522194..54ef7e11 100644 --- a/src/Models/Operations/CustomerPortalBenefitGrantsUpdateResponse.php +++ b/src/Models/Operations/CustomerPortalBenefitGrantsUpdateResponse.php @@ -35,18 +35,18 @@ class CustomerPortalBenefitGrantsUpdateResponse /** * Benefit grant updated. * - * @var \Polar\Models\Components\CustomerBenefitGrantDiscord|\Polar\Models\Components\CustomerBenefitGrantGitHubRepository|\Polar\Models\Components\CustomerBenefitGrantDownloadables|\Polar\Models\Components\CustomerBenefitGrantLicenseKeys|\Polar\Models\Components\CustomerBenefitGrantCustom|\Polar\Models\Components\CustomerBenefitGrantMeterCredit|\Polar\Models\Components\CustomerBenefitGrantFeatureFlag|null $customerBenefitGrant + * @var \Polar\Models\Components\CustomerBenefitGrantDiscord|\Polar\Models\Components\CustomerBenefitGrantGitHubRepository|\Polar\Models\Components\CustomerBenefitGrantDownloadables|\Polar\Models\Components\CustomerBenefitGrantLicenseKeys|\Polar\Models\Components\CustomerBenefitGrantCustom|\Polar\Models\Components\CustomerBenefitGrantMeterCredit|\Polar\Models\Components\CustomerBenefitGrantFeatureFlag|\Polar\Models\Components\CustomerBenefitGrantSlackSharedChannel|null $customerBenefitGrant */ - public Components\CustomerBenefitGrantDiscord|Components\CustomerBenefitGrantGitHubRepository|Components\CustomerBenefitGrantDownloadables|Components\CustomerBenefitGrantLicenseKeys|Components\CustomerBenefitGrantCustom|Components\CustomerBenefitGrantMeterCredit|Components\CustomerBenefitGrantFeatureFlag|null $customerBenefitGrant = null; + public Components\CustomerBenefitGrantDiscord|Components\CustomerBenefitGrantGitHubRepository|Components\CustomerBenefitGrantDownloadables|Components\CustomerBenefitGrantLicenseKeys|Components\CustomerBenefitGrantCustom|Components\CustomerBenefitGrantMeterCredit|Components\CustomerBenefitGrantFeatureFlag|Components\CustomerBenefitGrantSlackSharedChannel|null $customerBenefitGrant = null; /** * @param string $contentType * @param int $statusCode * @param \Psr\Http\Message\ResponseInterface $rawResponse - * @param \Polar\Models\Components\CustomerBenefitGrantDiscord|\Polar\Models\Components\CustomerBenefitGrantGitHubRepository|\Polar\Models\Components\CustomerBenefitGrantDownloadables|\Polar\Models\Components\CustomerBenefitGrantLicenseKeys|\Polar\Models\Components\CustomerBenefitGrantCustom|\Polar\Models\Components\CustomerBenefitGrantMeterCredit|\Polar\Models\Components\CustomerBenefitGrantFeatureFlag|null $customerBenefitGrant + * @param \Polar\Models\Components\CustomerBenefitGrantDiscord|\Polar\Models\Components\CustomerBenefitGrantGitHubRepository|\Polar\Models\Components\CustomerBenefitGrantDownloadables|\Polar\Models\Components\CustomerBenefitGrantLicenseKeys|\Polar\Models\Components\CustomerBenefitGrantCustom|\Polar\Models\Components\CustomerBenefitGrantMeterCredit|\Polar\Models\Components\CustomerBenefitGrantFeatureFlag|\Polar\Models\Components\CustomerBenefitGrantSlackSharedChannel|null $customerBenefitGrant * @phpstan-pure */ - public function __construct(string $contentType, int $statusCode, \Psr\Http\Message\ResponseInterface $rawResponse, Components\CustomerBenefitGrantDiscord|Components\CustomerBenefitGrantGitHubRepository|Components\CustomerBenefitGrantDownloadables|Components\CustomerBenefitGrantLicenseKeys|Components\CustomerBenefitGrantCustom|Components\CustomerBenefitGrantMeterCredit|Components\CustomerBenefitGrantFeatureFlag|null $customerBenefitGrant = null) + public function __construct(string $contentType, int $statusCode, \Psr\Http\Message\ResponseInterface $rawResponse, Components\CustomerBenefitGrantDiscord|Components\CustomerBenefitGrantGitHubRepository|Components\CustomerBenefitGrantDownloadables|Components\CustomerBenefitGrantLicenseKeys|Components\CustomerBenefitGrantCustom|Components\CustomerBenefitGrantMeterCredit|Components\CustomerBenefitGrantFeatureFlag|Components\CustomerBenefitGrantSlackSharedChannel|null $customerBenefitGrant = null) { $this->contentType = $contentType; $this->statusCode = $statusCode; diff --git a/src/Models/Operations/CustomerPortalCustomersCheckEmailUpdateRequest.php b/src/Models/Operations/CustomerPortalCustomersCheckEmailUpdateRequest.php new file mode 100644 index 00000000..ddbbff3f --- /dev/null +++ b/src/Models/Operations/CustomerPortalCustomersCheckEmailUpdateRequest.php @@ -0,0 +1,29 @@ +token = $token; + } +} \ No newline at end of file diff --git a/src/Models/Operations/CustomerPortalCustomersCheckEmailUpdateResponse.php b/src/Models/Operations/CustomerPortalCustomersCheckEmailUpdateResponse.php new file mode 100644 index 00000000..ee59b792 --- /dev/null +++ b/src/Models/Operations/CustomerPortalCustomersCheckEmailUpdateResponse.php @@ -0,0 +1,47 @@ +contentType = $contentType; + $this->statusCode = $statusCode; + $this->rawResponse = $rawResponse; + } +} \ No newline at end of file diff --git a/src/Models/Operations/CustomerPortalCustomersRequestEmailUpdateResponse.php b/src/Models/Operations/CustomerPortalCustomersRequestEmailUpdateResponse.php new file mode 100644 index 00000000..b1dd83e0 --- /dev/null +++ b/src/Models/Operations/CustomerPortalCustomersRequestEmailUpdateResponse.php @@ -0,0 +1,56 @@ +contentType = $contentType; + $this->statusCode = $statusCode; + $this->rawResponse = $rawResponse; + $this->any = $any; + } +} \ No newline at end of file diff --git a/src/Models/Operations/CustomerPortalCustomersRequestEmailUpdateSecurity.php b/src/Models/Operations/CustomerPortalCustomersRequestEmailUpdateSecurity.php new file mode 100644 index 00000000..0d9124cc --- /dev/null +++ b/src/Models/Operations/CustomerPortalCustomersRequestEmailUpdateSecurity.php @@ -0,0 +1,38 @@ +customerSession = $customerSession; + $this->memberSession = $memberSession; + } +} \ No newline at end of file diff --git a/src/Models/Operations/OrganizationAccessTokensCreateResponse.php b/src/Models/Operations/CustomerPortalCustomersVerifyEmailUpdateResponse.php similarity index 66% rename from src/Models/Operations/OrganizationAccessTokensCreateResponse.php rename to src/Models/Operations/CustomerPortalCustomersVerifyEmailUpdateResponse.php index 366f543a..78098205 100644 --- a/src/Models/Operations/OrganizationAccessTokensCreateResponse.php +++ b/src/Models/Operations/CustomerPortalCustomersVerifyEmailUpdateResponse.php @@ -9,7 +9,7 @@ namespace Polar\Models\Operations; use Polar\Models\Components; -class OrganizationAccessTokensCreateResponse +class CustomerPortalCustomersVerifyEmailUpdateResponse { /** * HTTP response content type for this operation @@ -33,24 +33,24 @@ class OrganizationAccessTokensCreateResponse public \Psr\Http\Message\ResponseInterface $rawResponse; /** - * Successful Response + * Email updated successfully. Returns a new session token. * - * @var ?\Polar\Models\Components\OrganizationAccessTokenCreateResponse $organizationAccessTokenCreateResponse + * @var ?\Polar\Models\Components\CustomerEmailUpdateVerifyResponse $customerEmailUpdateVerifyResponse */ - public ?Components\OrganizationAccessTokenCreateResponse $organizationAccessTokenCreateResponse = null; + public ?Components\CustomerEmailUpdateVerifyResponse $customerEmailUpdateVerifyResponse = null; /** * @param string $contentType * @param int $statusCode * @param \Psr\Http\Message\ResponseInterface $rawResponse - * @param ?\Polar\Models\Components\OrganizationAccessTokenCreateResponse $organizationAccessTokenCreateResponse + * @param ?\Polar\Models\Components\CustomerEmailUpdateVerifyResponse $customerEmailUpdateVerifyResponse * @phpstan-pure */ - public function __construct(string $contentType, int $statusCode, \Psr\Http\Message\ResponseInterface $rawResponse, ?Components\OrganizationAccessTokenCreateResponse $organizationAccessTokenCreateResponse = null) + public function __construct(string $contentType, int $statusCode, \Psr\Http\Message\ResponseInterface $rawResponse, ?Components\CustomerEmailUpdateVerifyResponse $customerEmailUpdateVerifyResponse = null) { $this->contentType = $contentType; $this->statusCode = $statusCode; $this->rawResponse = $rawResponse; - $this->organizationAccessTokenCreateResponse = $organizationAccessTokenCreateResponse; + $this->customerEmailUpdateVerifyResponse = $customerEmailUpdateVerifyResponse; } } \ No newline at end of file diff --git a/src/Models/Operations/MembersGetMemberRequest.php b/src/Models/Operations/CustomerPortalOrdersReceiptRequest.php similarity index 88% rename from src/Models/Operations/MembersGetMemberRequest.php rename to src/Models/Operations/CustomerPortalOrdersReceiptRequest.php index e03c33a8..92da3770 100644 --- a/src/Models/Operations/MembersGetMemberRequest.php +++ b/src/Models/Operations/CustomerPortalOrdersReceiptRequest.php @@ -9,9 +9,10 @@ namespace Polar\Models\Operations; use Polar\Utils\SpeakeasyMetadata; -class MembersGetMemberRequest +class CustomerPortalOrdersReceiptRequest { /** + * The order ID. * * @var string $id */ diff --git a/src/Models/Operations/OrganizationAccessTokensUpdateResponse.php b/src/Models/Operations/CustomerPortalOrdersReceiptResponse.php similarity index 72% rename from src/Models/Operations/OrganizationAccessTokensUpdateResponse.php rename to src/Models/Operations/CustomerPortalOrdersReceiptResponse.php index 351ee828..255af78c 100644 --- a/src/Models/Operations/OrganizationAccessTokensUpdateResponse.php +++ b/src/Models/Operations/CustomerPortalOrdersReceiptResponse.php @@ -9,7 +9,7 @@ namespace Polar\Models\Operations; use Polar\Models\Components; -class OrganizationAccessTokensUpdateResponse +class CustomerPortalOrdersReceiptResponse { /** * HTTP response content type for this operation @@ -35,22 +35,22 @@ class OrganizationAccessTokensUpdateResponse /** * Successful Response * - * @var ?\Polar\Models\Components\OrganizationAccessToken $organizationAccessToken + * @var ?\Polar\Models\Components\CustomerOrderReceipt $customerOrderReceipt */ - public ?Components\OrganizationAccessToken $organizationAccessToken = null; + public ?Components\CustomerOrderReceipt $customerOrderReceipt = null; /** * @param string $contentType * @param int $statusCode * @param \Psr\Http\Message\ResponseInterface $rawResponse - * @param ?\Polar\Models\Components\OrganizationAccessToken $organizationAccessToken + * @param ?\Polar\Models\Components\CustomerOrderReceipt $customerOrderReceipt * @phpstan-pure */ - public function __construct(string $contentType, int $statusCode, \Psr\Http\Message\ResponseInterface $rawResponse, ?Components\OrganizationAccessToken $organizationAccessToken = null) + public function __construct(string $contentType, int $statusCode, \Psr\Http\Message\ResponseInterface $rawResponse, ?Components\CustomerOrderReceipt $customerOrderReceipt = null) { $this->contentType = $contentType; $this->statusCode = $statusCode; $this->rawResponse = $rawResponse; - $this->organizationAccessToken = $organizationAccessToken; + $this->customerOrderReceipt = $customerOrderReceipt; } } \ No newline at end of file diff --git a/src/Models/Operations/CustomerPortalOrdersReceiptSecurity.php b/src/Models/Operations/CustomerPortalOrdersReceiptSecurity.php new file mode 100644 index 00000000..01dd3170 --- /dev/null +++ b/src/Models/Operations/CustomerPortalOrdersReceiptSecurity.php @@ -0,0 +1,38 @@ +customerSession = $customerSession; + $this->memberSession = $memberSession; + } +} \ No newline at end of file diff --git a/src/Models/Operations/CustomerPortalSubscriptionsUpdateRequest.php b/src/Models/Operations/CustomerPortalSubscriptionsUpdateRequest.php index fd908f79..dc966ad8 100644 --- a/src/Models/Operations/CustomerPortalSubscriptionsUpdateRequest.php +++ b/src/Models/Operations/CustomerPortalSubscriptionsUpdateRequest.php @@ -22,17 +22,17 @@ class CustomerPortalSubscriptionsUpdateRequest /** * - * @var \Polar\Models\Components\CustomerSubscriptionUpdateProduct|\Polar\Models\Components\CustomerSubscriptionUpdateSeats|\Polar\Models\Components\CustomerSubscriptionCancel $customerSubscriptionUpdate + * @var \Polar\Models\Components\CustomerSubscriptionUpdateProduct|\Polar\Models\Components\CustomerSubscriptionUpdateSeats|\Polar\Models\Components\CustomerSubscriptionCancel|\Polar\Models\Components\CustomerSubscriptionPause|\Polar\Models\Components\CustomerSubscriptionResume|\Polar\Models\Components\CustomerSubscriptionUpdateClear $customerSubscriptionUpdate */ #[SpeakeasyMetadata('request:mediaType=application/json')] - public Components\CustomerSubscriptionUpdateProduct|Components\CustomerSubscriptionUpdateSeats|Components\CustomerSubscriptionCancel $customerSubscriptionUpdate; + public Components\CustomerSubscriptionUpdateProduct|Components\CustomerSubscriptionUpdateSeats|Components\CustomerSubscriptionCancel|Components\CustomerSubscriptionPause|Components\CustomerSubscriptionResume|Components\CustomerSubscriptionUpdateClear $customerSubscriptionUpdate; /** * @param string $id - * @param \Polar\Models\Components\CustomerSubscriptionUpdateProduct|\Polar\Models\Components\CustomerSubscriptionUpdateSeats|\Polar\Models\Components\CustomerSubscriptionCancel $customerSubscriptionUpdate + * @param \Polar\Models\Components\CustomerSubscriptionUpdateProduct|\Polar\Models\Components\CustomerSubscriptionUpdateSeats|\Polar\Models\Components\CustomerSubscriptionCancel|\Polar\Models\Components\CustomerSubscriptionPause|\Polar\Models\Components\CustomerSubscriptionResume|\Polar\Models\Components\CustomerSubscriptionUpdateClear $customerSubscriptionUpdate * @phpstan-pure */ - public function __construct(string $id, Components\CustomerSubscriptionUpdateProduct|Components\CustomerSubscriptionUpdateSeats|Components\CustomerSubscriptionCancel $customerSubscriptionUpdate) + public function __construct(string $id, Components\CustomerSubscriptionUpdateProduct|Components\CustomerSubscriptionUpdateSeats|Components\CustomerSubscriptionCancel|Components\CustomerSubscriptionPause|Components\CustomerSubscriptionResume|Components\CustomerSubscriptionUpdateClear $customerSubscriptionUpdate) { $this->id = $id; $this->customerSubscriptionUpdate = $customerSubscriptionUpdate; diff --git a/src/Models/Operations/CustomersExportResponse.php b/src/Models/Operations/CustomersExportResponse.php index a4b00d26..11945a0d 100644 --- a/src/Models/Operations/CustomersExportResponse.php +++ b/src/Models/Operations/CustomersExportResponse.php @@ -32,13 +32,6 @@ class CustomersExportResponse */ public \Psr\Http\Message\ResponseInterface $rawResponse; - /** - * Successful Response - * - * @var mixed $any - */ - public mixed $any = null; - /** * Successful Response * @@ -50,16 +43,14 @@ class CustomersExportResponse * @param string $contentType * @param int $statusCode * @param \Psr\Http\Message\ResponseInterface $rawResponse - * @param mixed $any * @param ?string $res * @phpstan-pure */ - public function __construct(string $contentType, int $statusCode, \Psr\Http\Message\ResponseInterface $rawResponse, mixed $any = null, ?string $res = null) + public function __construct(string $contentType, int $statusCode, \Psr\Http\Message\ResponseInterface $rawResponse, ?string $res = null) { $this->contentType = $contentType; $this->statusCode = $statusCode; $this->rawResponse = $rawResponse; - $this->any = $any; $this->res = $res; } } \ No newline at end of file diff --git a/src/Models/Operations/CustomersListPaymentMethodsExternalRequest.php b/src/Models/Operations/CustomersListPaymentMethodsExternalRequest.php new file mode 100644 index 00000000..04ed72bf --- /dev/null +++ b/src/Models/Operations/CustomersListPaymentMethodsExternalRequest.php @@ -0,0 +1,50 @@ +externalId = $externalId; + $this->page = $page; + $this->limit = $limit; + } +} \ No newline at end of file diff --git a/src/Models/Operations/OrganizationAccessTokensListResponse.php b/src/Models/Operations/CustomersListPaymentMethodsExternalResponse.php similarity index 65% rename from src/Models/Operations/OrganizationAccessTokensListResponse.php rename to src/Models/Operations/CustomersListPaymentMethodsExternalResponse.php index 80e4ec14..2703534f 100644 --- a/src/Models/Operations/OrganizationAccessTokensListResponse.php +++ b/src/Models/Operations/CustomersListPaymentMethodsExternalResponse.php @@ -9,7 +9,7 @@ namespace Polar\Models\Operations; use Polar\Models\Components; -class OrganizationAccessTokensListResponse +class CustomersListPaymentMethodsExternalResponse { /** * HTTP response content type for this operation @@ -35,34 +35,34 @@ class OrganizationAccessTokensListResponse /** * Successful Response * - * @var ?\Polar\Models\Components\ListResourceOrganizationAccessToken $listResourceOrganizationAccessToken + * @var ?\Polar\Models\Components\ListResourcePaymentMethod $listResourcePaymentMethod */ - public ?Components\ListResourceOrganizationAccessToken $listResourceOrganizationAccessToken = null; + public ?Components\ListResourcePaymentMethod $listResourcePaymentMethod = null; /** - * @var \Closure(string): ?OrganizationAccessTokensListResponse $next + * @var \Closure(string): ?CustomersListPaymentMethodsExternalResponse $next */ public \Closure $next; /** * @param string $contentType * @param int $statusCode * @param \Psr\Http\Message\ResponseInterface $rawResponse - * @param ?\Polar\Models\Components\ListResourceOrganizationAccessToken $listResourceOrganizationAccessToken + * @param ?\Polar\Models\Components\ListResourcePaymentMethod $listResourcePaymentMethod * @phpstan-pure */ - public function __construct(string $contentType, int $statusCode, \Psr\Http\Message\ResponseInterface $rawResponse, ?Components\ListResourceOrganizationAccessToken $listResourceOrganizationAccessToken = null) + public function __construct(string $contentType, int $statusCode, \Psr\Http\Message\ResponseInterface $rawResponse, ?Components\ListResourcePaymentMethod $listResourcePaymentMethod = null) { $this->contentType = $contentType; $this->statusCode = $statusCode; $this->rawResponse = $rawResponse; - $this->listResourceOrganizationAccessToken = $listResourceOrganizationAccessToken; + $this->listResourcePaymentMethod = $listResourcePaymentMethod; } /** * @param string $name * @param array $args - * @return ?OrganizationAccessTokensListResponse + * @return ?CustomersListPaymentMethodsExternalResponse */ - public function __call($name, $args): ?OrganizationAccessTokensListResponse + public function __call($name, $args): ?CustomersListPaymentMethodsExternalResponse { if ($name === 'next') { return call_user_func_array($this->next, $args); diff --git a/src/Models/Operations/CustomersListPaymentMethodsRequest.php b/src/Models/Operations/CustomersListPaymentMethodsRequest.php new file mode 100644 index 00000000..9373edf2 --- /dev/null +++ b/src/Models/Operations/CustomersListPaymentMethodsRequest.php @@ -0,0 +1,50 @@ +id = $id; + $this->page = $page; + $this->limit = $limit; + } +} \ No newline at end of file diff --git a/src/Models/Operations/CustomersListPaymentMethodsResponse.php b/src/Models/Operations/CustomersListPaymentMethodsResponse.php new file mode 100644 index 00000000..4c0eaaff --- /dev/null +++ b/src/Models/Operations/CustomersListPaymentMethodsResponse.php @@ -0,0 +1,73 @@ +contentType = $contentType; + $this->statusCode = $statusCode; + $this->rawResponse = $rawResponse; + $this->listResourcePaymentMethod = $listResourcePaymentMethod; + } + /** + * @param string $name + * @param array $args + * @return ?CustomersListPaymentMethodsResponse + */ + public function __call($name, $args): ?CustomersListPaymentMethodsResponse + { + if ($name === 'next') { + return call_user_func_array($this->next, $args); + } + + return null; + } +} \ No newline at end of file diff --git a/src/Models/Operations/CustomersListRequest.php b/src/Models/Operations/CustomersListRequest.php index ae3ea053..4d1008f0 100644 --- a/src/Models/Operations/CustomersListRequest.php +++ b/src/Models/Operations/CustomersListRequest.php @@ -36,6 +36,14 @@ class CustomersListRequest #[SpeakeasyMetadata('queryParam:style=form,explode=true,name=query')] public ?string $query = null; + /** + * Filter by active customers, i.e. customers with at least one trialing, active or past_due subscription. + * + * @var ?bool $active + */ + #[SpeakeasyMetadata('queryParam:style=form,explode=true,name=active')] + public ?bool $active = null; + /** * Sorting criterion. Several criteria can be used simultaneously and will be applied in order. Add a minus sign `-` before the criteria name to sort by descending order. * @@ -74,15 +82,17 @@ class CustomersListRequest * @param string|array|null $organizationId * @param ?string $email * @param ?string $query + * @param ?bool $active * @param ?array<\Polar\Models\Components\CustomerSortProperty> $sorting * @param ?array|array|array> $metadata * @phpstan-pure */ - public function __construct(string|array|null $organizationId = null, ?string $email = null, ?string $query = null, ?array $sorting = null, ?array $metadata = null, ?int $page = 1, ?int $limit = 10) + public function __construct(string|array|null $organizationId = null, ?string $email = null, ?string $query = null, ?bool $active = null, ?array $sorting = null, ?array $metadata = null, ?int $page = 1, ?int $limit = 10) { $this->organizationId = $organizationId; $this->email = $email; $this->query = $query; + $this->active = $active; $this->sorting = $sorting; $this->metadata = $metadata; $this->page = $page; diff --git a/src/Models/Operations/CustomersMembersCreateExternalRequest.php b/src/Models/Operations/CustomersMembersCreateExternalRequest.php new file mode 100644 index 00000000..f70f7766 --- /dev/null +++ b/src/Models/Operations/CustomersMembersCreateExternalRequest.php @@ -0,0 +1,40 @@ +externalId = $externalId; + $this->memberCreateFromCustomer = $memberCreateFromCustomer; + } +} \ No newline at end of file diff --git a/src/Models/Operations/CustomersMembersCreateExternalResponse.php b/src/Models/Operations/CustomersMembersCreateExternalResponse.php new file mode 100644 index 00000000..0437f096 --- /dev/null +++ b/src/Models/Operations/CustomersMembersCreateExternalResponse.php @@ -0,0 +1,56 @@ +contentType = $contentType; + $this->statusCode = $statusCode; + $this->rawResponse = $rawResponse; + $this->member = $member; + } +} \ No newline at end of file diff --git a/src/Models/Operations/OrganizationAccessTokensUpdateRequest.php b/src/Models/Operations/CustomersMembersCreateRequest.php similarity index 50% rename from src/Models/Operations/OrganizationAccessTokensUpdateRequest.php rename to src/Models/Operations/CustomersMembersCreateRequest.php index 78f1d0f0..b2d39a0f 100644 --- a/src/Models/Operations/OrganizationAccessTokensUpdateRequest.php +++ b/src/Models/Operations/CustomersMembersCreateRequest.php @@ -10,9 +10,10 @@ use Polar\Models\Components; use Polar\Utils\SpeakeasyMetadata; -class OrganizationAccessTokensUpdateRequest +class CustomersMembersCreateRequest { /** + * The customer ID. * * @var string $id */ @@ -21,19 +22,19 @@ class OrganizationAccessTokensUpdateRequest /** * - * @var \Polar\Models\Components\OrganizationAccessTokenUpdate $organizationAccessTokenUpdate + * @var \Polar\Models\Components\MemberCreateFromCustomer $memberCreateFromCustomer */ #[SpeakeasyMetadata('request:mediaType=application/json')] - public Components\OrganizationAccessTokenUpdate $organizationAccessTokenUpdate; + public Components\MemberCreateFromCustomer $memberCreateFromCustomer; /** * @param string $id - * @param \Polar\Models\Components\OrganizationAccessTokenUpdate $organizationAccessTokenUpdate + * @param \Polar\Models\Components\MemberCreateFromCustomer $memberCreateFromCustomer * @phpstan-pure */ - public function __construct(string $id, Components\OrganizationAccessTokenUpdate $organizationAccessTokenUpdate) + public function __construct(string $id, Components\MemberCreateFromCustomer $memberCreateFromCustomer) { $this->id = $id; - $this->organizationAccessTokenUpdate = $organizationAccessTokenUpdate; + $this->memberCreateFromCustomer = $memberCreateFromCustomer; } } \ No newline at end of file diff --git a/src/Models/Operations/MembersCreateMemberResponse.php b/src/Models/Operations/CustomersMembersCreateResponse.php similarity index 97% rename from src/Models/Operations/MembersCreateMemberResponse.php rename to src/Models/Operations/CustomersMembersCreateResponse.php index 70f45ecc..cccb9312 100644 --- a/src/Models/Operations/MembersCreateMemberResponse.php +++ b/src/Models/Operations/CustomersMembersCreateResponse.php @@ -9,7 +9,7 @@ namespace Polar\Models\Operations; use Polar\Models\Components; -class MembersCreateMemberResponse +class CustomersMembersCreateResponse { /** * HTTP response content type for this operation diff --git a/src/Models/Operations/CustomersMembersDeleteExternalRequest.php b/src/Models/Operations/CustomersMembersDeleteExternalRequest.php new file mode 100644 index 00000000..29b544cb --- /dev/null +++ b/src/Models/Operations/CustomersMembersDeleteExternalRequest.php @@ -0,0 +1,40 @@ +externalId = $externalId; + $this->memberExternalId = $memberExternalId; + } +} \ No newline at end of file diff --git a/src/Models/Operations/OrganizationAccessTokensDeleteResponse.php b/src/Models/Operations/CustomersMembersDeleteExternalResponse.php similarity index 95% rename from src/Models/Operations/OrganizationAccessTokensDeleteResponse.php rename to src/Models/Operations/CustomersMembersDeleteExternalResponse.php index 343e648d..05a77806 100644 --- a/src/Models/Operations/OrganizationAccessTokensDeleteResponse.php +++ b/src/Models/Operations/CustomersMembersDeleteExternalResponse.php @@ -9,7 +9,7 @@ namespace Polar\Models\Operations; -class OrganizationAccessTokensDeleteResponse +class CustomersMembersDeleteExternalResponse { /** * HTTP response content type for this operation diff --git a/src/Models/Operations/CustomersMembersDeleteRequest.php b/src/Models/Operations/CustomersMembersDeleteRequest.php new file mode 100644 index 00000000..4b069b09 --- /dev/null +++ b/src/Models/Operations/CustomersMembersDeleteRequest.php @@ -0,0 +1,39 @@ +id = $id; + $this->memberId = $memberId; + } +} \ No newline at end of file diff --git a/src/Models/Operations/MembersDeleteMemberResponse.php b/src/Models/Operations/CustomersMembersDeleteResponse.php similarity index 96% rename from src/Models/Operations/MembersDeleteMemberResponse.php rename to src/Models/Operations/CustomersMembersDeleteResponse.php index f198e296..72bce926 100644 --- a/src/Models/Operations/MembersDeleteMemberResponse.php +++ b/src/Models/Operations/CustomersMembersDeleteResponse.php @@ -9,7 +9,7 @@ namespace Polar\Models\Operations; -class MembersDeleteMemberResponse +class CustomersMembersDeleteResponse { /** * HTTP response content type for this operation diff --git a/src/Models/Operations/CustomersMembersGetExternalRequest.php b/src/Models/Operations/CustomersMembersGetExternalRequest.php new file mode 100644 index 00000000..51b5d022 --- /dev/null +++ b/src/Models/Operations/CustomersMembersGetExternalRequest.php @@ -0,0 +1,40 @@ +externalId = $externalId; + $this->memberExternalId = $memberExternalId; + } +} \ No newline at end of file diff --git a/src/Models/Operations/CustomersMembersGetExternalResponse.php b/src/Models/Operations/CustomersMembersGetExternalResponse.php new file mode 100644 index 00000000..b9b4fe12 --- /dev/null +++ b/src/Models/Operations/CustomersMembersGetExternalResponse.php @@ -0,0 +1,56 @@ +contentType = $contentType; + $this->statusCode = $statusCode; + $this->rawResponse = $rawResponse; + $this->member = $member; + } +} \ No newline at end of file diff --git a/src/Models/Operations/CustomersMembersGetRequest.php b/src/Models/Operations/CustomersMembersGetRequest.php new file mode 100644 index 00000000..b144d810 --- /dev/null +++ b/src/Models/Operations/CustomersMembersGetRequest.php @@ -0,0 +1,39 @@ +id = $id; + $this->memberId = $memberId; + } +} \ No newline at end of file diff --git a/src/Models/Operations/MembersGetMemberResponse.php b/src/Models/Operations/CustomersMembersGetResponse.php similarity index 97% rename from src/Models/Operations/MembersGetMemberResponse.php rename to src/Models/Operations/CustomersMembersGetResponse.php index 9093092d..fa762482 100644 --- a/src/Models/Operations/MembersGetMemberResponse.php +++ b/src/Models/Operations/CustomersMembersGetResponse.php @@ -9,7 +9,7 @@ namespace Polar\Models\Operations; use Polar\Models\Components; -class MembersGetMemberResponse +class CustomersMembersGetResponse { /** * HTTP response content type for this operation diff --git a/src/Models/Operations/CustomersMembersUpdateExternalRequest.php b/src/Models/Operations/CustomersMembersUpdateExternalRequest.php new file mode 100644 index 00000000..cdf4e7df --- /dev/null +++ b/src/Models/Operations/CustomersMembersUpdateExternalRequest.php @@ -0,0 +1,50 @@ +externalId = $externalId; + $this->memberExternalId = $memberExternalId; + $this->memberUpdate = $memberUpdate; + } +} \ No newline at end of file diff --git a/src/Models/Operations/CustomersMembersUpdateExternalResponse.php b/src/Models/Operations/CustomersMembersUpdateExternalResponse.php new file mode 100644 index 00000000..a492a8e1 --- /dev/null +++ b/src/Models/Operations/CustomersMembersUpdateExternalResponse.php @@ -0,0 +1,56 @@ +contentType = $contentType; + $this->statusCode = $statusCode; + $this->rawResponse = $rawResponse; + $this->member = $member; + } +} \ No newline at end of file diff --git a/src/Models/Operations/MembersUpdateMemberRequest.php b/src/Models/Operations/CustomersMembersUpdateRequest.php similarity index 66% rename from src/Models/Operations/MembersUpdateMemberRequest.php rename to src/Models/Operations/CustomersMembersUpdateRequest.php index f88c51ef..486decd5 100644 --- a/src/Models/Operations/MembersUpdateMemberRequest.php +++ b/src/Models/Operations/CustomersMembersUpdateRequest.php @@ -10,15 +10,23 @@ use Polar\Models\Components; use Polar\Utils\SpeakeasyMetadata; -class MembersUpdateMemberRequest +class CustomersMembersUpdateRequest { /** + * The customer ID. * * @var string $id */ #[SpeakeasyMetadata('pathParam:style=simple,explode=false,name=id')] public string $id; + /** + * + * @var string $memberId + */ + #[SpeakeasyMetadata('pathParam:style=simple,explode=false,name=member_id')] + public string $memberId; + /** * * @var \Polar\Models\Components\MemberUpdate $memberUpdate @@ -28,12 +36,14 @@ class MembersUpdateMemberRequest /** * @param string $id + * @param string $memberId * @param \Polar\Models\Components\MemberUpdate $memberUpdate * @phpstan-pure */ - public function __construct(string $id, Components\MemberUpdate $memberUpdate) + public function __construct(string $id, string $memberId, Components\MemberUpdate $memberUpdate) { $this->id = $id; + $this->memberId = $memberId; $this->memberUpdate = $memberUpdate; } } \ No newline at end of file diff --git a/src/Models/Operations/MembersUpdateMemberResponse.php b/src/Models/Operations/CustomersMembersUpdateResponse.php similarity index 97% rename from src/Models/Operations/MembersUpdateMemberResponse.php rename to src/Models/Operations/CustomersMembersUpdateResponse.php index 35025d63..5d1d1031 100644 --- a/src/Models/Operations/MembersUpdateMemberResponse.php +++ b/src/Models/Operations/CustomersMembersUpdateResponse.php @@ -9,7 +9,7 @@ namespace Polar\Models\Operations; use Polar\Models\Components; -class MembersUpdateMemberResponse +class CustomersMembersUpdateResponse { /** * HTTP response content type for this operation diff --git a/src/Models/Operations/MembersDeleteMemberRequest.php b/src/Models/Operations/DisputesAcceptRequest.php similarity index 90% rename from src/Models/Operations/MembersDeleteMemberRequest.php rename to src/Models/Operations/DisputesAcceptRequest.php index 6a3888fe..9d8acd47 100644 --- a/src/Models/Operations/MembersDeleteMemberRequest.php +++ b/src/Models/Operations/DisputesAcceptRequest.php @@ -9,9 +9,10 @@ namespace Polar\Models\Operations; use Polar\Utils\SpeakeasyMetadata; -class MembersDeleteMemberRequest +class DisputesAcceptRequest { /** + * The dispute ID. * * @var string $id */ diff --git a/src/Models/Operations/DisputesAcceptResponse.php b/src/Models/Operations/DisputesAcceptResponse.php new file mode 100644 index 00000000..58720da7 --- /dev/null +++ b/src/Models/Operations/DisputesAcceptResponse.php @@ -0,0 +1,56 @@ +contentType = $contentType; + $this->statusCode = $statusCode; + $this->rawResponse = $rawResponse; + $this->dispute = $dispute; + } +} \ No newline at end of file diff --git a/src/Models/Operations/EventsGetResponse.php b/src/Models/Operations/EventsGetResponse.php index cad59a38..7e5a8f72 100644 --- a/src/Models/Operations/EventsGetResponse.php +++ b/src/Models/Operations/EventsGetResponse.php @@ -35,18 +35,18 @@ class EventsGetResponse /** * Successful Response * - * @var \Polar\Models\Components\MeterCreditEvent|\Polar\Models\Components\MeterResetEvent|\Polar\Models\Components\BenefitGrantedEvent|\Polar\Models\Components\BenefitCycledEvent|\Polar\Models\Components\BenefitUpdatedEvent|\Polar\Models\Components\BenefitRevokedEvent|\Polar\Models\Components\SubscriptionCreatedEvent|\Polar\Models\Components\SubscriptionUpdatedEvent|\Polar\Models\Components\SubscriptionCycledEvent|\Polar\Models\Components\SubscriptionCanceledEvent|\Polar\Models\Components\SubscriptionRevokedEvent|\Polar\Models\Components\SubscriptionUncanceledEvent|\Polar\Models\Components\SubscriptionProductUpdatedEvent|\Polar\Models\Components\SubscriptionSeatsUpdatedEvent|\Polar\Models\Components\SubscriptionBillingPeriodUpdatedEvent|\Polar\Models\Components\OrderPaidEvent|\Polar\Models\Components\OrderRefundedEvent|\Polar\Models\Components\OrderVoidedEvent|\Polar\Models\Components\CheckoutCreatedEvent|\Polar\Models\Components\CustomerCreatedEvent|\Polar\Models\Components\CustomerUpdatedEvent|\Polar\Models\Components\CustomerDeletedEvent|\Polar\Models\Components\BalanceOrderEvent|\Polar\Models\Components\BalanceCreditOrderEvent|\Polar\Models\Components\BalanceRefundEvent|\Polar\Models\Components\BalanceRefundReversalEvent|\Polar\Models\Components\BalanceDisputeEvent|\Polar\Models\Components\BalanceDisputeReversalEvent|\Polar\Models\Components\UserEvent|null $event + * @var \Polar\Models\Components\MeterCreditEvent|\Polar\Models\Components\MeterResetEvent|\Polar\Models\Components\BenefitGrantedEvent|\Polar\Models\Components\BenefitCycledEvent|\Polar\Models\Components\BenefitUpdatedEvent|\Polar\Models\Components\BenefitRevokedEvent|\Polar\Models\Components\SubscriptionCreatedEvent|\Polar\Models\Components\SubscriptionUpdatedEvent|\Polar\Models\Components\SubscriptionCycledEvent|\Polar\Models\Components\SubscriptionCanceledEvent|\Polar\Models\Components\SubscriptionRevokedEvent|\Polar\Models\Components\SubscriptionPastDueEvent|\Polar\Models\Components\SubscriptionReactivatedEvent|\Polar\Models\Components\SubscriptionPausedEvent|\Polar\Models\Components\SubscriptionResumedEvent|\Polar\Models\Components\SubscriptionUncanceledEvent|\Polar\Models\Components\SubscriptionProductUpdatedEvent|\Polar\Models\Components\SubscriptionSeatsUpdatedEvent|\Polar\Models\Components\SubscriptionBillingPeriodUpdatedEvent|\Polar\Models\Components\SubscriptionUpdateClearedEvent|\Polar\Models\Components\OrderPaidEvent|\Polar\Models\Components\OrderRefundedEvent|\Polar\Models\Components\OrderVoidedEvent|\Polar\Models\Components\CheckoutCreatedEvent|\Polar\Models\Components\CustomerCreatedEvent|\Polar\Models\Components\CustomerUpdatedEvent|\Polar\Models\Components\CustomerDeletedEvent|\Polar\Models\Components\BalanceOrderEvent|\Polar\Models\Components\BalanceCreditOrderEvent|\Polar\Models\Components\BalanceRefundEvent|\Polar\Models\Components\BalanceRefundReversalEvent|\Polar\Models\Components\BalanceDisputeEvent|\Polar\Models\Components\BalanceDisputeReversalEvent|\Polar\Models\Components\UserEvent|null $event */ - public Components\MeterCreditEvent|Components\MeterResetEvent|Components\BenefitGrantedEvent|Components\BenefitCycledEvent|Components\BenefitUpdatedEvent|Components\BenefitRevokedEvent|Components\SubscriptionCreatedEvent|Components\SubscriptionUpdatedEvent|Components\SubscriptionCycledEvent|Components\SubscriptionCanceledEvent|Components\SubscriptionRevokedEvent|Components\SubscriptionUncanceledEvent|Components\SubscriptionProductUpdatedEvent|Components\SubscriptionSeatsUpdatedEvent|Components\SubscriptionBillingPeriodUpdatedEvent|Components\OrderPaidEvent|Components\OrderRefundedEvent|Components\OrderVoidedEvent|Components\CheckoutCreatedEvent|Components\CustomerCreatedEvent|Components\CustomerUpdatedEvent|Components\CustomerDeletedEvent|Components\BalanceOrderEvent|Components\BalanceCreditOrderEvent|Components\BalanceRefundEvent|Components\BalanceRefundReversalEvent|Components\BalanceDisputeEvent|Components\BalanceDisputeReversalEvent|Components\UserEvent|null $event = null; + public Components\MeterCreditEvent|Components\MeterResetEvent|Components\BenefitGrantedEvent|Components\BenefitCycledEvent|Components\BenefitUpdatedEvent|Components\BenefitRevokedEvent|Components\SubscriptionCreatedEvent|Components\SubscriptionUpdatedEvent|Components\SubscriptionCycledEvent|Components\SubscriptionCanceledEvent|Components\SubscriptionRevokedEvent|Components\SubscriptionPastDueEvent|Components\SubscriptionReactivatedEvent|Components\SubscriptionPausedEvent|Components\SubscriptionResumedEvent|Components\SubscriptionUncanceledEvent|Components\SubscriptionProductUpdatedEvent|Components\SubscriptionSeatsUpdatedEvent|Components\SubscriptionBillingPeriodUpdatedEvent|Components\SubscriptionUpdateClearedEvent|Components\OrderPaidEvent|Components\OrderRefundedEvent|Components\OrderVoidedEvent|Components\CheckoutCreatedEvent|Components\CustomerCreatedEvent|Components\CustomerUpdatedEvent|Components\CustomerDeletedEvent|Components\BalanceOrderEvent|Components\BalanceCreditOrderEvent|Components\BalanceRefundEvent|Components\BalanceRefundReversalEvent|Components\BalanceDisputeEvent|Components\BalanceDisputeReversalEvent|Components\UserEvent|null $event = null; /** * @param string $contentType * @param int $statusCode * @param \Psr\Http\Message\ResponseInterface $rawResponse - * @param \Polar\Models\Components\MeterCreditEvent|\Polar\Models\Components\MeterResetEvent|\Polar\Models\Components\BenefitGrantedEvent|\Polar\Models\Components\BenefitCycledEvent|\Polar\Models\Components\BenefitUpdatedEvent|\Polar\Models\Components\BenefitRevokedEvent|\Polar\Models\Components\SubscriptionCreatedEvent|\Polar\Models\Components\SubscriptionUpdatedEvent|\Polar\Models\Components\SubscriptionCycledEvent|\Polar\Models\Components\SubscriptionCanceledEvent|\Polar\Models\Components\SubscriptionRevokedEvent|\Polar\Models\Components\SubscriptionUncanceledEvent|\Polar\Models\Components\SubscriptionProductUpdatedEvent|\Polar\Models\Components\SubscriptionSeatsUpdatedEvent|\Polar\Models\Components\SubscriptionBillingPeriodUpdatedEvent|\Polar\Models\Components\OrderPaidEvent|\Polar\Models\Components\OrderRefundedEvent|\Polar\Models\Components\OrderVoidedEvent|\Polar\Models\Components\CheckoutCreatedEvent|\Polar\Models\Components\CustomerCreatedEvent|\Polar\Models\Components\CustomerUpdatedEvent|\Polar\Models\Components\CustomerDeletedEvent|\Polar\Models\Components\BalanceOrderEvent|\Polar\Models\Components\BalanceCreditOrderEvent|\Polar\Models\Components\BalanceRefundEvent|\Polar\Models\Components\BalanceRefundReversalEvent|\Polar\Models\Components\BalanceDisputeEvent|\Polar\Models\Components\BalanceDisputeReversalEvent|\Polar\Models\Components\UserEvent|null $event + * @param \Polar\Models\Components\MeterCreditEvent|\Polar\Models\Components\MeterResetEvent|\Polar\Models\Components\BenefitGrantedEvent|\Polar\Models\Components\BenefitCycledEvent|\Polar\Models\Components\BenefitUpdatedEvent|\Polar\Models\Components\BenefitRevokedEvent|\Polar\Models\Components\SubscriptionCreatedEvent|\Polar\Models\Components\SubscriptionUpdatedEvent|\Polar\Models\Components\SubscriptionCycledEvent|\Polar\Models\Components\SubscriptionCanceledEvent|\Polar\Models\Components\SubscriptionRevokedEvent|\Polar\Models\Components\SubscriptionPastDueEvent|\Polar\Models\Components\SubscriptionReactivatedEvent|\Polar\Models\Components\SubscriptionPausedEvent|\Polar\Models\Components\SubscriptionResumedEvent|\Polar\Models\Components\SubscriptionUncanceledEvent|\Polar\Models\Components\SubscriptionProductUpdatedEvent|\Polar\Models\Components\SubscriptionSeatsUpdatedEvent|\Polar\Models\Components\SubscriptionBillingPeriodUpdatedEvent|\Polar\Models\Components\SubscriptionUpdateClearedEvent|\Polar\Models\Components\OrderPaidEvent|\Polar\Models\Components\OrderRefundedEvent|\Polar\Models\Components\OrderVoidedEvent|\Polar\Models\Components\CheckoutCreatedEvent|\Polar\Models\Components\CustomerCreatedEvent|\Polar\Models\Components\CustomerUpdatedEvent|\Polar\Models\Components\CustomerDeletedEvent|\Polar\Models\Components\BalanceOrderEvent|\Polar\Models\Components\BalanceCreditOrderEvent|\Polar\Models\Components\BalanceRefundEvent|\Polar\Models\Components\BalanceRefundReversalEvent|\Polar\Models\Components\BalanceDisputeEvent|\Polar\Models\Components\BalanceDisputeReversalEvent|\Polar\Models\Components\UserEvent|null $event * @phpstan-pure */ - public function __construct(string $contentType, int $statusCode, \Psr\Http\Message\ResponseInterface $rawResponse, Components\MeterCreditEvent|Components\MeterResetEvent|Components\BenefitGrantedEvent|Components\BenefitCycledEvent|Components\BenefitUpdatedEvent|Components\BenefitRevokedEvent|Components\SubscriptionCreatedEvent|Components\SubscriptionUpdatedEvent|Components\SubscriptionCycledEvent|Components\SubscriptionCanceledEvent|Components\SubscriptionRevokedEvent|Components\SubscriptionUncanceledEvent|Components\SubscriptionProductUpdatedEvent|Components\SubscriptionSeatsUpdatedEvent|Components\SubscriptionBillingPeriodUpdatedEvent|Components\OrderPaidEvent|Components\OrderRefundedEvent|Components\OrderVoidedEvent|Components\CheckoutCreatedEvent|Components\CustomerCreatedEvent|Components\CustomerUpdatedEvent|Components\CustomerDeletedEvent|Components\BalanceOrderEvent|Components\BalanceCreditOrderEvent|Components\BalanceRefundEvent|Components\BalanceRefundReversalEvent|Components\BalanceDisputeEvent|Components\BalanceDisputeReversalEvent|Components\UserEvent|null $event = null) + public function __construct(string $contentType, int $statusCode, \Psr\Http\Message\ResponseInterface $rawResponse, Components\MeterCreditEvent|Components\MeterResetEvent|Components\BenefitGrantedEvent|Components\BenefitCycledEvent|Components\BenefitUpdatedEvent|Components\BenefitRevokedEvent|Components\SubscriptionCreatedEvent|Components\SubscriptionUpdatedEvent|Components\SubscriptionCycledEvent|Components\SubscriptionCanceledEvent|Components\SubscriptionRevokedEvent|Components\SubscriptionPastDueEvent|Components\SubscriptionReactivatedEvent|Components\SubscriptionPausedEvent|Components\SubscriptionResumedEvent|Components\SubscriptionUncanceledEvent|Components\SubscriptionProductUpdatedEvent|Components\SubscriptionSeatsUpdatedEvent|Components\SubscriptionBillingPeriodUpdatedEvent|Components\SubscriptionUpdateClearedEvent|Components\OrderPaidEvent|Components\OrderRefundedEvent|Components\OrderVoidedEvent|Components\CheckoutCreatedEvent|Components\CustomerCreatedEvent|Components\CustomerUpdatedEvent|Components\CustomerDeletedEvent|Components\BalanceOrderEvent|Components\BalanceCreditOrderEvent|Components\BalanceRefundEvent|Components\BalanceRefundReversalEvent|Components\BalanceDisputeEvent|Components\BalanceDisputeReversalEvent|Components\UserEvent|null $event = null) { $this->contentType = $contentType; $this->statusCode = $statusCode; diff --git a/src/Models/Operations/FilesUpdateResponse.php b/src/Models/Operations/FilesUpdateResponse.php index ef82b195..28fcf0ac 100644 --- a/src/Models/Operations/FilesUpdateResponse.php +++ b/src/Models/Operations/FilesUpdateResponse.php @@ -35,22 +35,22 @@ class FilesUpdateResponse /** * File updated. * - * @var \Polar\Models\Components\DownloadableFileRead|\Polar\Models\Components\ProductMediaFileRead|\Polar\Models\Components\OrganizationAvatarFileRead|null $responseFilesUpdate + * @var \Polar\Models\Components\DownloadableFileRead|\Polar\Models\Components\ProductMediaFileRead|\Polar\Models\Components\OrganizationAvatarFileRead|\Polar\Models\Components\SupportCaseAttachmentFileRead|null $fileRead */ - public Components\DownloadableFileRead|Components\ProductMediaFileRead|Components\OrganizationAvatarFileRead|null $responseFilesUpdate = null; + public Components\DownloadableFileRead|Components\ProductMediaFileRead|Components\OrganizationAvatarFileRead|Components\SupportCaseAttachmentFileRead|null $fileRead = null; /** * @param string $contentType * @param int $statusCode * @param \Psr\Http\Message\ResponseInterface $rawResponse - * @param \Polar\Models\Components\DownloadableFileRead|\Polar\Models\Components\ProductMediaFileRead|\Polar\Models\Components\OrganizationAvatarFileRead|null $responseFilesUpdate + * @param \Polar\Models\Components\DownloadableFileRead|\Polar\Models\Components\ProductMediaFileRead|\Polar\Models\Components\OrganizationAvatarFileRead|\Polar\Models\Components\SupportCaseAttachmentFileRead|null $fileRead * @phpstan-pure */ - public function __construct(string $contentType, int $statusCode, \Psr\Http\Message\ResponseInterface $rawResponse, Components\DownloadableFileRead|Components\ProductMediaFileRead|Components\OrganizationAvatarFileRead|null $responseFilesUpdate = null) + public function __construct(string $contentType, int $statusCode, \Psr\Http\Message\ResponseInterface $rawResponse, Components\DownloadableFileRead|Components\ProductMediaFileRead|Components\OrganizationAvatarFileRead|Components\SupportCaseAttachmentFileRead|null $fileRead = null) { $this->contentType = $contentType; $this->statusCode = $statusCode; $this->rawResponse = $rawResponse; - $this->responseFilesUpdate = $responseFilesUpdate; + $this->fileRead = $fileRead; } } \ No newline at end of file diff --git a/src/Models/Operations/FilesUploadedResponse.php b/src/Models/Operations/FilesUploadedResponse.php index 9b25c0ae..a3c230cb 100644 --- a/src/Models/Operations/FilesUploadedResponse.php +++ b/src/Models/Operations/FilesUploadedResponse.php @@ -35,22 +35,22 @@ class FilesUploadedResponse /** * File upload completed. * - * @var \Polar\Models\Components\DownloadableFileRead|\Polar\Models\Components\ProductMediaFileRead|\Polar\Models\Components\OrganizationAvatarFileRead|null $responseFilesUploaded + * @var \Polar\Models\Components\DownloadableFileRead|\Polar\Models\Components\ProductMediaFileRead|\Polar\Models\Components\OrganizationAvatarFileRead|\Polar\Models\Components\SupportCaseAttachmentFileRead|null $fileRead */ - public Components\DownloadableFileRead|Components\ProductMediaFileRead|Components\OrganizationAvatarFileRead|null $responseFilesUploaded = null; + public Components\DownloadableFileRead|Components\ProductMediaFileRead|Components\OrganizationAvatarFileRead|Components\SupportCaseAttachmentFileRead|null $fileRead = null; /** * @param string $contentType * @param int $statusCode * @param \Psr\Http\Message\ResponseInterface $rawResponse - * @param \Polar\Models\Components\DownloadableFileRead|\Polar\Models\Components\ProductMediaFileRead|\Polar\Models\Components\OrganizationAvatarFileRead|null $responseFilesUploaded + * @param \Polar\Models\Components\DownloadableFileRead|\Polar\Models\Components\ProductMediaFileRead|\Polar\Models\Components\OrganizationAvatarFileRead|\Polar\Models\Components\SupportCaseAttachmentFileRead|null $fileRead * @phpstan-pure */ - public function __construct(string $contentType, int $statusCode, \Psr\Http\Message\ResponseInterface $rawResponse, Components\DownloadableFileRead|Components\ProductMediaFileRead|Components\OrganizationAvatarFileRead|null $responseFilesUploaded = null) + public function __construct(string $contentType, int $statusCode, \Psr\Http\Message\ResponseInterface $rawResponse, Components\DownloadableFileRead|Components\ProductMediaFileRead|Components\OrganizationAvatarFileRead|Components\SupportCaseAttachmentFileRead|null $fileRead = null) { $this->contentType = $contentType; $this->statusCode = $statusCode; $this->rawResponse = $rawResponse; - $this->responseFilesUploaded = $responseFilesUploaded; + $this->fileRead = $fileRead; } } \ No newline at end of file diff --git a/src/Models/Operations/LicenseKeysListRequest.php b/src/Models/Operations/LicenseKeysListRequest.php index d0cc993f..533adcab 100644 --- a/src/Models/Operations/LicenseKeysListRequest.php +++ b/src/Models/Operations/LicenseKeysListRequest.php @@ -8,6 +8,7 @@ namespace Polar\Models\Operations; +use Polar\Models\Components; use Polar\Utils\SpeakeasyMetadata; class LicenseKeysListRequest { @@ -27,6 +28,14 @@ class LicenseKeysListRequest #[SpeakeasyMetadata('queryParam:style=form,explode=true,name=benefit_id')] public string|array|null $benefitId = null; + /** + * Filter by license key status. + * + * @var \Polar\Models\Components\LicenseKeyStatus|array<\Polar\Models\Components\LicenseKeyStatus>|null $status + */ + #[SpeakeasyMetadata('queryParam:style=form,explode=true,name=status')] + public Components\LicenseKeyStatus|array|null $status = null; + /** * Page number, defaults to 1. * @@ -48,12 +57,14 @@ class LicenseKeysListRequest * @param ?int $limit * @param string|array|null $organizationId * @param string|array|null $benefitId + * @param \Polar\Models\Components\LicenseKeyStatus|array<\Polar\Models\Components\LicenseKeyStatus>|null $status * @phpstan-pure */ - public function __construct(string|array|null $organizationId = null, string|array|null $benefitId = null, ?int $page = 1, ?int $limit = 10) + public function __construct(string|array|null $organizationId = null, string|array|null $benefitId = null, Components\LicenseKeyStatus|array|null $status = null, ?int $page = 1, ?int $limit = 10) { $this->organizationId = $organizationId; $this->benefitId = $benefitId; + $this->status = $status; $this->page = $page; $this->limit = $limit; } diff --git a/src/Models/Operations/MetricsExportRequest.php b/src/Models/Operations/MetricsExportRequest.php new file mode 100644 index 00000000..1363f975 --- /dev/null +++ b/src/Models/Operations/MetricsExportRequest.php @@ -0,0 +1,112 @@ +|null $organizationId + */ + #[SpeakeasyMetadata('queryParam:style=form,explode=true,name=organization_id')] + public string|array|null $organizationId = null; + + /** + * Filter by product ID. + * + * @var string|array|null $productId + */ + #[SpeakeasyMetadata('queryParam:style=form,explode=true,name=product_id')] + public string|array|null $productId = null; + + /** + * Filter by billing type. `recurring` will filter data corresponding to subscriptions creations or renewals. `one_time` will filter data corresponding to one-time purchases. + * + * @var \Polar\Models\Components\ProductBillingType|array<\Polar\Models\Components\ProductBillingType>|null $billingType + */ + #[SpeakeasyMetadata('queryParam:style=form,explode=true,name=billing_type')] + public Components\ProductBillingType|array|null $billingType = null; + + /** + * Filter by customer ID. + * + * @var string|array|null $customerId + */ + #[SpeakeasyMetadata('queryParam:style=form,explode=true,name=customer_id')] + public string|array|null $customerId = null; + + /** + * List of metric slugs to include in the export. If not provided, all metrics are exported. + * + * @var ?array $metrics + */ + #[SpeakeasyMetadata('queryParam:style=form,explode=true,name=metrics')] + public ?array $metrics = null; + + /** + * Timezone to use for the timestamps. Default is UTC. + * + * @var ?string $timezone + */ + #[SpeakeasyMetadata('queryParam:style=form,explode=true,name=timezone')] + public ?string $timezone = null; + + /** + * @param LocalDate $startDate + * @param LocalDate $endDate + * @param \Polar\Models\Components\TimeInterval $interval + * @param ?string $timezone + * @param string|array|null $organizationId + * @param string|array|null $productId + * @param \Polar\Models\Components\ProductBillingType|array<\Polar\Models\Components\ProductBillingType>|null $billingType + * @param string|array|null $customerId + * @param ?array $metrics + * @phpstan-pure + */ + public function __construct(LocalDate $startDate, LocalDate $endDate, Components\TimeInterval $interval, string|array|null $organizationId = null, string|array|null $productId = null, Components\ProductBillingType|array|null $billingType = null, string|array|null $customerId = null, ?array $metrics = null, ?string $timezone = 'UTC') + { + $this->startDate = $startDate; + $this->endDate = $endDate; + $this->interval = $interval; + $this->organizationId = $organizationId; + $this->productId = $productId; + $this->billingType = $billingType; + $this->customerId = $customerId; + $this->metrics = $metrics; + $this->timezone = $timezone; + } +} \ No newline at end of file diff --git a/src/Models/Operations/MetricsExportResponse.php b/src/Models/Operations/MetricsExportResponse.php new file mode 100644 index 00000000..38f0486a --- /dev/null +++ b/src/Models/Operations/MetricsExportResponse.php @@ -0,0 +1,56 @@ +contentType = $contentType; + $this->statusCode = $statusCode; + $this->rawResponse = $rawResponse; + $this->res = $res; + } +} \ No newline at end of file diff --git a/src/Models/Operations/Oauth2ClientsOauth2DeleteClientResponse.php b/src/Models/Operations/Oauth2ClientsOauth2DeleteClientResponse.php index a9074e6a..f751aea5 100644 --- a/src/Models/Operations/Oauth2ClientsOauth2DeleteClientResponse.php +++ b/src/Models/Operations/Oauth2ClientsOauth2DeleteClientResponse.php @@ -32,25 +32,16 @@ class Oauth2ClientsOauth2DeleteClientResponse */ public \Psr\Http\Message\ResponseInterface $rawResponse; - /** - * Successful Response - * - * @var mixed $any - */ - public mixed $any = null; - /** * @param string $contentType * @param int $statusCode * @param \Psr\Http\Message\ResponseInterface $rawResponse - * @param mixed $any * @phpstan-pure */ - public function __construct(string $contentType, int $statusCode, \Psr\Http\Message\ResponseInterface $rawResponse, mixed $any = null) + public function __construct(string $contentType, int $statusCode, \Psr\Http\Message\ResponseInterface $rawResponse) { $this->contentType = $contentType; $this->statusCode = $statusCode; $this->rawResponse = $rawResponse; - $this->any = $any; } } \ No newline at end of file diff --git a/src/Models/Operations/OrdersCreateResponse.php b/src/Models/Operations/OrdersCreateResponse.php new file mode 100644 index 00000000..745666f4 --- /dev/null +++ b/src/Models/Operations/OrdersCreateResponse.php @@ -0,0 +1,56 @@ +contentType = $contentType; + $this->statusCode = $statusCode; + $this->rawResponse = $rawResponse; + $this->order = $order; + } +} \ No newline at end of file diff --git a/src/Models/Operations/OrdersExportResponse.php b/src/Models/Operations/OrdersExportResponse.php index 4f48c881..40f4157f 100644 --- a/src/Models/Operations/OrdersExportResponse.php +++ b/src/Models/Operations/OrdersExportResponse.php @@ -32,13 +32,6 @@ class OrdersExportResponse */ public \Psr\Http\Message\ResponseInterface $rawResponse; - /** - * Successful Response - * - * @var mixed $any - */ - public mixed $any = null; - /** * Successful Response * @@ -50,16 +43,14 @@ class OrdersExportResponse * @param string $contentType * @param int $statusCode * @param \Psr\Http\Message\ResponseInterface $rawResponse - * @param mixed $any * @param ?string $res * @phpstan-pure */ - public function __construct(string $contentType, int $statusCode, \Psr\Http\Message\ResponseInterface $rawResponse, mixed $any = null, ?string $res = null) + public function __construct(string $contentType, int $statusCode, \Psr\Http\Message\ResponseInterface $rawResponse, ?string $res = null) { $this->contentType = $contentType; $this->statusCode = $statusCode; $this->rawResponse = $rawResponse; - $this->any = $any; $this->res = $res; } } \ No newline at end of file diff --git a/src/Models/Operations/OrdersFinalizeRequest.php b/src/Models/Operations/OrdersFinalizeRequest.php new file mode 100644 index 00000000..ce4e766f --- /dev/null +++ b/src/Models/Operations/OrdersFinalizeRequest.php @@ -0,0 +1,40 @@ +id = $id; + $this->orderFinalize = $orderFinalize; + } +} \ No newline at end of file diff --git a/src/Models/Operations/OrdersFinalizeResponse.php b/src/Models/Operations/OrdersFinalizeResponse.php new file mode 100644 index 00000000..21b1ff0c --- /dev/null +++ b/src/Models/Operations/OrdersFinalizeResponse.php @@ -0,0 +1,56 @@ +contentType = $contentType; + $this->statusCode = $statusCode; + $this->rawResponse = $rawResponse; + $this->order = $order; + } +} \ No newline at end of file diff --git a/src/Models/Operations/OrdersListRequest.php b/src/Models/Operations/OrdersListRequest.php index dc538b29..9f2dc402 100644 --- a/src/Models/Operations/OrdersListRequest.php +++ b/src/Models/Operations/OrdersListRequest.php @@ -68,6 +68,14 @@ class OrdersListRequest #[SpeakeasyMetadata('queryParam:style=form,explode=true,name=checkout_id')] public string|array|null $checkoutId = null; + /** + * Filter by subscription ID. + * + * @var string|array|null $subscriptionId + */ + #[SpeakeasyMetadata('queryParam:style=form,explode=true,name=subscription_id')] + public string|array|null $subscriptionId = null; + /** * Sorting criterion. Several criteria can be used simultaneously and will be applied in order. Add a minus sign `-` before the criteria name to sort by descending order. * @@ -110,11 +118,12 @@ class OrdersListRequest * @param string|array|null $customerId * @param string|array|null $externalCustomerId * @param string|array|null $checkoutId + * @param string|array|null $subscriptionId * @param ?array<\Polar\Models\Components\OrderSortProperty> $sorting * @param ?array|array|array> $metadata * @phpstan-pure */ - public function __construct(string|array|null $organizationId = null, string|array|null $productId = null, Components\ProductBillingType|array|null $productBillingType = null, string|array|null $discountId = null, string|array|null $customerId = null, string|array|null $externalCustomerId = null, string|array|null $checkoutId = null, ?array $sorting = null, ?array $metadata = null, ?int $page = 1, ?int $limit = 10) + public function __construct(string|array|null $organizationId = null, string|array|null $productId = null, Components\ProductBillingType|array|null $productBillingType = null, string|array|null $discountId = null, string|array|null $customerId = null, string|array|null $externalCustomerId = null, string|array|null $checkoutId = null, string|array|null $subscriptionId = null, ?array $sorting = null, ?array $metadata = null, ?int $page = 1, ?int $limit = 10) { $this->organizationId = $organizationId; $this->productId = $productId; @@ -123,6 +132,7 @@ public function __construct(string|array|null $organizationId = null, string|arr $this->customerId = $customerId; $this->externalCustomerId = $externalCustomerId; $this->checkoutId = $checkoutId; + $this->subscriptionId = $subscriptionId; $this->sorting = $sorting; $this->metadata = $metadata; $this->page = $page; diff --git a/src/Models/Operations/OrganizationAccessTokensDeleteRequest.php b/src/Models/Operations/OrdersReceiptRequest.php similarity index 90% rename from src/Models/Operations/OrganizationAccessTokensDeleteRequest.php rename to src/Models/Operations/OrdersReceiptRequest.php index cd2612b4..13d56512 100644 --- a/src/Models/Operations/OrganizationAccessTokensDeleteRequest.php +++ b/src/Models/Operations/OrdersReceiptRequest.php @@ -9,9 +9,10 @@ namespace Polar\Models\Operations; use Polar\Utils\SpeakeasyMetadata; -class OrganizationAccessTokensDeleteRequest +class OrdersReceiptRequest { /** + * The order ID. * * @var string $id */ diff --git a/src/Models/Operations/OrdersReceiptResponse.php b/src/Models/Operations/OrdersReceiptResponse.php new file mode 100644 index 00000000..19d36872 --- /dev/null +++ b/src/Models/Operations/OrdersReceiptResponse.php @@ -0,0 +1,56 @@ +contentType = $contentType; + $this->statusCode = $statusCode; + $this->rawResponse = $rawResponse; + $this->orderReceipt = $orderReceipt; + } +} \ No newline at end of file diff --git a/src/Models/Operations/OrganizationAccessTokensListRequest.php b/src/Models/Operations/OrganizationAccessTokensListRequest.php deleted file mode 100644 index 043d1392..00000000 --- a/src/Models/Operations/OrganizationAccessTokensListRequest.php +++ /dev/null @@ -1,61 +0,0 @@ -|null $organizationId - */ - #[SpeakeasyMetadata('queryParam:style=form,explode=true,name=organization_id')] - public string|array|null $organizationId = null; - - /** - * Sorting criterion. Several criteria can be used simultaneously and will be applied in order. Add a minus sign `-` before the criteria name to sort by descending order. - * - * @var ?array<\Polar\Models\Components\OrganizationAccessTokenSortProperty> $sorting - */ - #[SpeakeasyMetadata('queryParam:style=form,explode=true,name=sorting')] - public ?array $sorting = null; - - /** - * Page number, defaults to 1. - * - * @var ?int $page - */ - #[SpeakeasyMetadata('queryParam:style=form,explode=true,name=page')] - public ?int $page = null; - - /** - * Size of a page, defaults to 10. Maximum is 100. - * - * @var ?int $limit - */ - #[SpeakeasyMetadata('queryParam:style=form,explode=true,name=limit')] - public ?int $limit = null; - - /** - * @param ?int $page - * @param ?int $limit - * @param string|array|null $organizationId - * @param ?array<\Polar\Models\Components\OrganizationAccessTokenSortProperty> $sorting - * @phpstan-pure - */ - public function __construct(string|array|null $organizationId = null, ?array $sorting = null, ?int $page = 1, ?int $limit = 10) - { - $this->organizationId = $organizationId; - $this->sorting = $sorting; - $this->page = $page; - $this->limit = $limit; - } -} \ No newline at end of file diff --git a/src/Models/Operations/PaymentsListRequest.php b/src/Models/Operations/PaymentsListRequest.php index daf1e59a..af188c18 100644 --- a/src/Models/Operations/PaymentsListRequest.php +++ b/src/Models/Operations/PaymentsListRequest.php @@ -36,6 +36,14 @@ class PaymentsListRequest #[SpeakeasyMetadata('queryParam:style=form,explode=true,name=order_id')] public string|array|null $orderId = null; + /** + * Filter by customer ID. + * + * @var string|array|null $customerId + */ + #[SpeakeasyMetadata('queryParam:style=form,explode=true,name=customer_id')] + public string|array|null $customerId = null; + /** * Filter by payment status. * @@ -90,17 +98,19 @@ class PaymentsListRequest * @param string|array|null $organizationId * @param string|array|null $checkoutId * @param string|array|null $orderId + * @param string|array|null $customerId * @param \Polar\Models\Components\PaymentStatus|array<\Polar\Models\Components\PaymentStatus>|null $status * @param string|array|null $method * @param string|array|null $customerEmail * @param ?array<\Polar\Models\Components\PaymentSortProperty> $sorting * @phpstan-pure */ - public function __construct(string|array|null $organizationId = null, string|array|null $checkoutId = null, string|array|null $orderId = null, Components\PaymentStatus|array|null $status = null, string|array|null $method = null, string|array|null $customerEmail = null, ?array $sorting = null, ?int $page = 1, ?int $limit = 10) + public function __construct(string|array|null $organizationId = null, string|array|null $checkoutId = null, string|array|null $orderId = null, string|array|null $customerId = null, Components\PaymentStatus|array|null $status = null, string|array|null $method = null, string|array|null $customerEmail = null, ?array $sorting = null, ?int $page = 1, ?int $limit = 10) { $this->organizationId = $organizationId; $this->checkoutId = $checkoutId; $this->orderId = $orderId; + $this->customerId = $customerId; $this->status = $status; $this->method = $method; $this->customerEmail = $customerEmail; diff --git a/src/Models/Operations/SubscriptionsExportResponse.php b/src/Models/Operations/SubscriptionsExportResponse.php index 95161072..ea902e02 100644 --- a/src/Models/Operations/SubscriptionsExportResponse.php +++ b/src/Models/Operations/SubscriptionsExportResponse.php @@ -32,13 +32,6 @@ class SubscriptionsExportResponse */ public \Psr\Http\Message\ResponseInterface $rawResponse; - /** - * Successful Response - * - * @var mixed $any - */ - public mixed $any = null; - /** * Successful Response * @@ -50,16 +43,14 @@ class SubscriptionsExportResponse * @param string $contentType * @param int $statusCode * @param \Psr\Http\Message\ResponseInterface $rawResponse - * @param mixed $any * @param ?string $res * @phpstan-pure */ - public function __construct(string $contentType, int $statusCode, \Psr\Http\Message\ResponseInterface $rawResponse, mixed $any = null, ?string $res = null) + public function __construct(string $contentType, int $statusCode, \Psr\Http\Message\ResponseInterface $rawResponse, ?string $res = null) { $this->contentType = $contentType; $this->statusCode = $statusCode; $this->rawResponse = $rawResponse; - $this->any = $any; $this->res = $res; } } \ No newline at end of file diff --git a/src/Models/Operations/SubscriptionsListRequest.php b/src/Models/Operations/SubscriptionsListRequest.php index 07e62c3e..a95079d4 100644 --- a/src/Models/Operations/SubscriptionsListRequest.php +++ b/src/Models/Operations/SubscriptionsListRequest.php @@ -56,10 +56,19 @@ class SubscriptionsListRequest * Filter by active or inactive subscription. * * @var ?bool $active + * @deprecated field: This will be removed in a future release, please migrate away from it as soon as possible. */ #[SpeakeasyMetadata('queryParam:style=form,explode=true,name=active')] public ?bool $active = null; + /** + * Filter by subscription status. + * + * @var \Polar\Models\Components\SubscriptionStatus|array<\Polar\Models\Components\SubscriptionStatus>|null $status + */ + #[SpeakeasyMetadata('queryParam:style=form,explode=true,name=status')] + public Components\SubscriptionStatus|array|null $status = null; + /** * Filter by subscriptions that are set to cancel at period end. * @@ -133,6 +142,7 @@ class SubscriptionsListRequest * @param string|array|null $externalCustomerId * @param string|array|null $discountId * @param ?bool $active + * @param \Polar\Models\Components\SubscriptionStatus|array<\Polar\Models\Components\SubscriptionStatus>|null $status * @param ?bool $cancelAtPeriodEnd * @param \Polar\Models\Components\CustomerCancellationReason|array<\Polar\Models\Components\CustomerCancellationReason>|null $customerCancellationReason * @param ?\DateTime $canceledAtAfter @@ -141,7 +151,7 @@ class SubscriptionsListRequest * @param ?array|array|array> $metadata * @phpstan-pure */ - public function __construct(string|array|null $organizationId = null, string|array|null $productId = null, string|array|null $customerId = null, string|array|null $externalCustomerId = null, string|array|null $discountId = null, ?bool $active = null, ?bool $cancelAtPeriodEnd = null, Components\CustomerCancellationReason|array|null $customerCancellationReason = null, ?\DateTime $canceledAtAfter = null, ?\DateTime $canceledAtBefore = null, ?array $sorting = null, ?array $metadata = null, ?int $page = 1, ?int $limit = 10) + public function __construct(string|array|null $organizationId = null, string|array|null $productId = null, string|array|null $customerId = null, string|array|null $externalCustomerId = null, string|array|null $discountId = null, ?bool $active = null, Components\SubscriptionStatus|array|null $status = null, ?bool $cancelAtPeriodEnd = null, Components\CustomerCancellationReason|array|null $customerCancellationReason = null, ?\DateTime $canceledAtAfter = null, ?\DateTime $canceledAtBefore = null, ?array $sorting = null, ?array $metadata = null, ?int $page = 1, ?int $limit = 10) { $this->organizationId = $organizationId; $this->productId = $productId; @@ -149,6 +159,7 @@ public function __construct(string|array|null $organizationId = null, string|arr $this->externalCustomerId = $externalCustomerId; $this->discountId = $discountId; $this->active = $active; + $this->status = $status; $this->cancelAtPeriodEnd = $cancelAtPeriodEnd; $this->customerCancellationReason = $customerCancellationReason; $this->canceledAtAfter = $canceledAtAfter; diff --git a/src/Models/Operations/SubscriptionsUpdateRequest.php b/src/Models/Operations/SubscriptionsUpdateRequest.php index ca868daa..c5d18ef7 100644 --- a/src/Models/Operations/SubscriptionsUpdateRequest.php +++ b/src/Models/Operations/SubscriptionsUpdateRequest.php @@ -22,17 +22,17 @@ class SubscriptionsUpdateRequest /** * - * @var \Polar\Models\Components\SubscriptionUpdateProduct|\Polar\Models\Components\SubscriptionUpdateDiscount|\Polar\Models\Components\SubscriptionUpdateTrial|\Polar\Models\Components\SubscriptionUpdateSeats|\Polar\Models\Components\SubscriptionUpdateBillingPeriod|\Polar\Models\Components\SubscriptionCancel|\Polar\Models\Components\SubscriptionRevoke $subscriptionUpdate + * @var \Polar\Models\Components\SubscriptionUpdateBase|\Polar\Models\Components\SubscriptionUpdateSeats|\Polar\Models\Components\SubscriptionUpdateBillingPeriod|\Polar\Models\Components\SubscriptionCancel|\Polar\Models\Components\SubscriptionRevoke|\Polar\Models\Components\SubscriptionPause|\Polar\Models\Components\SubscriptionResume|\Polar\Models\Components\SubscriptionUpdateClear $subscriptionUpdate */ #[SpeakeasyMetadata('request:mediaType=application/json')] - public Components\SubscriptionUpdateProduct|Components\SubscriptionUpdateDiscount|Components\SubscriptionUpdateTrial|Components\SubscriptionUpdateSeats|Components\SubscriptionUpdateBillingPeriod|Components\SubscriptionCancel|Components\SubscriptionRevoke $subscriptionUpdate; + public Components\SubscriptionUpdateBase|Components\SubscriptionUpdateSeats|Components\SubscriptionUpdateBillingPeriod|Components\SubscriptionCancel|Components\SubscriptionRevoke|Components\SubscriptionPause|Components\SubscriptionResume|Components\SubscriptionUpdateClear $subscriptionUpdate; /** * @param string $id - * @param \Polar\Models\Components\SubscriptionUpdateProduct|\Polar\Models\Components\SubscriptionUpdateDiscount|\Polar\Models\Components\SubscriptionUpdateTrial|\Polar\Models\Components\SubscriptionUpdateSeats|\Polar\Models\Components\SubscriptionUpdateBillingPeriod|\Polar\Models\Components\SubscriptionCancel|\Polar\Models\Components\SubscriptionRevoke $subscriptionUpdate + * @param \Polar\Models\Components\SubscriptionUpdateBase|\Polar\Models\Components\SubscriptionUpdateSeats|\Polar\Models\Components\SubscriptionUpdateBillingPeriod|\Polar\Models\Components\SubscriptionCancel|\Polar\Models\Components\SubscriptionRevoke|\Polar\Models\Components\SubscriptionPause|\Polar\Models\Components\SubscriptionResume|\Polar\Models\Components\SubscriptionUpdateClear $subscriptionUpdate * @phpstan-pure */ - public function __construct(string $id, Components\SubscriptionUpdateProduct|Components\SubscriptionUpdateDiscount|Components\SubscriptionUpdateTrial|Components\SubscriptionUpdateSeats|Components\SubscriptionUpdateBillingPeriod|Components\SubscriptionCancel|Components\SubscriptionRevoke $subscriptionUpdate) + public function __construct(string $id, Components\SubscriptionUpdateBase|Components\SubscriptionUpdateSeats|Components\SubscriptionUpdateBillingPeriod|Components\SubscriptionCancel|Components\SubscriptionRevoke|Components\SubscriptionPause|Components\SubscriptionResume|Components\SubscriptionUpdateClear $subscriptionUpdate) { $this->id = $id; $this->subscriptionUpdate = $subscriptionUpdate; diff --git a/src/Models/Webhooks/EndpointsubscriptionPausedPostResponse.php b/src/Models/Webhooks/EndpointsubscriptionPausedPostResponse.php new file mode 100644 index 00000000..767b2df6 --- /dev/null +++ b/src/Models/Webhooks/EndpointsubscriptionPausedPostResponse.php @@ -0,0 +1,56 @@ +contentType = $contentType; + $this->statusCode = $statusCode; + $this->rawResponse = $rawResponse; + $this->any = $any; + } +} \ No newline at end of file diff --git a/src/Models/Webhooks/EndpointsubscriptionResumedPostResponse.php b/src/Models/Webhooks/EndpointsubscriptionResumedPostResponse.php new file mode 100644 index 00000000..7ae9984b --- /dev/null +++ b/src/Models/Webhooks/EndpointsubscriptionResumedPostResponse.php @@ -0,0 +1,56 @@ +contentType = $contentType; + $this->statusCode = $statusCode; + $this->rawResponse = $rawResponse; + $this->any = $any; + } +} \ No newline at end of file diff --git a/src/Oauth2.php b/src/Oauth2.php index 8a966158..0b476101 100644 --- a/src/Oauth2.php +++ b/src/Oauth2.php @@ -75,11 +75,12 @@ public function authorize(?Options $options = null): Operations\Oauth2AuthorizeR } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -141,11 +142,12 @@ public function introspect(Components\IntrospectTokenRequest $request, ?Options } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -207,11 +209,12 @@ public function token(Components\AuthorizationCodeTokenRequest|Components\Refres } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -273,11 +276,12 @@ public function revoke(Components\RevokeTokenRequest $request, ?Options $options } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -333,11 +337,12 @@ public function userinfo(?Options $options = null): Operations\Oauth2UserinfoRes } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); diff --git a/src/Orders.php b/src/Orders.php index a183bb35..fa31f0cf 100644 --- a/src/Orders.php +++ b/src/Orders.php @@ -45,6 +45,90 @@ public function getUrl(string $baseUrl, array $urlVariables): string return Utils\Utils::templateUrl($baseUrl, $urlVariables); } + /** + * Create Order + * + * Create a draft order for an off-session charge against a saved payment + * method. The order is created with `status=draft` and no invoice number; + * call `POST /v1/orders/{id}/finalize` to attempt the charge. + * + * The organization must have the `off_session_charges_enabled` feature flag. + * + * **Scopes**: `orders:write` + * + * @param \Polar\Models\Components\OrderCreate $request + * @return \Polar\Models\Operations\OrdersCreateResponse + * @throws \Polar\Models\Errors\APIException + */ + public function create(Components\OrderCreate $request, ?Options $options = null): Operations\OrdersCreateResponse + { + $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); + $url = Utils\Utils::generateUrl($baseUrl, '/v1/orders/'); + $urlOverride = null; + $httpOptions = ['http_errors' => false]; + $body = Utils\Utils::serializeRequestBody($request, 'request', 'json'); + if ($body === null) { + throw new \Exception('Request body is required'); + } + $httpOptions = array_merge_recursive($httpOptions, $body); + $httpOptions['headers']['Accept'] = 'application/json'; + $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; + $httpRequest = new \GuzzleHttp\Psr7\Request('POST', $url); + $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'orders:create', null, $this->sdkConfiguration->securitySource); + $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); + $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); + $httpRequest = Utils\Utils::removeHeaders($httpRequest); + try { + $httpResponse = $this->sdkConfiguration->client->send($httpRequest, $httpOptions); + } catch (\GuzzleHttp\Exception\GuzzleException $error) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), null, $error); + $httpResponse = $res; + } + $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; + + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); + $httpResponse = $res; + } + + $statusCode = $httpResponse->getStatusCode(); + if (Utils\Utils::matchStatusCodes($statusCode, ['201'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Components\Order', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $response = new Operations\OrdersCreateResponse( + statusCode: $statusCode, + contentType: $contentType, + rawResponse: $httpResponse, + order: $obj); + + return $response; + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['422'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\HTTPValidationError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['4XX'])) { + throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { + throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } else { + throw new \Polar\Models\Errors\APIException('Unknown status code received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } + /** * Export Orders * @@ -69,7 +153,7 @@ public function export(string|array|null $organizationId = null, string|array|nu $httpOptions = ['http_errors' => false]; $qp = Utils\Utils::getQueryParams(Operations\OrdersExportRequest::class, $request, $urlOverride); - $httpOptions['headers']['Accept'] = 'application/json;q=1, text/csv;q=0'; + $httpOptions['headers']['Accept'] = 'text/csv'; $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; $httpRequest = new \GuzzleHttp\Psr7\Request('GET', $url); $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'orders:export', null, $this->sdkConfiguration->securitySource); @@ -85,35 +169,159 @@ public function export(string|array|null $organizationId = null, string|array|nu } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); + $httpResponse = $res; + } + $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { + if (Utils\Utils::matchContentType($contentType, 'text/csv')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $obj = $httpResponse->getBody()->getContents(); + + return new Operations\OrdersExportResponse( + statusCode: $statusCode, + contentType: $contentType, + rawResponse: $httpResponse, + res: $obj); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['422'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\HTTPValidationError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['4XX'])) { + throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { + throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } else { + throw new \Polar\Models\Errors\APIException('Unknown status code received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } + + /** + * Finalize Order + * + * Finalize a draft order and synchronously attempt an off-session charge. + * + * On success, the order transitions to `paid` and benefit grants fire + * before the response returns. On failure (decline, missing payment method, + * SCA challenge), the order stays in `draft` and a 4xx error is returned. + * + * The request fails with 412 if the order is not in `draft` status. + * + * **Scopes**: `orders:write` + * + * @param string $id + * @param ?\Polar\Models\Components\OrderFinalize $orderFinalize + * @return \Polar\Models\Operations\OrdersFinalizeResponse + * @throws \Polar\Models\Errors\APIException + */ + public function finalize(string $id, ?Components\OrderFinalize $orderFinalize = null, ?Options $options = null): Operations\OrdersFinalizeResponse + { + $request = new Operations\OrdersFinalizeRequest( + id: $id, + orderFinalize: $orderFinalize, + ); + $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); + $url = Utils\Utils::generateUrl($baseUrl, '/v1/orders/{id}/finalize', Operations\OrdersFinalizeRequest::class, $request); + $urlOverride = null; + $httpOptions = ['http_errors' => false]; + $body = Utils\Utils::serializeRequestBody($request, 'orderFinalize', 'json'); + if ($body !== null) { + $httpOptions = array_merge_recursive($httpOptions, $body); + } + $httpOptions['headers']['Accept'] = 'application/json'; + $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; + $httpRequest = new \GuzzleHttp\Psr7\Request('POST', $url); + $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'orders:finalize', null, $this->sdkConfiguration->securitySource); + $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); + $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); + $httpRequest = Utils\Utils::removeHeaders($httpRequest); + try { + $httpResponse = $this->sdkConfiguration->client->send($httpRequest, $httpOptions); + } catch (\GuzzleHttp\Exception\GuzzleException $error) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), null, $error); + $httpResponse = $res; + } + $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; + + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); $serializer = Utils\JSON::createSerializer(); $responseData = (string) $httpResponse->getBody(); - $obj = $serializer->deserialize($responseData, 'mixed', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); - $response = new Operations\OrdersExportResponse( + $obj = $serializer->deserialize($responseData, '\Polar\Models\Components\Order', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $response = new Operations\OrdersFinalizeResponse( statusCode: $statusCode, contentType: $contentType, rawResponse: $httpResponse, - any: $obj); + order: $obj); return $response; - } elseif (Utils\Utils::matchContentType($contentType, 'text/csv')) { + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['402'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); - $obj = $httpResponse->getBody()->getContents(); + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\PaymentFailed1|\Polar\Models\Errors\PaymentActionRequired', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['403'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); - return new Operations\OrdersExportResponse( - statusCode: $statusCode, - contentType: $contentType, - rawResponse: $httpResponse, - res: $obj); + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\OffSessionChargesNotEnabled|\Polar\Models\Errors\OrganizationNotReadyForPayments', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['404'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\ResourceNotFound', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['412'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\OrderNotDraft', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); } else { throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); } @@ -172,11 +380,12 @@ public function generateInvoice(string $id, ?Options $options = null): Operation } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['202'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -194,14 +403,35 @@ public function generateInvoice(string $id, ?Options $options = null): Operation } else { throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['404'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\ResourceNotFound', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['409'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\OrderNotEligibleForInvoice', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } } elseif (Utils\Utils::matchStatusCodes($statusCode, ['422'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); $serializer = Utils\JSON::createSerializer(); $responseData = (string) $httpResponse->getBody(); - $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\MissingInvoiceBillingDetails|\Polar\Models\Errors\NotPaidOrder', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); - $obj->rawResponse = $httpResponse; + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\MissingInvoiceBillingDetails', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); throw $obj->toException(); } else { throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); @@ -250,11 +480,12 @@ public function get(string $id, ?Options $options = null): Operations\OrdersGetR } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -338,11 +569,12 @@ public function invoice(string $id, ?Options $options = null): Operations\Orders } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -426,11 +658,12 @@ private function listIndividual(?Operations\OrdersListRequest $request = null, ? } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -479,6 +712,7 @@ private function listIndividual(?Operations\OrdersListRequest $request = null, ? customerId: $request != null ? $request->customerId : null, externalCustomerId: $request != null ? $request->externalCustomerId : null, checkoutId: $request != null ? $request->checkoutId : null, + subscriptionId: $request != null ? $request->subscriptionId : null, page: $nextPage, limit: $request != null ? $request->limit : null, sorting: $request != null ? $request->sorting : null, @@ -531,6 +765,103 @@ public function list(?Operations\OrdersListRequest $request = null, ?Options $op } } + /** + * Get Order Receipt + * + * Get a presigned URL to download an order's receipt PDF. + * + * **Scopes**: `orders:read` + * + * @param string $id + * @return \Polar\Models\Operations\OrdersReceiptResponse + * @throws \Polar\Models\Errors\APIException + */ + public function receipt(string $id, ?Options $options = null): Operations\OrdersReceiptResponse + { + $request = new Operations\OrdersReceiptRequest( + id: $id, + ); + $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); + $url = Utils\Utils::generateUrl($baseUrl, '/v1/orders/{id}/receipt', Operations\OrdersReceiptRequest::class, $request); + $urlOverride = null; + $httpOptions = ['http_errors' => false]; + $httpOptions['headers']['Accept'] = 'application/json'; + $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; + $httpRequest = new \GuzzleHttp\Psr7\Request('GET', $url); + $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'orders:receipt', null, $this->sdkConfiguration->securitySource); + $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); + $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); + $httpRequest = Utils\Utils::removeHeaders($httpRequest); + try { + $httpResponse = $this->sdkConfiguration->client->send($httpRequest, $httpOptions); + } catch (\GuzzleHttp\Exception\GuzzleException $error) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), null, $error); + $httpResponse = $res; + } + $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; + + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); + $httpResponse = $res; + } + + $statusCode = $httpResponse->getStatusCode(); + if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Components\OrderReceipt', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $response = new Operations\OrdersReceiptResponse( + statusCode: $statusCode, + contentType: $contentType, + rawResponse: $httpResponse, + orderReceipt: $obj); + + return $response; + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['202'])) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + return new Operations\OrdersReceiptResponse( + statusCode: $statusCode, + contentType: $contentType, + rawResponse: $httpResponse + ); + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['404'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\ResourceNotFound', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['422'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\HTTPValidationError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['4XX'])) { + throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { + throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } else { + throw new \Polar\Models\Errors\APIException('Unknown status code received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } + /** * Update Order * @@ -573,11 +904,12 @@ public function update(Components\OrderUpdate $orderUpdate, string $id, ?Options } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); diff --git a/src/Organizations.php b/src/Organizations.php index acbab27b..6ce672f8 100644 --- a/src/Organizations.php +++ b/src/Organizations.php @@ -82,11 +82,12 @@ public function create(Components\OrganizationCreate $request, ?Options $options } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['201'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -104,6 +105,17 @@ public function create(Components\OrganizationCreate $request, ?Options $options } else { throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['403'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\CannotCreateOrganizationError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } } elseif (Utils\Utils::matchStatusCodes($statusCode, ['422'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -159,11 +171,12 @@ public function get(string $id, ?Options $options = null): Operations\Organizati } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -226,7 +239,7 @@ public function get(string $id, ?Options $options = null): Operations\Organizati * @return \Polar\Models\Operations\OrganizationsListResponse * @throws \Polar\Models\Errors\APIException */ - private function listIndividual(?string $slug = null, ?int $page = null, ?int $limit = null, ?array $sorting = null, ?Options $options = null): Operations\OrganizationsListResponse + private function listOrganizationsIndividual(?string $slug = null, ?int $page = null, ?int $limit = null, ?array $sorting = null, ?Options $options = null): Operations\OrganizationsListResponse { $request = new Operations\OrganizationsListRequest( slug: $slug, @@ -256,11 +269,12 @@ private function listIndividual(?string $slug = null, ?int $page = null, ?int $l } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -300,7 +314,7 @@ private function listIndividual(?string $slug = null, ?int $page = null, ?int $l return null; } - return $sdk->listIndividual( + return $sdk->listOrganizationsIndividual( slug: $request != null ? $request->slug : null, page: $nextPage, limit: $request != null ? $request->limit : null, @@ -346,9 +360,9 @@ private function listIndividual(?string $slug = null, ?int $page = null, ?int $l * @return \Generator<\Polar\Models\Operations\OrganizationsListResponse> * @throws \Polar\Models\Errors\APIException */ - public function list(?string $slug = null, ?int $page = null, ?int $limit = null, ?array $sorting = null, ?Options $options = null): \Generator + public function listOrganizations(?string $slug = null, ?int $page = null, ?int $limit = null, ?array $sorting = null, ?Options $options = null): \Generator { - $res = $this->listIndividual($slug, $page, $limit, $sorting, $options); + $res = $this->listOrganizationsIndividual($slug, $page, $limit, $sorting, $options); while ($res !== null) { yield $res; $res = $res->next($res); @@ -397,11 +411,12 @@ public function update(Components\OrganizationUpdate $organizationUpdate, string } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['403', '404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -441,6 +456,17 @@ public function update(Components\OrganizationUpdate $organizationUpdate, string } else { throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['409'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\SSOEnforcementRequiresConnection', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } } elseif (Utils\Utils::matchStatusCodes($statusCode, ['422'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); diff --git a/src/Payments.php b/src/Payments.php index 86fc5178..387411b3 100644 --- a/src/Payments.php +++ b/src/Payments.php @@ -79,11 +79,12 @@ public function get(string $id, ?Options $options = null): Operations\PaymentsGe } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -167,11 +168,12 @@ private function listIndividual(?Operations\PaymentsListRequest $request = null, } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -216,6 +218,7 @@ private function listIndividual(?Operations\PaymentsListRequest $request = null, organizationId: $request != null ? $request->organizationId : null, checkoutId: $request != null ? $request->checkoutId : null, orderId: $request != null ? $request->orderId : null, + customerId: $request != null ? $request->customerId : null, status: $request != null ? $request->status : null, method: $request != null ? $request->method : null, customerEmail: $request != null ? $request->customerEmail : null, diff --git a/src/Polar.php b/src/Polar.php index c04f2011..2c7511d8 100644 --- a/src/Polar.php +++ b/src/Polar.php @@ -80,8 +80,6 @@ class Polar public Meters $meters; - public OrganizationAccessTokens $organizationAccessTokens; - public CustomerMeters $customerMeters; public Payments $payments; @@ -127,7 +125,6 @@ public function __construct( $this->events = new Events($this->sdkConfiguration); $this->eventTypes = new EventTypes($this->sdkConfiguration); $this->meters = new Meters($this->sdkConfiguration); - $this->organizationAccessTokens = new OrganizationAccessTokens($this->sdkConfiguration); $this->customerMeters = new CustomerMeters($this->sdkConfiguration); $this->payments = new Payments($this->sdkConfiguration); $this->initHooks(); diff --git a/src/PolarBenefitGrants.php b/src/PolarBenefitGrants.php index 628f6d63..2673eff0 100644 --- a/src/PolarBenefitGrants.php +++ b/src/PolarBenefitGrants.php @@ -87,18 +87,19 @@ public function get(Operations\CustomerPortalBenefitGrantsGetSecurity $security, } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); $serializer = Utils\JSON::createSerializer(); $responseData = (string) $httpResponse->getBody(); - $obj = $serializer->deserialize($responseData, '\Polar\Models\Components\CustomerBenefitGrantDiscord|\Polar\Models\Components\CustomerBenefitGrantGitHubRepository|\Polar\Models\Components\CustomerBenefitGrantDownloadables|\Polar\Models\Components\CustomerBenefitGrantLicenseKeys|\Polar\Models\Components\CustomerBenefitGrantCustom|\Polar\Models\Components\CustomerBenefitGrantMeterCredit|\Polar\Models\Components\CustomerBenefitGrantFeatureFlag', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Components\CustomerBenefitGrantDiscord|\Polar\Models\Components\CustomerBenefitGrantGitHubRepository|\Polar\Models\Components\CustomerBenefitGrantDownloadables|\Polar\Models\Components\CustomerBenefitGrantLicenseKeys|\Polar\Models\Components\CustomerBenefitGrantCustom|\Polar\Models\Components\CustomerBenefitGrantMeterCredit|\Polar\Models\Components\CustomerBenefitGrantFeatureFlag|\Polar\Models\Components\CustomerBenefitGrantSlackSharedChannel', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); $response = new Operations\CustomerPortalBenefitGrantsGetResponse( statusCode: $statusCode, contentType: $contentType, @@ -182,11 +183,12 @@ private function listIndividual(Operations\CustomerPortalBenefitGrantsListSecuri } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -296,12 +298,12 @@ public function list(Operations\CustomerPortalBenefitGrantsListSecurity $securit * **Scopes**: `customer_portal:write` * * @param \Polar\Models\Operations\CustomerPortalBenefitGrantsUpdateSecurity $security - * @param \Polar\Models\Components\CustomerBenefitGrantDiscordUpdate|\Polar\Models\Components\CustomerBenefitGrantGitHubRepositoryUpdate|\Polar\Models\Components\CustomerBenefitGrantDownloadablesUpdate|\Polar\Models\Components\CustomerBenefitGrantLicenseKeysUpdate|\Polar\Models\Components\CustomerBenefitGrantCustomUpdate|\Polar\Models\Components\CustomerBenefitGrantMeterCreditUpdate|\Polar\Models\Components\CustomerBenefitGrantFeatureFlagUpdate $customerBenefitGrantUpdate + * @param \Polar\Models\Components\CustomerBenefitGrantDiscordUpdate|\Polar\Models\Components\CustomerBenefitGrantGitHubRepositoryUpdate|\Polar\Models\Components\CustomerBenefitGrantDownloadablesUpdate|\Polar\Models\Components\CustomerBenefitGrantLicenseKeysUpdate|\Polar\Models\Components\CustomerBenefitGrantCustomUpdate|\Polar\Models\Components\CustomerBenefitGrantMeterCreditUpdate|\Polar\Models\Components\CustomerBenefitGrantFeatureFlagUpdate|\Polar\Models\Components\CustomerBenefitGrantSlackSharedChannelUpdate $customerBenefitGrantUpdate * @param string $id * @return \Polar\Models\Operations\CustomerPortalBenefitGrantsUpdateResponse * @throws \Polar\Models\Errors\APIException */ - public function update(Operations\CustomerPortalBenefitGrantsUpdateSecurity $security, Components\CustomerBenefitGrantDiscordUpdate|Components\CustomerBenefitGrantGitHubRepositoryUpdate|Components\CustomerBenefitGrantDownloadablesUpdate|Components\CustomerBenefitGrantLicenseKeysUpdate|Components\CustomerBenefitGrantCustomUpdate|Components\CustomerBenefitGrantMeterCreditUpdate|Components\CustomerBenefitGrantFeatureFlagUpdate $customerBenefitGrantUpdate, string $id, ?Options $options = null): Operations\CustomerPortalBenefitGrantsUpdateResponse + public function update(Operations\CustomerPortalBenefitGrantsUpdateSecurity $security, Components\CustomerBenefitGrantDiscordUpdate|Components\CustomerBenefitGrantGitHubRepositoryUpdate|Components\CustomerBenefitGrantDownloadablesUpdate|Components\CustomerBenefitGrantLicenseKeysUpdate|Components\CustomerBenefitGrantCustomUpdate|Components\CustomerBenefitGrantMeterCreditUpdate|Components\CustomerBenefitGrantFeatureFlagUpdate|Components\CustomerBenefitGrantSlackSharedChannelUpdate $customerBenefitGrantUpdate, string $id, ?Options $options = null): Operations\CustomerPortalBenefitGrantsUpdateResponse { $request = new Operations\CustomerPortalBenefitGrantsUpdateRequest( id: $id, @@ -337,18 +339,19 @@ public function update(Operations\CustomerPortalBenefitGrantsUpdateSecurity $sec } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['403', '404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); $serializer = Utils\JSON::createSerializer(); $responseData = (string) $httpResponse->getBody(); - $obj = $serializer->deserialize($responseData, '\Polar\Models\Components\CustomerBenefitGrantDiscord|\Polar\Models\Components\CustomerBenefitGrantGitHubRepository|\Polar\Models\Components\CustomerBenefitGrantDownloadables|\Polar\Models\Components\CustomerBenefitGrantLicenseKeys|\Polar\Models\Components\CustomerBenefitGrantCustom|\Polar\Models\Components\CustomerBenefitGrantMeterCredit|\Polar\Models\Components\CustomerBenefitGrantFeatureFlag', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Components\CustomerBenefitGrantDiscord|\Polar\Models\Components\CustomerBenefitGrantGitHubRepository|\Polar\Models\Components\CustomerBenefitGrantDownloadables|\Polar\Models\Components\CustomerBenefitGrantLicenseKeys|\Polar\Models\Components\CustomerBenefitGrantCustom|\Polar\Models\Components\CustomerBenefitGrantMeterCredit|\Polar\Models\Components\CustomerBenefitGrantFeatureFlag|\Polar\Models\Components\CustomerBenefitGrantSlackSharedChannel', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); $response = new Operations\CustomerPortalBenefitGrantsUpdateResponse( statusCode: $statusCode, contentType: $contentType, diff --git a/src/PolarCustomerMeters.php b/src/PolarCustomerMeters.php index 39d6dbb5..a28dba14 100644 --- a/src/PolarCustomerMeters.php +++ b/src/PolarCustomerMeters.php @@ -86,11 +86,12 @@ public function get(Operations\CustomerPortalCustomerMetersGetSecurity $security } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -181,11 +182,12 @@ private function listIndividual(Operations\CustomerPortalCustomerMetersListSecur } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); diff --git a/src/OrganizationAccessTokens.php b/src/PolarCustomerPortalMembers.php similarity index 76% rename from src/OrganizationAccessTokens.php rename to src/PolarCustomerPortalMembers.php index 5d26162e..507438d2 100644 --- a/src/OrganizationAccessTokens.php +++ b/src/PolarCustomerPortalMembers.php @@ -14,7 +14,7 @@ use Polar\Utils\Options; use Speakeasy\Serializer\DeserializationContext; -class OrganizationAccessTokens +class PolarCustomerPortalMembers { private SDKConfiguration $sdkConfiguration; /** @@ -46,18 +46,24 @@ public function getUrl(string $baseUrl, array $urlVariables): string } /** - * Create + * Add Member * - * **Scopes**: `organization_access_tokens:write` + * Add a new member to the customer's team. * - * @param \Polar\Models\Components\OrganizationAccessTokenCreate $request - * @return \Polar\Models\Operations\OrganizationAccessTokensCreateResponse + * Only available to owners and billing managers of team customers. + * + * Rules: + * - Cannot add a member with the owner role (there must be exactly one owner) + * - If a member with this email already exists, the existing member is returned + * + * @param \Polar\Models\Components\CustomerPortalMemberCreate $request + * @return \Polar\Models\Operations\CustomerPortalMembersAddMemberResponse * @throws \Polar\Models\Errors\APIException */ - public function create(Components\OrganizationAccessTokenCreate $request, ?Options $options = null): Operations\OrganizationAccessTokensCreateResponse + public function addMember(Components\CustomerPortalMemberCreate $request, ?Options $options = null): Operations\CustomerPortalMembersAddMemberResponse { $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); - $url = Utils\Utils::generateUrl($baseUrl, '/v1/organization-access-tokens/'); + $url = Utils\Utils::generateUrl($baseUrl, '/v1/customer-portal/members'); $urlOverride = null; $httpOptions = ['http_errors' => false]; $body = Utils\Utils::serializeRequestBody($request, 'request', 'json'); @@ -68,7 +74,7 @@ public function create(Components\OrganizationAccessTokenCreate $request, ?Optio $httpOptions['headers']['Accept'] = 'application/json'; $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; $httpRequest = new \GuzzleHttp\Psr7\Request('POST', $url); - $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'organization_access_tokens:create', null, $this->sdkConfiguration->securitySource); + $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'customer_portal:members:add_member', null, $this->sdkConfiguration->securitySource); $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); $httpRequest = Utils\Utils::removeHeaders($httpRequest); @@ -80,23 +86,24 @@ public function create(Components\OrganizationAccessTokenCreate $request, ?Optio } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['201'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); $serializer = Utils\JSON::createSerializer(); $responseData = (string) $httpResponse->getBody(); - $obj = $serializer->deserialize($responseData, '\Polar\Models\Components\OrganizationAccessTokenCreateResponse', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); - $response = new Operations\OrganizationAccessTokensCreateResponse( + $obj = $serializer->deserialize($responseData, '\Polar\Models\Components\CustomerPortalMember', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $response = new Operations\CustomerPortalMembersAddMemberResponse( statusCode: $statusCode, contentType: $contentType, rawResponse: $httpResponse, - organizationAccessTokenCreateResponse: $obj); + customerPortalMember: $obj); return $response; } else { @@ -113,73 +120,7 @@ public function create(Components\OrganizationAccessTokenCreate $request, ?Optio } else { throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); } - } elseif (Utils\Utils::matchStatusCodes($statusCode, ['4XX'])) { - throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); - } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { - throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); - } else { - throw new \Polar\Models\Errors\APIException('Unknown status code received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); - } - } - - /** - * Delete - * - * **Scopes**: `organization_access_tokens:write` - * - * @param string $id - * @return \Polar\Models\Operations\OrganizationAccessTokensDeleteResponse - * @throws \Polar\Models\Errors\APIException - */ - public function delete(string $id, ?Options $options = null): Operations\OrganizationAccessTokensDeleteResponse - { - $request = new Operations\OrganizationAccessTokensDeleteRequest( - id: $id, - ); - $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); - $url = Utils\Utils::generateUrl($baseUrl, '/v1/organization-access-tokens/{id}', Operations\OrganizationAccessTokensDeleteRequest::class, $request); - $urlOverride = null; - $httpOptions = ['http_errors' => false]; - $httpOptions['headers']['Accept'] = 'application/json'; - $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; - $httpRequest = new \GuzzleHttp\Psr7\Request('DELETE', $url); - $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'organization_access_tokens:delete', null, $this->sdkConfiguration->securitySource); - $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); - $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); - $httpRequest = Utils\Utils::removeHeaders($httpRequest); - try { - $httpResponse = $this->sdkConfiguration->client->send($httpRequest, $httpOptions); - } catch (\GuzzleHttp\Exception\GuzzleException $error) { - $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), null, $error); - $httpResponse = $res; - } - $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { - $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); - $httpResponse = $res; - } - if (Utils\Utils::matchStatusCodes($statusCode, ['204'])) { - $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); - - return new Operations\OrganizationAccessTokensDeleteResponse( - statusCode: $statusCode, - contentType: $contentType, - rawResponse: $httpResponse - ); - } elseif (Utils\Utils::matchStatusCodes($statusCode, ['422'])) { - if (Utils\Utils::matchContentType($contentType, 'application/json')) { - $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); - - $serializer = Utils\JSON::createSerializer(); - $responseData = (string) $httpResponse->getBody(); - $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\HTTPValidationError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); - throw $obj->toException(); - } else { - throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); - } - } elseif (Utils\Utils::matchStatusCodes($statusCode, ['4XX'])) { + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['400', '401', '403', '4XX'])) { throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); @@ -189,37 +130,33 @@ public function delete(string $id, ?Options $options = null): Operations\Organiz } /** - * List + * List Members * - * List organization access tokens. + * List all members of the customer's team. * - * **Scopes**: `organization_access_tokens:read` `organization_access_tokens:write` + * Only available to owners and billing managers of team customers. * - * @param string|array|null $organizationId * @param ?int $page * @param ?int $limit - * @param ?array<\Polar\Models\Components\OrganizationAccessTokenSortProperty> $sorting - * @return \Polar\Models\Operations\OrganizationAccessTokensListResponse + * @return \Polar\Models\Operations\CustomerPortalMembersListMembersResponse * @throws \Polar\Models\Errors\APIException */ - private function listIndividual(string|array|null $organizationId = null, ?int $page = null, ?int $limit = null, ?array $sorting = null, ?Options $options = null): Operations\OrganizationAccessTokensListResponse + private function listMembersIndividual(?int $page = null, ?int $limit = null, ?Options $options = null): Operations\CustomerPortalMembersListMembersResponse { - $request = new Operations\OrganizationAccessTokensListRequest( - organizationId: $organizationId, + $request = new Operations\CustomerPortalMembersListMembersRequest( page: $page, limit: $limit, - sorting: $sorting, ); $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); - $url = Utils\Utils::generateUrl($baseUrl, '/v1/organization-access-tokens/'); + $url = Utils\Utils::generateUrl($baseUrl, '/v1/customer-portal/members'); $urlOverride = null; $httpOptions = ['http_errors' => false]; - $qp = Utils\Utils::getQueryParams(Operations\OrganizationAccessTokensListRequest::class, $request, $urlOverride); + $qp = Utils\Utils::getQueryParams(Operations\CustomerPortalMembersListMembersRequest::class, $request, $urlOverride); $httpOptions['headers']['Accept'] = 'application/json'; $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; $httpRequest = new \GuzzleHttp\Psr7\Request('GET', $url); - $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'organization_access_tokens:list', null, $this->sdkConfiguration->securitySource); + $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'customer_portal:members:list_members', null, $this->sdkConfiguration->securitySource); $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); $httpOptions['query'] = Utils\QueryParameters::standardizeQueryParams($httpRequest, $qp); $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); @@ -232,26 +169,27 @@ private function listIndividual(string|array|null $organizationId = null, ?int $ } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); $serializer = Utils\JSON::createSerializer(); $responseData = (string) $httpResponse->getBody(); - $obj = $serializer->deserialize($responseData, '\Polar\Models\Components\ListResourceOrganizationAccessToken', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); - $response = new Operations\OrganizationAccessTokensListResponse( + $obj = $serializer->deserialize($responseData, '\Polar\Models\Components\ListResourceCustomerPortalMember', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $response = new Operations\CustomerPortalMembersListMembersResponse( statusCode: $statusCode, contentType: $contentType, rawResponse: $httpResponse, - listResourceOrganizationAccessToken: $obj); + listResourceCustomerPortalMember: $obj); $sdk = $this; - $response->next = function () use ($sdk, $request, $responseData): ?Operations\OrganizationAccessTokensListResponse { + $response->next = function () use ($sdk, $request, $responseData): ?Operations\CustomerPortalMembersListMembersResponse { $page = $request != null ? $request->page : 0; $nextPage = $page + 1; $jsonObject = new \JsonPath\JsonObject($responseData); @@ -276,11 +214,9 @@ private function listIndividual(string|array|null $organizationId = null, ?int $ return null; } - return $sdk->listIndividual( - organizationId: $request != null ? $request->organizationId : null, + return $sdk->listMembersIndividual( page: $nextPage, limit: $request != null ? $request->limit : null, - sorting: $request != null ? $request->sorting : null, ); }; @@ -300,7 +236,7 @@ private function listIndividual(string|array|null $organizationId = null, ?int $ } else { throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); } - } elseif (Utils\Utils::matchStatusCodes($statusCode, ['4XX'])) { + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['401', '403', '4XX'])) { throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); @@ -309,22 +245,20 @@ private function listIndividual(string|array|null $organizationId = null, ?int $ } } /** - * List + * List Members * - * List organization access tokens. + * List all members of the customer's team. * - * **Scopes**: `organization_access_tokens:read` `organization_access_tokens:write` + * Only available to owners and billing managers of team customers. * - * @param string|array|null $organizationId * @param ?int $page * @param ?int $limit - * @param ?array<\Polar\Models\Components\OrganizationAccessTokenSortProperty> $sorting - * @return \Generator<\Polar\Models\Operations\OrganizationAccessTokensListResponse> + * @return \Generator<\Polar\Models\Operations\CustomerPortalMembersListMembersResponse> * @throws \Polar\Models\Errors\APIException */ - public function list(string|array|null $organizationId = null, ?int $page = null, ?int $limit = null, ?array $sorting = null, ?Options $options = null): \Generator + public function listMembers(?int $page = null, ?int $limit = null, ?Options $options = null): \Generator { - $res = $this->listIndividual($organizationId, $page, $limit, $sorting, $options); + $res = $this->listMembersIndividual($page, $limit, $options); while ($res !== null) { yield $res; $res = $res->next($res); @@ -332,26 +266,105 @@ public function list(string|array|null $organizationId = null, ?int $page = null } /** - * Update + * Remove Member * - * **Scopes**: `organization_access_tokens:write` + * Remove a member from the team. * - * @param \Polar\Models\Components\OrganizationAccessTokenUpdate $organizationAccessTokenUpdate + * Only available to owners and billing managers of team customers. + * + * Rules: + * - Cannot remove yourself + * - Cannot remove the only owner + * + * @param string $id + * @return \Polar\Models\Operations\CustomerPortalMembersRemoveMemberResponse + * @throws \Polar\Models\Errors\APIException + */ + public function removeMember(string $id, ?Options $options = null): Operations\CustomerPortalMembersRemoveMemberResponse + { + $request = new Operations\CustomerPortalMembersRemoveMemberRequest( + id: $id, + ); + $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); + $url = Utils\Utils::generateUrl($baseUrl, '/v1/customer-portal/members/{id}', Operations\CustomerPortalMembersRemoveMemberRequest::class, $request); + $urlOverride = null; + $httpOptions = ['http_errors' => false]; + $httpOptions['headers']['Accept'] = 'application/json'; + $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; + $httpRequest = new \GuzzleHttp\Psr7\Request('DELETE', $url); + $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'customer_portal:members:remove_member', null, $this->sdkConfiguration->securitySource); + $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); + $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); + $httpRequest = Utils\Utils::removeHeaders($httpRequest); + try { + $httpResponse = $this->sdkConfiguration->client->send($httpRequest, $httpOptions); + } catch (\GuzzleHttp\Exception\GuzzleException $error) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), null, $error); + $httpResponse = $res; + } + $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; + + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); + $httpResponse = $res; + } + + $statusCode = $httpResponse->getStatusCode(); + if (Utils\Utils::matchStatusCodes($statusCode, ['204'])) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + return new Operations\CustomerPortalMembersRemoveMemberResponse( + statusCode: $statusCode, + contentType: $contentType, + rawResponse: $httpResponse + ); + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['422'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\HTTPValidationError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['400', '401', '403', '404', '4XX'])) { + throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { + throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } else { + throw new \Polar\Models\Errors\APIException('Unknown status code received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } + + /** + * Update Member + * + * Update a member's name or role. + * + * Only available to owners and billing managers of team customers. + * + * Rules: + * - Cannot modify your own role (to prevent self-demotion) + * - Customer must have exactly one owner at all times + * + * @param \Polar\Models\Components\CustomerPortalMemberUpdate $customerPortalMemberUpdate * @param string $id - * @return \Polar\Models\Operations\OrganizationAccessTokensUpdateResponse + * @return \Polar\Models\Operations\CustomerPortalMembersUpdateMemberResponse * @throws \Polar\Models\Errors\APIException */ - public function update(Components\OrganizationAccessTokenUpdate $organizationAccessTokenUpdate, string $id, ?Options $options = null): Operations\OrganizationAccessTokensUpdateResponse + public function updateMember(Components\CustomerPortalMemberUpdate $customerPortalMemberUpdate, string $id, ?Options $options = null): Operations\CustomerPortalMembersUpdateMemberResponse { - $request = new Operations\OrganizationAccessTokensUpdateRequest( + $request = new Operations\CustomerPortalMembersUpdateMemberRequest( id: $id, - organizationAccessTokenUpdate: $organizationAccessTokenUpdate, + customerPortalMemberUpdate: $customerPortalMemberUpdate, ); $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); - $url = Utils\Utils::generateUrl($baseUrl, '/v1/organization-access-tokens/{id}', Operations\OrganizationAccessTokensUpdateRequest::class, $request); + $url = Utils\Utils::generateUrl($baseUrl, '/v1/customer-portal/members/{id}', Operations\CustomerPortalMembersUpdateMemberRequest::class, $request); $urlOverride = null; $httpOptions = ['http_errors' => false]; - $body = Utils\Utils::serializeRequestBody($request, 'organizationAccessTokenUpdate', 'json'); + $body = Utils\Utils::serializeRequestBody($request, 'customerPortalMemberUpdate', 'json'); if ($body === null) { throw new \Exception('Request body is required'); } @@ -359,7 +372,7 @@ public function update(Components\OrganizationAccessTokenUpdate $organizationAcc $httpOptions['headers']['Accept'] = 'application/json'; $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; $httpRequest = new \GuzzleHttp\Psr7\Request('PATCH', $url); - $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'organization_access_tokens:update', null, $this->sdkConfiguration->securitySource); + $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'customer_portal:members:update_member', null, $this->sdkConfiguration->securitySource); $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); $httpRequest = Utils\Utils::removeHeaders($httpRequest); @@ -371,23 +384,24 @@ public function update(Components\OrganizationAccessTokenUpdate $organizationAcc } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); $serializer = Utils\JSON::createSerializer(); $responseData = (string) $httpResponse->getBody(); - $obj = $serializer->deserialize($responseData, '\Polar\Models\Components\OrganizationAccessToken', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); - $response = new Operations\OrganizationAccessTokensUpdateResponse( + $obj = $serializer->deserialize($responseData, '\Polar\Models\Components\CustomerPortalMember', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $response = new Operations\CustomerPortalMembersUpdateMemberResponse( statusCode: $statusCode, contentType: $contentType, rawResponse: $httpResponse, - organizationAccessToken: $obj); + customerPortalMember: $obj); return $response; } else { @@ -404,7 +418,7 @@ public function update(Components\OrganizationAccessTokenUpdate $organizationAcc } else { throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); } - } elseif (Utils\Utils::matchStatusCodes($statusCode, ['4XX'])) { + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['400', '401', '403', '404', '4XX'])) { throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); diff --git a/src/PolarCustomers.php b/src/PolarCustomers.php index 4283ec24..8b82af63 100644 --- a/src/PolarCustomers.php +++ b/src/PolarCustomers.php @@ -87,11 +87,12 @@ public function addPaymentMethod(Operations\CustomerPortalCustomersAddPaymentMet } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['201'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -109,6 +110,17 @@ public function addPaymentMethod(Operations\CustomerPortalCustomersAddPaymentMet } else { throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['400'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\PaymentMethodSetupFailed', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } } elseif (Utils\Utils::matchStatusCodes($statusCode, ['422'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -129,6 +141,76 @@ public function addPaymentMethod(Operations\CustomerPortalCustomersAddPaymentMet } } + /** + * Check Email Change Token + * + * Check if an email change verification token is still valid. + * + * @param string $token + * @return \Polar\Models\Operations\CustomerPortalCustomersCheckEmailUpdateResponse + * @throws \Polar\Models\Errors\APIException + */ + public function checkEmailUpdate(string $token, ?Options $options = null): Operations\CustomerPortalCustomersCheckEmailUpdateResponse + { + $request = new Operations\CustomerPortalCustomersCheckEmailUpdateRequest( + token: $token, + ); + $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); + $url = Utils\Utils::generateUrl($baseUrl, '/v1/customer-portal/customers/me/email-update/check'); + $urlOverride = null; + $httpOptions = ['http_errors' => false]; + + $qp = Utils\Utils::getQueryParams(Operations\CustomerPortalCustomersCheckEmailUpdateRequest::class, $request, $urlOverride); + $httpOptions['headers']['Accept'] = 'application/json'; + $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; + $httpRequest = new \GuzzleHttp\Psr7\Request('GET', $url); + $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'customer_portal:customers:check_email_update', null, null); + $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); + $httpOptions['query'] = Utils\QueryParameters::standardizeQueryParams($httpRequest, $qp); + $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); + $httpRequest = Utils\Utils::removeHeaders($httpRequest); + try { + $httpResponse = $this->sdkConfiguration->client->send($httpRequest, $httpOptions); + } catch (\GuzzleHttp\Exception\GuzzleException $error) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), null, $error); + $httpResponse = $res; + } + $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; + + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); + $httpResponse = $res; + } + + $statusCode = $httpResponse->getStatusCode(); + if (Utils\Utils::matchStatusCodes($statusCode, ['204'])) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + return new Operations\CustomerPortalCustomersCheckEmailUpdateResponse( + statusCode: $statusCode, + contentType: $contentType, + rawResponse: $httpResponse + ); + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['422'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\HTTPValidationError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['401', '4XX'])) { + throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { + throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } else { + throw new \Polar\Models\Errors\APIException('Unknown status code received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } + /** * Confirm Customer Payment Method * @@ -171,11 +253,12 @@ public function confirmPaymentMethod(Operations\CustomerPortalCustomersConfirmPa } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['400', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['201'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -264,11 +347,12 @@ public function deletePaymentMethod(Operations\CustomerPortalCustomersDeletePaym } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['400', '404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['204'])) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -357,11 +441,12 @@ public function get(Operations\CustomerPortalCustomersGetSecurity $security, ?Op } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -433,11 +518,12 @@ private function listPaymentMethodsIndividual(Operations\CustomerPortalCustomers } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -528,6 +614,91 @@ public function listPaymentMethods(Operations\CustomerPortalCustomersListPayment } } + /** + * Request Email Change + * + * Request an email change for the authenticated customer. + * + * @param \Polar\Models\Operations\CustomerPortalCustomersRequestEmailUpdateSecurity $security + * @param \Polar\Models\Components\CustomerEmailUpdateRequest $request + * @return \Polar\Models\Operations\CustomerPortalCustomersRequestEmailUpdateResponse + * @throws \Polar\Models\Errors\APIException + */ + public function requestEmailUpdate(Operations\CustomerPortalCustomersRequestEmailUpdateSecurity $security, Components\CustomerEmailUpdateRequest $request, ?Options $options = null): Operations\CustomerPortalCustomersRequestEmailUpdateResponse + { + $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); + $url = Utils\Utils::generateUrl($baseUrl, '/v1/customer-portal/customers/me/email-update/request'); + $urlOverride = null; + $httpOptions = ['http_errors' => false]; + $body = Utils\Utils::serializeRequestBody($request, 'request', 'json'); + if ($body === null) { + throw new \Exception('Request body is required'); + } + $httpOptions = array_merge_recursive($httpOptions, $body); + $httpOptions['headers']['Accept'] = 'application/json'; + $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; + $httpRequest = new \GuzzleHttp\Psr7\Request('POST', $url); + if ($security != null) { + $client = Utils\Utils::configureSecurityClient($this->sdkConfiguration->client, $security); + } else { + $client = $this->sdkConfiguration->client; + } + + $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'customer_portal:customers:request_email_update', null, fn () => $security); + $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); + $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); + $httpRequest = Utils\Utils::removeHeaders($httpRequest); + try { + $httpResponse = $client->send($httpRequest, $httpOptions); + } catch (\GuzzleHttp\Exception\GuzzleException $error) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), null, $error); + $httpResponse = $res; + } + $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; + + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); + $httpResponse = $res; + } + + $statusCode = $httpResponse->getStatusCode(); + if (Utils\Utils::matchStatusCodes($statusCode, ['202'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, 'mixed', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $response = new Operations\CustomerPortalCustomersRequestEmailUpdateResponse( + statusCode: $statusCode, + contentType: $contentType, + rawResponse: $httpResponse, + any: $obj); + + return $response; + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['422'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\HTTPValidationError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['4XX'])) { + throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { + throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } else { + throw new \Polar\Models\Errors\APIException('Unknown status code received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } + /** * Update Customer * @@ -570,11 +741,12 @@ public function update(Operations\CustomerPortalCustomersUpdateSecurity $securit } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -612,4 +784,71 @@ public function update(Operations\CustomerPortalCustomersUpdateSecurity $securit } } + /** + * Verify Email Change + * + * Verify an email change using the token from the verification email. + * + * @param \Polar\Models\Components\CustomerEmailUpdateVerifyRequest $request + * @return \Polar\Models\Operations\CustomerPortalCustomersVerifyEmailUpdateResponse + * @throws \Polar\Models\Errors\APIException + */ + public function verifyEmailUpdate(Components\CustomerEmailUpdateVerifyRequest $request, ?Options $options = null): Operations\CustomerPortalCustomersVerifyEmailUpdateResponse + { + $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); + $url = Utils\Utils::generateUrl($baseUrl, '/v1/customer-portal/customers/me/email-update/verify'); + $urlOverride = null; + $httpOptions = ['http_errors' => false]; + $body = Utils\Utils::serializeRequestBody($request, 'request', 'json'); + if ($body === null) { + throw new \Exception('Request body is required'); + } + $httpOptions = array_merge_recursive($httpOptions, $body); + $httpOptions['headers']['Accept'] = 'application/json'; + $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; + $httpRequest = new \GuzzleHttp\Psr7\Request('POST', $url); + $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'customer_portal:customers:verify_email_update', null, null); + $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); + $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); + $httpRequest = Utils\Utils::removeHeaders($httpRequest); + try { + $httpResponse = $this->sdkConfiguration->client->send($httpRequest, $httpOptions); + } catch (\GuzzleHttp\Exception\GuzzleException $error) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), null, $error); + $httpResponse = $res; + } + $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; + + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); + $httpResponse = $res; + } + + $statusCode = $httpResponse->getStatusCode(); + if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Components\CustomerEmailUpdateVerifyResponse', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $response = new Operations\CustomerPortalCustomersVerifyEmailUpdateResponse( + statusCode: $statusCode, + contentType: $contentType, + rawResponse: $httpResponse, + customerEmailUpdateVerifyResponse: $obj); + + return $response; + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['401', '422', '4XX'])) { + throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { + throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } else { + throw new \Polar\Models\Errors\APIException('Unknown status code received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } + } \ No newline at end of file diff --git a/src/PolarLicenseKeys.php b/src/PolarLicenseKeys.php index 76c4011f..fc2483e0 100644 --- a/src/PolarLicenseKeys.php +++ b/src/PolarLicenseKeys.php @@ -85,11 +85,12 @@ public function activate(Components\LicenseKeyActivate $request, ?Options $optio } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['403', '404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -189,11 +190,12 @@ public function deactivate(Components\LicenseKeyDeactivate $request, ?Options $o } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['204'])) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -275,11 +277,12 @@ public function get(Operations\CustomerPortalLicenseKeysGetSecurity $security, s } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -375,11 +378,12 @@ private function listIndividual(Operations\CustomerPortalLicenseKeysListSecurity } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['401', '404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -534,11 +538,12 @@ public function validate(Components\LicenseKeyValidate $request, ?Options $optio } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); diff --git a/src/PolarMembers.php b/src/PolarMembers.php index a42578ca..76b7e0e2 100644 --- a/src/PolarMembers.php +++ b/src/PolarMembers.php @@ -46,27 +46,31 @@ public function getUrl(string $baseUrl, array $urlVariables): string } /** - * Add Member + * Create Member * - * Add a new member to the customer's team. + * Create a new member for a customer. * - * Only available to owners and billing managers of team customers. + * Only B2B customers with the member management feature enabled can add members. + * The authenticated user or organization must have access to the customer's organization. * - * Rules: - * - Cannot add a member with the owner role (there must be exactly one owner) - * - If a member with this email already exists, the existing member is returned + * **Scopes**: `members:write` * - * @param \Polar\Models\Components\CustomerPortalMemberCreate $request - * @return \Polar\Models\Operations\CustomerPortalMembersAddMemberResponse + * @param \Polar\Models\Components\MemberCreateFromCustomer $memberCreateFromCustomer + * @param string $id + * @return \Polar\Models\Operations\CustomersMembersCreateResponse * @throws \Polar\Models\Errors\APIException */ - public function addMember(Components\CustomerPortalMemberCreate $request, ?Options $options = null): Operations\CustomerPortalMembersAddMemberResponse + public function create(Components\MemberCreateFromCustomer $memberCreateFromCustomer, string $id, ?Options $options = null): Operations\CustomersMembersCreateResponse { + $request = new Operations\CustomersMembersCreateRequest( + id: $id, + memberCreateFromCustomer: $memberCreateFromCustomer, + ); $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); - $url = Utils\Utils::generateUrl($baseUrl, '/v1/customer-portal/members'); + $url = Utils\Utils::generateUrl($baseUrl, '/v1/customers/{id}/members', Operations\CustomersMembersCreateRequest::class, $request); $urlOverride = null; $httpOptions = ['http_errors' => false]; - $body = Utils\Utils::serializeRequestBody($request, 'request', 'json'); + $body = Utils\Utils::serializeRequestBody($request, 'memberCreateFromCustomer', 'json'); if ($body === null) { throw new \Exception('Request body is required'); } @@ -74,7 +78,7 @@ public function addMember(Components\CustomerPortalMemberCreate $request, ?Optio $httpOptions['headers']['Accept'] = 'application/json'; $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; $httpRequest = new \GuzzleHttp\Psr7\Request('POST', $url); - $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'customer_portal:members:add_member', null, $this->sdkConfiguration->securitySource); + $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'customers:members:create', null, $this->sdkConfiguration->securitySource); $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); $httpRequest = Utils\Utils::removeHeaders($httpRequest); @@ -86,28 +90,51 @@ public function addMember(Components\CustomerPortalMemberCreate $request, ?Optio } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['400', '401', '403', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['201'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); $serializer = Utils\JSON::createSerializer(); $responseData = (string) $httpResponse->getBody(); - $obj = $serializer->deserialize($responseData, '\Polar\Models\Components\CustomerPortalMember', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); - $response = new Operations\CustomerPortalMembersAddMemberResponse( + $obj = $serializer->deserialize($responseData, '\Polar\Models\Components\Member', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $response = new Operations\CustomersMembersCreateResponse( statusCode: $statusCode, contentType: $contentType, rawResponse: $httpResponse, - customerPortalMember: $obj); + member: $obj); return $response; } else { throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['403'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\NotPermitted', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['404'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\ResourceNotFound', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } } elseif (Utils\Utils::matchStatusCodes($statusCode, ['422'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -119,7 +146,7 @@ public function addMember(Components\CustomerPortalMemberCreate $request, ?Optio } else { throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); } - } elseif (Utils\Utils::matchStatusCodes($statusCode, ['400', '401', '403', '4XX'])) { + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['4XX'])) { throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); @@ -129,35 +156,37 @@ public function addMember(Components\CustomerPortalMemberCreate $request, ?Optio } /** - * List Members + * Create Member by Customer External ID * - * List all members of the customer's team. + * Create a new member for a customer identified by its external ID. * - * Only available to owners and billing managers of team customers. + * **Scopes**: `members:write` * - * @param ?int $page - * @param ?int $limit - * @return \Polar\Models\Operations\CustomerPortalMembersListMembersResponse + * @param \Polar\Models\Components\MemberCreateFromCustomer $memberCreateFromCustomer + * @param string $externalId + * @return \Polar\Models\Operations\CustomersMembersCreateExternalResponse * @throws \Polar\Models\Errors\APIException */ - private function listMembersIndividual(?int $page = null, ?int $limit = null, ?Options $options = null): Operations\CustomerPortalMembersListMembersResponse + public function createExternal(Components\MemberCreateFromCustomer $memberCreateFromCustomer, string $externalId, ?Options $options = null): Operations\CustomersMembersCreateExternalResponse { - $request = new Operations\CustomerPortalMembersListMembersRequest( - page: $page, - limit: $limit, + $request = new Operations\CustomersMembersCreateExternalRequest( + externalId: $externalId, + memberCreateFromCustomer: $memberCreateFromCustomer, ); $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); - $url = Utils\Utils::generateUrl($baseUrl, '/v1/customer-portal/members'); + $url = Utils\Utils::generateUrl($baseUrl, '/v1/customers/external/{external_id}/members', Operations\CustomersMembersCreateExternalRequest::class, $request); $urlOverride = null; $httpOptions = ['http_errors' => false]; - - $qp = Utils\Utils::getQueryParams(Operations\CustomerPortalMembersListMembersRequest::class, $request, $urlOverride); + $body = Utils\Utils::serializeRequestBody($request, 'memberCreateFromCustomer', 'json'); + if ($body === null) { + throw new \Exception('Request body is required'); + } + $httpOptions = array_merge_recursive($httpOptions, $body); $httpOptions['headers']['Accept'] = 'application/json'; $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; - $httpRequest = new \GuzzleHttp\Psr7\Request('GET', $url); - $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'customer_portal:members:list_members', null, $this->sdkConfiguration->securitySource); + $httpRequest = new \GuzzleHttp\Psr7\Request('POST', $url); + $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'customers:members:create_external', null, $this->sdkConfiguration->securitySource); $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); - $httpOptions['query'] = Utils\QueryParameters::standardizeQueryParams($httpRequest, $qp); $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); $httpRequest = Utils\Utils::removeHeaders($httpRequest); try { @@ -168,61 +197,62 @@ private function listMembersIndividual(?int $page = null, ?int $limit = null, ?O } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['401', '403', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } - if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { + + $statusCode = $httpResponse->getStatusCode(); + if (Utils\Utils::matchStatusCodes($statusCode, ['201'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); $serializer = Utils\JSON::createSerializer(); $responseData = (string) $httpResponse->getBody(); - $obj = $serializer->deserialize($responseData, '\Polar\Models\Components\ListResourceCustomerPortalMember', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); - $response = new Operations\CustomerPortalMembersListMembersResponse( + $obj = $serializer->deserialize($responseData, '\Polar\Models\Components\Member', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $response = new Operations\CustomersMembersCreateExternalResponse( statusCode: $statusCode, contentType: $contentType, rawResponse: $httpResponse, - listResourceCustomerPortalMember: $obj); - $sdk = $this; - - $response->next = function () use ($sdk, $request, $responseData): ?Operations\CustomerPortalMembersListMembersResponse { - $page = $request != null ? $request->page : 0; - $nextPage = $page + 1; - $jsonObject = new \JsonPath\JsonObject($responseData); - $numPages = $jsonObject->get('$.pagination.max_page'); - if ($numPages == null || $numPages[0] <= $page) { - return null; - } - if (! $responseData) { - return null; - } - $jsonObject = new \JsonPath\JsonObject($responseData); - $results = $jsonObject->get('$.items'); - - if (is_array($results)) { - $results = $results[0]; - } - if (count($results) === 0) { - return null; - } - $limit = $request != null ? $request->limit : 0; - if (count($results) < $limit) { - return null; - } - - return $sdk->listMembersIndividual( - page: $nextPage, - limit: $request != null ? $request->limit : null, - ); - }; - + member: $obj); return $response; } else { throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['403'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\NotPermitted', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['404'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\ResourceNotFound', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['409'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\AmbiguousExternalCustomerID', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } } elseif (Utils\Utils::matchStatusCodes($statusCode, ['422'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -234,7 +264,7 @@ private function listMembersIndividual(?int $page = null, ?int $limit = null, ?O } else { throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); } - } elseif (Utils\Utils::matchStatusCodes($statusCode, ['401', '403', '4XX'])) { + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['4XX'])) { throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); @@ -242,55 +272,115 @@ private function listMembersIndividual(?int $page = null, ?int $limit = null, ?O throw new \Polar\Models\Errors\APIException('Unknown status code received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); } } + /** - * List Members + * Delete Member * - * List all members of the customer's team. + * Delete a member of a customer. * - * Only available to owners and billing managers of team customers. + * **Scopes**: `members:write` * - * @param ?int $page - * @param ?int $limit - * @return \Generator<\Polar\Models\Operations\CustomerPortalMembersListMembersResponse> + * @param string $id + * @param string $memberId + * @return \Polar\Models\Operations\CustomersMembersDeleteResponse * @throws \Polar\Models\Errors\APIException */ - public function listMembers(?int $page = null, ?int $limit = null, ?Options $options = null): \Generator + public function delete(string $id, string $memberId, ?Options $options = null): Operations\CustomersMembersDeleteResponse { - $res = $this->listMembersIndividual($page, $limit, $options); - while ($res !== null) { - yield $res; - $res = $res->next($res); + $request = new Operations\CustomersMembersDeleteRequest( + id: $id, + memberId: $memberId, + ); + $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); + $url = Utils\Utils::generateUrl($baseUrl, '/v1/customers/{id}/members/{member_id}', Operations\CustomersMembersDeleteRequest::class, $request); + $urlOverride = null; + $httpOptions = ['http_errors' => false]; + $httpOptions['headers']['Accept'] = 'application/json'; + $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; + $httpRequest = new \GuzzleHttp\Psr7\Request('DELETE', $url); + $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'customers:members:delete', null, $this->sdkConfiguration->securitySource); + $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); + $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); + $httpRequest = Utils\Utils::removeHeaders($httpRequest); + try { + $httpResponse = $this->sdkConfiguration->client->send($httpRequest, $httpOptions); + } catch (\GuzzleHttp\Exception\GuzzleException $error) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), null, $error); + $httpResponse = $res; + } + $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; + + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); + $httpResponse = $res; + } + + $statusCode = $httpResponse->getStatusCode(); + if (Utils\Utils::matchStatusCodes($statusCode, ['204'])) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + return new Operations\CustomersMembersDeleteResponse( + statusCode: $statusCode, + contentType: $contentType, + rawResponse: $httpResponse + ); + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['404'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\ResourceNotFound', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['422'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\HTTPValidationError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['4XX'])) { + throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { + throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } else { + throw new \Polar\Models\Errors\APIException('Unknown status code received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); } } /** - * Remove Member - * - * Remove a member from the team. + * Delete Member by External ID * - * Only available to owners and billing managers of team customers. + * Delete a member by external ID for a customer identified by its external ID. * - * Rules: - * - Cannot remove yourself - * - Cannot remove the only owner + * **Scopes**: `members:write` * - * @param string $id - * @return \Polar\Models\Operations\CustomerPortalMembersRemoveMemberResponse + * @param string $externalId + * @param string $memberExternalId + * @return \Polar\Models\Operations\CustomersMembersDeleteExternalResponse * @throws \Polar\Models\Errors\APIException */ - public function removeMember(string $id, ?Options $options = null): Operations\CustomerPortalMembersRemoveMemberResponse + public function deleteExternal(string $externalId, string $memberExternalId, ?Options $options = null): Operations\CustomersMembersDeleteExternalResponse { - $request = new Operations\CustomerPortalMembersRemoveMemberRequest( - id: $id, + $request = new Operations\CustomersMembersDeleteExternalRequest( + externalId: $externalId, + memberExternalId: $memberExternalId, ); $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); - $url = Utils\Utils::generateUrl($baseUrl, '/v1/customer-portal/members/{id}', Operations\CustomerPortalMembersRemoveMemberRequest::class, $request); + $url = Utils\Utils::generateUrl($baseUrl, '/v1/customers/external/{external_id}/members/{member_external_id}', Operations\CustomersMembersDeleteExternalRequest::class, $request); $urlOverride = null; $httpOptions = ['http_errors' => false]; $httpOptions['headers']['Accept'] = 'application/json'; $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; $httpRequest = new \GuzzleHttp\Psr7\Request('DELETE', $url); - $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'customer_portal:members:remove_member', null, $this->sdkConfiguration->securitySource); + $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'customers:members:delete_external', null, $this->sdkConfiguration->securitySource); $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); $httpRequest = Utils\Utils::removeHeaders($httpRequest); @@ -302,19 +392,235 @@ public function removeMember(string $id, ?Options $options = null): Operations\C } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['400', '401', '403', '404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['204'])) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); - return new Operations\CustomerPortalMembersRemoveMemberResponse( + return new Operations\CustomersMembersDeleteExternalResponse( statusCode: $statusCode, contentType: $contentType, rawResponse: $httpResponse ); + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['404'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\ResourceNotFound', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['409'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\AmbiguousExternalCustomerID', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['422'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\HTTPValidationError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['4XX'])) { + throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { + throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } else { + throw new \Polar\Models\Errors\APIException('Unknown status code received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } + + /** + * Get Member + * + * Get a member of a customer by its ID. + * + * **Scopes**: `members:read` `members:write` + * + * @param string $id + * @param string $memberId + * @return \Polar\Models\Operations\CustomersMembersGetResponse + * @throws \Polar\Models\Errors\APIException + */ + public function get(string $id, string $memberId, ?Options $options = null): Operations\CustomersMembersGetResponse + { + $request = new Operations\CustomersMembersGetRequest( + id: $id, + memberId: $memberId, + ); + $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); + $url = Utils\Utils::generateUrl($baseUrl, '/v1/customers/{id}/members/{member_id}', Operations\CustomersMembersGetRequest::class, $request); + $urlOverride = null; + $httpOptions = ['http_errors' => false]; + $httpOptions['headers']['Accept'] = 'application/json'; + $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; + $httpRequest = new \GuzzleHttp\Psr7\Request('GET', $url); + $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'customers:members:get', null, $this->sdkConfiguration->securitySource); + $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); + $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); + $httpRequest = Utils\Utils::removeHeaders($httpRequest); + try { + $httpResponse = $this->sdkConfiguration->client->send($httpRequest, $httpOptions); + } catch (\GuzzleHttp\Exception\GuzzleException $error) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), null, $error); + $httpResponse = $res; + } + $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; + + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); + $httpResponse = $res; + } + + $statusCode = $httpResponse->getStatusCode(); + if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Components\Member', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $response = new Operations\CustomersMembersGetResponse( + statusCode: $statusCode, + contentType: $contentType, + rawResponse: $httpResponse, + member: $obj); + + return $response; + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['404'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\ResourceNotFound', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['422'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\HTTPValidationError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['4XX'])) { + throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { + throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } else { + throw new \Polar\Models\Errors\APIException('Unknown status code received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } + + /** + * Get Member by External ID + * + * Get a member by external ID for a customer identified by its external ID. + * + * **Scopes**: `members:read` `members:write` + * + * @param string $externalId + * @param string $memberExternalId + * @return \Polar\Models\Operations\CustomersMembersGetExternalResponse + * @throws \Polar\Models\Errors\APIException + */ + public function getExternal(string $externalId, string $memberExternalId, ?Options $options = null): Operations\CustomersMembersGetExternalResponse + { + $request = new Operations\CustomersMembersGetExternalRequest( + externalId: $externalId, + memberExternalId: $memberExternalId, + ); + $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); + $url = Utils\Utils::generateUrl($baseUrl, '/v1/customers/external/{external_id}/members/{member_external_id}', Operations\CustomersMembersGetExternalRequest::class, $request); + $urlOverride = null; + $httpOptions = ['http_errors' => false]; + $httpOptions['headers']['Accept'] = 'application/json'; + $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; + $httpRequest = new \GuzzleHttp\Psr7\Request('GET', $url); + $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'customers:members:get_external', null, $this->sdkConfiguration->securitySource); + $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); + $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); + $httpRequest = Utils\Utils::removeHeaders($httpRequest); + try { + $httpResponse = $this->sdkConfiguration->client->send($httpRequest, $httpOptions); + } catch (\GuzzleHttp\Exception\GuzzleException $error) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), null, $error); + $httpResponse = $res; + } + $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; + + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); + $httpResponse = $res; + } + + $statusCode = $httpResponse->getStatusCode(); + if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Components\Member', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $response = new Operations\CustomersMembersGetExternalResponse( + statusCode: $statusCode, + contentType: $contentType, + rawResponse: $httpResponse, + member: $obj); + + return $response; + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['404'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\ResourceNotFound', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['409'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\AmbiguousExternalCustomerID', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } } elseif (Utils\Utils::matchStatusCodes($statusCode, ['422'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -326,7 +632,7 @@ public function removeMember(string $id, ?Options $options = null): Operations\C } else { throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); } - } elseif (Utils\Utils::matchStatusCodes($statusCode, ['400', '401', '403', '404', '4XX'])) { + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['4XX'])) { throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); @@ -338,30 +644,30 @@ public function removeMember(string $id, ?Options $options = null): Operations\C /** * Update Member * - * Update a member's role. + * Update a member of a customer. * - * Only available to owners and billing managers of team customers. + * Only name, email and role can be updated. * - * Rules: - * - Cannot modify your own role (to prevent self-demotion) - * - Customer must have exactly one owner at all times + * **Scopes**: `members:write` * - * @param \Polar\Models\Components\CustomerPortalMemberUpdate $customerPortalMemberUpdate + * @param \Polar\Models\Components\MemberUpdate $memberUpdate * @param string $id - * @return \Polar\Models\Operations\CustomerPortalMembersUpdateMemberResponse + * @param string $memberId + * @return \Polar\Models\Operations\CustomersMembersUpdateResponse * @throws \Polar\Models\Errors\APIException */ - public function updateMember(Components\CustomerPortalMemberUpdate $customerPortalMemberUpdate, string $id, ?Options $options = null): Operations\CustomerPortalMembersUpdateMemberResponse + public function update(Components\MemberUpdate $memberUpdate, string $id, string $memberId, ?Options $options = null): Operations\CustomersMembersUpdateResponse { - $request = new Operations\CustomerPortalMembersUpdateMemberRequest( + $request = new Operations\CustomersMembersUpdateRequest( id: $id, - customerPortalMemberUpdate: $customerPortalMemberUpdate, + memberId: $memberId, + memberUpdate: $memberUpdate, ); $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); - $url = Utils\Utils::generateUrl($baseUrl, '/v1/customer-portal/members/{id}', Operations\CustomerPortalMembersUpdateMemberRequest::class, $request); + $url = Utils\Utils::generateUrl($baseUrl, '/v1/customers/{id}/members/{member_id}', Operations\CustomersMembersUpdateRequest::class, $request); $urlOverride = null; $httpOptions = ['http_errors' => false]; - $body = Utils\Utils::serializeRequestBody($request, 'customerPortalMemberUpdate', 'json'); + $body = Utils\Utils::serializeRequestBody($request, 'memberUpdate', 'json'); if ($body === null) { throw new \Exception('Request body is required'); } @@ -369,7 +675,7 @@ public function updateMember(Components\CustomerPortalMemberUpdate $customerPort $httpOptions['headers']['Accept'] = 'application/json'; $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; $httpRequest = new \GuzzleHttp\Psr7\Request('PATCH', $url); - $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'customer_portal:members:update_member', null, $this->sdkConfiguration->securitySource); + $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'customers:members:update', null, $this->sdkConfiguration->securitySource); $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); $httpRequest = Utils\Utils::removeHeaders($httpRequest); @@ -381,28 +687,149 @@ public function updateMember(Components\CustomerPortalMemberUpdate $customerPort } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); + $httpResponse = $res; + } + $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['400', '401', '403', '404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Components\Member', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $response = new Operations\CustomersMembersUpdateResponse( + statusCode: $statusCode, + contentType: $contentType, + rawResponse: $httpResponse, + member: $obj); + + return $response; + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['404'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\ResourceNotFound', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['422'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\HTTPValidationError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['4XX'])) { + throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { + throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } else { + throw new \Polar\Models\Errors\APIException('Unknown status code received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } + + /** + * Update Member by External ID + * + * Update a member by external ID for a customer identified by its external ID. + * + * **Scopes**: `members:write` + * + * @param \Polar\Models\Components\MemberUpdate $memberUpdate + * @param string $externalId + * @param string $memberExternalId + * @return \Polar\Models\Operations\CustomersMembersUpdateExternalResponse + * @throws \Polar\Models\Errors\APIException + */ + public function updateExternal(Components\MemberUpdate $memberUpdate, string $externalId, string $memberExternalId, ?Options $options = null): Operations\CustomersMembersUpdateExternalResponse + { + $request = new Operations\CustomersMembersUpdateExternalRequest( + externalId: $externalId, + memberExternalId: $memberExternalId, + memberUpdate: $memberUpdate, + ); + $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); + $url = Utils\Utils::generateUrl($baseUrl, '/v1/customers/external/{external_id}/members/{member_external_id}', Operations\CustomersMembersUpdateExternalRequest::class, $request); + $urlOverride = null; + $httpOptions = ['http_errors' => false]; + $body = Utils\Utils::serializeRequestBody($request, 'memberUpdate', 'json'); + if ($body === null) { + throw new \Exception('Request body is required'); + } + $httpOptions = array_merge_recursive($httpOptions, $body); + $httpOptions['headers']['Accept'] = 'application/json'; + $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; + $httpRequest = new \GuzzleHttp\Psr7\Request('PATCH', $url); + $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'customers:members:update_external', null, $this->sdkConfiguration->securitySource); + $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); + $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); + $httpRequest = Utils\Utils::removeHeaders($httpRequest); + try { + $httpResponse = $this->sdkConfiguration->client->send($httpRequest, $httpOptions); + } catch (\GuzzleHttp\Exception\GuzzleException $error) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), null, $error); + $httpResponse = $res; + } + $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; + + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); $serializer = Utils\JSON::createSerializer(); $responseData = (string) $httpResponse->getBody(); - $obj = $serializer->deserialize($responseData, '\Polar\Models\Components\CustomerPortalMember', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); - $response = new Operations\CustomerPortalMembersUpdateMemberResponse( + $obj = $serializer->deserialize($responseData, '\Polar\Models\Components\Member', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $response = new Operations\CustomersMembersUpdateExternalResponse( statusCode: $statusCode, contentType: $contentType, rawResponse: $httpResponse, - customerPortalMember: $obj); + member: $obj); return $response; } else { throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['404'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\ResourceNotFound', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['409'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\AmbiguousExternalCustomerID', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } } elseif (Utils\Utils::matchStatusCodes($statusCode, ['422'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -414,7 +841,7 @@ public function updateMember(Components\CustomerPortalMemberUpdate $customerPort } else { throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); } - } elseif (Utils\Utils::matchStatusCodes($statusCode, ['400', '401', '403', '404', '4XX'])) { + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['4XX'])) { throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); diff --git a/src/PolarOrders.php b/src/PolarOrders.php index dd7c249e..b7f90642 100644 --- a/src/PolarOrders.php +++ b/src/PolarOrders.php @@ -92,11 +92,12 @@ public function confirmRetryPayment(Operations\CustomerPortalOrdersConfirmRetryP } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '409', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -147,6 +148,17 @@ public function confirmRetryPayment(Operations\CustomerPortalOrdersConfirmRetryP } else { throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['429'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\ManualRetryLimitExceeded', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } } elseif (Utils\Utils::matchStatusCodes($statusCode, ['4XX'])) { throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { @@ -196,11 +208,12 @@ public function generateInvoice(Operations\CustomerPortalOrdersGenerateInvoiceSe } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['202'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -218,14 +231,35 @@ public function generateInvoice(Operations\CustomerPortalOrdersGenerateInvoiceSe } else { throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['404'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\ResourceNotFound', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['409'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\OrderNotEligibleForInvoice', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } } elseif (Utils\Utils::matchStatusCodes($statusCode, ['422'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); $serializer = Utils\JSON::createSerializer(); $responseData = (string) $httpResponse->getBody(); - $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\MissingInvoiceBillingDetails|\Polar\Models\Errors\NotPaidOrder', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); - $obj->rawResponse = $httpResponse; + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\MissingInvoiceBillingDetails', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); throw $obj->toException(); } else { throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); @@ -279,11 +313,12 @@ public function get(Operations\CustomerPortalOrdersGetSecurity $security, string } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -372,11 +407,12 @@ public function getPaymentStatus(Operations\CustomerPortalOrdersGetPaymentStatus } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -465,11 +501,12 @@ public function invoice(Operations\CustomerPortalOrdersInvoiceSecurity $security } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -558,11 +595,12 @@ private function listIndividual(Operations\CustomerPortalOrdersListSecurity $sec } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -659,6 +697,108 @@ public function list(Operations\CustomerPortalOrdersListSecurity $security, ?Ope } } + /** + * Get Order Receipt + * + * Get a presigned URL to download an order's receipt PDF. + * + * @param \Polar\Models\Operations\CustomerPortalOrdersReceiptSecurity $security + * @param string $id + * @return \Polar\Models\Operations\CustomerPortalOrdersReceiptResponse + * @throws \Polar\Models\Errors\APIException + */ + public function receipt(Operations\CustomerPortalOrdersReceiptSecurity $security, string $id, ?Options $options = null): Operations\CustomerPortalOrdersReceiptResponse + { + $request = new Operations\CustomerPortalOrdersReceiptRequest( + id: $id, + ); + $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); + $url = Utils\Utils::generateUrl($baseUrl, '/v1/customer-portal/orders/{id}/receipt', Operations\CustomerPortalOrdersReceiptRequest::class, $request); + $urlOverride = null; + $httpOptions = ['http_errors' => false]; + $httpOptions['headers']['Accept'] = 'application/json'; + $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; + $httpRequest = new \GuzzleHttp\Psr7\Request('GET', $url); + if ($security != null) { + $client = Utils\Utils::configureSecurityClient($this->sdkConfiguration->client, $security); + } else { + $client = $this->sdkConfiguration->client; + } + + $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'customer_portal:orders:receipt', null, fn () => $security); + $httpRequest = $this->sdkConfiguration->hooks->beforeRequest(new Hooks\BeforeRequestContext($hookContext), $httpRequest); + $httpOptions = Utils\Utils::convertHeadersToOptions($httpRequest, $httpOptions); + $httpRequest = Utils\Utils::removeHeaders($httpRequest); + try { + $httpResponse = $client->send($httpRequest, $httpOptions); + } catch (\GuzzleHttp\Exception\GuzzleException $error) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), null, $error); + $httpResponse = $res; + } + $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; + + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { + $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); + $httpResponse = $res; + } + + $statusCode = $httpResponse->getStatusCode(); + if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Components\CustomerOrderReceipt', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $response = new Operations\CustomerPortalOrdersReceiptResponse( + statusCode: $statusCode, + contentType: $contentType, + rawResponse: $httpResponse, + customerOrderReceipt: $obj); + + return $response; + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['202'])) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + return new Operations\CustomerPortalOrdersReceiptResponse( + statusCode: $statusCode, + contentType: $contentType, + rawResponse: $httpResponse + ); + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['404'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\ResourceNotFound', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['422'])) { + if (Utils\Utils::matchContentType($contentType, 'application/json')) { + $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); + + $serializer = Utils\JSON::createSerializer(); + $responseData = (string) $httpResponse->getBody(); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\HTTPValidationError', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + throw $obj->toException(); + } else { + throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['4XX'])) { + throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } elseif (Utils\Utils::matchStatusCodes($statusCode, ['5XX'])) { + throw new \Polar\Models\Errors\APIException('API error occurred', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } else { + throw new \Polar\Models\Errors\APIException('Unknown status code received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); + } + } + /** * Update Order * @@ -706,11 +846,12 @@ public function update(Operations\CustomerPortalOrdersUpdateSecurity $security, } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); diff --git a/src/PolarOrganizations.php b/src/PolarOrganizations.php index 252c658e..1a337289 100644 --- a/src/PolarOrganizations.php +++ b/src/PolarOrganizations.php @@ -77,11 +77,12 @@ public function get(string $slug, ?Options $options = null): Operations\Customer } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); diff --git a/src/PolarSubscriptions.php b/src/PolarSubscriptions.php index 55cf3fb0..d7892247 100644 --- a/src/PolarSubscriptions.php +++ b/src/PolarSubscriptions.php @@ -85,11 +85,12 @@ public function cancel(Operations\CustomerPortalSubscriptionsCancelSecurity $sec } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['403', '404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -191,11 +192,12 @@ public function get(Operations\CustomerPortalSubscriptionsGetSecurity $security, } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -286,11 +288,12 @@ private function listIndividual(Operations\CustomerPortalSubscriptionsListSecuri } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -394,12 +397,12 @@ public function list(Operations\CustomerPortalSubscriptionsListSecurity $securit * Update a subscription of the authenticated customer. * * @param \Polar\Models\Operations\CustomerPortalSubscriptionsUpdateSecurity $security - * @param \Polar\Models\Components\CustomerSubscriptionUpdateProduct|\Polar\Models\Components\CustomerSubscriptionUpdateSeats|\Polar\Models\Components\CustomerSubscriptionCancel $customerSubscriptionUpdate + * @param \Polar\Models\Components\CustomerSubscriptionUpdateProduct|\Polar\Models\Components\CustomerSubscriptionUpdateSeats|\Polar\Models\Components\CustomerSubscriptionCancel|\Polar\Models\Components\CustomerSubscriptionPause|\Polar\Models\Components\CustomerSubscriptionResume|\Polar\Models\Components\CustomerSubscriptionUpdateClear $customerSubscriptionUpdate * @param string $id * @return \Polar\Models\Operations\CustomerPortalSubscriptionsUpdateResponse * @throws \Polar\Models\Errors\APIException */ - public function update(Operations\CustomerPortalSubscriptionsUpdateSecurity $security, Components\CustomerSubscriptionUpdateProduct|Components\CustomerSubscriptionUpdateSeats|Components\CustomerSubscriptionCancel $customerSubscriptionUpdate, string $id, ?Options $options = null): Operations\CustomerPortalSubscriptionsUpdateResponse + public function update(Operations\CustomerPortalSubscriptionsUpdateSecurity $security, Components\CustomerSubscriptionUpdateProduct|Components\CustomerSubscriptionUpdateSeats|Components\CustomerSubscriptionCancel|Components\CustomerSubscriptionPause|Components\CustomerSubscriptionResume|Components\CustomerSubscriptionUpdateClear $customerSubscriptionUpdate, string $id, ?Options $options = null): Operations\CustomerPortalSubscriptionsUpdateResponse { $request = new Operations\CustomerPortalSubscriptionsUpdateRequest( id: $id, @@ -435,11 +438,12 @@ public function update(Operations\CustomerPortalSubscriptionsUpdateSecurity $sec } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['402', '403', '404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -474,7 +478,8 @@ public function update(Operations\CustomerPortalSubscriptionsUpdateSecurity $sec $serializer = Utils\JSON::createSerializer(); $responseData = (string) $httpResponse->getBody(); - $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\AlreadyCanceledSubscription', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj = $serializer->deserialize($responseData, '\Polar\Models\Errors\AlreadyCanceledSubscription1|\Polar\Models\Errors\PauseResumeNotAllowed', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); + $obj->rawResponse = $httpResponse; throw $obj->toException(); } else { throw new \Polar\Models\Errors\APIException('Unknown content type received', $statusCode, $httpResponse->getBody()->getContents(), $httpResponse); diff --git a/src/Products.php b/src/Products.php index 1af8b22d..6c545a97 100644 --- a/src/Products.php +++ b/src/Products.php @@ -82,11 +82,12 @@ public function create(Components\ProductCreateRecurring|Components\ProductCreat } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['201'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -159,11 +160,12 @@ public function get(string $id, ?Options $options = null): Operations\ProductsGe } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -247,11 +249,12 @@ private function listIndividual(?Operations\ProductsListRequest $request = null, } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -394,11 +397,12 @@ public function update(Components\ProductUpdate $productUpdate, string $id, ?Opt } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['403', '404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -500,11 +504,12 @@ public function updateBenefits(Components\ProductBenefitsUpdate $productBenefits } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['403', '404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); diff --git a/src/Refunds.php b/src/Refunds.php index 484c85d4..d6c5f0cb 100644 --- a/src/Refunds.php +++ b/src/Refunds.php @@ -82,11 +82,12 @@ public function create(Components\RefundCreate $request, ?Options $options = nul } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['403', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['201'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -170,11 +171,12 @@ private function listIndividual(?Operations\RefundsListRequest $request = null, } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); diff --git a/src/SDKConfiguration.php b/src/SDKConfiguration.php index 7bc406b6..a7049ed3 100644 --- a/src/SDKConfiguration.php +++ b/src/SDKConfiguration.php @@ -24,13 +24,13 @@ class SDKConfiguration public string $language = 'php'; - public string $openapiDocVersion = '0.1.0'; + public string $openapiDocVersion = '2026-04'; - public string $sdkVersion = '0.10.0'; + public string $sdkVersion = '0.11.0'; - public string $genVersion = '2.879.6'; + public string $genVersion = '2.918.4'; - public string $userAgent = 'speakeasy-sdk/php 0.10.0 2.879.6 0.1.0 polar-sh/sdk'; + public string $userAgent = 'speakeasy-sdk/php 0.11.0 2.918.4 2026-04 polar-sh/sdk'; public ?RetryConfig $retryConfig = null; diff --git a/src/Seats.php b/src/Seats.php index 1a8bb4d4..a5ac96da 100644 --- a/src/Seats.php +++ b/src/Seats.php @@ -49,11 +49,11 @@ public function getUrl(string $baseUrl, array $urlVariables): string * Assign Seat * * @param \Polar\Models\Operations\CustomerPortalSeatsAssignSeatSecurity $security - * @param \Polar\Models\Components\SeatAssign $request + * @param \Polar\Models\Components\CustomerSeatAssign $request * @return \Polar\Models\Operations\CustomerPortalSeatsAssignSeatResponse * @throws \Polar\Models\Errors\APIException */ - public function assignSeat(Operations\CustomerPortalSeatsAssignSeatSecurity $security, Components\SeatAssign $request, ?Options $options = null): Operations\CustomerPortalSeatsAssignSeatResponse + public function assignSeat(Operations\CustomerPortalSeatsAssignSeatSecurity $security, Components\CustomerSeatAssign $request, ?Options $options = null): Operations\CustomerPortalSeatsAssignSeatResponse { $baseUrl = $this->sdkConfiguration->getTemplatedServerUrl(); $url = Utils\Utils::generateUrl($baseUrl, '/v1/customer-portal/seats'); @@ -85,11 +85,12 @@ public function assignSeat(Operations\CustomerPortalSeatsAssignSeatSecurity $sec } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['400', '401', '403', '404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -174,11 +175,12 @@ private function listClaimedSubscriptionsIndividual(Operations\CustomerPortalSea } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['401', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -316,11 +318,12 @@ public function listSeats(Operations\CustomerPortalSeatsListSeatsSecurity $secur } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['401', '403', '404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -396,11 +399,12 @@ public function resendInvitation(Operations\CustomerPortalSeatsResendInvitationS } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['400', '401', '403', '404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -476,11 +480,12 @@ public function revokeSeat(Operations\CustomerPortalSeatsRevokeSeatSecurity $sec } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['401', '403', '404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); diff --git a/src/Subscriptions.php b/src/Subscriptions.php index 3920b563..f2ccd28d 100644 --- a/src/Subscriptions.php +++ b/src/Subscriptions.php @@ -87,11 +87,12 @@ public function create(Components\SubscriptionCreateCustomer|Components\Subscrip } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['201'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -151,7 +152,7 @@ public function export(string|array|null $organizationId = null, ?Options $optio $httpOptions = ['http_errors' => false]; $qp = Utils\Utils::getQueryParams(Operations\SubscriptionsExportRequest::class, $request, $urlOverride); - $httpOptions['headers']['Accept'] = 'application/json;q=1, text/csv;q=0'; + $httpOptions['headers']['Accept'] = 'text/csv'; $httpOptions['headers']['user-agent'] = $this->sdkConfiguration->userAgent; $httpRequest = new \GuzzleHttp\Psr7\Request('GET', $url); $hookContext = new HookContext($this->sdkConfiguration, $baseUrl, 'subscriptions:export', null, $this->sdkConfiguration->securitySource); @@ -167,26 +168,14 @@ public function export(string|array|null $organizationId = null, ?Options $optio } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } - if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { - if (Utils\Utils::matchContentType($contentType, 'application/json')) { - $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); - $serializer = Utils\JSON::createSerializer(); - $responseData = (string) $httpResponse->getBody(); - $obj = $serializer->deserialize($responseData, 'mixed', 'json', DeserializationContext::create()->setRequireAllRequiredProperties(true)); - $response = new Operations\SubscriptionsExportResponse( - statusCode: $statusCode, - contentType: $contentType, - rawResponse: $httpResponse, - any: $obj); - - return $response; - } elseif (Utils\Utils::matchContentType($contentType, 'text/csv')) { + $statusCode = $httpResponse->getStatusCode(); + if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { + if (Utils\Utils::matchContentType($contentType, 'text/csv')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); $obj = $httpResponse->getBody()->getContents(); @@ -254,11 +243,12 @@ public function get(string $id, ?Options $options = null): Operations\Subscripti } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -342,11 +332,12 @@ private function listIndividual(?Operations\SubscriptionsListRequest $request = } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -394,6 +385,7 @@ private function listIndividual(?Operations\SubscriptionsListRequest $request = externalCustomerId: $request != null ? $request->externalCustomerId : null, discountId: $request != null ? $request->discountId : null, active: $request != null ? $request->active : null, + status: $request != null ? $request->status : null, cancelAtPeriodEnd: $request != null ? $request->cancelAtPeriodEnd : null, customerCancellationReason: $request != null ? $request->customerCancellationReason : null, canceledAtAfter: $request != null ? $request->canceledAtAfter : null, @@ -485,11 +477,12 @@ public function revoke(string $id, ?Options $options = null): Operations\Subscri } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['403', '404', '409', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -567,12 +560,12 @@ public function revoke(string $id, ?Options $options = null): Operations\Subscri * * **Scopes**: `subscriptions:write` * - * @param \Polar\Models\Components\SubscriptionUpdateProduct|\Polar\Models\Components\SubscriptionUpdateDiscount|\Polar\Models\Components\SubscriptionUpdateTrial|\Polar\Models\Components\SubscriptionUpdateSeats|\Polar\Models\Components\SubscriptionUpdateBillingPeriod|\Polar\Models\Components\SubscriptionCancel|\Polar\Models\Components\SubscriptionRevoke $subscriptionUpdate + * @param \Polar\Models\Components\SubscriptionUpdateBase|\Polar\Models\Components\SubscriptionUpdateSeats|\Polar\Models\Components\SubscriptionUpdateBillingPeriod|\Polar\Models\Components\SubscriptionCancel|\Polar\Models\Components\SubscriptionRevoke|\Polar\Models\Components\SubscriptionPause|\Polar\Models\Components\SubscriptionResume|\Polar\Models\Components\SubscriptionUpdateClear $subscriptionUpdate * @param string $id * @return \Polar\Models\Operations\SubscriptionsUpdateResponse * @throws \Polar\Models\Errors\APIException */ - public function update(Components\SubscriptionUpdateProduct|Components\SubscriptionUpdateDiscount|Components\SubscriptionUpdateTrial|Components\SubscriptionUpdateSeats|Components\SubscriptionUpdateBillingPeriod|Components\SubscriptionCancel|Components\SubscriptionRevoke $subscriptionUpdate, string $id, ?Options $options = null): Operations\SubscriptionsUpdateResponse + public function update(Components\SubscriptionUpdateBase|Components\SubscriptionUpdateSeats|Components\SubscriptionUpdateBillingPeriod|Components\SubscriptionCancel|Components\SubscriptionRevoke|Components\SubscriptionPause|Components\SubscriptionResume|Components\SubscriptionUpdateClear $subscriptionUpdate, string $id, ?Options $options = null): Operations\SubscriptionsUpdateResponse { $request = new Operations\SubscriptionsUpdateRequest( id: $id, @@ -602,11 +595,12 @@ public function update(Components\SubscriptionUpdateProduct|Components\Subscript } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['402', '403', '404', '409', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); diff --git a/src/Utils/Retry/RetryUtils.php b/src/Utils/Retry/RetryUtils.php index 768a7dd0..1dfc6e1c 100644 --- a/src/Utils/Retry/RetryUtils.php +++ b/src/Utils/Retry/RetryUtils.php @@ -74,6 +74,10 @@ public static function retryInterval(?ResponseInterface $response): int if ($response == null) { return 0; } + $retryAfterMs = $response->getHeader('retry-after-ms'); + if (count($retryAfterMs) > 0 && is_numeric($retryAfterMs[0])) { + return max(0, (int) $retryAfterMs[0]); + } $retryAfter = $response->getHeader('Retry-After'); if (count($retryAfter) == 0) { return 0; diff --git a/src/Utils/UnionHandler.php b/src/Utils/UnionHandler.php index e644ef64..87d79f08 100644 --- a/src/Utils/UnionHandler.php +++ b/src/Utils/UnionHandler.php @@ -75,6 +75,10 @@ public function serializeUnion( } else { return $this->matchAssociativeArrayType($data, $type, $context); } + } elseif (is_array($data)) { + $resolvedType = ['name' => 'array', 'params' => []]; + } elseif ($this->paramsLookLikeUnionDiscriminator($type)) { + $resolvedType = ['name' => get_class($data), 'params' => []]; } else { $resolvedType = null; foreach ($type['params'] as $possibleType) { @@ -109,7 +113,7 @@ public function deserializeUnion(DeserializationVisitorInterface $visitor, mixed // if three params exist, it may mean that there was a union discriminator set for this type. // It also may mean that there are three possible types. - if (count($type['params']) == 3 && $this->paramsLookLikeUnionDiscriminator($type)) { + if ($this->paramsLookLikeUnionDiscriminator($type)) { $lookupField = $type['params'][1]; if (empty($data[$lookupField])) { throw new NonVisitableTypeException(sprintf('Union Discriminator Field "%s" not found in data', $lookupField)); @@ -180,11 +184,11 @@ public function deserializeUnion(DeserializationVisitorInterface $visitor, mixed */ private function paramsLookLikeUnionDiscriminator(array $type): bool { - // if the first param is null, then the second and third parameters - // will contain the discriminator details. - $first = $type['params'][0]; - - return $first === null; + // Discriminated unions are encoded as a fixed [null, field, map] triple: + // params[0] = null sentinel + // params[1] = discriminator field name + // params[2] = mapping of discriminator value -> FQCN + return count($type['params']) === 3 && $type['params'][0] === null; } /** diff --git a/src/Wallets.php b/src/Wallets.php index 89c33b0a..b947e490 100644 --- a/src/Wallets.php +++ b/src/Wallets.php @@ -85,11 +85,12 @@ public function get(Operations\CustomerPortalWalletsGetSecurity $security, strin } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -185,11 +186,12 @@ private function listIndividual(Operations\CustomerPortalWalletsListSecurity $se } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); diff --git a/src/Webhooks.php b/src/Webhooks.php index 0ecd737e..f935d87f 100644 --- a/src/Webhooks.php +++ b/src/Webhooks.php @@ -82,11 +82,12 @@ public function createWebhookEndpoint(Components\WebhookEndpointCreate $request, } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['201'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -159,11 +160,12 @@ public function deleteWebhookEndpoint(string $id, ?Options $options = null): Ope } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['204'])) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -238,11 +240,12 @@ public function getWebhookEndpoint(string $id, ?Options $options = null): Operat } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -328,11 +331,12 @@ private function listWebhookDeliveriesIndividual(?Operations\WebhooksListWebhook } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -475,11 +479,12 @@ private function listWebhookEndpointsIndividual(string|array|null $organizationI } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -607,11 +612,12 @@ public function redeliverWebhookEvent(string $id, ?Options $options = null): Ope } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['202'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -695,11 +701,12 @@ public function resetWebhookEndpointSecret(string $id, ?Options $options = null) } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); @@ -790,11 +797,12 @@ public function updateWebhookEndpoint(Components\WebhookEndpointUpdate $webhookE } $contentType = $httpResponse->getHeader('Content-Type')[0] ?? ''; - $statusCode = $httpResponse->getStatusCode(); - if (Utils\Utils::matchStatusCodes($statusCode, ['404', '422', '4XX', '5XX'])) { + if (Utils\Utils::matchStatusCodes($httpResponse->getStatusCode(), ['4XX', '5XX'])) { $res = $this->sdkConfiguration->hooks->afterError(new Hooks\AfterErrorContext($hookContext), $httpResponse, null); $httpResponse = $res; } + + $statusCode = $httpResponse->getStatusCode(); if (Utils\Utils::matchStatusCodes($statusCode, ['200'])) { if (Utils\Utils::matchContentType($contentType, 'application/json')) { $httpResponse = $this->sdkConfiguration->hooks->afterSuccess(new Hooks\AfterSuccessContext($hookContext), $httpResponse); From 90114df326760b953797e5b0d23c5223538bb7f5 Mon Sep 17 00:00:00 2001 From: "speakeasy-github[bot]" <128539517+speakeasy-github[bot]@users.noreply.github.com> Date: Wed, 22 Jul 2026 00:36:17 +0000 Subject: [PATCH 2/2] empty commit to trigger [run-tests] workflow