PATCH
/
v1
/
customer-portal
/
subscriptions
/
{id}
package main

import(
	"context"
	"os"
	polargo "github.com/polarsource/polar-go"
	"github.com/polarsource/polar-go/models/components"
	"log"
)

func main() {
    ctx := context.Background()
    
    s := polargo.New(
        polargo.WithSecurity(os.Getenv("POLAR_ACCESS_TOKEN")),
    )

    res, err := s.CustomerPortal.Subscriptions.Update(ctx, "<value>", components.CreateCustomerSubscriptionUpdateCustomerSubscriptionCancel(
        components.CustomerSubscriptionCancel{},
    ))
    if err != nil {
        log.Fatal(err)
    }
    if res.CustomerSubscription != nil {
        // handle response
    }
}
{
  "created_at": "2023-11-07T05:31:56Z",
  "modified_at": "2023-11-07T05:31:56Z",
  "id": "<string>",
  "amount": 123,
  "currency": "<string>",
  "recurring_interval": "month",
  "status": "incomplete",
  "current_period_start": "2023-11-07T05:31:56Z",
  "current_period_end": "2023-11-07T05:31:56Z",
  "cancel_at_period_end": true,
  "canceled_at": "2023-11-07T05:31:56Z",
  "started_at": "2023-11-07T05:31:56Z",
  "ends_at": "2023-11-07T05:31:56Z",
  "ended_at": "2023-11-07T05:31:56Z",
  "customer_id": "<string>",
  "product_id": "<string>",
  "price_id": "<string>",
  "discount_id": "<string>",
  "checkout_id": "<string>",
  "customer_cancellation_reason": "customer_service",
  "customer_cancellation_comment": "<string>",
  "user_id": "<string>",
  "product": {
    "created_at": "2023-11-07T05:31:56Z",
    "modified_at": "2023-11-07T05:31:56Z",
    "id": "<string>",
    "name": "<string>",
    "description": "<string>",
    "recurring_interval": "month",
    "is_recurring": true,
    "is_archived": true,
    "organization_id": "<string>",
    "prices": [
      {
        "created_at": "2023-11-07T05:31:56Z",
        "modified_at": "2023-11-07T05:31:56Z",
        "id": "<string>",
        "amount_type": "<string>",
        "is_archived": true,
        "product_id": "<string>",
        "type": "<string>",
        "recurring_interval": "month",
        "price_currency": "<string>",
        "price_amount": 123,
        "legacy": true
      }
    ],
    "benefits": [
      {
        "created_at": "2023-11-07T05:31:56Z",
        "modified_at": "2023-11-07T05:31:56Z",
        "id": "<string>",
        "type": "custom",
        "description": "<string>",
        "selectable": true,
        "deletable": true,
        "organization_id": "<string>"
      }
    ],
    "medias": [
      {
        "id": "<string>",
        "organization_id": "<string>",
        "name": "<string>",
        "path": "<string>",
        "mime_type": "<string>",
        "size": 123,
        "storage_version": "<string>",
        "checksum_etag": "<string>",
        "checksum_sha256_base64": "<string>",
        "checksum_sha256_hex": "<string>",
        "last_modified_at": "2023-11-07T05:31:56Z",
        "version": "<string>",
        "service": "<string>",
        "is_uploaded": true,
        "created_at": "2023-11-07T05:31:56Z",
        "size_readable": "<string>",
        "public_url": "<string>"
      }
    ],
    "organization": {
      "created_at": "2023-11-07T05:31:56Z",
      "modified_at": "2023-11-07T05:31:56Z",
      "id": "<string>",
      "name": "<string>",
      "slug": "<string>",
      "avatar_url": "<string>",
      "bio": "<string>",
      "company": "<string>",
      "blog": "<string>",
      "location": "<string>",
      "email": "<string>",
      "twitter_username": "<string>",
      "pledge_minimum_amount": 123,
      "pledge_badge_show_amount": true,
      "default_upfront_split_to_contributors": 123,
      "profile_settings": {
        "enabled": true,
        "description": "<string>",
        "featured_projects": [
          "<string>"
        ],
        "featured_organizations": [
          "<string>"
        ],
        "links": [
          "<string>"
        ],
        "subscribe": {
          "promote": true,
          "show_count": true,
          "count_free": true
        },
        "accent_color": "<string>"
      },
      "feature_settings": {
        "issue_funding_enabled": false
      },
      "subscription_settings": {
        "allow_multiple_subscriptions": true,
        "allow_customer_updates": true,
        "proration_behavior": "invoice"
      }
    }
  },
  "price": {
    "created_at": "2023-11-07T05:31:56Z",
    "modified_at": "2023-11-07T05:31:56Z",
    "id": "<string>",
    "amount_type": "<string>",
    "is_archived": true,
    "product_id": "<string>",
    "type": "<string>",
    "recurring_interval": "month",
    "price_currency": "<string>",
    "price_amount": 123,
    "legacy": true
  }
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

id
string
required

The subscription ID.

Body

application/json
product_id
string
required

Update subscription to another product.

Response

200
application/json
Customer subscription updated.
created_at
string
required

Creation timestamp of the object.

modified_at
string | null
required

Last modification timestamp of the object.

id
string
required

The ID of the object.

amount
integer | null
required
currency
string | null
required
recurring_interval
enum<string>
required
Available options:
month,
year
status
enum<string>
required
Available options:
incomplete,
incomplete_expired,
trialing,
active,
past_due,
canceled,
unpaid
current_period_start
string
required
current_period_end
string | null
required
cancel_at_period_end
boolean
required
canceled_at
string | null
required
started_at
string | null
required
ends_at
string | null
required
ended_at
string | null
required
customer_id
string
required
product_id
string
required
price_id
string
required
discount_id
string | null
required
checkout_id
string | null
required
customer_cancellation_reason
enum<string> | null
required
Available options:
customer_service,
low_quality,
missing_features,
switched_service,
too_complex,
too_expensive,
unused,
other
customer_cancellation_comment
string | null
required
user_id
string
requireddeprecated
product
object
required
price
object
required

A recurring price for a product, i.e. a subscription.

Deprecated: The recurring interval should be set on the product itself.