Skip to content
CLIProductWhat you sellOffer

Offer commands: accept, grant, publish, subscribe

The Offer Verbs accept, grant, publish, subscribe as CLI commands, with inputs, result, refusals and an example.

Reference for Offer, one group of Offer commands.

Offer.accept

Accept records that a party takes an Offer, which makes that party a Customer of the Startup. Verb page.

Text
npx startup-builder do Offer.accept --json '<input>' [--try | --send | --do]

Emits Offer.accepted.

Inputs

InputTypeRequiredDescription
offerOfferrequiredThe Offer to accept.
partystringrequiredThe person or organization accepting.

Returns

OutputTypeRequiredDescription
customerCustomerrequiredThe Customer the party is or becomes.
offerOfferrequiredThe Offer accepted.

Refuses when

CheckErrorFixThen call
The operation is part of an Offer the caller has not accepted or paid for.payment-requiredAccept the Offer named in the response, then retry the call.None.
The key is valid, but its scopes do not allow this operation.forbiddenUse a key whose scopes cover the operation, or ask an owner of the namespace to grant them.None.
The record is not in a state that allows this Verb, so the call is refused.refusedRead the record, run the Verb that moves it to an allowed state, then retry.None.

Example

Terminal
npx startup-builder do Offer.accept --json '{"offer":"offer_2hzYe1ERo0","party":"Pinecrest Homes"}'

Offer.grant

Grant adds an Entitlement to an Offer: a Verb its Customers may call, optionally bounded by a Limit. Verb page.

Text
npx startup-builder do Offer.grant --json '<input>' [--try | --send | --do]

Emits Offer.granted.

Inputs

InputTypeRequiredDescription
offerOfferrequiredThe Offer that grants it.
verbVerbrequiredThe Verb its Customers may call, as Noun.verb.
limitLimitThe Limit that bounds it. Unset: a feature, called as often as the Customer likes.

Returns

OutputTypeRequiredDescription
entitlementEntitlementrequiredThe new Entitlement, granted by the Offer.
offerOfferrequiredThe Offer, with the Entitlement added.

Refuses when

CheckErrorFixThen call
The key is valid, but its scopes do not allow this operation.forbiddenUse a key whose scopes cover the operation, or ask an owner of the namespace to grant them.None.

Example

Terminal
npx startup-builder do Offer.grant --json '{"offer":"offer_2hzYe1ERo0","verb":"verb_hlkWBvrAyZ"}'

Offer.publish

Publish makes an Offer available for parties to accept. Verb page.

Text
npx startup-builder do Offer.publish --json '<input>' [--try | --send | --do]

Emits Offer.published.

Inputs

InputTypeRequiredDescription
offerOfferrequiredThe Offer to publish.

Returns

OutputTypeRequiredDescription
offerOfferrequiredThe Offer, now open to accept.

Refuses when

CheckErrorFixThen call
A Service Offer promises a remedy or a pricing basis that its Service’s checks cannot back.contract-unsupportedAdd a stronger check to the Service’s steps, or offer a cheaper remedy or basis, then publish again.None.
The key is valid, but its scopes do not allow this operation.forbiddenUse a key whose scopes cover the operation, or ask an owner of the namespace to grant them.None.
The record is not in a state that allows this Verb, so the call is refused.refusedRead the record, run the Verb that moves it to an allowed state, then retry.None.
The median Customer’s Cost leaves less than the Startup’s target margin at this Price.below-contribution-floorRaise the Price to the floor the error names, or grant fewer Entitlements.Offer.update

Example

Terminal
npx startup-builder do Offer.publish --json '{"offer":"offer_2hzYe1ERo0"}'

Offer.subscribe

Subscribe accepts a recurring Offer as a Subscription that renews each period until it ends. Verb page.

Text
npx startup-builder do Offer.subscribe --json '<input>' [--try | --send | --do]

Emits Offer.subscribed.

Inputs

InputTypeRequiredDescription
offerOfferrequiredThe recurring Offer.
quantityintegerSeats or units. Defaults to 1.
promotionCodestringA promotion code the buyer typed; applies its Coupon for the Coupon’s duration.

Returns

OutputTypeRequiredDescription
subscriptionSubscriptionrequiredThe new Subscription.
offerOfferrequiredThe Offer subscribed to.

Refuses when

CheckErrorFixThen call
The input does not match the schema of the operation.invalid-inputRead the schema of the operation, then send every required field with the right type.None.
The operation is part of an Offer the caller has not accepted or paid for.payment-requiredAccept the Offer named in the response, then retry the call.Offer.accept
The key is valid, but its scopes do not allow this operation.forbiddenUse a key whose scopes cover the operation, or ask an owner of the namespace to grant them.None.
The record is not in a state that allows this Verb, so the call is refused.refusedRead the record, run the Verb that moves it to an allowed state, then retry.None.

Example

Terminal
npx startup-builder do Offer.subscribe --json '{"offer":"offer_2hzYe1ERo0"}'