# Create upkeep

URL: https://docs.hanzo.ai/docs/openapi/standing/post-standing-upkeep

> Reports what keeping this entity costs every year, itemised.

`POST /v1/standing/upkeep`

> [Standing →](https://docs.hanzo.ai/docs/openapi/standing) · [All API references →](https://docs.hanzo.ai/docs/openapi) · [Get started →](https://docs.hanzo.ai/docs/guides)

|               |                                           |
| ------------- | ----------------------------------------- |
| **Address**   | `https://api.hanzo.ai/v1/standing/upkeep` |
| **Method**    | `POST`                                    |
| **Operation** | `post_standing_upkeep`                    |
| **Auth**      | `Authorization: Bearer $HANZO_API_KEY`    |

Reports what keeping this entity costs every year, itemised.

This is the figure that decides where to incorporate, and the one a formation
price cannot show: Delaware is cheaper to form than Wyoming for a corporation
and dearer to keep, so a founder shown only the formation fee is shown the half
that reverses. Each state line carries the authority that publishes it and the
date it was checked, and a franchise tax that scales is marked a minimum rather
than quoted as final.

## Request

3 fields, body `application/json` (required).

| Field           | In   | Type    | Required | Description                                                            |
| --------------- | ---- | ------- | -------- | ---------------------------------------------------------------------- |
| `agentOfRecord` | body | boolean | —        | AgentOfRecord includes our agent fee, which most entities owe someone. |
| `jurisdiction`  | body | string  | —        | Jurisdiction is the state the entity stands in.                        |
| `structure`     | body | string  | —        | Structure is the entity kind: c-corp, llc or dao-llc.                  |

## Response

| Status    | Body            | Meaning |
| --------- | --------------- | ------- |
| `200`     | standing.Upkeep | ok      |
| `default` | problem-details | refused |

`200` body — 15 fields.

| Field                       | In   | Type                   | Always | Description                                                                                                                                                               |
| --------------------------- | ---- | ---------------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `atLeast`                   | body | boolean                | —      | AtLeast reports that some obligation is a minimum, so YearlyCents is a floor rather than a final figure.                                                                  |
| `currency`                  | body | string                 | —      | Currency is the ISO code every amount here is denominated in.                                                                                                             |
| `jurisdiction`              | body | string                 | —      | Jurisdiction is the state whose obligations these are.                                                                                                                    |
| `obligations`               | body | standing.Obligation\[] | —      | Obligations are the recurring charges, in the order a reader should see them.                                                                                             |
| `obligations[].amountCents` | body | integer (int64)        | —      | AmountCents is what it costs each period.                                                                                                                                 |
| `obligations[].asOf`        | body | string                 | —      | AsOf is when that amount was last checked against its source, RFC 3339 date.                                                                                              |
| `obligations[].code`        | body | string                 | —      | Code names the obligation so a caller can branch without reading prose.                                                                                                   |
| `obligations[].every`       | body | string                 | —      | Every is how often it falls due — "yearly" for every obligation known here.                                                                                               |
| `obligations[].label`       | body | string                 | —      | Label is what the payer sees.                                                                                                                                             |
| `obligations[].minimum`     | body | boolean                | —      | Minimum marks a floor rather than a fixed price — a franchise tax that scales with shares or assets is quoted at its minimum, and an entity past the threshold owes more. |
| `obligations[].passThrough` | body | boolean                | —      | PassThrough marks money we collect and remit to the state rather than keep.                                                                                               |
| `obligations[].source`      | body | string                 | —      | Source names the authority that publishes a pass-through amount, so the figure can be checked without first working out who would know.                                   |
| `obligations[].stale`       | body | boolean                | —      | Stale reports that AsOf is older than the review window.                                                                                                                  |
| `structure`                 | body | string                 | —      | Structure is the entity this prices.                                                                                                                                      |
| `yearlyCents`               | body | integer (int64)        | —      | YearlyCents is what the entity owes every year, all obligations summed.                                                                                                   |

Failure carries the platform error shape — see [Errors](https://docs.hanzo.ai/docs/errors).

## Examples

**CLI**

```bash
hanzo standing upkeep
```

**SDK**

**.ts**

```ts
import { Configuration, StandingApi } from 'hanzoai';

const api = new StandingApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.postStandingUpkeep({ agentOfRecord: false, jurisdiction: "<jurisdiction>" });
```

**.py**

```python
from hanzoai.cloud import ApiClient, Configuration
from hanzoai.cloud.api import StandingApi

client = ApiClient(Configuration(access_token=os.environ["HANZO_API_KEY"]))
result = StandingApi(client).post_standing_upkeep(agent_of_record=False, jurisdiction="<jurisdiction>")
```

**.go**

```go
cfg := hanzoai.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := hanzoai.NewAPIClient(cfg)

resp, _, err := client.StandingAPI.PostStandingUpkeep(context.Background()).Execute()
if err != nil {
	return err
}
```

**.rs**

```rust
use hanzo_client::apis::{configuration::Configuration, standing_api};

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

let result = standing_api::post_standing_upkeep(&cfg, Default::default()).await?;
```

**.java**

```java
import ai.hanzo.cloud.ApiClient;
import ai.hanzo.cloud.api.StandingApi;

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

var result = new StandingApi(client).postStandingUpkeep();
```

**HTTP**

```bash
curl -X POST https://api.hanzo.ai/v1/standing/upkeep \
  -H "Authorization: Bearer $HANZO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
       "agentOfRecord": false,
       "jurisdiction": "<jurisdiction>"
     }'
```

**MCP**

MCP declares no tool for **standing** — `tools/list` on `https://api.hanzo.ai/v1/mcp` names the products it does reach. Use HTTP or an SDK.

---

[Standing API](https://docs.hanzo.ai/docs/openapi/standing) · [All Hanzo APIs](https://docs.hanzo.ai/docs/openapi) · [Interactive reference](https://docs.hanzo.ai/docs/openapi/reference)
