Skip to content

Acknowledge a billing notice

POST
/orgs/{org}/billing/notices/{id}/ack
curl --request POST \
--url https://api.sloose.com/orgs/org_9f3c/billing/notices/ntc_4d19/ack \
--header 'Authorization: Bearer <token>'

Dismisses a notice for the person asking, so it stops being shown TO THEM — everywhere it is shown: its settings page and the org’s banner (GET …/billing/standing). Dismissing is each person’s own: one administrator’s does not hide a notice from another. The three-day warning of a trial’s end (trial_ending) is quieted for a day and then shown again until the trial ends, and dismissed again for another day; the trial’s end (trial_ended) is not dismissed at all, but said on Plan for as long as it is true. Dismissing does not resolve the underlying problem.

Session only: billing is a person’s to manage, never an org’s API token’s (D5); and a staff member’s view dismisses nothing in the member’s name.

org
required

The org id the session was issued for. A token for one org can never read another.

string
Example
org_9f3c

The org id the session was issued for. A token for one org can never read another.

id
required

The notice id.

string
Example
ntc_4d19

The notice id.

The notice, dismissed for this person: acknowledgedAt is when.

Media typeapplication/json

A notice as it is shown: these fields and no others. What the product keeps to act on a notice is not handed on — a failed payment’s invoice page included, which the org’s standing gives only to a person who may pay it.

object
id
required
string
orgId
required
string
kind
required
string
createdAt
required
string
acknowledgedAt
required

When the person asking dismissed it, or null: dismissing is each person’s own (#729).

string | null
resolvedAt
required
string | null
page
required

The settings page the notice is shown on, which is the page its email names (Plan, or Usage & credits).

string
Allowed values: plan usage
dismissible
required

Whether a person may dismiss it. The trial’s end is not dismissed but said on Plan for as long as it is true.

boolean
Example
{
"page": "plan"
}

No bearer, or one that is expired, revoked or no longer resolves to a member.

Media typeapplication/json

The error envelope every non-2xx answer uses.

object
error
required

Human-readable explanation.

string
code

Machine-readable reason. Absent on a few legacy 400s.

string
key
additional properties
Examplegenerated
{
"error": "example",
"code": "example"
}

The bearer’s role is too low, it was issued for a different org, it is an API token (SESSION_REQUIRED), or it is a staff member’s view (STAFF_VIEW), which keeps nothing in the member’s name.

Media typeapplication/json

The error envelope every non-2xx answer uses.

object
error
required

Human-readable explanation.

string
code

Machine-readable reason. Absent on a few legacy 400s.

string
key
additional properties
Examplegenerated
{
"error": "example",
"code": "example"
}

No such notice on this org.

Media typeapplication/json
object
error
required
string
key
additional properties
Examplegenerated
{
"error": "example"
}

A notice nobody dismisses (NOT_DISMISSIBLE): the trial’s end, which Plan says for as long as it is true.

Media typeapplication/json

The error envelope every non-2xx answer uses.

object
error
required

Human-readable explanation.

string
code

Machine-readable reason. Absent on a few legacy 400s.

string
key
additional properties
Examplegenerated
{
"error": "example",
"code": "example"
}

Report a problem with this page