Create tariff

Itemises what a formation costs before anyone commits to it.

POST /v1/company/tariff

Addresshttps://api.hanzo.ai/v1/company/tariff
MethodPOST
Operationpost_company_tariff
AuthAuthorization: Bearer $HANZO_API_KEY

Itemises what a formation costs before anyone commits to it.

It answers what is due now and what recurs, as separate figures, and marks the state's filing fee as money we collect and remit rather than keep. A caller can therefore show a payer the whole bill — which is the point of quoting at all, and was impossible while the fee was one number in an error string.

A jurisdiction whose filing fee this deployment has not been told REFUSES, naming the setting that fixes it. Quoting our half as though it were the total is the one answer that would be worse than no answer.

Request

4 fields, body application/json (required).

FieldInTypeRequiredDescription
agentOfRecordbodyboolean—AgentOfRecord puts us on file as the entity's agent, yearly.
expeditedEinbodyboolean—ExpeditedEIN prioritises the EIN.
jurisdictionbodystring—Jurisdiction is the state of formation.
structurebodystring—Structure is the entity being formed: c-corp, llc or dao-llc.

Response

StatusBodyMeaning
200company.Tariffok
defaultproblem-detailsrefused

200 body — 15 fields.

FieldInTypeAlwaysDescription
currencybodystring—Currency is the ISO code every amount on this quote is denominated in.
dueNowCentsbodyinteger (int64)—DueNowCents is what is charged to begin: every non-recurring line.
jurisdictionbodystring—Jurisdiction is the state of formation the filing fee belongs to.
linesbodycompany.Charge[]—Lines are the charges, in the order a reader should see them.
lines[].amountCentsbodyinteger (int64)—AmountCents is what this line costs.
lines[].asOfbodystring—AsOf is when a pass-through amount was last checked against its source.
lines[].codebodystring—Code names the line so a caller can branch on it without reading prose.
lines[].labelbodystring—Label is what the payer sees on the invoice.
lines[].passThroughbodyboolean—PassThrough marks money we collect and remit rather than keep — the state's fee is not our revenue, and a quote that hides that is a quote that reads as a bigger margin than it is.
lines[].recurringbodystring—Recurring marks a line that repeats.
lines[].sourcebodystring—Source names who publishes this amount, for a line we merely pass through.
lines[].stalebodyboolean—Stale reports that AsOf is older than the review window — the figure may have moved and nobody has looked.
recurringbodystring—Recurring is how often RecurringCents repeats — "yearly" for an agent of record.
recurringCentsbodyinteger (int64)—RecurringCents is what repeats, and Recurring says how often.
structurebodystring—Structure is the entity this prices: c-corp, llc or dao-llc.

Failure carries the platform error shape — see Errors.

Examples

hanzo company tariff
import { Configuration, CompanyApi } from 'hanzoai';

const api = new CompanyApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.postCompanyTariff({ agentOfRecord: false, expeditedEin: false });
from hanzoai.cloud import ApiClient, Configuration
from hanzoai.cloud.api import CompanyApi

client = ApiClient(Configuration(access_token=os.environ["HANZO_API_KEY"]))
result = CompanyApi(client).post_company_tariff(agent_of_record=False, expedited_ein=False)
cfg := hanzoai.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := hanzoai.NewAPIClient(cfg)

resp, _, err := client.CompanyAPI.PostCompanyTariff(context.Background()).Execute()
if err != nil {
	return err
}
use hanzo_client::apis::{configuration::Configuration, company_api};

let mut cfg = Configuration::new();
cfg.bearer_access_token = std::env::var("HANZO_API_KEY").ok();

let result = company_api::post_company_tariff(&cfg, Default::default()).await?;
import ai.hanzo.cloud.ApiClient;
import ai.hanzo.cloud.api.CompanyApi;

ApiClient client = new ApiClient();
client.setBearerToken(System.getenv("HANZO_API_KEY"));

var result = new CompanyApi(client).postCompanyTariff();
curl -X POST https://api.hanzo.ai/v1/company/tariff \
  -H "Authorization: Bearer $HANZO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
       "agentOfRecord": false,
       "expeditedEin": false
     }'

MCP reaches company through the company tool, which names its 22 operations with its own verbs — this one among them, under a name only MCP declares. describe explains any of them:

curl -X POST https://api.hanzo.ai/v1/mcp \
  -H "Content-Type: application/json" \
  -d '{
       "jsonrpc": "2.0",
       "id": 1,
       "method": "tools/call",
       "params": {
         "name": "describe",
         "arguments": {
           "op": "list_companies"
         }
       }
     }'

Company API · All Hanzo APIs · Interactive reference

Was this page useful?