Harri Deprecated EmployeePositions API

The Deprecated EmployeePositions API from Harri — 8 operation(s) for deprecated employeepositions.

Operations 9

PUT /api/v3/employees/{employeeId}/locations/{locationId}/positions/{positionCode} Update position related info API #
POST /api/v1/employees/{employeeId}/locations/{locationId}/positions/{positionCode} Attach position to employee API #
DELETE /api/v1/employees/{employeeId}/locations/{locationId}/positions/{positionCode} Delete employee position for fixed and flixable pay type API #
POST /api/v1/employees/{employeeId}/positions/{positionCode}/set_primary Set employee primary position API #
POST /api/v2/employees/{employeeId}/locations/{locationId}/positions/{positionCode} Attach position to employee API #
POST /api/v2/employees/{employeeId}/positions/{positionCode} attach position to employee API #
DELETE /api/v1/employees/{employeeId}/positions/{positionCode} delete employee position for fixed pay type API #
GET /api/v2/employees/{employeeId}/positions retrieve employee positions #
GET /api/v1/employees/{employeeId}/positions retrieve employee positions #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/harri-deprecated-employeepositions-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

harri-deprecated-employeepositions-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Harri Employee Open Deprecated EmployeePositions API
  description: 'API for managing and retrieving employee data in the Harri system. - Notice: Harri''s API enforces a rate limit of 400 requests per minute. Once you exceed this limit, an HTTP 403 error is returned with a body that informs you that the limit has been exceeded. Please examine the API returns for this error so your software can respond appropriately. After 4 June, 2026, the rate limiting error will change from 403 to 429.'
  termsOfService: https://harri.com/terms
  version: 1.0.0
servers:
- url: https://gateway.harri.com/open-api-hub
tags:
- name: Deprecated EmployeePositions
paths:
  /api/v3/employees/{employeeId}/locations/{locationId}/positions/{positionCode}:
    put:
      deprecated: true
      tags:
      - Deprecated EmployeePositions
      summary: Update position related info API
      description: 'Update position related info - COST CENTERS, this will be used for fixed and flexible hourly employees

        '
      operationId: DeprecatedUpdateEmployeePositionV2
      parameters:
      - name: employeeId
        in: path
        description: employee id
        required: true
        schema:
          type: string
      - name: locationId
        in: path
        description: location id, should be the primary location for the employees with fixed pay type
        required: true
        schema:
          type: string
      - name: positionCode
        in: path
        description: position code
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                position:
                  type: object
                  properties:
                    cost_centers:
                      type: array
                      items:
                        type: object
                        properties:
                          id:
                            type: number
                          value:
                            type: object
                            properties:
                              id:
                                type: number
                            required:
                            - id
                        required:
                        - id
                  required:
                  - cost_centers
              required:
              - position
      responses:
        '200':
          description: successful operation
  /api/v1/employees/{employeeId}/locations/{locationId}/positions/{positionCode}:
    post:
      deprecated: true
      tags:
      - Deprecated EmployeePositions
      summary: Attach position to employee API
      description: Attach positions to an employee
      operationId: DeprecatedAttachEmployeePosition
      parameters:
      - name: employeeId
        in: path
        description: employee id
        required: true
        schema:
          type: string
      - name: locationId
        in: path
        description: location id, should be primary location for the employees with fixed pay type
        required: true
        schema:
          type: string
      - name: positionCode
        in: path
        description: position code
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                position:
                  type: object
                  properties:
                    is_primary:
                      type: boolean
                      description: Indicates whether this position is the primary role for a user. This value is determined based on the existence of a PRIMARY_POSITION service.
                    pay_type_id:
                      type: integer
                      description: Required if hourly_rate or tipped_status provided upon positoin creation
                    hourly_rate:
                      type: object
                      properties:
                        value:
                          type: number
                        start_date:
                          type: string
                          format: date
                        tronc:
                          type: number
                      description: this field should be defined only for Hourly employees
                    tipped_status:
                      type: object
                      properties:
                        is_tipped:
                          type: boolean
                        start_date:
                          type: string
                          format: date
                      description: this field should be defined only for Hourly employees
                    cost_centers:
                      type: array
                      items:
                        type: object
                        properties:
                          id:
                            type: number
                          value:
                            type: object
                            properties:
                              id:
                                type: number
                            required:
                            - id
                        required:
                        - id
              required:
              - position
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  position:
                    $ref: '#/components/schemas/DeprecatedEmployeePositionRelatedInfo'
    delete:
      deprecated: true
      tags:
      - Deprecated EmployeePositions
      summary: Delete employee position for fixed and flixable pay type API
      description: Delete employee position for fixed flixable pay type
      operationId: DeprecatedDeleteEmployeePosition
      parameters:
      - name: employeeId
        in: path
        description: employee id
        required: true
        schema:
          type: string
      - name: locationId
        in: path
        description: location id, should be primary location for the employees with fixed pay type
        required: true
        schema:
          type: string
      - name: positionCode
        in: path
        description: position code
        required: true
        schema:
          type: string
      responses:
        '200':
          description: successful operation
  /api/v1/employees/{employeeId}/positions/{positionCode}/set_primary:
    post:
      deprecated: true
      tags:
      - Deprecated EmployeePositions
      summary: Set employee primary position API
      description: Set employee primary position based on the primary location positions
      operationId: DeprecatedSetPrimaryEmployeePosition
      parameters:
      - name: employeeId
        in: path
        description: employee id
        required: true
        schema:
          type: string
      - name: positionCode
        in: path
        description: position code
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: successful operation
  /api/v2/employees/{employeeId}/locations/{locationId}/positions/{positionCode}:
    post:
      deprecated: true
      tags:
      - Deprecated EmployeePositions
      summary: Attach position to employee API
      description: Attach positions to an employee
      operationId: DeprecatedAttachEmployeePositionV2
      parameters:
      - name: employeeId
        in: path
        description: employee id
        required: true
        schema:
          type: string
      - name: locationId
        in: path
        description: location id, should be primary location for the employees with fixed pay type
        required: true
        schema:
          type: string
      - name: positionCode
        in: path
        description: position code
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                position:
                  type: object
                  properties:
                    is_primary:
                      type: boolean
                      description: Indicates whether this position is the primary role for a user. This value is determined based on the existence of a PRIMARY_POSITION service.
                    pay_type_id:
                      type: integer
                      description: Required if hourly_rate or tipped_status provided upon positoin creation
                    hourly_rate:
                      type: object
                      properties:
                        value:
                          type: number
                        start_date:
                          type: string
                          format: date
                        tronc_point:
                          type: number
                        tronc_rate:
                          type: number
                        tronc_amount:
                          type: number
                      description: this field should be defined only for Hourly employees
                    tipped_status:
                      type: object
                      properties:
                        is_tipped:
                          type: boolean
                        start_date:
                          type: string
                          format: date
                      description: this field should be defined only for Hourly employees
                    cost_centers:
                      type: array
                      items:
                        type: object
                        properties:
                          id:
                            type: number
                          value:
                            type: object
                            properties:
                              id:
                                type: number
                            required:
                            - id
                        required:
                        - id
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  position:
                    $ref: '#/components/schemas/DeprecatedEmployeePositionRelatedInfoV2'
  /api/v2/employees/{employeeId}/positions/{positionCode}:
    post:
      deprecated: true
      tags:
      - Deprecated EmployeePositions
      summary: attach position to employee API
      description: attach positions to an employee
      operationId: DeprecatedAttachPositionToEmployees
      parameters:
      - name: employeeId
        in: path
        description: employee id
        required: true
        schema:
          type: string
      - name: positionCode
        in: path
        description: position code
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                location_id:
                  type:
                  - string
                  - 'null'
                  description: this field should be defined only for Hourly employees
                pay_rate:
                  type:
                  - object
                  - 'null'
                  properties:
                    rate:
                      type: number
                    start_date:
                      type: string
                      format: date
                    tronc:
                      type: number
                  description: this field should be defined only for Hourly employees
                is_tipped:
                  type:
                  - boolean
                  - 'null'
                  description: this field should be defined only for Hourly employees
                cost_centers:
                  type: array
                  items:
                    type: object
                    properties:
                      id:
                        type: number
                      value:
                        type: object
                        properties:
                          id:
                            type: number
                        required:
                        - id
                    required:
                    - id
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/Position'
                - type: object
                  properties:
                    id:
                      type: number
                    employee_id:
                      type:
                      - string
                      - 'null'
                    location_id:
                      type:
                      - string
                      - 'null'
                    pay_rate:
                      $ref: '#/components/schemas/DeprecatedPayRateV2'
                    is_tipped:
                      type: boolean
                    cost_centers:
                      type: array
                      items:
                        $ref: '#/components/schemas/CostCenter'
  /api/v1/employees/{employeeId}/positions/{positionCode}:
    delete:
      deprecated: true
      tags:
      - Deprecated EmployeePositions
      summary: delete employee position for fixed pay type API
      description: delete employee position for fixed pay type
      operationId: DeprecatedDeleteEmployeePositionForFixedPayType
      parameters:
      - name: employeeId
        in: path
        description: employee id
        required: true
        schema:
          type: string
      - name: positionCode
        in: path
        description: position code
        required: true
        schema:
          type: string
      responses:
        '200':
          description: successful operation
  /api/v2/employees/{employeeId}/positions:
    get:
      deprecated: true
      tags:
      - Deprecated EmployeePositions
      summary: retrieve employee positions
      description: retrieve employee positions
      operationId: DeprecatedGetEmployeePositions
      parameters:
      - name: employeeId
        in: path
        description: employee id
        required: true
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DeprecatedEmployeePositionV2'
  /api/v1/employees/{employeeId}/positions:
    get:
      deprecated: true
      tags:
      - Deprecated EmployeePositions
      summary: retrieve employee positions
      description: retrieve employee positions
      operationId: DeprecatedGetEmployeePositionsV1
      parameters:
      - name: employeeId
        in: path
        description: employee id
        required: true
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DeprecatedEmployeePosition'
components:
  schemas:
    DeprecatedEmployeePositionRelatedInfo:
      allOf:
      - $ref: '#/components/schemas/Position'
      - type: object
        properties:
          id:
            type: number
          location_id:
            type: integer
          is_primary:
            type: boolean
            description: Indicates whether this position is the primary role for a user. This value is determined based on the existence of a PRIMARY_POSITION service.
          hourly_rate:
            $ref: '#/components/schemas/DeprecatedHourlyRate'
          tipped_status:
            $ref: '#/components/schemas/TippedStatus'
          cost_centers:
            type: array
            items:
              $ref: '#/components/schemas/CostCenter'
    CostCenter:
      type: object
      properties:
        id:
          type: number
        code:
          type: string
        name:
          type: string
        value:
          type: object
          properties:
            id:
              type: number
            code:
              type: string
            name:
              type: string
    TippedStatus:
      type: object
      properties:
        id:
          type: number
        is_tipped:
          type: boolean
        start_date:
          type: string
          format: date
    DeprecatedEmployeePositionV2:
      allOf:
      - $ref: '#/components/schemas/Position'
      - type: object
        properties:
          id:
            type: number
          location_id:
            type:
            - integer
            - 'null'
            description: this field is nullable, it depends on pay type. this will be defined only if pay type is HOURLY and cross location mode is FLEXIBLE
          pay_rates:
            type: array
            items:
              $ref: '#/components/schemas/DeprecatedPayRateV2'
          is_tipped:
            type: boolean
            description: this field is nullable, it depends on pay type. this will have value only if pay type is HOURLY
          cost_centers:
            type: array
            items:
              $ref: '#/components/schemas/CostCenter'
    DeprecatedEmployeePositionRelatedInfoV2:
      allOf:
      - $ref: '#/components/schemas/Position'
      - type: object
        properties:
          id:
            type: number
          location_id:
            type: string
          is_primary:
            type: boolean
            description: Indicates whether this position is the primary role for a user. This value is determined based on the existence of a PRIMARY_POSITION service.
          hourly_rate:
            $ref: '#/components/schemas/HourlyRate'
          tipped_status:
            $ref: '#/components/schemas/TippedStatus'
          cost_centers:
            type: array
            items:
              $ref: '#/components/schemas/CostCenter'
    Position:
      type: object
      properties:
        code:
          type: string
        name:
          type: string
        category:
          type: object
          properties:
            id:
              type: number
            code:
              type: string
            name:
              type: string
    HourlyRate:
      type: object
      properties:
        id:
          type: number
        value:
          type: number
        start_date:
          type: string
          format: date
        tronc_point:
          type: number
        tronc_amount:
          type: number
        tronc_rate:
          type: number
    DeprecatedPayRate:
      type: object
      properties:
        id:
          type: number
        rate:
          type: number
        tronc:
          type: number
    DeprecatedPayRateV2:
      type: object
      properties:
        id:
          type: number
        rate:
          type: number
        start_date:
          type: string
          format: date
        tronc:
          type: number
    DeprecatedEmployeePosition:
      allOf:
      - $ref: '#/components/schemas/Position'
      - type: object
        properties:
          id:
            type: number
          location_id:
            type:
            - integer
            - 'null'
            description: this field is nullable, it depends on pay type. this will be defined only if pay type is HOURLY and cross location mode is FLEXIBLE
          pay_rate:
            type:
            - object
            - 'null'
            allOf:
            - $ref: '#/components/schemas/DeprecatedPayRate'
            description: this field is nullable, it depends on pay type. this will have value only if pay type is HOURLY
          is_tipped:
            type: boolean
            description: this field is nullable, it depends on pay type. this will have value only if pay type is HOURLY
          cost_centers:
            type: array
            items:
              $ref: '#/components/schemas/CostCenter'
    DeprecatedHourlyRate:
      type: object
      properties:
        id:
          type: number
        value:
          type: number
        start_date:
          type: string
          format: date
        tronc:
          type: number
  securitySchemes:
    oAuth2ClientCredentials:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://oauth.harri.com/oauth2/token
          scopes: {}