openapi: 3.0.3 info: title: SmartHR Business Establishments API description: 'The SmartHR API is a per-tenant REST API for the SmartHR cloud HR / labor and personnel management platform (smarthr.jp). It exposes an organization''s employee ("crew") records and the master data around them - departments, employment types, custom field templates, business establishments - plus webhook subscriptions for change notifications. The API is served from each customer''s own tenant subdomain (https://{tenant}.smarthr.jp/api) and all resources live under the /v1 path. Authentication is a per-tenant access token passed as a Bearer token (or via HTTP Basic with the token as the username). This document models a representative, grounded subset of the API. The endpoints below are confirmed against SmartHR''s published API reference and the community Go SDK (github.com/ktsujichan/smarthr-sdk-go). SmartHR''s full API reference documents additional resources (dependents, bank accounts, payrolls, positions, job titles, tags, companies, and more) that are not modeled here.' version: '1.0' contact: name: SmartHR for Developers url: https://developer.smarthr.jp/ termsOfService: https://developer.smarthr.jp/terms/index.html servers: - url: https://{tenant}.smarthr.jp/api description: Production tenant. Replace {tenant} with your SmartHR subdomain. Each customer has their own subdomain; there is no single shared host. variables: tenant: default: your-subdomain description: The customer's SmartHR tenant subdomain. security: - bearerAuth: [] tags: - name: Business Establishments description: Business establishments (jigyosho) registered for the tenant. paths: /v1/biz_establishments: get: operationId: listBizEstablishments tags: - Business Establishments summary: List business establishments description: Lists the business establishments (jigyosho) registered for the tenant, used for social insurance and labor administration. parameters: - $ref: '#/components/parameters/Page' - $ref: '#/components/parameters/PerPage' responses: '200': description: A page of business establishments. headers: x-total-count: $ref: '#/components/headers/XTotalCount' content: application/json: schema: type: array items: $ref: '#/components/schemas/BizEstablishment' '401': $ref: '#/components/responses/Unauthorized' '429': $ref: '#/components/responses/TooManyRequests' components: parameters: Page: name: page in: query required: false description: Page number, starting at 1. schema: type: integer minimum: 1 default: 1 PerPage: name: per_page in: query required: false description: Number of records per page (max 100). schema: type: integer minimum: 1 maximum: 100 default: 10 schemas: Error: type: object properties: code: type: integer type: type: string message: type: string errors: type: array items: type: object additionalProperties: true BizEstablishment: type: object properties: id: type: string name: type: string hel_ins_name: type: string description: Health insurance office name. soc_ins_name: type: string description: Social insurance office name. soc_ins_office_symbol: type: string created_at: type: string format: date-time updated_at: type: string format: date-time responses: Unauthorized: description: Missing or invalid access token. content: application/json: schema: $ref: '#/components/schemas/Error' TooManyRequests: description: Rate limit exceeded. SmartHR allows 5,000 requests/hour and 10 requests/second per access token, and 50,000 requests/minute per subdomain. content: application/json: schema: $ref: '#/components/schemas/Error' headers: XTotalCount: description: Total number of records matching the query. schema: type: integer securitySchemes: bearerAuth: type: http scheme: bearer description: 'Per-tenant access token issued from the SmartHR admin console (or obtained via OAuth2 for registered apps), passed as `Authorization: Bearer ACCESS_TOKEN`. HTTP Basic auth with the access token as the username (`curl -u ACCESS_TOKEN`) is also accepted.'