margot

Move the founder to another Founder tier (gated): an upgrade now, a downgrade at the next renewal.

An upgrade charges the difference for the rest of the period and adds its credits; a downgrade keeps the current period's credits and refunds nothing.

post/margot/actions/change_plan

Request

  • Base URL: https://api.nanocorp.so (the document declares no server; this is the origin it was published from)
  • URL: https://api.nanocorp.so/margot/actions/change_plan
  • Auth: HTTP bearer

Request body

external_idstring nullable

The founder's NanoCorp user id (external_id on the helpdesk contact).

emailstring nullable

The founder's email. Used as a fallback identity and a cross-check.

companystring nullable

Optional company name/handle hint, resolved against the caller's own companies.

limitinteger nullable

Optional row limit for list actions.

requested_by'customer' | 'team' required

'customer': the Customer Agent acting on a founder's ticket. 'team': the Internal Agent acting for a teammate.

ticket_idstring required

The helpdesk ticket id (customer) or the Parahelp task id (team). A repeated call with the same ticket_id returns the first result instead of acting twice.

ticket_urlstring nullable

https link to the ticket or task, for the audit line.

team_memberstring nullable

The teammate's email. Required when requested_by is 'team'.

from_creditsinteger required

The monthly credits of the plan now, copied from account_summary.plan_credits_per_month: the change runs only from that plan, the one the approval showed.

to_creditsinteger required

The monthly credits of the Founder plan to move to: 30, 60, 120, 240, 480, 960, 1200, 1400, 1600, 1800 or 2000.

notestring nullable

Internal note, never shown to the founder. Kept to its first 500 characters.

Response

Successful Response

foundboolean
outcome'done' | 'already_done' | 'pending' | 'refused' required

done: it happened now. already_done: an earlier call of this ticket already did it. pending: the refund went to the bank and its result is unknown, a teammate checks it. refused: nothing happened.

reasonstring nullable

The refusal or pending code. Null when done.

handoffboolean

True: hand the ticket to a human now.

from_creditsinteger nullable

The monthly credits of the plan before the change.

to_creditsinteger nullable

The monthly credits of the new plan.

direction'upgrade' | 'downgrade' nullable

upgrade: the new plan starts today, the difference for the rest of the period is charged now and its extra credits added. downgrade: the new plan starts at the next renewal; the founder keeps the credits of the current period and nothing is refunded.

effective_onstring nullable

YYYY-MM-DD (UTC) the new plan applies: today, or the next renewal.

Changes