EIGENN.
docsguidesapichangelogpricingsign in
EIGENN.

Tracker Categories API

Create reusable category tags and assign them safely to team-owned tracker projects.

Tracker categories use Eigenn's reusable team tags. The /tags resource manages category definitions and names. The /tracker-categories resource manages the relationship between a tag and a tracker project.

Endpoints

MethodEndpointScopePurpose
GET/tracker-categoriestracker-projects.readList category assignments
GET/tracker-categories/{id}tracker-projects.readRetrieve one assignment
POST/tracker-categoriestracker-projects.writeAssign one category
POST/tracker-categories/bulktracker-projects.writeAssign 1–100 categories
DELETE/tracker-categories/{id}tracker-projects.writeRemove one assignment
GET/tagstags.readList reusable category definitions
POST/tagstags.writeCreate a category definition
PATCH/tags/{id}tags.writeRename a category on every project that uses it
DELETE/tags/{id}tags.writeDelete a category definition and its assignments

Assign a Category

Create the tag first if it does not exist. Then attach it to a project.

curl --request POST \
  --url https://api.eigenn.io/v1/tracker-categories \
  --header "Authorization: Bearer $EIGENN_API_TOKEN" \
  --header "Content-Type: application/json" \
  --header "Idempotency-Key: category-project-design" \
  --data '{
    "projectId": "b3b6e2c2-1f2a-4e3b-9c1d-2a4b6e2c21f2",
    "tagId": "b3b7c8e2-1f2a-4c3d-9e4f-5a6b7c8d9e0f"
  }'

Eigenn checks both UUIDs against the authenticated team before the insert. A UUID from another team returns 404. Eigenn creates no relationship.

The 201 response contains:

FieldDescription
idAssignment UUID for the retrieve and delete operations
createdAtAssignment timestamp
projectIdTracker project UUID
tagIdReusable tag UUID

Use GET /tags/{tagId} when you need the category's current display name.

List Assignments

GET /tracker-categories accepts:

  • projectId, an optional tracker project UUID
  • limit, an integer from 1 to 100 that defaults to 50
  • offset, a non-negative integer that defaults to 0

The response includes data plus meta.limit, meta.offset, and meta.returned. It does not include a total count. Continue while returned equals limit. Stop when a page is shorter.

Bulk Assignment

POST /tracker-categories/bulk accepts:

{
  "tags": [
    {
      "projectId": "b3b6e2c2-1f2a-4e3b-9c1d-2a4b6e2c21f2",
      "tagId": "b3b7c8e2-1f2a-4c3d-9e4f-5a6b7c8d9e0f"
    }
  ]
}

Eigenn confirms every project and tag before the batch insert starts. The response returns the created assignments in data.

Rename or Delete a Category

Rename through PATCH /tags/{tagId}. Projects reference the reusable tag UUID. Thus the new name appears on every assigned project. Eigenn does not replace the relationships.

Delete an assignment through DELETE /tracker-categories/{assignmentId} when only one project must lose the category. Delete the tag definition through /tags/{tagId} only when the category must disappear from every project.

Common Errors

StatusCause
401Missing or invalid bearer token
403Missing tracker project or tag scope
404Assignment, project, or tag is outside the team or absent
409The project already has the category
422Invalid UUID, batch size, limit, offset, or request shape

Related Pages

  • Tracker Projects
  • Tracker Entries and Timers
  • Authentication
  • Pagination

Remote Tracker API Status

Understand the supported import path for Harvest, Toggl, Clockify, and other external time trackers.

Tracker Entries and Timers API

Record work, import entries, and control active timers with team-scoped public API v1 operations.

On this page

EndpointsAssign a CategoryList AssignmentsBulk AssignmentRename or Delete a CategoryCommon ErrorsRelated Pages

Eigenn docs

current product

Overview
Overview
OverviewAccount PreferencesAssistant AutomationAssistant Command CenterBank ConnectionsBilling and UsageBudgets and ForecastCommand CenterCustomer LifecycleCustomer RecordsCustomersDeveloper PlatformDocument Processing and ExtractionDocument VaultFinancial Analytics and ReportsFinancial OverviewInvoice InsightsInvoice ProductsInvoicesMarketplace IntegrationsNotifications and BrandingOnboarding and SupportOverviewReceivablesReceivables AnalyticsReceivables ControlsSecurity and AccessSettings OverviewStress TestsTeams and OrganizationsTone Profiles and ExperimentsTransaction Categories and RulesTransactionsWeekly Finance RitualWorkflow ExecutionsWorkflow PausesWorkflowsWorkspace Inbox and Approvals
OverviewBuild and Review a ForecastBuild Your First WorkflowConfigure Assistant OperationsConfigure Notifications and BrandingConfigure Receivables ControlsConnect Transaction RecordsCreate and Manage CustomersCreate and Send InvoicesDeveloper API SetupFirst Cash ReviewInvoice Collection WorkflowMaintain Transaction RulesManage Security and BillingManage Team AccessManage the Invoice LifecycleMCP WorkflowsMonitor and Recover WorkflowsOrganize and Share DocumentsProcess Inbox ItemsReconcile and Categorize TransactionsReview a Customer Finance RecordRun a Finance Operating ReviewRun a Receivables Tone ExperimentRun a Runway Stress TestRun Your First Command Center ReviewSet Up a WorkspaceTroubleshoot Account AccessWebhook DeliveryWeekly CFO Review
OverviewIntegrationsMCPSDKsWebhooks
OverviewAuthenticationBank Accounts APICustomers APIErrorsForecasts and Stress Tests APIInvoice Payments APIInvoices APIPaginationRate LimitsRemote Tracker API StatusTracker Categories APITracker Entries and Timers APITracker Projects APITransactions APIWebhooks API StatusWorkflows API Status
Overview
Overview