---
title: "Save the sign-up answer, the email opt-in, and how the person heard about Audo"
method: PATCH
path: "/api/v1/account"
tags: ["Account"]
---

# Save the sign-up answer, the email opt-in, and how the person heard about Audo

`PATCH /api/v1/account`

## Request

- Base URL: `https://audo.ai`
- URL: `https://audo.ai/api/v1/account`
- Auth: API key in cookie `__Secure-audo.session_token`

Send any of the fields; the ones left out don't change. Only for a person signed in on the website.

## Request body

- object
  - `useCase` string, nullable: What the person will use Audo for. null or an empty string records that they skipped the question
  - `marketingOptIn` boolean: true to get emails about new tools and tips, false to stop them
  - `marketingOptInSource` string: With marketingOptIn: where it was given, such as settings
  - `recordingReminders` boolean: true to get reminders about recordings, false to stop them
  - `heardFrom` 'google' | 'assistant' | 'youtube' | 'friend' | 'reddit' | 'studio' | 'other': The answer to "How did you hear about Audo?"

## Response `200`

OK

- object
  - `id` string, required
  - `email` string, nullable, required
  - `balanceCredits` integer, required: Credits in the account
  - `reservedCredits` integer, required: Held for jobs that are still running
  - `availableCredits` integer, required: What new jobs can spend
  - `balanceCents` integer: The balance in US cents (equal to balanceCredits)
  - `availableCents` integer: What new jobs can spend, in US cents (equal to availableCredits)
  - `creditsPerMinute` object, required: Each tool's price per minute of input, in credits (US cents)
  - `freeUsesToday` object, required: Free uses of each tool today. They reset at midnight UTC
  - `limits` object, required
    - `maxFileBytes` integer, required
    - `maxDurationSeconds` integer, required
    - `maxRunningJobs` integer, required
  - `retentionHours` number, required
  - `topUpUrl` string, required: The Credits page, where the person buys credits on the website
  - `pricingUrl` string: The pricing page: each tool's price per minute
  - `useCase` string, nullable, required: The answer to "What will you use Audo for?": null until answered, an empty string when skipped
  - `toolsUsed` string[], required: Tools this account has a finished, successful job for, in catalog order
  - `autoRefill` object
    - `enabled` boolean, required
    - `thresholdCents` integer, required: Refill when the available balance drops below this, in US cents
    - `amountCents` integer, required: What each refill adds to the balance, in US cents (tax, if any, is charged on top)
    - `monthlyCapCents` integer, required: The most charged for refills in a calendar month (UTC), in US cents before tax
    - `spentThisMonthCents` integer, required: Charged for refills this calendar month, in US cents before tax
    - `card` object, nullable, required: The saved card, or null
      - `brand` string, nullable, required
      - `last4` string, nullable, required
    - `disabledReason` 'card_declined' | 'authentication_required' | 'payment_failed' | 'disputed', nullable, required: Why auto-refill turned itself off, or null: card_declined, authentication_required, payment_failed, or disputed
    - `setupUrl` string, required: Where a person turns auto-refill on or changes it
  - `createdAt` string: ISO 8601 time
  - `marketingOptIn` boolean: Whether the person asked for emails about new tools and tips
  - `recordingReminders` boolean: Whether the person gets reminders about their recordings, such as one waiting to be finished (on until they turn it off)
  - `heardFrom` 'google' | 'assistant' | 'youtube' | 'friend' | 'reddit' | 'studio' | 'other', nullable: The answer to "How did you hear about Audo?", or null until answered
  - `firstPurchaseAt` string, nullable: ISO 8601 time
  - `anonymous` boolean: True for a browser that paid without signing in: it shows no balance, and its credits are kept for the email it paid with until someone signs in with it
  - `savedFor` string, nullable: For a browser that paid without signing in: the email its credits are kept for, masked (m•••@gmail.com), or null
  - `savedForEmail` string, nullable: For a browser that paid without signing in: that email as it typed it, to fill in its sign-in

## Other responses

- `default`: An error, with what went wrong and what to do next

---

[API](https://skmtc.dev/audo/apis/audo-api.md) · [All operations](https://skmtc.dev/audo/apis/audo-api/llms.txt) · [OpenAPI document](https://skmtc.dev/audo/apis/audo-api/revisions/0800e93224eb?raw)
