Skip to content

`POST /v1/orgs/{org}/billing/portal` (DAWG-144, DAWG-145).

POST
/v1/orgs/{org}/billing/portal
curl --request POST \
--url https://api.updawg.net/v1/orgs/example/billing/portal

Stripe’s customer portal, configured for Updawg: invoices to download, the card to change, and cancelling, which takes effect at the end of the period. Changing plan is not offered there; the plans share one meter.

org
required
string

Organization slug.

Where to send the person.

Media typeapplication/json
object
url
required

Stripe Checkout. Send the person here; they come back to the portal’s billing page either way.

string
Examplegenerated
{
"url": "example"
}

No session.

Media typeapplication/json
object
detail
string | null
status
required
integer format: int32
title
required
string
type
required
string
Examplegenerated
{
"detail": "example",
"status": 1,
"title": "example",
"type": "example"
}

Only an owner, in person, manages billing.

Media typeapplication/json
object
detail
string | null
status
required
integer format: int32
title
required
string
type
required
string
Examplegenerated
{
"detail": "example",
"status": 1,
"title": "example",
"type": "example"
}

No such organization, or not yours.

Media typeapplication/json
object
detail
string | null
status
required
integer format: int32
title
required
string
type
required
string
Examplegenerated
{
"detail": "example",
"status": 1,
"title": "example",
"type": "example"
}

This organization has never been a Stripe customer (no-customer).

Media typeapplication/json
object
detail
string | null
status
required
integer format: int32
title
required
string
type
required
string
Examplegenerated
{
"detail": "example",
"status": 1,
"title": "example",
"type": "example"
}

Over the organization’s request limit. Retry-After says when to try again; RateLimit-Limit is the burst.

Media typeapplication/json
object
detail
string | null
status
required
integer format: int32
title
required
string
type
required
string
Examplegenerated
{
"detail": "example",
"status": 1,
"title": "example",
"type": "example"
}

This deployment takes no payments (billing-unavailable).

Media typeapplication/json
object
detail
string | null
status
required
integer format: int32
title
required
string
type
required
string
Examplegenerated
{
"detail": "example",
"status": 1,
"title": "example",
"type": "example"
}