BackofficeApi

<back to all web services

UpdateSubscriptionPlanRequest

Backoffice
Requires Authentication
Required role:Backoffice
The following routes are available for this service:
PUT/subscription/update_plan
Imports System
Imports System.IO
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports BackofficeApi

Namespace Global

    Namespace BackofficeApi

        Public Enum Period
            Monthly
            Yearly
        End Enum

        Public Partial Class PlanDetailsFreeOnClaim
            Public Property Months As Integer
        End Class

        Public Partial Class PlanDetailsFreeUntil
            Public Property StopAt As Date
        End Class

        Public Partial Class PlanDetailsInvoice
            Public Property Period As Period
            Public Property Amount As Double
            Public Property Currency As String
        End Class

        Public Partial Class PlanDetailsMonthlyStripe
            Public Property Amount As Double
            Public Property Currency As String
            Public Property FreeStartUpMonths As Integer?
        End Class

        Public Partial Class SubscriptionPlanDetailsUnion
            Public Property FreeUntil As PlanDetailsFreeUntil
            Public Property Invoice As PlanDetailsInvoice
            Public Property MonthlyStripe As PlanDetailsMonthlyStripe
            Public Property FreeOnClaim As PlanDetailsFreeOnClaim
        End Class
    End Namespace
End Namespace

VB.NET UpdateSubscriptionPlanRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

PUT /subscription/update_plan HTTP/1.1 
Host: backoffice-api.brovs.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	id: 0,
	canBeSelectedByClient: False,
	subscriptionPlanDetails: 
	{
		freeUntil: 
		{
			stopAt: 0001-01-01
		},
		invoice: 
		{
			period: Monthly,
			amount: 0,
			currency: String
		},
		monthlyStripe: 
		{
			amount: 0,
			currency: String,
			freeStartUpMonths: 0
		},
		freeOnClaim: 
		{
			months: 0
		}
	}
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	success: False
}