7shifts Companies API

Company resources for 7shifts accounts.

OpenAPI Specification

7shifts-companies-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: 7shifts Availability Companies API
  version: '2.0'
  description: 7shifts is a restaurant employee scheduling, time-tracking, and team management platform. The 7shifts API v2 is a REST API for managing companies, locations, departments, roles, users (employees), schedules, shifts, time punches, wages, time off, availability, sales receipts, forecasts, tasks, tip pools, and webhooks. Authentication uses Bearer access tokens for internal access or OAuth 2.0 client credentials for partner integrations. Endpoints documented here were confirmed from the 7shifts developer reference (developers.7shifts.com) and its llms.txt index. Most resources are scoped to a company via the /v2/company/{company_id} path prefix. Collection endpoints use cursor-based pagination via the cursor and limit query parameters. Date-based API versions are selected with the x-api-version header (YYYY-MM-DD).
  contact:
    name: 7shifts Developer Portal
    url: https://developers.7shifts.com/reference/introduction
  license:
    name: 7shifts API Terms
    url: https://www.7shifts.com/legal/terms-of-service
servers:
- url: https://api.7shifts.com
  description: 7shifts API production base URL
tags:
- name: Companies
  description: Company resources for 7shifts accounts.
paths:
  /v2/companies:
    get:
      tags:
      - Companies
      operationId: listCompanies
      summary: List Companies
      parameters:
      - name: modified_since
        in: query
        required: false
        description: Return companies modified since the specified date (YYYY-MM-DD).
        schema:
          type: string
      - $ref: '#/components/parameters/ApiVersionHeader'
      - $ref: '#/components/parameters/CompanyGuidHeader'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Company'
                  meta:
                    $ref: '#/components/schemas/CursorMeta'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Server error
      security:
      - bearerAuth: []
  /v2/companies/{company_id}:
    get:
      tags:
      - Companies
      operationId: retrieveCompany
      summary: Retrieve Company
      parameters:
      - $ref: '#/components/parameters/CompanyIdPath'
      - $ref: '#/components/parameters/ApiVersionHeader'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/Company'
        '403':
          description: Forbidden
        '404':
          description: Not found
      security:
      - bearerAuth: []
components:
  schemas:
    Company:
      title: Company
      type: object
      properties:
        id:
          type: integer
          format: int64
        name:
          type: string
        country_code:
          type: string
        timezone:
          type: string
        active:
          type: boolean
        created:
          type: string
          format: date-time
        modified:
          type: string
          format: date-time
    CursorMeta:
      title: Cursor Meta
      type: object
      description: Cursor-based pagination metadata.
      properties:
        cursor:
          type: object
          properties:
            current:
              type: string
            next:
              type: string
              nullable: true
            prev:
              type: string
              nullable: true
        count:
          type: integer
  parameters:
    CompanyIdPath:
      name: company_id
      in: path
      required: true
      description: Company identifier.
      schema:
        type: integer
        format: int64
    ApiVersionHeader:
      name: x-api-version
      in: header
      required: false
      description: 7shifts API version (YYYY-MM-DD).
      schema:
        type: string
    CompanyGuidHeader:
      name: x-company-guid
      in: header
      required: false
      description: Company GUID.
      schema:
        type: string
        format: uuid
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Access token obtained from /oauth2/token passed as a Bearer token.
    oauth2:
      type: oauth2
      description: OAuth 2.0 with client_credentials, password, authorization_code, and refresh_token grant types.
      flows:
        clientCredentials:
          tokenUrl: https://api.7shifts.com/oauth2/token
          scopes: {}