object Payroll
{
  "type": "object",
  "x-tags": [
    "Payrolls"
  ],
  "properties": {
    "totals": {
      "$ref": "#/components/schemas/Payroll-Totals-Type"
    },
    "external": {
      "$ref": "#/components/schemas/Payroll-External-Type"
    },
    "off_cycle": {
      "$ref": "#/components/schemas/Payroll-Off-Cycle-Type"
    },
    "processed": {
      "$ref": "#/components/schemas/Payroll-Processed-Type"
    },
    "check_date": {
      "$ref": "#/components/schemas/Payroll-Check-Date-Type"
    },
    "created_at": {
      "$ref": "#/components/schemas/Created-At-Type"
    },
    "pay_period": {
      "$ref": "#/components/schemas/Payroll-Pay-Period-Type"
    },
    "company_uuid": {
      "$ref": "#/components/schemas/Payroll-Company-Uuid-Type"
    },
    "payroll_uuid": {
      "$ref": "#/components/schemas/Payroll-Payroll-Uuid-Type"
    },
    "calculated_at": {
      "$ref": "#/components/schemas/Payroll-Calculated-At-Type"
    },
    "company_taxes": {
      "$ref": "#/components/schemas/Payroll-Company-Taxes-Type"
    },
    "processed_date": {
      "$ref": "#/components/schemas/Payroll-Processed-Date-Type"
    },
    "off_cycle_reason": {
      "$ref": "#/components/schemas/Off-Cycle-Reason-Type"
    },
    "payroll_deadline": {
      "$ref": "#/components/schemas/Payroll-Deadline-Type"
    },
    "payroll_status_meta": {
      "$ref": "#/components/schemas/Payroll-Payroll-Status-Meta-Type"
    },
    "payment_speed_changed": {
      "$ref": "#/components/schemas/Payroll-Payment-Speed-Changed-Type"
    },
    "employee_compensations": {
      "$ref": "#/components/schemas/Payroll-Employee-Compensations-Type"
    },
    "fixed_withholding_rate": {
      "$ref": "#/components/schemas/Payroll-Fixed-Withholding-Rate-Type"
    },
    "withholding_pay_period": {
      "$ref": "#/components/schemas/Payroll-Withholding-Pay-Period-Type"
    },
    "skip_regular_deductions": {
      "$ref": "#/components/schemas/Payroll-Skip-Regular-Deductions-Type"
    },
    "final_termination_payroll": {
      "$ref": "#/components/schemas/Payroll-Final-Termination-Payroll-Type"
    }
  },
  "description": ""
}
object Payroll-Blocker
{
  "type": "object",
  "properties": {
    "key": {
      "type": "string",
      "description": "The unique identifier of the reason"
    },
    "message": {
      "type": "string",
      "description": "User-friendly message describing the payroll blocker."
    }
  }
}
object Payroll-Blockers-Error
{
  "type": "object",
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Human readable description of the payroll blocker"
          },
          "category": {
            "type": "string",
            "description": "The string \"payroll_blocker\""
          },
          "metadata": {
            "type": "object",
            "properties": {
              "key": {
                "type": "string",
                "description": "A categorization of the payroll blocker, e.g. \"geocode_error\""
              }
            }
          },
          "error_key": {
            "type": "string",
            "description": "The string \"base\""
          }
        }
      }
    }
  },
  "description": "Payroll Blockers Error\n\nFor detailed information, see the [Payroll Blockers guide](https://docs.gusto.com/embedded-payroll/docs/payroll-blockers)"
}
string Payroll-Calculated-At-Type
{
  "type": "string",
  "readOnly": true,
  "description": "A timestamp of the last valid payroll calculation. Null is there isn't a valid calculation."
}
object Payroll-Check
{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "description": "Current status of the Generated Document"
    },
    "payroll_uuid": {
      "type": "string",
      "description": "A unique identifier of the payroll."
    },
    "request_uuid": {
      "type": "string",
      "description": "A unique identifier of the Generated Document request"
    },
    "printing_format": {
      "type": "string",
      "description": "The format the checks will be printed."
    },
    "starting_check_number": {
      "type": "string",
      "description": "The starting check number for the checks being printed."
    }
  },
  "x-examples": {
    "example-1": {
      "status": "pending",
      "payroll_uuid": "a83d0bd8-7d20-43b9-834c-6d514ef6cb20",
      "request_uuid": "p83d0ca8-7d41-42a9-834y-7d218ef6cb20",
      "printing_format": "top",
      "starting_check_number": "10"
    }
  }
}
string Payroll-Check-Date-Type
{
  "type": "string",
  "readOnly": true,
  "description": "The date on which employees will be paid for the payroll."
}
array Payroll-Company-Taxes-Type
{
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "name": {
        "type": "string",
        "description": "The tax name"
      },
      "amount": {
        "type": "string",
        "description": "The amount of this tax for the payroll"
      },
      "employer": {
        "type": "boolean",
        "description": "Whether this tax is an employer or employee tax"
      }
    }
  },
  "description": "An array of taxes applicable to this payroll in addition to taxes included in `employee_compensations`. Only included for processed or calculated payrolls when `taxes` is present in the `include` parameter.",
  "uniqueItems": false
}
string Payroll-Company-Uuid-Type
{
  "type": "string",
  "readOnly": true,
  "description": "The UUID of the company for the payroll."
}
string Payroll-Deadline-Type
{
  "type": "string",
  "format": "date-time",
  "readOnly": true,
  "description": "A timestamp that is the deadline for the payroll to be run in order for employees to be paid on time."
}
array Payroll-Employee-Compensations-Type
{
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "memo": {
        "type": "string",
        "nullable": true,
        "readOnly": true,
        "description": "Custom text that will be printed as a personal note to the employee on a paystub."
      },
      "taxes": {
        "type": "array",
        "items": {
          "type": "object",
          "readOnly": true,
          "required": [
            "name",
            "employer",
            "amount"
          ],
          "properties": {
            "name": {
              "type": "string",
              "minLength": 1
            },
            "amount": {
              "type": "string",
              "minLength": 1
            },
            "employer": {
              "type": "boolean"
            }
          }
        },
        "readOnly": true,
        "description": "An array of employer and employee taxes for the pay period. Only included for processed or calculated payrolls when `taxes` is present in the `include` parameter.",
        "uniqueItems": false
      },
      "net_pay": {
        "type": "string",
        "nullable": true,
        "readOnly": true,
        "description": "The employee's net pay, equal to gross_pay - employee taxes - employee deductions or garnishments - cash tips. This value is only available for processed payrolls."
      },
      "version": {
        "type": "string",
        "description": "The current version of this employee compensation. This field is only available for prepared payrolls. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field."
      },
      "benefits": {
        "type": "array",
        "items": {
          "type": "object",
          "readOnly": true,
          "properties": {
            "name": {
              "type": "string",
              "readOnly": true
            },
            "imputed": {
              "type": "boolean"
            },
            "employee_deduction": {
              "type": "string",
              "readOnly": true
            },
            "company_contribution": {
              "type": "string",
              "readOnly": true
            }
          }
        },
        "readOnly": true,
        "description": "An array of employee benefits for the pay period. Benefits are only included for processed payroll when the include parameter is present.",
        "uniqueItems": false
      },
      "excluded": {
        "type": "boolean",
        "readOnly": true,
        "description": "This employee will be excluded from payroll calculation and will not be paid for the payroll. Cancelling a payroll would reset all employees' excluded back to false."
      },
      "gross_pay": {
        "type": "string",
        "nullable": true,
        "readOnly": true,
        "description": "The employee's gross pay, equal to regular wages + cash tips + payroll tips + any other additional earnings, excluding imputed income. This value is only available for processed payrolls."
      },
      "deductions": {
        "type": "array",
        "items": {
          "type": "object",
          "readOnly": true,
          "properties": {
            "name": {
              "type": "string",
              "readOnly": true
            },
            "amount": {
              "type": "string",
              "readOnly": true
            }
          }
        },
        "readOnly": true,
        "description": "An array of employee deductions for the pay period. Deductions are only included for processed payroll when the include parameter is present.",
        "uniqueItems": false
      },
      "check_amount": {
        "type": "string",
        "nullable": true,
        "readOnly": true,
        "description": "The employee's check amount, equal to net_pay + reimbursements. This value is only available for processed payrolls."
      },
      "employee_uuid": {
        "type": "string",
        "readOnly": true,
        "description": "The UUID of the employee."
      },
      "paid_time_off": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The name of the PTO. This also serves as the unique, immutable identifier for the PTO."
            },
            "hours": {
              "type": "string",
              "description": "The hours of this PTO taken during the pay period."
            },
            "final_payout_unused_hours_input": {
              "type": "string",
              "description": "The outstanding hours paid upon termination. This field is only applicable for termination payrolls."
            }
          }
        },
        "description": "An array of all paid time off the employee is eligible for this pay period.",
        "uniqueItems": false
      },
      "payment_method": {
        "enum": [
          "Check",
          "Direct Deposit"
        ],
        "type": "string",
        "nullable": true,
        "description": "The employee's compensation payment method."
      },
      "fixed_compensations": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The name of the compensation. This also serves as the unique, immutable identifier for this compensation."
            },
            "amount": {
              "type": "string",
              "description": "The amount of the compensation for the pay period."
            },
            "job_uuid": {
              "type": "string",
              "readOnly": true,
              "description": "The UUID of the job for the compensation."
            }
          }
        },
        "description": "An array of fixed compensations for the employee. Fixed compensations include tips, bonuses, and one time reimbursements. If this payroll has been processed, only fixed compensations with a value greater than 0.00 are returned. For an unprocessed payroll, all active fixed compensations are returned.",
        "uniqueItems": false
      },
      "hourly_compensations": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The name of the compensation. This also serves as the unique, immutable identifier for this compensation."
            },
            "hours": {
              "type": "string",
              "description": "The number of hours to be compensated for this pay period."
            },
            "amount": {
              "type": "string",
              "description": "The amount of the compensation. This field is only available after the payroll is calculated and cannot be used for updating hourly compensations."
            },
            "job_uuid": {
              "type": "string",
              "readOnly": true,
              "description": "The UUID of the job for the compensation."
            },
            "compensation_multiplier": {
              "type": "number",
              "readOnly": true,
              "description": "The amount multiplied by the base rate to calculate total compensation per hour worked."
            }
          }
        },
        "description": "An array of hourly compensations for the employee. Hourly compensations include regular, overtime, and double overtime hours. If this payroll has been processed, only hourly compensations with a value greater than 0.00 are returned. For an unprocessed payroll, all active hourly compensations are returned.",
        "uniqueItems": false
      }
    }
  },
  "uniqueItems": false
}
boolean Payroll-External-Type
{
  "type": "boolean",
  "readOnly": true,
  "description": "Indicates whether the payroll is an external payroll"
}
boolean Payroll-Final-Termination-Payroll-Type
{
  "type": "boolean",
  "readOnly": true,
  "description": "Indicates whether the payroll is the final payroll for a terminated employee. Only included for off-cycle payrolls."
}
array Payroll-Fixed-Compensation-Types-Type
{
  "type": "array",
  "items": {
    "type": "object",
    "readOnly": true,
    "properties": {
      "name": {
        "type": "string",
        "readOnly": true,
        "description": "The name of an available type of fixed compensation."
      }
    }
  }
}
boolean Payroll-Fixed-Withholding-Rate-Type
{
  "type": "boolean",
  "nullable": false,
  "readOnly": true,
  "description": "Enable taxes to be withheld at the IRS's required rate of 22% for federal income taxes. State income taxes will be taxed at the state's supplemental tax rate. Otherwise, we'll sum the entirety of the employee's wages and withhold taxes on the entire amount at the rate for regular wages. Only included for off-cycle payrolls."
}
object Payroll-Minimal
{
  "type": "object",
  "x-tags": [
    "Payrolls"
  ],
  "properties": {
    "totals": {
      "$ref": "#/components/schemas/Payroll-Totals-Type"
    },
    "external": {
      "$ref": "#/components/schemas/Payroll-External-Type"
    },
    "off_cycle": {
      "$ref": "#/components/schemas/Payroll-Off-Cycle-Type"
    },
    "processed": {
      "$ref": "#/components/schemas/Payroll-Processed-Type"
    },
    "check_date": {
      "$ref": "#/components/schemas/Payroll-Check-Date-Type"
    },
    "created_at": {
      "$ref": "#/components/schemas/Created-At-Type"
    },
    "pay_period": {
      "$ref": "#/components/schemas/Payroll-Pay-Period-Type"
    },
    "company_uuid": {
      "$ref": "#/components/schemas/Payroll-Company-Uuid-Type"
    },
    "payroll_uuid": {
      "$ref": "#/components/schemas/Payroll-Payroll-Uuid-Type"
    },
    "calculated_at": {
      "$ref": "#/components/schemas/Payroll-Calculated-At-Type"
    },
    "processed_date": {
      "$ref": "#/components/schemas/Payroll-Processed-Date-Type"
    },
    "off_cycle_reason": {
      "$ref": "#/components/schemas/Off-Cycle-Reason-Type"
    },
    "payroll_deadline": {
      "$ref": "#/components/schemas/Payroll-Deadline-Type"
    },
    "payroll_status_meta": {
      "$ref": "#/components/schemas/Payroll-Payroll-Status-Meta-Type"
    },
    "payment_speed_changed": {
      "$ref": "#/components/schemas/Payroll-Payment-Speed-Changed-Type"
    },
    "fixed_withholding_rate": {
      "$ref": "#/components/schemas/Payroll-Fixed-Withholding-Rate-Type"
    },
    "withholding_pay_period": {
      "$ref": "#/components/schemas/Payroll-Withholding-Pay-Period-Type"
    },
    "skip_regular_deductions": {
      "$ref": "#/components/schemas/Payroll-Skip-Regular-Deductions-Type"
    },
    "final_termination_payroll": {
      "$ref": "#/components/schemas/Payroll-Final-Termination-Payroll-Type"
    }
  },
  "description": ""
}
boolean Payroll-Off-Cycle-Type
{
  "type": "boolean",
  "readOnly": true,
  "description": "Indicates whether the payroll is an off-cycle payroll"
}
object Payroll-Pay-Period-Type
{
  "type": "object",
  "readOnly": true,
  "properties": {
    "end_date": {
      "type": "string",
      "readOnly": true,
      "description": "The start date, inclusive, of the pay period."
    },
    "start_date": {
      "type": "string",
      "readOnly": true,
      "description": "The start date, inclusive, of the pay period."
    },
    "pay_schedule_uuid": {
      "type": "string",
      "nullable": true,
      "readOnly": true,
      "description": "The UUID of the pay schedule for the payroll."
    }
  }
}
object Payroll-Payment-Speed-Changed-Type
{
  "type": "object",
  "properties": {
    "reason": {
      "type": "string",
      "readOnly": true,
      "description": "The reason why the payroll is moved to four day."
    },
    "current_check_date": {
      "type": "string",
      "readOnly": true,
      "description": "Current check date."
    },
    "current_debit_date": {
      "type": "string",
      "readOnly": true,
      "description": "Current debit date."
    },
    "original_check_date": {
      "type": "string",
      "readOnly": true,
      "description": "Original check date when fast ach applies."
    },
    "original_debit_date": {
      "type": "number",
      "readOnly": true,
      "description": "Original debit date when fast ach applies."
    }
  },
  "description": "Only applicable when a payroll is moved to four day processing instead of fast ach."
}
object Payroll-Payroll-Status-Meta-Type
{
  "type": "object",
  "properties": {
    "cancellable": {
      "type": "boolean",
      "readOnly": true,
      "description": "true if the payroll may be cancelled"
    },
    "payroll_late": {
      "type": "boolean",
      "readOnly": true,
      "description": "expected_check_date > initial_check_date"
    },
    "initial_check_date": {
      "type": "string",
      "readOnly": true,
      "description": "The normal check date for the associated pay period"
    },
    "expected_check_date": {
      "type": "string",
      "readOnly": true,
      "description": "The date an employee will be paid if the payroll is submitted now"
    },
    "expected_debit_time": {
      "type": "string",
      "readOnly": true,
      "description": "The time the employer's account will be debited if the payroll is submitted now"
    },
    "initial_debit_cutoff_time": {
      "type": "string",
      "readOnly": true,
      "description": "Payroll must be submitted at or before this time to avoid late payroll"
    }
  },
  "description": "Information about the payroll's status and expected dates"
}
string Payroll-Payroll-Uuid-Type
{
  "type": "string",
  "readOnly": true,
  "description": "The UUID of the payroll."
}
object Payroll-Prepared
{
  "type": "object",
  "x-tags": [
    "Payrolls"
  ],
  "properties": {
    "external": {
      "$ref": "#/components/schemas/Payroll-External-Type"
    },
    "off_cycle": {
      "$ref": "#/components/schemas/Payroll-Off-Cycle-Type"
    },
    "processed": {
      "$ref": "#/components/schemas/Payroll-Processed-Type"
    },
    "check_date": {
      "$ref": "#/components/schemas/Payroll-Check-Date-Type"
    },
    "created_at": {
      "$ref": "#/components/schemas/Created-At-Type"
    },
    "pay_period": {
      "$ref": "#/components/schemas/Payroll-Pay-Period-Type"
    },
    "company_uuid": {
      "$ref": "#/components/schemas/Payroll-Company-Uuid-Type"
    },
    "payroll_uuid": {
      "$ref": "#/components/schemas/Payroll-Payroll-Uuid-Type"
    },
    "calculated_at": {
      "$ref": "#/components/schemas/Payroll-Calculated-At-Type"
    },
    "processed_date": {
      "$ref": "#/components/schemas/Payroll-Processed-Date-Type"
    },
    "off_cycle_reason": {
      "$ref": "#/components/schemas/Off-Cycle-Reason-Type"
    },
    "payroll_deadline": {
      "$ref": "#/components/schemas/Payroll-Deadline-Type"
    },
    "payroll_status_meta": {
      "$ref": "#/components/schemas/Payroll-Payroll-Status-Meta-Type"
    },
    "payment_speed_changed": {
      "$ref": "#/components/schemas/Payroll-Payment-Speed-Changed-Type"
    },
    "employee_compensations": {
      "$ref": "#/components/schemas/Payroll-Employee-Compensations-Type"
    },
    "fixed_withholding_rate": {
      "$ref": "#/components/schemas/Payroll-Fixed-Withholding-Rate-Type"
    },
    "withholding_pay_period": {
      "$ref": "#/components/schemas/Payroll-Withholding-Pay-Period-Type"
    },
    "skip_regular_deductions": {
      "$ref": "#/components/schemas/Payroll-Skip-Regular-Deductions-Type"
    },
    "fixed_compensation_types": {
      "$ref": "#/components/schemas/Payroll-Fixed-Compensation-Types-Type"
    },
    "final_termination_payroll": {
      "$ref": "#/components/schemas/Payroll-Final-Termination-Payroll-Type"
    }
  },
  "description": ""
}
string Payroll-Processed-Date-Type
{
  "type": "string",
  "readOnly": true,
  "description": "The date at which the payroll was processed. Null if the payroll isn't processed yet."
}
boolean Payroll-Processed-Type
{
  "type": "boolean",
  "readOnly": true,
  "description": "Whether or not the payroll has been successfully processed. Note that processed payrolls cannot be updated. Additionally, a payroll is not guaranteed to be processed just because the payroll deadline has passed. Late payrolls are not uncommon. Conversely, users may choose to run payroll before the payroll deadline."
}
object Payroll-Receipt
{
  "type": "object",
  "properties": {
    "taxes": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The amount paid for this tax."
          },
          "amount": {
            "type": "string",
            "description": "The total amount paid by both employer and employee for this tax."
          }
        }
      },
      "description": "An array of totaled employer and employee taxes for the pay period."
    },
    "totals": {
      "type": "object",
      "properties": {
        "tax_debit": {
          "type": "string",
          "description": "The total tax debit for the payroll."
        },
        "company_debit": {
          "type": "string",
          "description": "The total company debit for the payroll."
        },
        "net_pay_debit": {
          "type": "string",
          "description": "The total company net pay for the payroll."
        },
        "child_support_debit": {
          "type": "string",
          "description": "The total child support debit for the payroll."
        },
        "reimbursement_debit": {
          "type": "string",
          "description": "The total reimbursements for the payroll."
        }
      },
      "description": "The subtotals for the payroll."
    },
    "license": {
      "type": "string",
      "description": "Always the fixed string \"ZenPayroll, Inc., dba Gusto is a licensed money transmitter. For more about Gusto’s licenses and your state-specific rights to request information, submit complaints, dispute errors, or cancel transactions, visit our license page.\""
    },
    "licensee": {
      "type": "object",
      "properties": {
        "city": {
          "type": "string",
          "description": "Always the fixed string \"San Francisco\""
        },
        "name": {
          "type": "string",
          "description": "Always the fixed string \"Gusto, Zenpayroll Inc.\""
        },
        "state": {
          "type": "string",
          "description": "Always the fixed string \"CA\""
        },
        "address": {
          "type": "string",
          "description": "Always the fixed string \"525 20th St\""
        },
        "postal_code": {
          "type": "string",
          "description": "Always the fixed string \"94107\""
        },
        "phone_number": {
          "type": "string",
          "description": "Always the fixed string \"4157778888\""
        }
      },
      "description": "The licensed payroll processor"
    },
    "debit_date": {
      "type": "string",
      "description": "The debit or funding date for the payroll"
    },
    "license_uri": {
      "type": "string",
      "description": "URL for the license information for the licensed payroll processor. Always the fixed string \"https://gusto.com/about/licenses\""
    },
    "company_uuid": {
      "type": "string",
      "description": "A unique identifier of the company for the payroll."
    },
    "payroll_uuid": {
      "type": "string",
      "description": "A unique identifier of the payroll receipt."
    },
    "name_of_sender": {
      "type": "string",
      "description": "The name of the company by whom the payroll was paid"
    },
    "right_to_refund": {
      "type": "string",
      "description": ""
    },
    "recipient_notice": {
      "type": "string",
      "description": "Always the fixed string \"Payroll recipients include the employees listed below plus the tax agencies for the taxes listed below.\""
    },
    "name_of_recipient": {
      "type": "string",
      "description": "Always the fixed string \"Payroll Recipients\""
    },
    "liability_of_licensee": {
      "type": "string",
      "description": ""
    },
    "employee_compensations": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "net_pay": {
            "type": "string",
            "description": "The employee's net pay. Net pay paid by check is available for reference but is not included in the `[\"totals\"][\"net_pay_debit\"]` amount."
          },
          "total_tax": {
            "type": "string",
            "description": "The total of employer and employee taxes for the pay period."
          },
          "employee_uuid": {
            "type": "string",
            "description": "The UUID of the employee."
          },
          "payment_method": {
            "type": "string",
            "description": "The employee's compensation payment method.\\n\\n`Check` `Direct Deposit`"
          },
          "employee_last_name": {
            "type": "string",
            "description": "The last name of the employee."
          },
          "total_garnishments": {
            "type": "string",
            "description": "The total garnishments for the pay period."
          },
          "employee_first_name": {
            "type": "string",
            "description": "The first name of the employee."
          },
          "total_reimbursement": {
            "type": "string",
            "description": "The total reimbursement for the pay period."
          },
          "child_support_garnishment": {
            "type": "string",
            "description": "The total child support garnishment for the pay period."
          }
        }
      },
      "description": "An array of employee compensations and withholdings for this payroll"
    }
  },
  "x-examples": {
    "example-1": {
      "taxes": [
        {
          "name": "Federal Income Tax",
          "amount": "30.36"
        },
        {
          "name": "Social Security",
          "amount": "104.54"
        },
        {
          "name": "Medicare",
          "amount": "24.46"
        },
        {
          "name": "Additional Medicare",
          "amount": "0.0"
        },
        {
          "name": "TX SUTA",
          "amount": "22.77"
        },
        {
          "name": "FUTA",
          "amount": "0.0"
        }
      ],
      "totals": {
        "tax": "182.13",
        "company_debit": "1080.47",
        "net_pay_debit": "748.34",
        "child_support_debit": "100.0",
        "reimbursement_debit": "50.0"
      },
      "license": "ZenPayroll, Inc., dba Gusto is a licensed money transmitter. For more about Gusto’s licenses and your state-specific rights to request information, submit complaints, dispute errors, or cancel transactions, visit our license page.",
      "licensee": {
        "city": "San Francisco",
        "name": "Gusto, Zenpayroll Inc.",
        "state": "CA",
        "address": "525 20th St",
        "postal_code": "94107",
        "phone_number": "4157778888"
      },
      "debit_date": "2022-06-02",
      "license_uri": "https://gusto.com/about/licenses",
      "company_uuid": "c827aa0d-3928-4d5a-ab1f-400641a7d2b8",
      "payroll_uuid": "afccb970-357e-4013-81f5-85dafc74f9b6",
      "name_of_sender": "Torp and Sons and Sons",
      "right_to_refund": "https://gusto.com/about/licenses",
      "recipient_notice": "Payroll recipients include the employees listed below plus the tax agencies for the taxes listed below.",
      "name_of_recipient": "Payroll Recipients",
      "liability_of_licensee": "https://gusto.com/about/licenses",
      "employee_compensations": [
        {
          "net_pay": "748.34",
          "total_tax": "182.13",
          "employee_uuid": "f83d0bd8-7e20-43b9-834c-6d514ef6cb47",
          "payment_method": "Direct Deposit",
          "employee_last_name": "Hamill",
          "total_garnishments": "0.0",
          "employee_first_name": "Patricia",
          "total_reimbursement": "50.0",
          "child_support_garnishment": "100.0"
        }
      ]
    }
  }
}
object Payroll-Reversal
{
  "type": "object",
  "properties": {
    "reason": {
      "type": "string",
      "description": "A reason provided by the admin who created the reversal."
    },
    "category": {
      "type": "string",
      "items": {
        "type": "integer"
      },
      "description": "Category chosen by the admin who requested the reversal."
    },
    "approved_at": {
      "type": "string",
      "nullable": true,
      "description": "Timestamp of when the reversal was approved."
    },
    "reversal_payroll_uuid": {
      "type": "string",
      "description": "The UUID of the payroll where the reversal was applied."
    },
    "reversed_payroll_uuid": {
      "type": "string",
      "description": "The UUID for the payroll run being reversed."
    },
    "reversed_employee_uuids": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Array of affected employee UUIDs."
    }
  }
}
boolean Payroll-Skip-Regular-Deductions-Type
{
  "type": "boolean",
  "nullable": false,
  "readOnly": true,
  "description": "Block regular deductions and contributions for this payroll.  Only included for off-cycle payrolls."
}
object Payroll-Totals-Type
{
  "type": "object",
  "readOnly": true,
  "properties": {
    "net_pay": {
      "type": "string",
      "readOnly": true,
      "description": "The net pay amount for the payroll."
    },
    "benefits": {
      "type": "string",
      "readOnly": true,
      "description": "The total amount of company contributed benefits for the payroll."
    },
    "gross_pay": {
      "type": "string",
      "readOnly": true,
      "description": "The gross pay amount for the payroll."
    },
    "tax_debit": {
      "type": "string",
      "readOnly": true,
      "description": "The total tax debit for the payroll."
    },
    "owners_draw": {
      "type": "string",
      "readOnly": true,
      "description": "The total owner's draw for the payroll."
    },
    "check_amount": {
      "type": "string",
      "readOnly": true,
      "description": "The total check amount for the payroll."
    },
    "company_debit": {
      "type": "string",
      "readOnly": true,
      "description": "The total company debit for the payroll."
    },
    "net_pay_debit": {
      "type": "string",
      "minLength": 1,
      "description": "The total company net pay for the payroll."
    },
    "employee_taxes": {
      "type": "string",
      "readOnly": true,
      "description": "The total amount of employee paid taxes for the payroll."
    },
    "employer_taxes": {
      "type": "string",
      "readOnly": true,
      "description": "The total amount of employer paid taxes for the payroll."
    },
    "reimbursements": {
      "type": "string",
      "readOnly": true,
      "description": "The total reimbursements for the payroll."
    },
    "employee_bonuses": {
      "type": "string",
      "readOnly": true,
      "description": "The total employee bonuses amount for the payroll."
    },
    "other_deductions": {
      "type": "string",
      "description": "The total amount of deductions for the payroll."
    },
    "employee_cash_tips": {
      "type": "string",
      "readOnly": true,
      "description": "The total employee cash tips amount for the payroll."
    },
    "additional_earnings": {
      "type": "string",
      "readOnly": true,
      "description": "The total additional earnings amount for the payroll."
    },
    "child_support_debit": {
      "type": "string",
      "readOnly": true,
      "description": "The total child support debit for the payroll."
    },
    "reimbursement_debit": {
      "type": "string",
      "readOnly": true,
      "description": "The total reimbursement debit for the payroll."
    },
    "employee_commissions": {
      "type": "string",
      "readOnly": true,
      "description": "The total employee commissions amount for the payroll."
    },
    "deferred_payroll_taxes": {
      "type": "string",
      "readOnly": true,
      "description": "The total amount of payroll taxes deferred for the payroll, such as allowed by the CARES act."
    },
    "employee_paycheck_tips": {
      "type": "string",
      "readOnly": true,
      "description": "The total employee paycheck tips amount for the payroll."
    },
    "employee_benefits_deductions": {
      "type": "string",
      "readOnly": true,
      "description": "The total amount of employee deducted benefits for the payroll."
    }
  },
  "description": "The subtotals for the payroll."
}
string Payroll-Withholding-Pay-Period-Type
{
  "enum": [
    "Every week",
    "Every other week",
    "Twice per month",
    "Monthly",
    "Quarterly",
    "Semiannually",
    "Annually"
  ],
  "type": "string",
  "nullable": false,
  "readOnly": true,
  "description": "The payment schedule tax rate the payroll is based on. Only included for off-cycle payrolls."
}
object PayrollsCalculateGrossUp422Response
{
  "oneOf": [
    {
      "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object"
    },
    {
      "$ref": "#/components/schemas/Payroll-Blockers-Error"
    }
  ]
}
object PayrollsCalculateGrossUpRequest
{
  "type": "object",
  "required": [
    "employee_uuid",
    "net_pay"
  ],
  "properties": {
    "net_pay": {
      "type": "string",
      "description": "Employee net earnings"
    },
    "employee_uuid": {
      "type": "string",
      "description": "Employee UUID"
    }
  },
  "description": ""
}
object PayrollsCalculateGrossUpResponse
{
  "oneOf": [
    {
      "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object"
    },
    {
      "$ref": "#/components/schemas/Payroll-Blockers-Error"
    }
  ]
}
object PayrollsCreateOffCyclePayrollRequest
{
  "type": "object",
  "required": [
    "off_cycle",
    "off_cycle_reason",
    "start_date",
    "end_date"
  ],
  "properties": {
    "end_date": {
      "type": "string",
      "description": "Pay period end date."
    },
    "off_cycle": {
      "type": "boolean",
      "description": "Whether it is an off cycle payroll."
    },
    "check_date": {
      "type": "string",
      "description": "Payment date."
    },
    "start_date": {
      "type": "string",
      "description": "Pay period start date."
    },
    "employee_uuids": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "A list of employee uuids to include on the payroll."
    },
    "off_cycle_reason": {
      "enum": [
        "Bonus",
        "Correction",
        "Dismissed employee",
        "Transition from old pay schedule"
      ],
      "type": "string",
      "description": "An off cycle payroll reason. Select one from the following list."
    },
    "pay_schedule_uuid": {
      "type": "string",
      "description": "A pay schedule is required for Transition from old pay schedule payroll to identify the matching transition pay period."
    },
    "fixed_withholding_rate": {
      "type": "boolean",
      "description": "Enable taxes to be withheld at the IRS's required rate of 22% for federal income taxes. State income taxes will be taxed at the state's supplemental tax rate. Otherwise, we'll sum the entirety of the employee's wages and withhold taxes on the entire amount at the rate for regular wages."
    },
    "withholding_pay_period": {
      "enum": [
        "Every week",
        "Every other week",
        "Twice per month",
        "Monthly",
        "Quarterly",
        "Semiannually",
        "Annually"
      ],
      "type": "string",
      "description": "The payment schedule tax rate the payroll is based on"
    },
    "skip_regular_deductions": {
      "type": "boolean",
      "description": "Block regular deductions and contributions for this payroll."
    }
  }
}
object PayrollsGeneratePrintableChecksRequest
{
  "type": "object",
  "required": [
    "printing_format"
  ],
  "properties": {
    "printing_format": {
      "type": "string",
      "description": "The type of check stock being printed. Check this [link](https://support.gusto.com/article/999877761000000/Pay-your-team-by-check) for more info on check types"
    },
    "starting_check_number": {
      "type": "integer",
      "description": "The starting check number for the checks being generated"
    }
  }
}
array PayrollsGetAllPayrollBlockersResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/Payroll-Blocker"
  }
}
array PayrollsGetCompanyPayrollsResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/Payroll-Minimal"
  }
}
array PayrollsGetEmployeePayStubsResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/Employee-Pay-Stub"
  }
}
object PayrollsSkipPayrollRequest
{
  "type": "object",
  "required": [
    "payroll_type"
  ],
  "properties": {
    "end_date": {
      "type": "string",
      "description": "Pay period end date"
    },
    "start_date": {
      "type": "string",
      "description": "Pay period start date"
    },
    "payroll_type": {
      "enum": [
        "Regular",
        "Hired employee",
        "Dismissed employee",
        "Transition from old pay schedule"
      ],
      "type": "string",
      "description": "Payroll type"
    },
    "employee_uuids": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "An array of employees. This field is only applicable to new hire payroll and termination payroll"
    },
    "pay_schedule_uuid": {
      "type": "string",
      "description": "The UUID of the pay schedule"
    }
  },
  "description": ""
}
object PayrollsSkipPayrollResponse
{
  "oneOf": [
    {
      "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object"
    },
    {
      "$ref": "#/components/schemas/Payroll-Blockers-Error"
    }
  ]
}
object PayrollsSubmitPayrollResponse
{
  "oneOf": [
    {
      "$ref": "#/components/schemas/Unprocessable-Entity-Error-Object"
    },
    {
      "$ref": "#/components/schemas/Payroll-Blockers-Error"
    }
  ]
}
object PayrollsUpdatePayrollByIdRequest
{
  "type": "object",
  "required": [
    "employee_compensations"
  ],
  "properties": {
    "employee_compensations": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "memo": {
            "type": "string",
            "description": "Custom text that will be printed as a personal note to the employee on a paystub."
          },
          "version": {
            "type": "string",
            "description": "The current version of this employee compensation from the prepared payroll. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field."
          },
          "excluded": {
            "type": "boolean",
            "description": "This employee will be excluded from payroll calculation and will not be paid for the payroll."
          },
          "employee_uuid": {
            "type": "string",
            "description": "The UUID of the employee."
          },
          "paid_time_off": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The name of the PTO. This also serves as the unique, immutable identifier for the PTO. Must pass in name or policy_uuid but not both."
                },
                "hours": {
                  "type": "string",
                  "description": "The hours of this PTO taken during the pay period."
                },
                "policy_uuid": {
                  "type": "string",
                  "description": "The uuid of the PTO policy. Must pass in name or policy_uuid but not both."
                },
                "final_payout_unused_hours_input": {
                  "type": "string",
                  "description": "The outstanding hours paid upon termination. This field is only applicable for termination payrolls."
                }
              }
            },
            "description": "An array of all paid time off the employee is eligible for this pay period. Each paid time off object can be the name or the specific policy_uuid."
          },
          "payment_method": {
            "enum": [
              "Direct Deposit",
              "Check"
            ],
            "type": "string",
            "description": "The employee's compensation payment method. Invalid values will be ignored."
          },
          "fixed_compensations": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The name of the compensation. This also serves as the unique, immutable identifier for this compensation."
                },
                "amount": {
                  "type": "string",
                  "description": "The amount of the compensation for the pay period."
                },
                "job_uuid": {
                  "type": "integer",
                  "description": "The UUID of the job for the compensation."
                }
              },
              "description": "An array of fixed compensations for the employee. Fixed compensations include tips, bonuses, and one time reimbursements."
            }
          },
          "hourly_compensations": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The name of the compensation. This also serves as the unique, immutable identifier for this compensation."
                },
                "hours": {
                  "type": "string",
                  "description": "The number of hours to be compensated for this pay period."
                },
                "job_uuid": {
                  "type": "integer",
                  "description": "The UUIDs of the job for the compensation."
                }
              },
              "description": "An array of hourly compensations for the employee. Hourly compensations include regular, overtime, and double overtime hours."
            }
          }
        },
        "description": ""
      }
    }
  }
}
object Recovery-Case
{
  "type": "object",
  "properties": {
    "uuid": {
      "type": "string",
      "description": "Unique identifier of an recovery case"
    },
    "status": {
      "enum": [
        "open",
        "redebit_initiated",
        "recovered",
        "lost"
      ],
      "type": "string",
      "description": "Status of the recovery case"
    },
    "check_date": {
      "type": "string",
      "description": "Check date for the associated payroll or contractor payments"
    },
    "company_uuid": {
      "type": "string",
      "description": "Unique identifier of the company to which the recovery case belongs"
    },
    "payroll_uuid": {
      "type": "string",
      "description": "The uuid of the associated payroll for which the recovery case was created. If the recovery case was created for a contractor payment, this field will be null."
    },
    "latest_error_code": {
      "type": "string",
      "description": "The latest bank error code for the recovery case. See [this article](https://engineering.gusto.com/how-ach-works-a-developer-perspective-part-2/) for a complete list of ACH return codes."
    },
    "amount_outstanding": {
      "type": "string",
      "description": "Amount outstanding for the recovery case"
    },
    "event_total_amount": {
      "type": "string",
      "description": "Total amount to be debited from the payroll or contractor payments"
    },
    "original_debit_date": {
      "type": "string",
      "description": "Date when funds were originally debited from the company's bank account"
    },
    "contractor_payment_uuids": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "The uuids of the associated contractor payments for which the recovery case was created. If the recovery case was created for a payroll, this field will be null."
    }
  },
  "x-examples": {
    "example": {
      "uuid": "e83d273e-4ae9-4b61-9c71-4030c2f73093",
      "status": "open",
      "check_date": "2023-10-13",
      "company_uuid": "c5e3e3e9-732f-4762-849e-20b5cec9036f",
      "payroll_uuid": "210f2034-fb4a-4059-b109-6c3b5efe499d",
      "latest_error_code": "R01",
      "amount_outstanding": 10499.43,
      "event_total_amount": 5912.07,
      "original_debit_date": "2023-10-11",
      "contractor_payment_uuids": null
    }
  },
  "description": "Representation of a recovery case"
}
array RecoveryCasesListForCompanyResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/Recovery-Case"
  }
}
object Rehire
{
  "type": "object",
  "properties": {
    "active": {
      "type": "boolean",
      "readOnly": true,
      "description": "Whether the employee's rehire has gone into effect."
    },
    "version": {
      "type": "string",
      "description": "The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/versioning#object-layer) for information on how to use this field."
    },
    "employee_uuid": {
      "type": "string",
      "readOnly": true,
      "description": "The UUID of the employee."
    },
    "effective_date": {
      "type": "string",
      "description": "The day when the employee returns to work."
    },
    "employment_status": {
      "enum": [
        "part_time",
        "full_time",
        "part_time_eligible",
        "variable",
        "seasonal",
        "not_set"
      ],
      "type": "string",
      "description": "The employee's employment status. Supplying an invalid option will set the employment_status to *not_set*."
    },
    "work_location_uuid": {
      "type": "string",
      "description": "The uuid of the employee's work location."
    },
    "file_new_hire_report": {
      "type": "boolean",
      "description": "The boolean flag indicating whether Gusto will file a new hire report for the employee."
    },
    "two_percent_shareholder": {
      "type": "boolean",
      "description": "Whether the employee is a two percent shareholder of the company. This field only applies to companies with an S-Corp entity type."
    }
  },
  "x-examples": {
    "example-1": {
      "active": false,
      "version": "2e930d43acbdb241f8f14a2d531fa417",
      "employee_uuid": "8c290660-b6c9-4ad7-9f6e-ea146aaf79e8",
      "effective_date": "2024-06-30",
      "employment_status": "seasonal",
      "work_location_uuid": "8cb87e2e-5b30-4c13-a4f4-bfffcbed1188",
      "file_new_hire_report": false,
      "two_percent_shareholder": false
    }
  }
}
object Rehire-Body
{
  "type": "object",
  "required": [
    "effective_date",
    "file_new_hire_report",
    "work_location_uuid"
  ],
  "properties": {
    "effective_date": {
      "type": "string",
      "description": "The day when the employee returns to work."
    },
    "employment_status": {
      "enum": [
        "part_time",
        "full_time",
        "part_time_eligible",
        "variable",
        "seasonal",
        "not_set"
      ],
      "type": "string",
      "description": "The employee's employment status. Supplying an invalid option will set the employment_status to *not_set*."
    },
    "work_location_uuid": {
      "type": "string",
      "description": "The uuid of the employee's work location."
    },
    "file_new_hire_report": {
      "type": "boolean",
      "description": "The boolean flag indicating whether Gusto will file a new hire report for the employee."
    },
    "two_percent_shareholder": {
      "type": "boolean",
      "description": "Whether the employee is a two percent shareholder of the company. This field only applies to companies with an S-Corp entity type."
    }
  }
}
object SignatoriesCreateInviteRequest
{
  "type": "object",
  "required": [
    "email"
  ],
  "properties": {
    "email": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "last_name": {
      "type": "string"
    },
    "first_name": {
      "type": "string"
    }
  }
}
object SignatoriesCreateSignatoryWithCompleteInformationRequest
{
  "type": "object",
  "required": [
    "ssn",
    "first_name",
    "last_name",
    "email",
    "title",
    "birthday",
    "home_address",
    "phone"
  ],
  "properties": {
    "ssn": {
      "type": "string"
    },
    "email": {
      "type": "string"
    },
    "phone": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "birthday": {
      "type": "string"
    },
    "last_name": {
      "type": "string"
    },
    "first_name": {
      "type": "string"
    },
    "home_address": {
      "type": "object",
      "required": [
        "street_1",
        "city",
        "state",
        "zip"
      ],
      "properties": {
        "zip": {
          "type": "string"
        },
        "city": {
          "type": "string"
        },
        "state": {
          "type": "string"
        },
        "street_1": {
          "type": "string"
        },
        "street_2": {
          "type": "string"
        }
      },
      "description": "The signatory's home address"
    },
    "middle_initial": {
      "type": "string"
    }
  },
  "description": ""
}
array SignatoriesGetCompanySignatoriesResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/Signatory"
  }
}
object SignatoriesUpdateRequest
{
  "type": "object",
  "properties": {
    "ssn": {
      "type": "string"
    },
    "phone": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "version": {
      "type": "string",
      "description": "The current version of the object. See the versioning guide for information on how to use this field."
    },
    "birthday": {
      "type": "string"
    },
    "last_name": {
      "type": "string"
    },
    "first_name": {
      "type": "string"
    },
    "home_address": {
      "type": "object",
      "properties": {
        "zip": {
          "type": "string"
        },
        "city": {
          "type": "string"
        },
        "state": {
          "type": "string"
        },
        "street_1": {
          "type": "string"
        },
        "street_2": {
          "type": "string"
        }
      }
    },
    "middle_initial": {
      "type": "string"
    }
  }
}
object Signatory
{
  "type": "object",
  "title": "Signatory",
  "x-tags": [
    "Signatories"
  ],
  "properties": {
    "uuid": {
      "type": "string"
    },
    "email": {
      "type": "string"
    },
    "phone": {
      "type": "string",
      "nullable": true
    },
    "title": {
      "type": "string",
      "nullable": true
    },
    "has_ssn": {
      "type": "boolean",
      "description": "Indicates whether the signatory has an SSN in Gusto."
    },
    "version": {
      "type": "string",
      "description": "The current version of the signatory. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field."
    },
    "birthday": {
      "type": "string",
      "nullable": true
    },
    "is_admin": {
      "type": "boolean",
      "description": "Whether or not the signatory is also the payroll admin of the company."
    },
    "last_name": {
      "type": "string",
      "nullable": true
    },
    "first_name": {
      "type": "string",
      "nullable": true
    },
    "home_address": {
      "type": "object",
      "nullable": true,
      "properties": {
        "zip": {
          "type": "string"
        },
        "city": {
          "type": "string"
        },
        "state": {
          "type": "string"
        },
        "country": {
          "type": "string",
          "default": "USA"
        },
        "street_1": {
          "type": "string"
        },
        "street_2": {
          "type": "string"
        }
      }
    },
    "identity_verification_status": {
      "enum": [
        "Pass",
        "Fail",
        "Skipped"
      ],
      "type": "string",
      "nullable": true,
      "description": "|   |   |\n|---|---|\n|__Status__| __Description__ |\n| Pass | Signatory can sign all forms |\n| Fail | Signatory cannot sign forms |\n| Skipped | Signatory cannot sign Form 8655 until the form is manually uploaded as wet-signed |\n| null | Identity verification process has not been completed |"
    }
  },
  "description": "The representation of a company's signatory"
}
string State
{
  "type": "string",
  "title": "State",
  "description": "One of the two-letter state abbreviations for the fifty United States and the District of Columbia (DC)"
}
Load more schemas