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

# HireArt API

The HireArt API exposes read access to a staffing program's workers, assignments, shifts, pay cycles, jobs, offers, onboardings, and expenses. Every endpoint is a paginated GET that returns opaque string ids and ISO 8601 timestamps, so an integration can mirror placement and timesheet data into another system. Use it to report on who is staffed where, reconcile logged shifts against pay cycles, and track the offers extended against open jobs.

## For AI agents

Read HireArt staffing records for an employer: workers, assignments, shifts, pay cycles, jobs, offers, onboardings, and expenses, all as paginated GET endpoints.

## Scope

Does not create jobs, run payroll, or edit worker records. Use for reading HireArt staffing data such as workers, assignments, shifts, and pay cycles only.

## Capabilities

- Retrieve the roster of workers staffed to your account with their profile details
- List active and past assignments to see where each worker is placed
- Pull shift records to reconcile hours worked against scheduled time
- Read pay cycle records to track when staffing payments are processed
- Review expenses submitted against assignments for reimbursement tracking
- Check job postings and the offers extended to candidates
- Track onboarding records for newly placed workers

## Use cases

### Workforce Data Sync

Mirror HireArt worker and assignment records into an internal HR or data warehouse so staffing data stays current without manual export. The API returns every worker and assignment as a paginated list of opaque-id records, which lets an integration page through the full roster and upsert each profile. Teams running contingent staffing use this to keep headcount and placement dashboards aligned with HireArt as the source of record.

Example prompt: Page through GET /workers, then for each worker call GET `/workers/{id}` and upsert the returned profile into the internal HR system.

### Timesheet and Pay Cycle Reconciliation

Reconcile logged shifts against processed pay cycles to catch hours that were worked but not yet paid. The API exposes shift records and pay cycle records as separate paginated lists, so an integration can join them and surface gaps. Staffing operations teams run this each pay period to verify that every shift maps to a pay cycle before approving payouts.

Example prompt: Retrieve GET /shifts for the current period and GET /pay_cycles, then flag any shift that is not attached to a pay cycle.

### Placement and Offer Reporting

Report on open jobs and the offers extended against them to track hiring progress across a staffing desk. The API lists jobs and offers as paginated records keyed by opaque ids, so an integration can join offers to their job and count outstanding ones. Recruiting leads use this to see which roles still need candidates and which offers are pending.

Example prompt: Call GET /jobs and GET /offers, join each offer to its job, and report the count of outstanding offers per open job.

### Agent-Driven Staffing Status Check

An AI agent answers questions about current staffing by reading HireArt directly rather than through a hand-built client. Through Jentic the agent discovers the relevant read operations, loads their input schemas, and executes the calls, then composes a plain-language summary of who is staffed where. This lets an operations assistant respond to ad hoc staffing questions without a human pulling reports.

Example prompt: Search Jentic for 'list staffing assignments', call GET /assignments and GET /workers, and summarise which workers are currently on active assignments.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/workers` | List all workers for the authenticated employer |
| GET | `/workers/{id}` | Retrieve a single worker by id |
| GET | `/assignments` | List all assignments |
| GET | `/shifts` | List all shifts |
| GET | `/pay_cycles` | List all pay cycles |
| GET | `/jobs` | List all jobs |
| GET | `/offers` | List all offers |
| GET | `/expenses` | List all expenses |

## Key resources

- **Workers** — List workers staffed to the employer and fetch a single worker profile by id
- **Assignments** — List assignments and fetch a single assignment to see worker placements
- **Shifts and Pay Cycles** — Read logged shifts and the pay cycles that process staffing payments
- **Jobs and Offers** — List open jobs and the offers extended to candidates
- **Onboardings and Expenses** — Read onboarding records for new placements and expenses submitted against assignments

## AI readiness

This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.

- **Score:** 41 / 100
- **Maturity:** Foundational
- **Dimensions:**
  - Foundational Compliance: 74 / 100
  - Developer Experience & Jentic Compatibility: 78 / 100
  - AI-Readiness & Agent Experience: 17 / 100
  - Agent Usability: 94 / 100
  - Security: 60 / 100
  - AI Discoverability: 63 / 100
- **View full report:** https://jentic.com/apis/hireart.com/hireart/scorecard
- **How the score is calculated:** https://docs.jentic.com/reference/api-readiness-framework/overview/
- **More about the dimensions:** https://docs.jentic.com/reference/api-readiness-framework/specification/#dimensional-model-overview

### Score it yourself

Every API in the directory is allowlisted, so you can re-score it with no key required.

- **Score your own API:** https://jentic.com/scorecard.md
- **Scoring CLI agent skill:** https://github.com/jentic/jentic-api-scorecard/blob/main/skills/jentic-api-scorecard/SKILL.md

```sh
npx @jentic/api-scorecard-cli score <openapi-url>
```

## Why Jentic

- **Setup:** Wiring HireArt by hand means handling its bearer auth and paging through every list with page and per_page to assemble a full roster. Through Jentic you install once, import HireArt from the API Directory, store the token once, and your agent calls the staffing endpoints.
- **Permission scoping:** HireArt puts each record id in the URL path, such as `/workers/{id}` and `/assignments/{id}`, so a rule can pin your agent to specific read operations like listing workers and fetching one assignment. Because every operation is a GET, there is no write or delete surface to expose at all.
- **Credential handling:** Your HireArt bearer token is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'list staffing assignments' or 'get worker details', and Jentic returns the matching HireArt operation with its input schema so the agent calls the right read endpoint without browsing the reference docs.

## Related APIs

- **BambooHR API** — Core HR system of record for employee data
- **Gusto API** — Runs payroll that HireArt only reports pay cycles for
- **Lever API** — Applicant tracking for the hiring pipeline feeding placements

## FAQ

### Is there a HireArt MCP server?

You do not need an MCP server to give your agent the HireArt API. Jentic connects it directly from the API Directory: import HireArt, store your bearer token once, and your agent calls the staffing endpoints. Discovery happens on demand, so no extra server's tool definitions are loaded into the agent's context.

### What authentication does the HireArt API use?

The HireArt API authenticates with a bearer token in the Authorization header, per its OpenAPI spec, and each token is scoped to the authenticated employer. Through Jentic the token is stored encrypted by your own Jentic One instance and injected at call time, so it never enters the agent's prompt or logs.

### Can I read worker and assignment data with the HireArt API?

Yes. GET /workers lists the roster and GET `/workers/{id}` returns one worker, while GET /assignments lists placements and GET `/assignments/{id}` returns a single assignment. All list endpoints paginate with page and per_page query parameters and report total_count and total_pages in the body.

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

The HireArt spec documents a limit of 100 requests per 60 seconds per API key, and the API returns 429 Too Many Requests with a Retry-After header indicating how many seconds until the limit resets. Honour the Retry-After value when backing off.

### How do I pull HireArt staffing data through Jentic?

Search Jentic with the query 'list staffing assignments', load the schema for GET /assignments, and execute it, then call GET /workers to resolve the staffed workers. To run it on your own infrastructure, install Jentic One from its GitHub repo.

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

Yes. Write a rule that allows only the list and fetch reads you need, such as GET /assignments and GET `/workers/{id}`, so the agent can report on staffing and touch nothing else, and every call it makes is logged. Because the whole API is read-only, there are no write or delete operations for the agent to reach.
