---
title: "Create a project (channel-agnostic client)"
method: POST
path: "/app/projects"
tags: ["App Project"]
---

# Create a project (channel-agnostic client)

`POST /app/projects`

## Request

- Base URL: `https://api.optimyzee.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.optimyzee.com/app/projects`
- Auth: none declared
- TypeScript: <https://skmtc.dev/optimyzee/apis/optimyzee-api/docs/app/projects/post.ts> (a function with typed inputs; its response is checked against the schema)

## Request body

- object
  - `name` string, required
  - `vertical_id` string, nullable
  - `website` string, nullable
  - `phone` string, nullable

## Response `201`

Created

- AppProjectSchema
  - `id` integer, required
  - `name` string, required
  - `verticalId` string, nullable
  - `verticalLabel` string, nullable
  - `verticalSource` string, nullable
  - `verticals` object[]
  - `status` string, required
  - `website` string, nullable
  - `phone` string, nullable
  - `monthlyBudget` string, nullable
  - `channels` string[], required
  - `accountCount` integer, required
  - `spendMtdCents` integer, required
  - `leadsMtd` integer, required
  - `googleAdsSpendMtdCents` integer, required: Google Ads share of spendMtdCents, USD cents (from the reporting snapshot)
  - `googleAdsLeadsMtd` integer, required: Google Ads share of leadsMtd
  - `yelpSpendMtdCents` integer, nullable, required: Yelp share of spendMtdCents, USD cents; null = no Yelp account with Reporting API data
  - `yelpLeadsMtd` integer, nullable, required: Yelp share of leadsMtd; null = no Yelp account with Reporting API data
  - `accounts` AppProjectAccountSchema[], required
    - `id` integer, required
    - `accountableId` integer, required
    - `channel` string, required
    - `role` string, required
    - `label` string, nullable
    - `sublabel` string, nullable
    - `ref` string, nullable
    - `spendMtdCents` integer, nullable: Month-to-date spend, USD cents; null = unknown (Yelp without Reporting API, or no Google snapshot / several Google accounts)
  - `disabledYelpAccounts` AppProjectAccountSchema[], required: Yelp businesses linked to the project but switched off in Optimyzee (hidden from accounts)
    - `id` integer, required
    - `accountableId` integer, required
    - `channel` string, required
    - `role` string, required
    - `label` string, nullable
    - `sublabel` string, nullable
    - `ref` string, nullable
    - `spendMtdCents` integer, nullable: Month-to-date spend, USD cents; null = unknown (Yelp without Reporting API, or no Google snapshot / several Google accounts)

---

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