PATCH
/
v1
/
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.Subscriptions.Update(ctx, "<value>", components.CreateSubscriptionUpdateSubscriptionCancel(
        components.SubscriptionCancel{},
    ))
    if err != nil {
        log.Fatal(err)
    }
    if res.Subscription != 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>",
  "metadata": {},
  "custom_field_data": {},
  "customer": {
    "created_at": "2023-11-07T05:31:56Z",
    "modified_at": "2023-11-07T05:31:56Z",
    "id": "<string>",
    "metadata": {},
    "email": "<string>",
    "email_verified": true,
    "name": "<string>",
    "billing_address": {
      "line1": "<string>",
      "line2": "<string>",
      "postal_code": "<string>",
      "city": "<string>",
      "state": "<string>",
      "country": "<string>"
    },
    "tax_id": [
      "<any>"
    ],
    "organization_id": "<string>",
    "avatar_url": "<string>"
  },
  "user_id": "<string>",
  "user": {
    "id": "<string>",
    "email": "<string>",
    "public_name": "<string>",
    "avatar_url": "<string>",
    "github_username": "<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>",
    "metadata": {},
    "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": "<string>",
        "description": "<string>",
        "selectable": true,
        "deletable": true,
        "organization_id": "<string>",
        "properties": {
          "image_height": 400,
          "image_width": 400
        }
      }
    ],
    "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>"
      }
    ],
    "attached_custom_fields": [
      {
        "custom_field_id": "<string>",
        "custom_field": {
          "created_at": "2023-11-07T05:31:56Z",
          "modified_at": "2023-11-07T05:31:56Z",
          "id": "<string>",
          "metadata": {},
          "type": "<string>",
          "slug": "<string>",
          "name": "<string>",
          "organization_id": "<string>",
          "properties": {
            "form_label": "<string>",
            "form_help_text": "<string>",
            "form_placeholder": "<string>",
            "textarea": true,
            "min_length": 1,
            "max_length": 1
          }
        },
        "order": 123,
        "required": true
      }
    ]
  },
  "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
  },
  "discount": {
    "duration": "once",
    "type": "fixed",
    "amount": 123,
    "currency": "<string>",
    "created_at": "2023-11-07T05:31:56Z",
    "modified_at": "2023-11-07T05:31:56Z",
    "id": "<string>",
    "metadata": {},
    "name": "<string>",
    "code": "<string>",
    "starts_at": "2023-11-07T05:31:56Z",
    "ends_at": "2023-11-07T05:31:56Z",
    "max_redemptions": 123,
    "redemptions_count": 123,
    "organization_id": "<string>"
  }
}

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.

proration_behavior
enum<string> | null

Determine how to handle the proration billing. If not provided, will use the default organization setting.

Available options:
invoice,
prorate

Response

200
application/json
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
metadata
object
required
customer
object
required
user_id
string
requireddeprecated
user
object
required
product
object
required

A product.

price
object
required

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

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

discount
object | null
required
custom_field_data
object

Key-value object storing custom field values.