Skip to content

Latest commit

 

History

History
312 lines (234 loc) · 30.7 KB

api.md

File metadata and controls

312 lines (234 loc) · 30.7 KB

Meteroid API

Every operation of the API, as a method of a Meteroid client (client below), by resource. Optional parameters ([...]) go in an immutable options object an overload leaves out, and each method has overloads taking a last RequestOptions for the headers, timeout, retries or idempotency key of that call. client.async() has the same methods returning CompletableFutures, and client.withRawResponse() returning ApiResponses. Models are in com.meteroid.models.

A paginated list returns a page: the getters of its response body (page.data()), its items (page.items()), hasNextPage() and nextPage(). Iterating it, or its stream(), yields every item from that page on, and pages() every page, fetching the next ones on demand. body() is the response body as received. The async client's pages have nextPage(), forEach(...), forEachPage(...) and toList(), returning CompletableFutures.

Add ons · Add ons entitlements · Batch jobs · Checkout sessions · Connect · Coupons · Credit notes · Custom properties · Customers · Entitlements · Events · Features · Invoices · Metrics · Oauth · Oauth apps · Plans · Plans versions · Product families · Products · Products entitlements · Subscriptions · Usage · Webhook endpoints · Webhook endpoints endpoints

Add ons

client.addOns()

Method Request Returns
AddOnsListPage client.addOns().list([AddOnsListOptions options]) GET /api/v1/addons page of AddOn, with the properties of AddOnListResponse
AddOn client.addOns().create(CreateAddOnRequest createAddOnRequest) POST /api/v1/addons AddOn
AddOn client.addOns().retrieve(String addonId) GET /api/v1/addons/{addon_id} AddOn
AddOn client.addOns().update(String addonId, UpdateAddOnRequest updateAddOnRequest) PATCH /api/v1/addons/{addon_id} AddOn
void client.addOns().archive(String addonId) POST /api/v1/addons/{addon_id}/archive nothing
void client.addOns().unarchive(String addonId) POST /api/v1/addons/{addon_id}/unarchive nothing

Add ons entitlements

client.addOns().entitlements()

Method Request Returns
ResolvedEntitlementListResponse client.addOns().entitlements().list(String addonId) GET /api/v1/addons/{addon_id}/entitlements ResolvedEntitlementListResponse
EntitlementListResponse client.addOns().entitlements().create(String addonId, CreateEntitlementsRequest createEntitlementsRequest) POST /api/v1/addons/{addon_id}/entitlements EntitlementListResponse

Batch jobs

client.batchJobs()

Method Request Returns
BatchJobsListPage client.batchJobs().list([BatchJobsListOptions options]) GET /api/v1/batch-jobs page of BatchJobResponse, with the properties of BatchJobListResponse
BatchJobDetailResponse client.batchJobs().retrieve(String batchJobId) GET /api/v1/batch-jobs/{batch_job_id} BatchJobDetailResponse
BatchJobsListFailuresPage client.batchJobs().listFailures(String batchJobId, [BatchJobsListFailuresOptions options]) GET /api/v1/batch-jobs/{batch_job_id}/failures page of BatchJobItemFailureResponse, with the properties of BatchJobFailuresResponse

Checkout sessions

client.checkoutSessions()

Method Request Returns
ListCheckoutSessionsResponse client.checkoutSessions().list([CheckoutSessionsListOptions options]) GET /api/v1/checkout-sessions ListCheckoutSessionsResponse
CreateCheckoutSessionResponse client.checkoutSessions().create(CreateCheckoutSessionRequest createCheckoutSessionRequest) POST /api/v1/checkout-sessions CreateCheckoutSessionResponse
GetCheckoutSessionResponse client.checkoutSessions().retrieve(String id) GET /api/v1/checkout-sessions/{id} GetCheckoutSessionResponse
CancelCheckoutSessionResponse client.checkoutSessions().cancel(String id) POST /api/v1/checkout-sessions/{id}/cancel CancelCheckoutSessionResponse

Connect

client.connect()

Method Request Returns
ConnectedAccountsResponse client.connect().listConnectedAccounts() GET /api/v1/connected-accounts ConnectedAccountsResponse
ConnectedAccount client.connect().createConnectedAccount(CreateConnectedAccountRequest createConnectedAccountRequest) POST /api/v1/connected-accounts ConnectedAccount
ConnectedAccount client.connect().retrieveConnectedAccount(String id) GET /api/v1/connected-accounts/{id} ConnectedAccount
void client.connect().disconnectAccount(String id) DELETE /api/v1/connected-accounts/{id} nothing
OnboardingLinkResponse client.connect().createOnboardingLink(String id, CreateOnboardingLinkRequest createOnboardingLinkRequest) POST /api/v1/connected-accounts/{id}/onboarding OnboardingLinkResponse

Coupons

client.coupons()

Method Request Returns
CouponsListPage client.coupons().list([CouponsListOptions options]) GET /api/v1/coupons page of Coupon, with the properties of CouponListResponse
Coupon client.coupons().create(CreateCouponRequest createCouponRequest) POST /api/v1/coupons Coupon
Coupon client.coupons().retrieve(String couponId) GET /api/v1/coupons/{coupon_id} Coupon
Coupon client.coupons().update(String couponId, UpdateCouponRequest updateCouponRequest) PATCH /api/v1/coupons/{coupon_id} Coupon
void client.coupons().archive(String couponId) POST /api/v1/coupons/{coupon_id}/archive nothing
void client.coupons().disable(String couponId) POST /api/v1/coupons/{coupon_id}/disable nothing
void client.coupons().enable(String couponId) POST /api/v1/coupons/{coupon_id}/enable nothing
void client.coupons().unarchive(String couponId) POST /api/v1/coupons/{coupon_id}/unarchive nothing

Credit notes

client.creditNotes()

Method Request Returns
CreditNotesListPage client.creditNotes().list([CreditNotesListOptions options]) GET /api/v1/credit-notes page of CreditNote, with the properties of CreditNoteListResponse
CreditNote client.creditNotes().retrieve(String creditNoteId) GET /api/v1/credit-notes/{credit_note_id} CreditNote
CreditNote client.creditNotes().updateCustomProperties(String creditNoteId, CreditNoteCustomPropertiesRequest creditNoteCustomPropertiesRequest) PATCH /api/v1/credit-notes/{credit_note_id}/custom-properties CreditNote
byte[] client.creditNotes().download(String creditNoteId) GET /api/v1/credit-notes/{credit_note_id}/download bytes
byte[] client.creditNotes().downloadXml(String creditNoteId) GET /api/v1/credit-notes/{credit_note_id}/xml bytes

Custom properties

client.customProperties()

Method Request Returns
CustomPropertiesListCustomPropertyDefinitionsPage client.customProperties().listCustomPropertyDefinitions([CustomPropertiesListCustomPropertyDefinitionsOptions options]) GET /api/v1/custom-property-definitions page of CustomPropertyDefinition, with the properties of CustomPropertyDefinitionListResponse
CustomPropertyDefinition client.customProperties().createCustomPropertyDefinition(CustomPropertyDefinitionCreateRequest customPropertyDefinitionCreateRequest) POST /api/v1/custom-property-definitions CustomPropertyDefinition
CustomPropertyDefinition client.customProperties().retrieveCustomPropertyDefinition(String id) GET /api/v1/custom-property-definitions/{id} CustomPropertyDefinition
CustomPropertyDefinition client.customProperties().updateCustomPropertyDefinition(String id, CustomPropertyDefinitionUpdateRequest customPropertyDefinitionUpdateRequest) PUT /api/v1/custom-property-definitions/{id} CustomPropertyDefinition
CustomPropertyDefinition client.customProperties().archiveDefinition(String id) DELETE /api/v1/custom-property-definitions/{id} CustomPropertyDefinition

Customers

client.customers()

Method Request Returns
CustomersListPage client.customers().list([CustomersListOptions options]) GET /api/v1/customers page of Customer, with the properties of CustomerListResponse
Customer client.customers().create(CustomerCreateRequest customerCreateRequest) POST /api/v1/customers Customer
Customer client.customers().retrieve(String idOrAlias) GET /api/v1/customers/{id_or_alias} Customer
Customer client.customers().replace(String idOrAlias, CustomerUpdateRequest customerUpdateRequest) PUT /api/v1/customers/{id_or_alias} Customer
void client.customers().archive(String idOrAlias) DELETE /api/v1/customers/{id_or_alias} nothing
Customer client.customers().update(String idOrAlias, CustomerPatchRequest customerPatchRequest) PATCH /api/v1/customers/{id_or_alias} Customer
EffectiveEntitlementListResponse client.customers().listEntitlements(String idOrAlias) GET /api/v1/customers/{id_or_alias}/entitlements EffectiveEntitlementListResponse
CustomerPortalTokenResponse client.customers().createPortalToken(String idOrAlias, CustomerPortalTokenRequest customerPortalTokenRequest) POST /api/v1/customers/{id_or_alias}/portal-token CustomerPortalTokenResponse
void client.customers().unarchive(String idOrAlias) POST /api/v1/customers/{id_or_alias}/unarchive nothing

Entitlements

client.entitlements()

Method Request Returns
Entitlement client.entitlements().retrieve(String entitlementId) GET /api/v1/entitlements/{entitlement_id} Entitlement
void client.entitlements().delete(String entitlementId) DELETE /api/v1/entitlements/{entitlement_id} nothing
Entitlement client.entitlements().update(String entitlementId, UpdateEntitlementRequest updateEntitlementRequest) PATCH /api/v1/entitlements/{entitlement_id} Entitlement

Events

client.events()

Method Request Returns
IngestEventsResponse client.events().ingest(IngestEventsRequest ingestEventsRequest) POST /api/v1/events/ingest IngestEventsResponse

Features

client.features()

Method Request Returns
FeaturesListPage client.features().list([FeaturesListOptions options]) GET /api/v1/features page of Feature, with the properties of FeatureListResponse
Feature client.features().create(CreateFeatureRequest createFeatureRequest) POST /api/v1/features Feature
Feature client.features().retrieve(String idOrCode) GET /api/v1/features/{id_or_code} Feature
Feature client.features().update(String idOrCode, UpdateFeatureRequest updateFeatureRequest) PATCH /api/v1/features/{id_or_code} Feature
void client.features().archive(String idOrCode) POST /api/v1/features/{id_or_code}/archive nothing
void client.features().unarchive(String idOrCode) POST /api/v1/features/{id_or_code}/unarchive nothing

Invoices

client.invoices()

Method Request Returns
InvoicesListPage client.invoices().list([InvoicesListOptions options]) GET /api/v1/invoices page of Invoice, with the properties of InvoiceListResponse
Invoice client.invoices().retrieve(String invoiceId) GET /api/v1/invoices/{invoice_id} Invoice
Invoice client.invoices().updateCustomProperties(String invoiceId, InvoiceCustomPropertiesRequest invoiceCustomPropertiesRequest) PATCH /api/v1/invoices/{invoice_id}/custom-properties Invoice
byte[] client.invoices().download(String invoiceId) GET /api/v1/invoices/{invoice_id}/download bytes
Invoice client.invoices().refresh(String invoiceId) POST /api/v1/invoices/{invoice_id}/refresh Invoice
byte[] client.invoices().downloadXml(String invoiceId) GET /api/v1/invoices/{invoice_id}/xml bytes

Metrics

client.metrics()

Method Request Returns
MetricsListPage client.metrics().list([MetricsListOptions options]) GET /api/v1/metrics page of MetricSummary, with the properties of MetricListResponse
Metric client.metrics().create(CreateMetricRequest createMetricRequest) POST /api/v1/metrics Metric
Metric client.metrics().retrieve(String metricId) GET /api/v1/metrics/{metric_id} Metric
Metric client.metrics().update(String metricId, UpdateMetricRequest updateMetricRequest) PATCH /api/v1/metrics/{metric_id} Metric
void client.metrics().archive(String metricId) POST /api/v1/metrics/{metric_id}/archive nothing
void client.metrics().unarchive(String metricId) POST /api/v1/metrics/{metric_id}/unarchive nothing

Oauth

client.oauth()

Method Request Returns
TokenIntrospectionResponse client.oauth().introspect(IntrospectionRequest introspectionRequest) POST /api/v1/oauth/introspect TokenIntrospectionResponse
void client.oauth().revoke(RevocationRequest revocationRequest) POST /api/v1/oauth/revoke nothing
TokenResponse client.oauth().token(TokenRequest tokenRequest) POST /api/v1/oauth/token TokenResponse

Oauth apps

client.oauthApps()

Method Request Returns
OAuthAppsResponse client.oauthApps().list() GET /api/v1/oauth-apps OAuthAppsResponse
OAuthAppWithSecret client.oauthApps().create(CreateOAuthAppRequest createOAuthAppRequest) POST /api/v1/oauth-apps OAuthAppWithSecret
OAuthApp client.oauthApps().retrieve(String id) GET /api/v1/oauth-apps/{id} OAuthApp
void client.oauthApps().delete(String id) DELETE /api/v1/oauth-apps/{id} nothing
RotatedSecret client.oauthApps().rotate(String id) POST /api/v1/oauth-apps/{id}/rotate RotatedSecret

Plans

client.plans()

Method Request Returns
ResolvedEntitlementListResponse client.plans().listPlanVersionEntitlements(String planVersionId) GET /api/v1/plan-versions/{plan_version_id}/entitlements ResolvedEntitlementListResponse
EntitlementListResponse client.plans().createPlanVersionEntitlement(String planVersionId, CreateEntitlementsRequest createEntitlementsRequest) POST /api/v1/plan-versions/{plan_version_id}/entitlements EntitlementListResponse
PlansListPage client.plans().list([PlansListOptions options]) GET /api/v1/plans page of Plan, with the properties of PlanListResponse
Plan client.plans().create(CreatePlanRequest createPlanRequest) POST /api/v1/plans Plan
Plan client.plans().retrieve(String planId, [PlansRetrieveOptions options]) GET /api/v1/plans/{plan_id} Plan
Plan client.plans().replace(String planId, ReplacePlanRequest replacePlanRequest) PUT /api/v1/plans/{plan_id} Plan
Plan client.plans().update(String planId, PatchPlanRequest patchPlanRequest) PATCH /api/v1/plans/{plan_id} Plan
void client.plans().archive(String planId) POST /api/v1/plans/{plan_id}/archive nothing
Plan client.plans().publish(String planId) POST /api/v1/plans/{plan_id}/publish Plan
void client.plans().unarchive(String planId) POST /api/v1/plans/{plan_id}/unarchive nothing

Plans versions

client.plans().versions()

Method Request Returns
MinimumCommitment client.plans().versions().updateMinimum(String planVersionId, MinimumCommitment minimumCommitment) PUT /api/v1/plans/versions/{plan_version_id}/minimum MinimumCommitment
void client.plans().versions().deleteMinimum(String planVersionId) DELETE /api/v1/plans/versions/{plan_version_id}/minimum nothing
PlansVersionsListPage client.plans().versions().list(String planId, [PlansVersionsListOptions options]) GET /api/v1/plans/{plan_id}/versions page of PlanVersionSummary, with the properties of PlanVersionListResponse

Product families

client.productFamilies()

Method Request Returns
ProductFamiliesListPage client.productFamilies().list([ProductFamiliesListOptions options]) GET /api/v1/product_families page of ProductFamily, with the properties of ProductFamilyListResponse
ProductFamily client.productFamilies().create(ProductFamilyCreateRequest productFamilyCreateRequest) POST /api/v1/product_families ProductFamily
ProductFamily client.productFamilies().retrieve(String idOrAlias) GET /api/v1/product_families/{id_or_alias} ProductFamily

Products

client.products()

Method Request Returns
ProductsListPage client.products().list([ProductsListOptions options]) GET /api/v1/products page of Product, with the properties of ProductListResponse
Product client.products().create(CreateProductRequest createProductRequest) POST /api/v1/products Product
Product client.products().retrieve(String productId) GET /api/v1/products/{product_id} Product
Product client.products().update(String productId, UpdateProductRequest updateProductRequest) PATCH /api/v1/products/{product_id} Product
void client.products().archive(String productId) POST /api/v1/products/{product_id}/archive nothing
void client.products().unarchive(String productId) POST /api/v1/products/{product_id}/unarchive nothing

Products entitlements

client.products().entitlements()

Method Request Returns
ResolvedEntitlementListResponse client.products().entitlements().list(String productId) GET /api/v1/products/{product_id}/entitlements ResolvedEntitlementListResponse
EntitlementListResponse client.products().entitlements().create(String productId, CreateEntitlementsRequest createEntitlementsRequest) POST /api/v1/products/{product_id}/entitlements EntitlementListResponse

Subscriptions

client.subscriptions()

Method Request Returns
SubscriptionsListPage client.subscriptions().list([SubscriptionsListOptions options]) GET /api/v1/subscriptions page of Subscription, with the properties of SubscriptionListResponse
SubscriptionDetails client.subscriptions().create(SubscriptionCreateRequest subscriptionCreateRequest) POST /api/v1/subscriptions SubscriptionDetails
SubscriptionDetails client.subscriptions().retrieve(String subscriptionId) GET /api/v1/subscriptions/{subscription_id} SubscriptionDetails
SubscriptionUpdateResponse client.subscriptions().update(String subscriptionId, SubscriptionUpdateRequest subscriptionUpdateRequest) PATCH /api/v1/subscriptions/{subscription_id} SubscriptionUpdateResponse
CancelSubscriptionResponse client.subscriptions().cancel(String subscriptionId, CancelSubscriptionRequest cancelSubscriptionRequest) POST /api/v1/subscriptions/{subscription_id}/cancel CancelSubscriptionResponse
EffectiveEntitlementListResponse client.subscriptions().listEntitlements(String subscriptionId) GET /api/v1/subscriptions/{subscription_id}/entitlements EffectiveEntitlementListResponse
Subscription client.subscriptions().retrieveSummary(String subscriptionId) GET /api/v1/subscriptions/{subscription_id}/summary Subscription

Usage

client.usage()

Method Request Returns
UsageResponse client.usage().retrieveCustomer(String customerId, LocalDate startDate, LocalDate endDate, [UsageRetrieveCustomerOptions options]) GET /api/v1/usage/customer/{customer_id} UsageResponse
UsageResponse client.usage().retrieveSubscription(String subscriptionId, [UsageRetrieveSubscriptionOptions options]) GET /api/v1/usage/subscription/{subscription_id} UsageResponse
UsageResponse client.usage().retrieveSummary(LocalDate startDate, LocalDate endDate, [UsageRetrieveSummaryOptions options]) GET /api/v1/usage/summary UsageResponse

Webhook endpoints

client.webhookEndpoints()

Method Request Returns
WebhookDelivery client.webhookEndpoints().resendWebhookDelivery(String deliveryId) POST /api/v1/webhooks/deliveries/{delivery_id}/resend WebhookDelivery

Webhook endpoints endpoints

client.webhookEndpoints().endpoints()

Method Request Returns
WebhookEndpointListResponse client.webhookEndpoints().endpoints().list() GET /api/v1/webhooks/endpoints WebhookEndpointListResponse
CreatedWebhookEndpoint client.webhookEndpoints().endpoints().create(CreateWebhookEndpointRequest createWebhookEndpointRequest) POST /api/v1/webhooks/endpoints CreatedWebhookEndpoint
WebhookEndpoint client.webhookEndpoints().endpoints().retrieve(String endpointId) GET /api/v1/webhooks/endpoints/{endpoint_id} WebhookEndpoint
void client.webhookEndpoints().endpoints().delete(String endpointId) DELETE /api/v1/webhooks/endpoints/{endpoint_id} nothing
WebhookEndpoint client.webhookEndpoints().endpoints().update(String endpointId, UpdateWebhookEndpointRequest updateWebhookEndpointRequest) PATCH /api/v1/webhooks/endpoints/{endpoint_id} WebhookEndpoint
WebhookEndpointsEndpointsListDeliveriesPage client.webhookEndpoints().endpoints().listDeliveries(String endpointId, [WebhookEndpointsEndpointsListDeliveriesOptions options]) GET /api/v1/webhooks/endpoints/{endpoint_id}/deliveries page of WebhookDelivery, with the properties of WebhookDeliveryListResponse
WebhookEndpointSecret client.webhookEndpoints().endpoints().rotateSecret(String endpointId) POST /api/v1/webhooks/endpoints/{endpoint_id}/rotate-secret WebhookEndpointSecret
WebhookEndpointSecret client.webhookEndpoints().endpoints().retrieveSecret(String endpointId) GET /api/v1/webhooks/endpoints/{endpoint_id}/secret WebhookEndpointSecret