canonical: https://jentic.com/apis/crewtraka.com/crewtraka

# CrewTraka API

Jentic publishes the only available OpenAPI specification for CrewTraka API, keeping it validated and agent-ready. CrewTraka is a workforce management platform aimed at construction and field-services companies, covering crew scheduling, day cards, diary notes, defects, allowances, and project paperwork. The API exposes the same data model the dashboard uses through a token-authenticated REST interface, including a 7-day summary CSV export that mirrors the weekly view used by site supervisors.

## For AI agents

Manage CrewTraka crews and project records - employees, day cards, diary notes, defects, allowances, clients, and companies - and pull weekly CSV summaries. Use it to integrate construction workforce data with payroll, accounting, or BI systems.

## Scope

Does not handle payroll processing, accounting ledgers, or document storage beyond attachments - use for construction crew, day card, and defect management only.

## Capabilities

- Create, update, and remove allowance records used to compensate crew members on a project
- Capture day cards through `/api/daycard` for who worked where and on what task each day
- Log diary notes against a project to record on-site observations and decisions
- Track defects discovered on site with full CRUD on the `/api/defect` collection
- Maintain client and company records that day cards and projects are linked to
- Export the rolling 7-day workforce summary as CSV for payroll or reporting

## Use cases

### Daily site reporting from a mobile capture tool

Push day cards, diary notes, and defects from a custom site-capture app into CrewTraka so the dashboard reflects what actually happened on site that day. POST `/api/daycard` records the crew and tasks, POST `/api/diary` captures qualitative notes, and POST `/api/defect` logs anything that needs rework or a follow-up.

Example prompt: On submission of the mobile site report, call POST `/api/daycard` with the crew and tasks, POST `/api/diary` with the note, and POST `/api/defect` for each issue captured.

### Payroll export to an accounting system

Feed payroll by exporting the rolling 7-day workforce summary as CSV through GET `/api/7-day-summary/export-csv` on a schedule, or by paging GET `/api/daycard` and GET `/api/allowance` for richer detail. The integration maps employees to their payroll IDs and posts the records into the accounting tool of choice.

Example prompt: Run a weekly job that calls GET `/api/7-day-summary/export-csv`, parses the CSV, and posts each row as a timesheet entry into the downstream payroll system.

### Defect and snag-list management

Maintain a live snag list for each project by listing defects with GET `/api/defect`, attaching site notes through GET `/api/diary`, and updating defect status with PUT `/api/defect/{id}` as items are remediated. The agent or supervisor can then close the loop by deleting the defect once it has been signed off.

Example prompt: Page GET `/api/defect` filtered by project and status, then PUT `/api/defect/{id}` with status='resolved' for each item that has been signed off this week.

### Agent-driven foreman copilot through Jentic

A foreman can ask a Jentic-orchestrated agent 'log today's day card for crew B on the Smith Street job' and the agent posts the right record without the foreman opening the dashboard. Jentic searches for the day card operation, loads `/api/daycard`, and executes the create call with the token kept in the vault.

Example prompt: Through Jentic, run search('create a CrewTraka day card'), load POST `/api/daycard`, and execute it with crew, project, and task fields parsed from the foreman's voice command.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/api/daycard` | Create a day card for a crew on a project |
| GET | `/api/daycard` | List day cards |
| POST | `/api/defect` | Log a defect discovered on site |
| POST | `/api/diary` | Add a diary note to a project |
| POST | `/api/allowance` | Create an allowance entry |
| GET | `/api/employee` | List employees |
| GET | `/api/company/current` | Get the currently authenticated company |
| GET | `/api/7-day-summary/export-csv` | Export the rolling 7-day workforce summary as CSV |

## Key resources

- **Day cards** — Daily crew-task records via `/api/daycard` with full CRUD and retrieve by ID.
- **Defects** — Site issues tracked through `/api/defect` with CRUD operations.
- **Diary** — Free-form site notes captured via `/api/diary.`
- **Employees and clients** — Workforce and customer records under `/api/employee` and `/api/client.`
- **Companies** — Tenant company records via `/api/company`, including GET `/api/company/current` for the active company.
- **Allowances** — Per-employee compensation entries managed via `/api/allowance.`
- **Reports** — 7-day rolling summary export at `/api/7-day-summary/export-csv.`

## Why Jentic

- **Setup:** Wiring CrewTraka by hand means managing its API token in the Authorization header and mapping shift-card, defect, and diary calls across a 27-endpoint construction surface. Through Jentic you install once, import CrewTraka from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** CrewTraka posts day cards, defects, and diary entries through collection paths and the request body rather than URL resource ids, so scope the agent to the operations it needs, such as creating a day card or reading employees. Exporting the weekly summary stays out unless you include that operation.
- **Credential handling:** Your CrewTraka token is stored once, encrypted, by your own Jentic One instance and applied as the Authorization header at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'create a CrewTraka day card' or 'export a weekly timesheet', and Jentic returns the matching CrewTraka operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Procore** — Construction project management API covering daily logs, RFIs, and field workflows.
- **Clockify** — Time-tracking API that pairs with day cards for cross-system payroll reconciliation.
- **Gusto** — Payroll API used to pay the workforce captured in CrewTraka day cards and allowances.

## FAQ

### Why is there no official OpenAPI spec for CrewTraka API?

CrewTraka publishes a swagger schema at api.dash.crewtraka.com but does not distribute a maintained OpenAPI specification for external consumption. Jentic generates and maintains this spec so that AI agents and developers can call CrewTraka API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the CrewTraka API use?

The API uses a token passed in the Authorization header as an apiKey scheme, typically formatted as 'Token <key>'. Through Jentic, the token is stored encrypted in the vault and applied to every call to https://api.dash.crewtraka.com so it never enters the agent's prompt.

### Can I create a day card with the CrewTraka API?

Yes. POST `/api/daycard` creates a new day card and accepts the crew, project, and task fields. Update one with PUT `/api/daycard/{id}`, fetch one with GET `/api/daycard/{id}`, and remove one with DELETE `/api/daycard/{id}.`

### How do I export a weekly timesheet from CrewTraka?

Call GET `/api/7-day-summary/export-csv` to download the rolling 7-day workforce summary as CSV. The output mirrors the weekly view in the CrewTraka dashboard and is suited for posting into payroll or accounting systems.

### What are the rate limits for the CrewTraka API?

The published OpenAPI spec does not declare rate limits. Limits are enforced by the CrewTraka platform per tenant, so check response headers and confirm with your CrewTraka admin. Build retries around HTTP 429 responses, particularly on bulk GET `/api/daycard` and GET `/api/defect` pulls.

### How do I log a day card through Jentic?

Install Jentic with pip install jentic, then async-search for 'create a CrewTraka day card'. Jentic returns POST `/api/daycard` with its schema; load it and execute with the crew, project, and task fields. Jentic injects the Authorization token from the vault automatically.

### Can I limit what my agent is allowed to do with the CrewTraka API?

Yes. Because you run Jentic One yourself, your own rules decide which CrewTraka operations and credentials the agent may use, so you can grant only the calls it needs, such as creating a day card with POST `/api/daycard` or reading staff with GET `/api/employee`, while withholding others. Since CrewTraka posts day cards, defects, and diary entries through collection paths and the request body rather than per-resource URL ids, you scope by operation rather than by record. Higher-impact calls like exporting the weekly summary with GET `/api/7-day-summary/export-csv` or deleting a defect stay off unless you explicitly include them.
