Employment Hero Employee Document API

Employee Documents

Operations 12

GET /api/v2/business/{businessId}/employee/{employeeId}/document List Employee Documents #
POST /api/v2/business/{businessId}/employee/{employeeId}/document Create Employee Document #
PUT /api/v2/business/{businessId}/employee/{employeeId}/document Update Employee Document Permissions #
GET /api/v2/business/{businessId}/employee/{employeeId}/document/{employeeDocumentId} Get Employee Document Details #
DELETE /api/v2/business/{businessId}/employee/{employeeId}/document/{employeeDocumentId} Delete Employee Document #
GET /api/v2/business/{businessId}/employee/{employeeId}/document/{employeeDocumentId}/content Get Employee Document Content #

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/employment-hero:employment-hero-employeedocument-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

employment-hero-employeedocument-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Employment Hero Employee Document API
  version: '1.0'
  description: 'Operations tagged EmployeeDocument across 5 of this provider''s published API definitions: employment-hero-payroll-au-swagger.json, employment-hero-payroll-my-swagger.json, employment-hero-payroll-nz-swagger.json, employment-hero-payroll-sg-swagger.json, employment-hero-payroll-uk-swagger.json. Each path carries the servers of the definition it was published in.'
security:
- basic: []
- apiKey: []
- oauth2:
  - read
  - write
- basic: []
- apiKey: []
- oauth2:
  - read
  - write
- basic: []
- apiKey: []
- oauth2:
  - read
  - write
- basic: []
- apiKey: []
- oauth2:
  - read
  - write
- basic: []
- apiKey: []
- oauth2:
  - read
  - write
tags:
- name: EmployeeDocument
  description: Employee Documents
paths:
  /api/v2/business/{businessId}/employee/{employeeId}/document:
    get:
      tags:
      - EmployeeDocument
      summary: List Employee Documents
      description: Lists all the documents for this employee.
      operationId: EmployeeDocument_List
      parameters:
      - in: path
        name: businessId
        required: true
        schema:
          type: string
      - in: path
        name: employeeId
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                title: List<EmployeeDocumentModel>
                type: array
                items:
                  $ref: '#/components/schemas/EmployeeDocumentModel'
            application/xml:
              schema:
                title: List<EmployeeDocumentModel>
                type: array
                items:
                  $ref: '#/components/schemas/EmployeeDocumentModel'
            text/plain:
              schema:
                title: List<EmployeeDocumentModel>
                type: array
                items:
                  $ref: '#/components/schemas/EmployeeDocumentModel'
            application/octet-stream:
              schema:
                title: List<EmployeeDocumentModel>
                type: array
                items:
                  $ref: '#/components/schemas/EmployeeDocumentModel'
            text/json:
              schema:
                title: List<EmployeeDocumentModel>
                type: array
                items:
                  $ref: '#/components/schemas/EmployeeDocumentModel'
    post:
      tags:
      - EmployeeDocument
      summary: Create Employee Document
      description: Uploads new document(s) for this employee. The request should be a MIME multipart file upload request.
      operationId: EmployeeDocument_Upload
      parameters:
      - in: query
        name: visible
        title: Boolean
        schema:
          type: boolean
          default: false
      - in: path
        name: businessId
        required: true
        schema:
          type: string
      - in: path
        name: employeeId
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                title: List<EmployeeDocumentModel>
                type: array
                items:
                  $ref: '#/components/schemas/EmployeeDocumentModel'
                x-title: List<EmployeeDocumentModel>
            application/xml:
              schema:
                title: List<EmployeeDocumentModel>
                type: array
                items:
                  $ref: '#/components/schemas/EmployeeDocumentModel'
                x-title: List<EmployeeDocumentModel>
            text/plain:
              schema:
                title: List<EmployeeDocumentModel>
                type: array
                items:
                  $ref: '#/components/schemas/EmployeeDocumentModel'
                x-title: List<EmployeeDocumentModel>
            application/octet-stream:
              schema:
                title: List<EmployeeDocumentModel>
                type: array
                items:
                  $ref: '#/components/schemas/EmployeeDocumentModel'
                x-title: List<EmployeeDocumentModel>
            text/json:
              schema:
                title: List<EmployeeDocumentModel>
                type: array
                items:
                  $ref: '#/components/schemas/EmployeeDocumentModel'
                x-title: List<EmployeeDocumentModel>
        '415':
          description: Unsupported Media Type
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/xml:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/octet-stream:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
    put:
      tags:
      - EmployeeDocument
      summary: Update Employee Document Permissions
      description: Updates permissions for the employee document with the specified ID.
      operationId: EmployeeDocument_UpdatePermissions
      parameters:
      - in: path
        name: businessId
        required: true
        schema:
          type: string
      - in: path
        name: employeeId
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmployeeDocumentModel'
            application/xml:
              schema:
                $ref: '#/components/schemas/EmployeeDocumentModel'
            text/plain:
              schema:
                $ref: '#/components/schemas/EmployeeDocumentModel'
            application/octet-stream:
              schema:
                $ref: '#/components/schemas/EmployeeDocumentModel'
            text/json:
              schema:
                $ref: '#/components/schemas/EmployeeDocumentModel'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/xml:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/octet-stream:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateEmployeeDocumentPermissionsModel'
          application/xml:
            schema:
              $ref: '#/components/schemas/UpdateEmployeeDocumentPermissionsModel'
          text/plain:
            schema:
              $ref: '#/components/schemas/UpdateEmployeeDocumentPermissionsModel'
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/UpdateEmployeeDocumentPermissionsModel'
          text/json:
            schema:
              $ref: '#/components/schemas/UpdateEmployeeDocumentPermissionsModel'
          application/*+json:
            schema:
              $ref: '#/components/schemas/UpdateEmployeeDocumentPermissionsModel'
  /api/v2/business/{businessId}/employee/{employeeId}/document/{employeeDocumentId}:
    get:
      tags:
      - EmployeeDocument
      summary: Get Employee Document Details
      description: Gets the details for the employee document with the specified ID.
      operationId: EmployeeDocument_Get
      parameters:
      - in: path
        name: employeeDocumentId
        required: true
        title: Int32
        schema:
          type: integer
          format: int32
      - in: path
        name: businessId
        required: true
        schema:
          type: string
      - in: path
        name: employeeId
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmployeeDocumentModel'
            application/xml:
              schema:
                $ref: '#/components/schemas/EmployeeDocumentModel'
            text/plain:
              schema:
                $ref: '#/components/schemas/EmployeeDocumentModel'
            application/octet-stream:
              schema:
                $ref: '#/components/schemas/EmployeeDocumentModel'
            text/json:
              schema:
                $ref: '#/components/schemas/EmployeeDocumentModel'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/xml:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/octet-stream:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
    delete:
      tags:
      - EmployeeDocument
      summary: Delete Employee Document
      description: Deletes the employee document with the specified ID.
      operationId: EmployeeDocument_Delete_2
      parameters:
      - in: path
        name: employeeDocumentId
        required: true
        title: Int32
        schema:
          type: integer
          format: int32
      - in: path
        name: businessId
        required: true
        schema:
          type: string
      - in: path
        name: employeeId
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/xml:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/octet-stream:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
  /api/v2/business/{businessId}/employee/{employeeId}/document/{employeeDocumentId}/content:
    get:
      tags:
      - EmployeeDocument
      summary: Get Employee Document Content
      description: Get the file content for the employee document with the specified ID.
      operationId: EmployeeDocument_Content
      parameters:
      - in: path
        name: employeeDocumentId
        required: true
        title: Int32
        schema:
          type: integer
          format: int32
      - in: path
        name: businessId
        required: true
        schema:
          type: string
      - in: path
        name: employeeId
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DocumentFile'
            application/xml:
              schema:
                $ref: '#/components/schemas/DocumentFile'
            text/plain:
              schema:
                $ref: '#/components/schemas/DocumentFile'
            application/octet-stream:
              schema:
                $ref: '#/components/schemas/DocumentFile'
            text/json:
              schema:
                $ref: '#/components/schemas/DocumentFile'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/xml:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/octet-stream:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
  /api/v2/business/{businessId}/employee/{employeeId}/document/{employeeDocumentId}/expense/{expenseRequestId}:
    post:
      tags:
      - EmployeeDocument
      summary: Link Employee Document to Expense Request
      description: Takes the specified employee document and adds it as an attachment to the expense request with the specified ID.
      operationId: EmployeeDocumentEmployeeExpenseLink_CreateLink
      parameters:
      - in: path
        name: employeeDocumentId
        required: true
        title: Int32
        schema:
          type: integer
          format: int32
      - in: path
        name: expenseRequestId
        required: true
        title: Int32
        schema:
          type: integer
          format: int32
      - in: path
        name: businessId
        required: true
        schema:
          type: string
      - in: path
        name: employeeId
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/xml:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/octet-stream:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/xml:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/octet-stream:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
    delete:
      tags:
      - EmployeeDocument
      summary: Unlink Employee Document from Expense Request
      description: If the specified employee document is attached to the specified expense request, unattach it.
      operationId: EmployeeDocumentEmployeeExpenseLink_Delete
      parameters:
      - in: path
        name: employeeDocumentId
        required: true
        title: Int32
        schema:
          type: integer
          format: int32
      - in: path
        name: expenseRequestId
        required: true
        title: Int32
        schema:
          type: integer
          format: int32
      - in: path
        name: businessId
        required: true
        schema:
          type: string
      - in: path
        name: employeeId
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/xml:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/octet-stream:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
  /api/v2/business/{businessId}/employee/{employeeId}/document/{employeeDocumentId}/leave/{leaveRequestId}:
    post:
      tags:
      - EmployeeDocument
      summary: Link Employee Document to Leave Request
      description: Takes the specified employee document and adds it as an attachment to the leave request with the specified ID.
      operationId: EmployeeDocumentLeaveLink_CreateLink
      parameters:
      - in: path
        name: employeeDocumentId
        required: true
        title: Int32
        schema:
          type: integer
          format: int32
      - in: path
        name: leaveRequestId
        required: true
        title: Int32
        schema:
          type: integer
          format: int32
      - in: path
        name: businessId
        required: true
        schema:
          type: string
      - in: path
        name: employeeId
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/xml:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/octet-stream:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/xml:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/octet-stream:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
    delete:
      tags:
      - EmployeeDocument
      summary: Unlink Employee Document from Leave Request
      description: If the specified employee document is attached to the specified leave request, unattach it.
      operationId: EmployeeDocumentLeaveLink_RemoveLink
      parameters:
      - in: path
        name: employeeDocumentId
        required: true
        title: Int32
        schema:
          type: integer
          format: int32
      - in: path
        name: leaveRequestId
        required: true
        title: Int32
        schema:
          type: integer
          format: int32
      - in: path
        name: businessId
        required: true
        schema:
          type: string
      - in: path
        name: employeeId
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/xml:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/octet-stream:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
  /api/v2/business/{businessId}/employee/{employeeId}/document/{employeeDocumentId}/timesheet/{timesheetLineId}:
    post:
      tags:
      - EmployeeDocument
      summary: Link Employee Document to Timesheet
      description: Takes the specified employee document and adds it as an attachment to the timesheet with the specified ID.
      operationId: EmployeeDocumentTimesheetLink_CreateLink
      parameters:
      - in: path
        name: employeeDocumentId
        required: true
        title: Int32
        schema:
          type: integer
          format: int32
      - in: path
        name: timesheetLineId
        required: true
        title: Int32
        schema:
          type: integer
          format: int32
      - in: path
        name: businessId
        required: true
        schema:
          type: string
      - in: path
        name: employeeId
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/xml:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/octet-stream:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/xml:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/octet-stream:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
    delete:
      tags:
      - EmployeeDocument
      summary: Unlink Employee Document from Timesheet
      description: If the specified employee document is attached to the specified timesheet, unattach it.
      operationId: EmployeeDocumentTimesheetLink_RemoveLink
      parameters:
      - in: path
        name: employeeDocumentId
        required: true
        title: Int32
        schema:
          type: integer
          format: int32
      - in: path
        name: timesheetLineId
        required: true
        title: Int32
        schema:
          type: integer
          format: int32
      - in: path
        name: businessId
        required: true
        schema:
          type: string
      - in: path
        name: employeeId
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/xml:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/octet-stream:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
components:
  schemas:
    UpdateEmployeeDocumentPermissionsModel:
      title: UpdateEmployeeDocumentPermissionsModel
      type: object
      properties:
        id:
          format: int32
          title: Int32
          type: integer
          x-title: Int32
        visible:
          title: Boolean
          type: boolean
          x-title: Boolean
        requiresEmployeeAcknowledgement:
          title: Boolean
          type: boolean
          x-title: Boolean
        sendNotificationToEmployee:
          title: Boolean
          type: boolean
          x-title: Boolean
        sendNotificationImmediately:
          title: Boolean
          type: boolean
          x-title: Boolean
        sendInitialNotificationOn:
          format: date-time
          title: Nullable<DateTime>
          type: string
          x-title: Nullable<DateTime>
        sendReminderEveryXDays:
          format: int32
          title: Nullable<Int32>
          type: integer
          x-title: Nullable<Int32>
      additionalProperties: false
    DocumentFile:
      title: DocumentFile
      type: object
      properties:
        contentLength:
          format: int64
          title: Int64
          type: integer
          x-title: Int64
        contentType:
          title: String
          type: string
          x-title: String
        bytes:
          format: byte
          title: Byte[]
          type: string
          x-title: Byte[]
        filename:
          title: String
          type: string
          x-title: String
      additionalProperties: false
    ProblemDetails:
      title: ProblemDetails
      type: object
      properties:
        type:
          title: String
          type: string
          x-title: String
        title:
          title: String
          type: string
          x-title: String
        status:
          format: int32
          title: Nullable<Int32>
          type: integer
          x-title: Nullable<Int32>
        detail:
          title: String
          type: string
          x-title: String
        instance:
          title: String
          type: string
          x-title: String
      additionalProperties:
        title: Object
        x-title: Object
        type: object
    EmployeeDocumentModel:
      title: EmployeeDocumentModel
      type: object
      properties:
        id:
          format: int32
          title: Int32
          type: integer
          x-title: Int32
        friendlyName:
          title: String
          type: string
          x-title: String
        dateCreated:
          format: date-time
          title: DateTime
          type: string
          x-title: DateTime
        visible:
          title: Boolean
          type: boolean
          x-title: Boolean
        leaveRequestId:
          format: int32
          title: Nullable<Int32>
          type: integer
          x-title: Nullable<Int32>
        timesheetLineId:
          format: int32
          title: Nullable<Int32>
          type: integer
          x-title: Nullable<Int32>
      additionalProperties: false
  securitySchemes:
    basic:
      type: http
      scheme: basic
      description: Your API key should be the username and the password can be left blank
    apiKey:
      type: apiKey
      in: header
      description: API Key Authentication
    oauth2:
      type: oauth2
      flows:
        implicit:
          scopes:
            read: Read access to protected resources
            write: Write access to protected resources
          authorizationUrl: https://keypay.yourpayroll.com.au/oauth/authorise
      description: OAuth2 Implicit Grant
x-refined-from:
- employment-hero-payroll-au-swagger.json
- employment-hero-payroll-my-swagger.json
- employment-hero-payroll-nz-swagger.json
- employment-hero-payroll-sg-swagger.json
- employment-hero-payroll-uk-swagger.json