Skip to content

Projects

Projects are the folders you file work under. Every audience, audience size estimate, activation, cohort, and schedule optionally carries a project_id, and these endpoints are how you create a project and resolve a project name to the id those creates accept. A Lookalike Model is the exception: Create Lookalike Audience takes no project_id and ignores one sent in the body, so a Lookalike Model cannot be filed under a project. Projects are the same ones the console shows under Organization - Projects.

All project endpoints are authenticated and JSON-only. Send Authorization: Bearer <token> and Accept: application/json on every call (plus Content-Type: application/json on the POSTs). Reads use the read rate bucket (120 requests/min per caller); writes use the write bucket (30 requests/min per caller).

Create Project

POST /api/v2/analyses/projects/create

Creates a project for your company. The returned id is what you pass as project_id when creating an audience, an activation, a cohort, or a schedule.

Auth: bearer token + Accept: application/json + Content-Type: application/json. Rate limit: write bucket (30 requests/min). Optional: Idempotency-Key header (see Audiences).

Body

FieldTypeRequiredDescription
namestringYesProject name (max 255 chars).
curl -X POST "https://console.intuizi.com/api/v2/analyses/projects/create" \
  -H "Authorization: Bearer <YOUR_TOKEN>" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -H "Idempotency-Key: <UNIQUE_KEY>" \
  -d '{ "name": "Retail 2026" }'

Response

{
  "status": "success",
  "code": 201,
  "message": "Resource created successfully.",
  "data": [
    {
      "id": 4,
      "name": "Retail 2026"
    }
  ]
}

List Projects

GET /api/v2/analyses/projects/index

Lists the projects owned by your company, ordered by name, paginated.

Auth: bearer token + Accept: application/json. Rate limit: read bucket (120 requests/min).

Query parameters

FieldTypeRequiredDescription
per_pageintegerNoItems per page. Defaults to 25, capped at 100.
pageintegerNoPage number (standard pagination).
searchstringNoOptional free-text filter on the project name (case-insensitive contains).

Response

{
  "status": "success",
  "code": 200,
  "message": "Resources fetched successfully.",
  "data": {
    "items": [
      { "id": 4, "name": "Retail 2026" },
      { "id": 9, "name": "Travel 2026" }
    ],
    "pagination": { "current_page": 1, "per_page": 25, "total": 2, "last_page": 1 }
  }
}

Get Project

GET /api/v2/analyses/projects/{id}

Fetches one project owned by your company.

Auth: bearer token + Accept: application/json. Rate limit: read bucket (120 requests/min).

Path parameters

FieldTypeRequiredDescription
idintegerYesThe project id to fetch. Must be owned by your company.

Response

{
  "status": "success",
  "code": 200,
  "message": "Resource fetched successfully.",
  "data": {
    "id": 4,
    "name": "Retail 2026"
  }
}

Delete Project

POST /api/v2/analyses/projects/delete-by-id

Deletes one project owned by your company. Deleting a project only removes the folder: every audience, activation, cohort, and schedule filed under it is released (its project_id is cleared) and keeps working exactly as before. Nothing you built is deleted along with the project. An audience size estimate filed under it is not released: it keeps the deleted project’s id.

Auth: bearer token + Accept: application/json + Content-Type: application/json. Rate limit: write bucket (30 requests/min).

Body

FieldTypeRequiredDescription
idintegerYesThe project id to delete. Must be owned by your company.

Response

{
  "status": "success",
  "code": 200,
  "message": "Resource deleted successfully.",
  "data": []
}