Choose the plan for your free trial
AI agents: read /llms.txt; add .md to any page URL. This page as Markdown: /reference/yoprint-subscription/v1-setting-subscription-plan-select-trial.md. Index of every page and the rules for every call: /llms.txt. Guides and concepts in one file: /llms-full.txt. OpenAPI: /openapi.json.
POST/
Sets which plan's features the team gets during its free trial. Send a trial_plan_id from the plan list. It charges nothing.
It works only while the team can still trial: its trial hasn't ended and it has no subscription. Returns your company details.
Side effects
- Changes which features the team has during the trial.
Path parameters
Your team slug, shown as Team ID next to your API key in Profile.
- Example
your-team
- Example
Request body
application/json, required.
A
trial_plan_idfrom the plan list.- At most 191 characters
Response
200Successful response.
Child fields (25)
The host your customer portal is served on, or null.
The payment gateways your customers can pay through, with only their public identifiers (for example a Stripe publishable key). Empty when the plan has no payment integration.
The team's YoPrint plan.
Child fields (4)
Whether the plan is active now.
With a subscription:
name,status,activeandneed_to_select_plan. On a trial or free plan:id,name,archive,need_to_select_plan, and on a trialexpire_atandstatus(activeorexpired).What the plan allows: features, limits and integrations, keyed by name.
paidwith a subscription; otherwisetrialorfree.- One of:
"paid","trial","free"
- One of:
The
{team_slug}in every path.channel_idintegerThe team's number, used by YoPrint's live-update channel.
customer_portal_bgstring | nullThe customer portal background image, or null.
dimensionstring | nullLength unit:
m,cm,mmorin.emailstring | nullfavicon_urlstring | nullThe customer portal favicon (the icon in the browser tab), or null when none is uploaded.
ga_idstringAn analytics id:
YxPxand the team's number (channel_id).logo_urlstring | nullonboard_statusstring | nullphonestring | nullphone_countrystring | nullplan_regionstring | nullprintavo_importer_availablebooleanprintavo_importer_enabledbooleanseededbooleantax_numberstring | nulltrial_expires_atstring (date-time)websitestring | nullweightstring | nullWeight unit:
kg,g,lbsoroz.
Errors
401The API key is missing or wrong (
unauthenticated).403You are not allowed to do this.
api_access_not_in_plan: your team's plan doesn't include API access (Pro and above, with an active subscription or trial), so every request answers this until the team upgrades. When your role lacks the permission the operation needs, the body is only{"message": "Insufficient Permission"}. Other refusals use the error envelope, withunauthorizedoruser_is_not_authorized.- When
- You are not the owner and your role lacks Manage Billing. The body is
{"message": "Insufficient Permission"}, without the error envelope. - Fix
- Use the owner's key, or that of a member with Manage Billing.
404Not found.
page_not_found: the team slug is unknown, you are not a member of the team, or an id in the path is not one of this team's.code: null, with a message that starts "No query results for": there is no record with that id.422The request was refused and changed nothing.
validation_failedlists what to fix inerror.fields; other codes name a business rule, explained inerror.message. A few checks answer with only{"message": "..."}. An operation that calls another service (a payment provider, a carrier, an accounting app) can answerconnect_timeout("Please retry again") when that service does not answer in time: the change may or may not have happened there, so read the record back before you retry.- When
- The plan is not a trial plan you can choose, or the team can no longer trial:
error.codeinvalid_plan. A missingplan_idisvalidation_failed. - Fix
- Use a
trial_plan_idfrom the plan list, or subscribe with checkout.
Notes
- Part of your YoPrint subscription: what your shop pays YoPrint, not your customers' payments.
- AI apps (MCP connections) can't call this operation: they get 403
agent_operation_not_available. Use a personal API key.
Related
- GETList YoPrint plans you can choose
/v1/ api/ store/ {team_slug}/ setting/ subscription/ plan
