{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/rutter/json-schema/rutter-list-hris-employee-response-with-connection-schema.json",
  "title": "ListHrisEmployeeResponseWithConnection",
  "x-generated": "2026-11-05",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/rutter-hris-api-openapi.yml#/components/schemas/ListHrisEmployeeResponseWithConnection",
  "type": "object",
  "properties": {
    "employees": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/HrisEmployee"
      }
    },
    "next_cursor": {
      "type": [
        "string",
        "null"
      ]
    },
    "connection": {
      "$ref": "#/$defs/Connection"
    }
  },
  "required": [
    "employees",
    "connection"
  ],
  "$defs": {
    "Connection": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid",
          "description": "The UUID of the connection. Generated by Rutter."
        },
        "orgId": {
          "type": "string",
          "format": "uuid",
          "description": "Your organization id."
        },
        "platform": {
          "$ref": "#/$defs/Platform"
        }
      },
      "required": [
        "id",
        "orgId",
        "platform"
      ]
    },
    "HrisEmployee": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid",
          "description": "The Rutter generated unique ID of the HRIS employee.",
          "x-rutter-platforms": {
            "ACUMATICA": {},
            "BAMBOO_HR": {},
            "DEEL": {},
            "GUSTO": {},
            "NETSUITE": {},
            "QUICKBOOKS_DESKTOP": {},
            "QUICKBOOKS_HRIS": {},
            "RIPPLING": {},
            "SAGE_50": {},
            "SAGE_INTACCT_V2": {},
            "VISTA": {},
            "WORKDAY": {}
          }
        },
        "platform_id": {
          "type": "string",
          "description": "The platform specific ID of the HRIS employee.",
          "x-rutter-platforms": {
            "ACUMATICA": {},
            "BAMBOO_HR": {},
            "DEEL": {},
            "GUSTO": {},
            "NETSUITE": {},
            "QUICKBOOKS_DESKTOP": {},
            "QUICKBOOKS_HRIS": {},
            "RIPPLING": {},
            "SAGE_50": {},
            "SAGE_INTACCT_V2": {},
            "VISTA": {},
            "WORKDAY": {}
          }
        },
        "department_id": {
          "type": [
            "string",
            "null"
          ],
          "format": "uuid",
          "description": "The Rutter ID of the [departments](/rest/version/hris-departments) linked to the employee.",
          "x-rutter-platforms": {
            "BAMBOO_HR": {},
            "GUSTO": {},
            "RIPPLING": {},
            "SAGE_INTACCT_V2": {}
          },
          "x-rutter-unsupportable-platforms": {
            "SAGE_50": {}
          }
        },
        "location_id": {
          "type": [
            "string",
            "null"
          ],
          "format": "uuid",
          "description": "The Rutter ID of the [locations](/rest/version/hris-locations) linked to the employee. The employee's work location.",
          "x-rutter-platforms": {
            "GUSTO": {},
            "SAGE_INTACCT_V2": {}
          },
          "x-rutter-unsupportable-platforms": {
            "SAGE_50": {}
          }
        },
        "manager_id": {
          "type": [
            "string",
            "null"
          ],
          "format": "uuid",
          "description": "The Rutter ID of the [organizations](/rest/version/hris-organizations) linked to the employee.",
          "x-rutter-platforms": {
            "GUSTO": {},
            "RIPPLING": {},
            "SAGE_INTACCT_V2": {}
          },
          "x-rutter-unsupportable-platforms": {
            "SAGE_50": {}
          }
        },
        "hire_date": {
          "type": [
            "string",
            "null"
          ],
          "description": "The date the employee was hired.",
          "x-rutter-platforms": {
            "DEEL": {},
            "NETSUITE": {},
            "QUICKBOOKS_DESKTOP": {},
            "RIPPLING": {},
            "SAGE_INTACCT_V2": {},
            "WORKDAY": {}
          },
          "x-rutter-unsupportable-platforms": {
            "SAGE_50": {}
          }
        },
        "termination_date": {
          "type": [
            "string",
            "null"
          ],
          "description": "If applicable, the date the employee was terminated.",
          "x-rutter-platforms": {
            "DEEL": {},
            "NETSUITE": {},
            "QUICKBOOKS_DESKTOP": {},
            "RIPPLING": {},
            "SAGE_INTACCT_V2": {},
            "WORKDAY": {}
          },
          "x-rutter-unsupportable-platforms": {
            "SAGE_50": {}
          }
        },
        "first_name": {
          "type": "string",
          "description": "Employee's first name.",
          "x-rutter-platforms": {
            "ACUMATICA": {},
            "BAMBOO_HR": {},
            "DEEL": {},
            "GUSTO": {},
            "NETSUITE": {},
            "QUICKBOOKS_DESKTOP": {},
            "QUICKBOOKS_HRIS": {},
            "RIPPLING": {},
            "SAGE_50": {},
            "SAGE_INTACCT_V2": {},
            "VISTA": {},
            "WORKDAY": {}
          }
        },
        "status": {
          "type": "string",
          "enum": [
            "active",
            "inactive",
            "terminated",
            "unknown"
          ],
          "description": "The status of the employee.",
          "x-rutter-platforms": {
            "ACUMATICA": {},
            "BAMBOO_HR": {},
            "DEEL": {},
            "GUSTO": {},
            "NETSUITE": {},
            "QUICKBOOKS_DESKTOP": {},
            "QUICKBOOKS_HRIS": {},
            "RIPPLING": {},
            "SAGE_50": {},
            "SAGE_INTACCT_V2": {},
            "VISTA": {},
            "WORKDAY": {}
          }
        },
        "custom_fields": {
          "type": "object",
          "additionalProperties": {},
          "description": "Custom fields on the employee. Note: for field type 'select', please use the values from options presented through 'GET /accounting/employees/custom_fields' endpoint. For field type 'boolean', please pass in a boolean value.",
          "x-rutter-platforms": {
            "DEEL": {},
            "RIPPLING": {}
          }
        },
        "email": {
          "type": [
            "string",
            "null"
          ],
          "description": "The employee's work email address, falling back to their primary email address if the platform does not distinguish the two.",
          "x-rutter-platforms": {
            "ACUMATICA": {},
            "BAMBOO_HR": {},
            "DEEL": {},
            "GUSTO": {},
            "NETSUITE": {},
            "RIPPLING": {},
            "SAGE_50": {},
            "SAGE_INTACCT_V2": {},
            "VISTA": {},
            "WORKDAY": {}
          }
        },
        "employee_number": {
          "type": [
            "string",
            "null"
          ],
          "description": "Unique employee identifier for payroll processing and expense tracking.",
          "x-rutter-platforms": {
            "ACUMATICA": {},
            "DEEL": {},
            "QUICKBOOKS_DESKTOP": {},
            "RIPPLING": {},
            "SAGE_50": {},
            "SAGE_INTACCT_V2": {},
            "VISTA": {},
            "WORKDAY": {}
          }
        },
        "last_name": {
          "type": [
            "string",
            "null"
          ],
          "description": "Employee's last name.",
          "x-rutter-platforms": {
            "ACUMATICA": {},
            "BAMBOO_HR": {},
            "DEEL": {},
            "GUSTO": {},
            "NETSUITE": {},
            "QUICKBOOKS_DESKTOP": {},
            "QUICKBOOKS_HRIS": {},
            "RIPPLING": {},
            "SAGE_INTACCT_V2": {},
            "VISTA": {},
            "WORKDAY": {}
          },
          "x-rutter-unsupportable-platforms": {
            "SAGE_50": {}
          }
        },
        "position": {
          "type": [
            "string",
            "null"
          ],
          "description": "Job title of the employee.",
          "x-rutter-platforms": {
            "BAMBOO_HR": {},
            "DEEL": {},
            "NETSUITE": {},
            "RIPPLING": {},
            "SAGE_INTACCT_V2": {},
            "WORKDAY": {}
          }
        },
        "salary": {
          "type": [
            "number",
            "null"
          ],
          "description": "The gross salary of the employee used in payroll and tax calculations.",
          "x-rutter-platforms": {
            "QUICKBOOKS_DESKTOP": {},
            "RIPPLING": {}
          },
          "x-rutter-unsupportable-platforms": {
            "ACUMATICA": {},
            "NETSUITE": {},
            "SAGE_50": {},
            "SAGE_INTACCT_V2": {},
            "VISTA": {}
          }
        },
        "bank_accounts": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "account_holder_name": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "The name of the account holder on the bank account."
              },
              "account_number": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "The bank account number. Some platforms only report this masked (e.g. Gusto returns the last four digits as `XXXX1234`).",
                "x-rutter-platforms": {
                  "GUSTO": {}
                }
              },
              "account_type": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "The type of the bank account, as reported by the platform.",
                "x-rutter-platforms": {
                  "GUSTO": {}
                }
              },
              "bank_name": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "The name of the bank."
              },
              "bic": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "The BIC / SWIFT code identifying the bank."
              },
              "country": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "The country code associated with the bank account."
              },
              "currency_code": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "The ISO currency code of the bank account."
              },
              "iban": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "The IBAN (International Bank Account Number)."
              },
              "name": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "The platform's label for the account, e.g. \"Checking Account\".",
                "x-rutter-platforms": {
                  "GUSTO": {}
                }
              },
              "routing_number": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "The routing / sort / transit number identifying the bank branch.",
                "x-rutter-platforms": {
                  "GUSTO": {}
                }
              },
              "split_amount": {
                "type": [
                  "number",
                  "null"
                ],
                "description": "The portion of the employee's pay deposited into this account. Interpreted according to `split_by` — a percentage or a fixed amount.",
                "x-rutter-platforms": {
                  "GUSTO": {}
                }
              },
              "split_by": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "How direct-deposit pay is divided across the employee's accounts, as reported by the platform, e.g. \"Percentage\" or \"Amount\".",
                "x-rutter-platforms": {
                  "GUSTO": {}
                }
              }
            },
            "required": [
              "account_holder_name",
              "account_number",
              "account_type",
              "bank_name",
              "bic",
              "country",
              "currency_code",
              "iban",
              "name",
              "routing_number",
              "split_amount",
              "split_by"
            ],
            "additionalProperties": false
          },
          "description": "The employee's bank / payout account details. Availability varies by platform and worker type, and bank data is often PII-gated.",
          "x-rutter-platforms": {
            "GUSTO": {}
          },
          "x-rutter-unsupportable-platforms": {
            "ACUMATICA": {},
            "NETSUITE": {},
            "SAGE_INTACCT_V2": {},
            "VISTA": {}
          }
        },
        "created_at": {
          "type": [
            "string",
            "null"
          ],
          "description": "The [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) timestamp that the HRIS employee was created.",
          "x-rutter-platforms": {
            "ACUMATICA": {},
            "DEEL": {},
            "NETSUITE": {},
            "QUICKBOOKS_DESKTOP": {},
            "QUICKBOOKS_HRIS": {},
            "RIPPLING": {},
            "SAGE_INTACCT_V2": {}
          }
        },
        "updated_at": {
          "type": [
            "string",
            "null"
          ],
          "description": "The [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) timestamp that the HRIS employee was last updated.",
          "x-rutter-platforms": {
            "ACUMATICA": {},
            "DEEL": {},
            "NETSUITE": {},
            "QUICKBOOKS_DESKTOP": {},
            "QUICKBOOKS_HRIS": {},
            "RIPPLING": {},
            "SAGE_INTACCT_V2": {},
            "VISTA": {},
            "WORKDAY": {}
          }
        },
        "last_synced_at": {
          "type": "string",
          "description": "The [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) timestamp when the HRIS employee was last synced by Rutter.",
          "x-rutter-platforms": {
            "ACUMATICA": {},
            "BAMBOO_HR": {},
            "DEEL": {},
            "GUSTO": {},
            "NETSUITE": {},
            "QUICKBOOKS_DESKTOP": {},
            "QUICKBOOKS_HRIS": {},
            "RIPPLING": {},
            "SAGE_50": {},
            "SAGE_INTACCT_V2": {},
            "VISTA": {},
            "WORKDAY": {}
          }
        },
        "platform_data": {
          "type": "object",
          "additionalProperties": {},
          "description": "The raw platform data corresponding to the Rutter object."
        }
      },
      "required": [
        "id",
        "platform_id",
        "department_id",
        "location_id",
        "manager_id",
        "hire_date",
        "termination_date",
        "first_name",
        "status",
        "email",
        "employee_number",
        "last_name",
        "position",
        "salary",
        "created_at",
        "updated_at",
        "last_synced_at"
      ]
    },
    "Platform": {
      "type": "string",
      "enum": [
        "AMAZON",
        "EBAY",
        "ETSY",
        "FNAC",
        "WALMART",
        "SHOPEE",
        "LAZADA",
        "MERCADOLIBRE",
        "ALIBABA",
        "WAYFAIR",
        "SHEIN",
        "NOON",
        "SHOPLINE",
        "PRESTASHOP",
        "SHOPIFY",
        "MAGENTO",
        "WOO_COMMERCE",
        "SQUARESPACE",
        "WIX",
        "SHOPER",
        "SHOPLAZZA",
        "BIG_COMMERCE",
        "SALLA",
        "ZID",
        "TIKTOKSHOP",
        "COMMERCELAYER",
        "WEBFLOW",
        "GUMROAD",
        "ECWID",
        "PAYPAL",
        "SQUARE",
        "STRIPE",
        "CLOVER",
        "MOLLIE",
        "PAYNL",
        "AUTHORIZENET",
        "RECHARGE",
        "CHARGIFY",
        "CHARGEBEE",
        "RECURLY",
        "KASHFLOW",
        "SAGE_INTACCT",
        "SAGE_INTACCT_V2",
        "DYNAMICS365",
        "DYNAMICS365FO",
        "ZOHOBOOKS",
        "EXACTONLINE",
        "FREEAGENT",
        "QUICKBOOKS",
        "QUICKBOOKS_DESKTOP",
        "FRESHBOOKS",
        "XERO",
        "SAGE_BUSINESS_CLOUD",
        "SAGE_50",
        "VISTA",
        "NETSUITE",
        "WAVE",
        "DUALENTRY",
        "CAMPFIRE",
        "RILLET",
        "SOFTLEDGER",
        "VISMA",
        "SPIRIS",
        "LEXWARE",
        "MONEYBIRD",
        "SAGE200CLOUD",
        "MX",
        "PLAID",
        "TELLER",
        "RAMP",
        "ODOO",
        "ACUMATICA",
        "FULFIL",
        "TALLY",
        "SAPBUSINESSONE",
        "SAPS4HANA",
        "WORKDAY",
        "ANFIX",
        "ORACLEFUSION",
        "HOLDED",
        "MYOBBUSINESS",
        "FORTNOX",
        "GOOGLE",
        "FACEBOOK",
        "TIKTOK",
        "INTUIT_BANK_FEEDS",
        "PLAID_BANK_FEEDS",
        "SAGE",
        "SAGE_BANK_FEEDS",
        "YODLEE_BANK_FEEDS",
        "QUICKBOOKS_HRIS",
        "BAMBOO_HR",
        "GUSTO",
        "DEEL",
        "RIPPLING"
      ],
      "description": "The underlying platform."
    }
  }
}