---
title: "Create a new project"
method: POST
path: "/projects"
tags: ["Projects"]
---

# Create a new project

`POST /projects`

## Request

- Base URL: `https://viral.app/api/v1`
- URL: `https://viral.app/api/v1/projects`
- Auth: API key in header `x-api-key`

Creates a new project for organizing and tracking content across different platforms and accounts.

## Request body

- object: Request to create a new project for organizing content tracking
  - `name` string, required: Project name
  - `url` union: Project URL
    - string: URL
    - ''
  - `description` string: Project description
  - `logo` string: Project logo
  - `appleAppId` string, nullable: Apple app ID
  - `visibleToCreators` boolean: Whether creators see this tag's name where it decides their pay (campaign payout conditions). When false, creators see “videos the brand selects” instead. Country and continent tags are always visible.

## Response `200`

OK

- object: Created project with all database fields and generated ID
  - `id` string, required
  - `name` string, required
  - `url` string, nullable, required
  - `description` string, nullable, required
  - `logo` string, nullable, required
  - `appleAppId` string, nullable, required
  - `visibleToCreators` boolean, required
  - `createdAt` string, date-time, required
  - `updatedAt` string, date-time, required
  - `actorType` 'user' | 'system' | 'api_token', required
  - `userId` string, required
  - `orgId` string, required

## Other responses

- `400`: 400
- `401`: 401
- `402`: 402
- `404`: 404
- `408`: 408
- `409`: 409
- `429`: 429
- `500`: 500

---

[API](https://skmtc.dev/viral/apis/viral-app-api.md) · [All operations](https://skmtc.dev/viral/apis/viral-app-api/llms.txt) · [OpenAPI document](https://skmtc.dev/viral/apis/viral-app-api/revisions/31e97fa79ef1?raw)
