# Handwrytten API API

> Handwrytten API API on Apizie: 30 endpoints (Logs in to an existing account, changes a user's password, logs out a session uid, Registers a new account, …) returned as clean JSON through one API key. 30 endpoints are live now. Call it over REST at https://zieapi.vercel.app/v1/ai:handwrytten/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

- Project key: `ai:handwrytten`
- Category: Artificial Intelligence
- Status: live
- Source: https://handwrytten.com
- Page: https://zieapi.vercel.app/api/ai/handwrytten
- OpenAPI: https://zieapi.vercel.app/api/ai/handwrytten/openapi.json

This is the Handwrytten API for sending cards written in the handwriting of your choice. Using this api, you can send cards to users. You can also customize cards with logos, which can be saved and then used like any…

## Endpoints

### Logs in to an existing account
`POST https://zieapi.vercel.app/v1/ai:handwrytten/login`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### changes a user's password
`POST https://zieapi.vercel.app/v1/ai:handwrytten/change-password`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### logs out a session uid
`POST https://zieapi.vercel.app/v1/ai:handwrytten/logout`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Registers a new account
`POST https://zieapi.vercel.app/v1/ai:handwrytten/register`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### resets a user's password
`POST https://zieapi.vercel.app/v1/ai:handwrytten/reset-password-request`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Create a new custom card
`POST https://zieapi.vercel.app/v1/ai:handwrytten/create-custom-card`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Lists information on cards
`GET https://zieapi.vercel.app/v1/ai:handwrytten/simple-list-cards`

### Lists information on cards
`POST https://zieapi.vercel.app/v1/ai:handwrytten/list-cards`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### upload logo or cover image for card
`POST https://zieapi.vercel.app/v1/ai:handwrytten/upload-custom-logo`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | Form fields as a JSON object |

### Provides full information on a specific card
`POST https://zieapi.vercel.app/v1/ai:handwrytten/filterable-card-details`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Lists the countries to which Handwritten can mail, their associated country ID and any costs
`GET https://zieapi.vercel.app/v1/ai:handwrytten/get-countries-list`

### Lists Handwryting styles available for use
`GET https://zieapi.vercel.app/v1/ai:handwrytten/fonts-list`

### Lists fonts available for use with the card customizer
`GET https://zieapi.vercel.app/v1/ai:handwrytten/fonts-list-for-customizer`

### Lists information on gift cards
`GET https://zieapi.vercel.app/v1/ai:handwrytten/get-gift-card-details`

### Lists information on gift cards
`POST https://zieapi.vercel.app/v1/ai:handwrytten/gift-card-details`

### sends an order in a single step. This is much easier than using other order commands
`POST https://zieapi.vercel.app/v1/ai:handwrytten/single-step-order`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### gets the user's return address information
`POST https://zieapi.vercel.app/v1/ai:handwrytten/user-address`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### deletes an existing recipient address
`POST https://zieapi.vercel.app/v1/ai:handwrytten/delete-recipient`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### add a new recipient address
`POST https://zieapi.vercel.app/v1/ai:handwrytten/add-recipient-address`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### list the addresses in the user's account
`POST https://zieapi.vercel.app/v1/ai:handwrytten/recipients-list`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### update the user's return address information
`POST https://zieapi.vercel.app/v1/ai:handwrytten/update-user-address`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### updates an existing new recipient address
`POST https://zieapi.vercel.app/v1/ai:handwrytten/update-recipient`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### List template categories
`GET https://zieapi.vercel.app/v1/ai:handwrytten/get-template-categories`

### List template categories
`POST https://zieapi.vercel.app/v1/ai:handwrytten/get-template-categories-authorized`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Creates a New Template in the User’s Account
`POST https://zieapi.vercel.app/v1/ai:handwrytten/create-template`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Deletes a users template
`POST https://zieapi.vercel.app/v1/ai:handwrytten/delete-template`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### List template categories
`GET https://zieapi.vercel.app/v1/ai:handwrytten/get-templates`

### List template categories
`POST https://zieapi.vercel.app/v1/ai:handwrytten/get-templatess-authorized`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Updates an Existing Template in the User’s Account
`POST https://zieapi.vercel.app/v1/ai:handwrytten/update-template`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Get all info on a template
`POST https://zieapi.vercel.app/v1/ai:handwrytten/get-template-detail`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

## Example
```
curl "https://zieapi.vercel.app/v1/ai:handwrytten/login" \
  -H "x-api-key: $APIZIE_KEY"
```

## FAQ

### How do I call the Handwrytten API API?
Create a free Apizie key, then send POST https://zieapi.vercel.app/v1/ai:handwrytten/login with the header x-api-key. Every endpoint returns { project, data, timestamp }.

### Is the Handwrytten API API free on Apizie?
Yes. The Free plan includes 1,000 requests a month at 100 requests a minute, no credit card.

### Can AI agents use the Handwrytten API API?
Yes. Add the Apizie MCP server (https://zieapi.vercel.app/mcp) to Claude, ChatGPT, Cursor or VS Code, then ask in plain language. The agent calls run_scraper with project key ai:handwrytten.

### What is the status of the Handwrytten API API?
Live: works with just an Apizie key
