canonical: https://jentic.com/apis/7shifts.com/7shifts-restaurant-scheduling

# 7shifts Restaurant Scheduling API

Jentic publishes the only available OpenAPI specification for 7shifts Restaurant Scheduling API, keeping it validated and agent-ready. This curated v2 spec covers twelve core endpoints from the 7shifts platform - companies, locations, departments, roles, users, shifts, schedules, time punches, and labor settings - focused on the operations a typical restaurant integration needs without the full surface of the partner API. Authentication uses OAuth 2.0 with tokens issued through the /oauth2/token endpoint.

## For AI agents

Look up 7shifts companies and locations, manage shifts and schedules, and pull labor settings for restaurant scheduling and reporting integrations.

## Scope

Does not handle shift creation, time punch capture, time-off approval, or engagement features - use for the core v2 company, location, and labor-settings surface only.

## Capabilities

- Identify the authenticated user and tenant via /v2/whoami
- List companies and the locations under each company
- Retrieve labor settings, including overtime and break enforcement, per company
- Look up configured inactive reasons used when removing employees
- Manage location records under a company with read and update operations
- Drive scheduling integrations against the v2 base path used in production

## Use cases

### Multi-Location Schedule Reporting

Restaurant groups using 7shifts pull location and labor settings data to feed weekly operations reports. The /v2/company/{company_id}/locations and /v2/company/{company_id}/labor_settings endpoints return everything needed to scope a report to the right tenant and apply the correct overtime rules. A first reporting integration is typically two to three days.

Example prompt: Call /v2/companies, then for each company call /v2/company/{company_id}/locations and /v2/company/{company_id}/labor_settings and emit a labor-settings summary by location.

### OAuth-Based Partner Integration

Partners building integrations such as POS sync or payroll exports use this curated spec to wire OAuth, identify the tenant, and start working with locations before scaling up to additional endpoints. The /oauth2/token and /v2/whoami calls give a clean entry point that avoids learning the full 138-endpoint partner API at once. Initial setup is typically a half-day to a day.

Example prompt: Call POST /oauth2/token to exchange the partner credentials, then call /v2/whoami to confirm the company ID and proceed with location-level work.

### Lightweight Restaurant Operations Dashboard

Operators that just need to monitor their existing 7shifts setup - labor settings, location list, inactive reasons - build a lightweight dashboard against this curated spec rather than the full API. The endpoints return all the configuration data needed for an operations overview. A single-page dashboard build is around two days.

Example prompt: Pull /v2/companies, /v2/company/{company_id}/locations, and /v2/company/{company_id}/inactive_reasons and render a single-page configuration overview.

### AI Agent Restaurant Configuration Assistant via Jentic

An AI assistant connected through Jentic can answer configuration questions like 'what overtime rules are applied at our Toronto location' by calling /v2/company/{company_id}/labor_settings and /v2/company/{company_id}/locations. Jentic stores the OAuth token in the vault and exposes operations by intent. End-to-end response time is under ten seconds per query.

Example prompt: Search Jentic for '7shifts labor settings for a company', load /v2/company/{company_id}/labor_settings, and execute it for the company ID returned by /v2/whoami.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | /oauth2/token | Exchange credentials for a 7shifts OAuth access token |
| GET | /v2/whoami | Identify the authenticated user and tenant |
| GET | /v2/companies | List companies the credential can access |
| GET | /v2/companies/{id} | Retrieve details for a specific company |
| GET | /v2/company/{company_id}/locations | List locations under a company |
| GET | /v2/company/{company_id}/locations/{location_id} | Retrieve a specific location |
| GET | /v2/company/{company_id}/labor_settings | Retrieve labor settings for a company |
| GET | /v2/company/{company_id}/inactive_reasons | List configured inactive reasons |

## Key resources

- **OAuth** — Token exchange endpoint for partner integrations
- **Whoami** — Identifies the authenticated user and tenant
- **Companies** — Top-level company records accessible to the credential
- **Locations** — Per-company restaurant location records
- **Labor Settings** — Overtime, break, and labor enforcement rules per company
- **Inactive Reasons** — Configured reasons used when marking employees inactive

## Why Jentic

- **Setup:** Wiring the 7shifts Restaurant Scheduling API by hand means managing its OAuth 2.0 flow, minting a token from the oauth2 endpoint, and threading the company id through the v2 endpoints yourself. Through Jentic you install once, import the 7shifts Restaurant Scheduling API from the API Directory, store the credentials once, and your agent calls it.
- **Permission scoping:** This API puts the company and location id in the URL path (/company/{company_id}/locations/{location_id}), so a rule can pin your agent to one company: it can read that company's locations and labor settings and nothing else. You choose the operations it may call, so any write is not included unless you add it.
- **Credential handling:** Your 7shifts OAuth client credentials and access token are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'list 7shifts locations' or 'get labor settings for a company', and Jentic returns the matching v2 operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **7shifts API (full)** — Full 138-endpoint 7shifts API for partner integrations
- **Deputy API** — Workforce and shift scheduling platform serving multiple industries
- **Asana API** — Project management API for restaurant operational projects
- **HubSpot CRM Contacts API** — CRM commonly used for restaurant guest contact records

## FAQ

### Why is there no official OpenAPI spec for 7shifts Restaurant Scheduling API?

7shifts publishes documentation at developers.7shifts.com but does not distribute a downloadable v2 OpenAPI specification scoped to this curated subset. Jentic generates and maintains this spec so AI agents and developers can call the core scheduling operations through structured tooling. It is validated against api.7shifts.com and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the 7shifts Restaurant Scheduling API use?

The API uses OAuth 2.0. Call POST /oauth2/token with your client credentials to receive an access token, then send it on subsequent requests. When called through Jentic the credentials are stored encrypted in the vault and the access token is refreshed automatically, so secrets never appear in the agent's prompt.

### Can I list all locations for a company with this API?

Yes. Call GET /v2/company/{company_id}/locations to list every location under a company. Each location record includes name, address, and operational metadata used for scheduling.

### What are the rate limits for the 7shifts Restaurant Scheduling API?

7shifts applies per-token rate limits that scale with integration tier rather than publishing a single public number. Back off on HTTP 429 responses with the Retry-After header. For dashboards, cache /v2/companies and /v2/company/{company_id}/labor_settings results since they change infrequently.

### How do I retrieve labor settings through Jentic?

After running pip install jentic and setting JENTIC_AGENT_API_KEY, search Jentic for '7shifts labor settings', load /v2/company/{company_id}/labor_settings, and execute it with the company ID. Jentic injects the OAuth access token automatically.

### How is this spec different from the full 7shifts API spec?

This curated v2 spec covers twelve core endpoints - OAuth, whoami, companies, locations, labor settings, and inactive reasons - suitable for most light integrations. The 7shifts/7-shifts spec available alongside it covers the full 138-endpoint partner surface including shift CRUD, time punches, time off, and engagement features.

### Can I limit what my agent is allowed to do with the 7shifts Restaurant Scheduling API?

Yes. Because you run Jentic One yourself, your own rules decide which 7shifts operations and credentials the agent may use. This API puts the company and location IDs in the URL path, such as /v2/company/{company_id}/locations, so you can pin the agent to a single company and let it read that company's locations and labor settings while blocking everything else. You choose which operations it may call, so a write such as updating a location is excluded unless you explicitly add it.
