Skip to main content

Organizations API

The Organizations API allows you to manage your own organization information. The organization represents your company and provides context for competitive comparisons.

Get Organization

Get the current user's organization by workspace ID.

GET /api/organizations

Response

{
"organization": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"workspaceId": "workspace-id",
"name": "My Company",
"websiteUrl": "https://mycompany.com",
"domain": "mycompany.com",
"companyProfile": {
"yearFounded": 2020,
"revenue": "$10M",
"employeeCount": "50-100",
"industry": "SaaS",
"headquarters": "San Francisco, CA"
},
"createdAt": "2024-01-01T00:00:00.000Z"
}
}

If no organization exists, returns null:

{
"organization": null
}

Update Organization

Update the current user's organization. Requires EDITOR role or higher.

PATCH /api/organizations

Request Body

All fields are optional. Only include fields you want to update:

{
"name": "Updated Company Name",
"websiteUrl": "https://updated-company.com",
"companyProfile": {
"yearFounded": 2020,
"revenue": "$10M",
"employeeCount": "50-100",
"industry": "SaaS",
"headquarters": "San Francisco, CA",
"newsFeed": [
{
"date": "2024-01-01",
"title": "Company News",
"url": "https://example.com/news",
"summary": "News summary",
"source": "Company Blog"
}
],
"pricingLinks": [
{
"label": "Pricing Page",
"url": "https://example.com/pricing",
"discoveredAt": "2024-01-01T00:00:00.000Z"
}
],
"offeringLinks": [
{
"label": "Product Page",
"url": "https://example.com/product",
"discoveredAt": "2024-01-01T00:00:00.000Z"
}
]
},
"companyStrengths": ["Strength 1", "Strength 2"],
"companyWeaknesses": ["Weakness 1"],
"referenceLinks": [
{
"label": "Reference Link",
"url": "https://example.com/reference"
}
],
"keyMessaging": ["Message 1", "Message 2"]
}

Allowed Fields

  • name (string) - Organization name
  • websiteUrl (string) - Website URL
  • companyProfile (object) - Company profile information
  • companyStrengths (array of strings) - Company strengths
  • companyWeaknesses (array of strings) - Company weaknesses
  • referenceLinks (array of objects) - Reference links
  • keyMessaging (array of strings) - Key messaging points

Response

{
"organization": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"workspaceId": "workspace-id",
"name": "Updated Company Name",
"websiteUrl": "https://updated-company.com",
"companyProfile": {},
"createdAt": "2024-01-01T00:00:00.000Z"
}
}

Get Organization by ID

Get a specific organization by ID.

GET /api/organizations/{id}

Path Parameters

  • id (string, required) - Organization ID

Response

{
"organization": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"workspaceId": "workspace-id",
"name": "My Company",
"websiteUrl": "https://mycompany.com",
"createdAt": "2024-01-01T00:00:00.000Z"
}
}

Refresh Organization

Trigger a refresh job for the organization to update company profile and news.

POST /api/organizations/refresh

Response

{
"jobId": "job-id-for-tracking-refresh"
}

Refresh Organization News

Trigger a news refresh for the organization.

POST /api/organizations/news/refresh

Response

{
"jobId": "job-id-for-tracking-news-refresh"
}

Get Organization Knowledge Tree

Get knowledge tree metadata for an organization.

GET /api/organizations/{id}/tree-metadata

Path Parameters

  • id (string, required) - Organization ID

Response

{
"metadata": {
"treeId": "tree-id",
"rootId": "root-node-id",
"nodeCount": 10,
"createdAt": "2024-01-01T00:00:00.000Z"
}
}

Get Organization Tree

Get the knowledge tree for an organization.

GET /api/organizations/tree

Response

{
"tree": {
"id": "tree-id",
"treeId": "tree-id",
"workspaceId": "workspace-id",
"entityType": "ORGANIZATION",
"entityId": "organization-id",
"version": 1,
"createdAt": "2024-01-01T00:00:00.000Z",
"updatedAt": "2024-01-01T00:00:00.000Z"
}
}

Error Responses

  • 400 - Bad Request (invalid data)
  • 401 - Unauthorized (invalid or missing API key)
  • 403 - Forbidden (insufficient permissions)
  • 404 - Not Found (organization doesn't exist)