> ## Documentation Index
> Fetch the complete documentation index at: https://docs.meetecho.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Account

> Creates a user, business, default project, and default API key in one
atomic transaction. Save the returned `api_key` — it is shown exactly once.




## OpenAPI

````yaml POST /auth/signup
openapi: 3.0.3
info:
  title: Echo API
  description: |
    Echo is a voice notification platform. Use your API key (returned on signup)
    in the `x-api-key` header for all `/v1/*` endpoints.

    The API key implicitly scopes every request to your project and business —
    no need to pass IDs in the URL.
  version: 1.0.0
servers:
  - url: https://api.meetecho.ai/v1
    description: Production
security: []
tags:
  - name: Auth
    description: Signup, login, token refresh
  - name: Customers
    description: Manage customers within your project
  - name: Agents
    description: Manage reusable voice agents
  - name: Notifications
    description: Trigger and inspect outbound calls
  - name: API Keys
    description: Create and revoke API keys for your project
  - name: Project
    description: Inspect and configure your project settings
  - name: Webhook Endpoints
    description: >-
      Create and manage webhook endpoints — each with its own URL, event
      subscriptions, and signing secret
  - name: Delivery Logs
    description: >-
      Inspect delivery history, per-attempt details, and manually retry failed
      deliveries
paths:
  /auth/signup:
    post:
      tags:
        - Auth
      summary: Create account
      description: >
        Creates a user, business, default project, and default API key in one

        atomic transaction. Save the returned `api_key` — it is shown exactly
        once.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SignupRequest'
            example:
              email: luthfulahi@meetecho.ai
              password: Password@12345
              first_name: Luthfulahi
              last_name: Oseni
              business_name: Grone
              business_summary: A new age mood app
              industry: Utility
      responses:
        '201':
          description: Account created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SignupResponse'
              example:
                access_token: >-
                  eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI4MWQ3Nzk5NC04ZjlhLTRjY2MtYmNlZC05YjQyZjcxNzNjMmYiLCJlbWFpbCI6Imx1dGVlcGhAZ21haWwuY29tIiwiaWF0IjoxNzczODUyMjU1LCJleHAiOjE3NzY0NDQyNTV9.gvFBQ4xxDEopUCXSGiZH76Nnr4Ka1MkgZU2pZkkOWL4
                refresh_token: >-
                  eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI4MWQ3Nzk5NC04ZjlhLTRjY2MtYmNlZC05YjQyZjcxNzNjMmYiLCJlbWFpbCI6Imx1dGVlcGhAZ21haWwuY29tIiwiaWF0IjoxNzczODUyMjU1LCJleHAiOjE3NzQ0NTcwNTV9.11URIUxCUZ0l2YMzHLpTEg6GpazSsFCzyEXcBMqAaso
                user:
                  id: 81d77994-8f9a-4ccc-bced-9b42f7173c2f
                  email: luthfulahi@meetecho.ai
                  first_name: Luthfulahi
                  last_name: Oseni
                business:
                  id: 97bfa642-d2cb-46d5-8de8-6d3553c83007
                  name: Grone
                default_project:
                  id: e56b4c35-882d-4604-9944-9763d314ea59
                  name: default
                  api_key: >-
                    echo_6f437a610fbb65e6a2742c60ef3e916a80f638522ff11fcc1c711b75fd958534
        '409':
          description: Email already registered
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    SignupRequest:
      type: object
      required:
        - email
        - password
        - first_name
        - last_name
        - business_name
        - business_summary
        - industry
      properties:
        email:
          type: string
          format: email
          example: luthfulahi@meetecho.ai
        password:
          type: string
          minLength: 8
          example: Password@12345
        first_name:
          type: string
          example: Luthfulahi
        last_name:
          type: string
          example: Oseni
        business_name:
          type: string
          example: Grone
        business_summary:
          type: string
          example: A new age mood app
        industry:
          type: string
          example: Utility
    SignupResponse:
      type: object
      properties:
        access_token:
          type: string
          example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
        refresh_token:
          type: string
          example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
        user:
          type: object
          properties:
            id:
              type: string
              format: uuid
              example: 81d77994-8f9a-4ccc-bced-9b42f7173c2f
            email:
              type: string
              example: luthfulahi@meetecho.ai
            first_name:
              type: string
              example: Luthfulahi
            last_name:
              type: string
              example: Oseni
        business:
          type: object
          properties:
            id:
              type: string
              format: uuid
              example: 97bfa642-d2cb-46d5-8de8-6d3553c83007
            name:
              type: string
              example: Grone
        default_project:
          type: object
          description: Save `api_key` — shown exactly once.
          properties:
            id:
              type: string
              format: uuid
              example: e56b4c35-882d-4604-9944-9763d314ea59
            name:
              type: string
              example: default
            api_key:
              type: string
              example: >-
                echo_6f437a610fbb65e6a2742c60ef3e916a80f638522ff11fcc1c711b75fd958534
    Error:
      type: object
      properties:
        statusCode:
          type: integer
        message:
          type: string
        error:
          type: string

````