Skip to main content
Projects represent the brands you track in Topify.ai. Each project has prompts, competitors, sources, and analytics data.

List projects

GET /projects
Returns all projects your API key has access to, ordered by creation date (oldest first).

Request

No query parameters.
curl "https://topify-customer-api-production.up.railway.app/api/public/v1/projects" \
  -H "X-API-Key: tk_live_..."

Response

{
  "success": true,
  "data": [
    {
      "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "name": "My Brand Project",
      "brand_name": "Acme Corp",
      "website_url": "https://acme.com",
      "location": "US",
      "language": "en",
      "brand_aliases": [],
      "created_at": "2026-01-15T10:30:00+00:00"
    }
  ]
}

Response fields

FieldTypeNullableDescription
idstring (UUID)NoProject ID
namestringNoProject display name
brand_namestringYesPrimary brand name being tracked
website_urlstringYesBrand website URL
locationstringYesTarget market country code
languagestringYesTarget language code
brand_aliasesstring[]NoAlways [] in list view. Use the get endpoint for aliases
created_atstring (ISO 8601)NoCreation timestamp

Get project

GET /projects/{project_id}
Returns details for a single project, including brand aliases.

Path parameters

ParamTypeDescription
project_idstring (UUID)The project ID
curl "https://topify-customer-api-production.up.railway.app/api/public/v1/projects/{project_id}" \
  -H "X-API-Key: tk_live_..."

Response

{
  "success": true,
  "data": {
    "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "name": "My Brand Project",
    "brand_name": "Acme Corp",
    "website_url": "https://acme.com",
    "location": "US",
    "language": "en",
    "brand_aliases": ["ACME", "Acme Corporation", "acme.com"],
    "created_at": "2026-01-15T10:30:00+00:00"
  }
}

Response fields

Same as list projects, except brand_aliases contains the actual aliases:
FieldTypeNullableDescription
brand_aliasesstring[]NoAlternative brand names used for matching in AI responses

Errors

StatusDetailCause
403Project does not belong to your teamAPI key’s team doesn’t own this project
404Project not foundNo project with this ID exists