{
  "components": {
    "schemas": {
      "BaseApiCandidate4d6e0fa3fa1e": {
        "description": "The Rippling candidate model.",
        "properties": {
          "attachments": {
            "items": {
              "description": "An array of json objects containing file names and public file URLs containing documents pertaining to the candidate.",
              "properties": {
                "file_name": {
                  "description": "The file name.",
                  "type": "string"
                },
                "file_url": {
                  "description": "The public URL and name of a pdf/docx/doc/odt file containing documents pertaining to the candidate.",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "type": "array"
          },
          "candidateId": {
            "description": "The unique identifier of the candidate from the ATS.",
            "type": "string"
          },
          "currency": {
            "description": "A string field of the official currency as listed in ISO 4217.",
            "type": "string"
          },
          "department": {
            "description": "This is the id of the department from GET/departments.",
            "type": "string"
          },
          "email": {
            "description": "The candidate's email.",
            "type": "string"
          },
          "employmentType": {
            "description": "An ENUM of employment type. Will default to one of these six values unless the employee's profile has a job display name configured.",
            "enum": [
              "CONTRACTOR",
              "SALARIED_PT",
              "SALARIED_FT",
              "HOURLY_FT",
              "HOURLY_PT",
              "TEMP"
            ],
            "type": "string"
          },
          "equityShares": {
            "description": "The number of shares that will be given to the candidate.",
            "type": "integer"
          },
          "jobTitle": {
            "description": "The candidate's job title.",
            "type": "string"
          },
          "name": {
            "description": "The candidate's name.",
            "type": "string"
          },
          "phoneNumber": {
            "description": "The candidate's phone number.",
            "type": "string"
          },
          "salaryPerUnit": {
            "description": "The decimal value that the candidate gets paid every salaryUnit time period.",
            "type": "number"
          },
          "salaryUnit": {
            "description": "An ENUM string value, denoting the frequency at which the candidate should be paid once the role begins. Note, the PAY_PERIOD ENUM implies the candidate is paid as per a custom pay period.",
            "enum": [
              "HOUR",
              "DAY",
              "WEEK",
              "MONTH",
              "PAY_PERIOD"
            ],
            "type": "string"
          },
          "signingBonus": {
            "description": "The bonus cash given to the candidate as a part of a one time payment, with two decimal digit precision.",
            "format": "double",
            "type": "number"
          },
          "startDate": {
            "description": "The would-be start date of the candidate.",
            "format": "date",
            "type": "string"
          },
          "workLocation": {
            "description": "This is the id of the worklocation from GET/work_locations.",
            "type": "string"
          }
        },
        "title": "Candidate",
        "type": "object"
      },
      "BaseApiGroupUpdatePayloadb1c4a1a135fc": {
        "description": "This payload should be used when updating existing groups.",
        "properties": {
          "name": {
            "description": "The name of the Group.",
            "type": "string"
          },
          "spokeId": {
            "description": "The external identifier of the Group.",
            "type": "string"
          },
          "users": {
            "description": "The array of users within the Group.",
            "items": {},
            "type": "array"
          },
          "version": {
            "description": "The version identifier of the Group.",
            "type": "string"
          }
        },
        "title": "GroupUpdatePayload",
        "type": "object"
      },
      "OutputBaseApiAuthenticatedUserMe4d77a0f68923": {
        "description": "Information about the Rippling user whose token is being used to access Rippling's API.",
        "properties": {
          "company": {
            "description": "Unique identifier of the company.",
            "type": "string"
          },
          "id": {
            "description": "Unied identifier of the user (likely an admin).",
            "type": "string"
          },
          "workEmail": {
            "description": "Work email of the user.",
            "type": "string"
          }
        },
        "title": "Authenticated-User-(Me)",
        "type": "object"
      },
      "OutputBaseApiCandidate4d6e0fa3fa1e": {
        "description": "The Rippling candidate model.",
        "properties": {
          "attachments": {
            "items": {
              "description": "An array of json objects containing file names and public file URLs containing documents pertaining to the candidate.",
              "properties": {
                "file_name": {
                  "description": "The file name.",
                  "type": "string"
                },
                "file_url": {
                  "description": "The public URL and name of a pdf/docx/doc/odt file containing documents pertaining to the candidate.",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "type": "array"
          },
          "candidateId": {
            "description": "The unique identifier of the candidate from the ATS.",
            "type": "string"
          },
          "currency": {
            "description": "A string field of the official currency as listed in ISO 4217.",
            "type": "string"
          },
          "department": {
            "description": "This is the id of the department from GET/departments.",
            "type": "string"
          },
          "email": {
            "description": "The candidate's email.",
            "type": "string"
          },
          "employmentType": {
            "description": "An ENUM of employment type. Will default to one of these six values unless the employee's profile has a job display name configured.",
            "type": "string"
          },
          "equityShares": {
            "anyOf": [
              {
                "description": "The number of shares that will be given to the candidate.",
                "type": "integer"
              },
              {
                "pattern": "^-?[0-9]+(?:\\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$",
                "type": "string"
              }
            ]
          },
          "jobTitle": {
            "description": "The candidate's job title.",
            "type": "string"
          },
          "name": {
            "description": "The candidate's name.",
            "type": "string"
          },
          "phoneNumber": {
            "description": "The candidate's phone number.",
            "type": "string"
          },
          "salaryPerUnit": {
            "anyOf": [
              {
                "description": "The decimal value that the candidate gets paid every salaryUnit time period.",
                "type": "number"
              },
              {
                "pattern": "^-?[0-9]+(?:\\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$",
                "type": "string"
              }
            ]
          },
          "salaryUnit": {
            "description": "An ENUM string value, denoting the frequency at which the candidate should be paid once the role begins. Note, the PAY_PERIOD ENUM implies the candidate is paid as per a custom pay period.",
            "type": "string"
          },
          "signingBonus": {
            "anyOf": [
              {
                "description": "The bonus cash given to the candidate as a part of a one time payment, with two decimal digit precision.",
                "format": "double",
                "type": "number"
              },
              {
                "pattern": "^-?[0-9]+(?:\\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$",
                "type": "string"
              }
            ]
          },
          "startDate": {
            "description": "The would-be start date of the candidate.",
            "format": "date",
            "type": "string"
          },
          "workLocation": {
            "description": "This is the id of the worklocation from GET/work_locations.",
            "type": "string"
          }
        },
        "title": "Candidate",
        "type": "object"
      },
      "OutputBaseApiCompanyLeaveType87475f920ad4": {
        "description": "Company leave request object",
        "properties": {
          "description": {
            "type": "string"
          },
          "id": {
            "description": "Unique identifier of the company leave request",
            "type": "string"
          },
          "isUnpaid": {
            "description": "Is leave type unpaid",
            "type": "boolean"
          },
          "leaveType": {
            "description": "Company leave type key",
            "type": "string"
          },
          "name": {
            "description": "Company leave type name",
            "type": "string"
          }
        },
        "title": "CompanyLeaveType",
        "type": "object"
      },
      "OutputBaseApiCompanycb46826b1df3": {
        "description": "A company object as represented within Rippling.",
        "properties": {
          "address": {
            "anyOf": [
              {
                "description": "An address object as stored within Rippling.",
                "properties": {
                  "city": {
                    "type": "string"
                  },
                  "country": {
                    "type": "string"
                  },
                  "isRemote": {
                    "type": "boolean"
                  },
                  "phone": {
                    "type": "string"
                  },
                  "state": {
                    "type": "string"
                  },
                  "steLocationCode": {
                    "properties": {
                      "cityCode": {
                        "type": "string"
                      },
                      "countyCode": {
                        "type": "string"
                      },
                      "isOverridden": {
                        "type": "string"
                      },
                      "locationCode": {
                        "type": "string"
                      },
                      "municipalityCode": {
                        "type": "string"
                      },
                      "psdCode": {
                        "type": "string"
                      },
                      "schoolCode": {
                        "type": "string"
                      },
                      "stateCode": {
                        "type": "string"
                      },
                      "transitDistrictCode": {
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "streetLine1": {
                    "type": "string"
                  },
                  "streetLine2": {
                    "type": "string"
                  },
                  "zip": {
                    "type": "string"
                  }
                },
                "title": "Address",
                "type": "object"
              },
              {
                "type": "null"
              }
            ]
          },
          "entities": {
            "$ref": "#/components/schemas/OutputBaseApiEntities53d83526d525"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "primaryEmail": {
            "type": "string"
          },
          "workLocations": {
            "items": {
              "$ref": "#/components/schemas/OutputBaseApiWorkLocation8c60e24e4a12"
            },
            "type": "array"
          }
        },
        "title": "Company",
        "type": "object"
      },
      "OutputBaseApiCustomFieldMetadc8ce482af4c": {
        "description": "A Custom Fields object within Rippling.",
        "properties": {
          "Id": {
            "description": "The identifier of the specific custom field.",
            "type": "string"
          },
          "required": {
            "description": "Denotes whether the custom field is or is not mandatory",
            "type": "boolean"
          },
          "title": {
            "description": "The title of the custom field.",
            "type": "string"
          },
          "type": {
            "description": "Denotes the type of the custom field.",
            "type": "string"
          }
        },
        "title": "CustomFieldMeta",
        "type": "object"
      },
      "OutputBaseApiCustomFieldse72f9cfbda2e": {
        "description": "",
        "properties": {
          "customFieldTitle1": {
            "type": "string"
          },
          "customFieldTitleN": {
            "type": "string"
          }
        },
        "title": "CustomFields",
        "type": "object"
      },
      "OutputBaseApiEmployee6ab6eb8ea4ae": {
        "description": "An employee model object.",
        "properties": {
          "customFields": {
            "$ref": "#/components/schemas/OutputBaseApiCustomFieldse72f9cfbda2e"
          },
          "department": {
            "description": "The employee's department name",
            "type": "string"
          },
          "employeeNumber": {
            "description": "This indicates the sequential employee number within their company. This number continues to grow as each employee is onboarded. i.e if you are the 65th employee to join the company with 32 active employees, the employeeNumber would be 65.",
            "type": "string"
          },
          "employmentType": {
            "description": "An ENUM of employment type. Will default to one of these six values unless the employee's profile has a job display name configured.",
            "type": "string"
          },
          "endDate": {
            "anyOf": [
              {
                "description": "The employee's end date",
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "firstName": {
            "description": "First name of the employee",
            "type": "string"
          },
          "gender": {
            "anyOf": [
              {
                "description": "The employee's gender",
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "id": {
            "description": "This is the unique role ID of the employee. A role ID exists per 1 and only 1 company.",
            "type": "string"
          },
          "identifiedGender": {
            "anyOf": [
              {
                "description": "The employee's identified gender",
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "isInternational": {
            "description": "Whether the employee is an international employee or not.",
            "type": "boolean"
          },
          "isManager": {
            "description": "Whether the employee is a manger",
            "type": "boolean"
          },
          "isRemote": {
            "description": "Whether the employee's job is remote",
            "type": "boolean"
          },
          "lastName": {
            "description": "Last name of the employee",
            "type": "string"
          },
          "level": {
            "description": "The level of the employee",
            "type": "string"
          },
          "manager": {
            "anyOf": [
              {
                "description": "The unique identifier of the employee's manager. This value can be null.",
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "name": {
            "description": "Full name of the employee",
            "type": "string"
          },
          "photo": {
            "description": "The photo of the employee stored in Rippling",
            "type": "string"
          },
          "preferredFirstName": {
            "type": "string"
          },
          "preferredLastName": {
            "type": "string"
          },
          "roleState": {
            "description": "The employee's role status - roleState meanings:\n\nINIT: An initial record of an individual. An offer has not been made and they have not started working at the company.\n\nHIRED: An offer has been made but they have not accepted or started yet.\n\nACCEPTED: An offer has been made and they have accepted, but they have not started yet.\n\nACTIVE: The employee currently works at the company and their start date is today or in the past.\n\nTERMINATED: The employee is no longer active.",
            "type": "string"
          },
          "smallPhoto": {
            "description": "The small photo of the employee stored in Rippling",
            "type": "string"
          },
          "spokeId": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "teams": {
            "description": "An array of the teams that the employee is on",
            "items": {},
            "type": "array"
          },
          "title": {
            "description": "The employee's work title",
            "type": "string"
          },
          "userId": {
            "description": "This is the unique user ID of the employee. A userID can span across 1 or many companies.",
            "type": "string"
          },
          "workEmail": {
            "anyOf": [
              {
                "description": "The employee's work email",
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "workLocation": {
            "anyOf": [
              {
                "description": "An address object as stored within Rippling.",
                "properties": {
                  "city": {
                    "type": "string"
                  },
                  "country": {
                    "type": "string"
                  },
                  "isRemote": {
                    "type": "boolean"
                  },
                  "phone": {
                    "type": "string"
                  },
                  "state": {
                    "type": "string"
                  },
                  "steLocationCode": {
                    "properties": {
                      "cityCode": {
                        "type": "string"
                      },
                      "countyCode": {
                        "type": "string"
                      },
                      "isOverridden": {
                        "type": "string"
                      },
                      "locationCode": {
                        "type": "string"
                      },
                      "municipalityCode": {
                        "type": "string"
                      },
                      "psdCode": {
                        "type": "string"
                      },
                      "schoolCode": {
                        "type": "string"
                      },
                      "stateCode": {
                        "type": "string"
                      },
                      "transitDistrictCode": {
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "streetLine1": {
                    "type": "string"
                  },
                  "streetLine2": {
                    "type": "string"
                  },
                  "zip": {
                    "type": "string"
                  }
                },
                "title": "Address",
                "type": "object"
              },
              {
                "type": "null"
              }
            ]
          },
          "workSchedule": {
            "description": "The employee's weekly work schedule",
            "type": "object"
          },
          "worklocationNickname": {
            "description": "The work location nickname",
            "type": "string"
          }
        },
        "title": "Employee",
        "type": "object"
      },
      "OutputBaseApiEntities53d83526d525": {
        "description": "This model represents the legal entities inside of a given company. Legal entities based in Canada (CA) are currently supported at this time.",
        "properties": {
          "CA": {
            "description": "CA represents Canada.",
            "items": {
              "properties": {
                "entityInfo": {
                  "properties": {
                    "businessNumber": {
                      "description": "The Canada Business Number",
                      "type": "string"
                    },
                    "legalName": {
                      "description": "The legal name of the entity",
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "id": {
                  "description": "The unique Rippling ID of the legal entity",
                  "type": "string"
                },
                "isEor": {
                  "description": "If set to true, the legal entity is Rippling's EOR. If set to false, the legal entity is not on Rippling's EOR.",
                  "type": "boolean"
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "title": "Entities",
        "type": "object"
      },
      "OutputBaseApiEvent4c50894b06dd": {
        "description": "The event model for company activity.\n\nPlease note, the event type can be one of the following:\n\n- EXTERNAL_ACCONT_CREATE\n- EXTERNAL_ACCOUNT_INVITE\n- EXTERNAL_ACCOUNT_DELETE\n- EXTERNAL_ACCOUNT_SUSPEND\n- EXTERNAL_ACCOUNT_PASSWORD_RESET\n- EXTERNAL_GROUP_ADD\n- EXTERNAL_GROUP_REMOVE\n- EXTERNAL_GROUP_MEMBER_REMOVE\n- EXTERNAL_GROUP_MEMBER_ADD\n- EXTERNAL_SSO_GRANT\n- EXTERNAL_SSO_REVOKE\n- EXTERNAL_SSO_SIGNIN\n- RPASS_ITEM_SHARED\n- RPASS_ITEM_UNSHARED\n- RPASS_ITEM_USED\n- USER_LOGIN_SUCCESS\n- USER_LOGIN_FAILED\n- ACCOUNT_PASSWORD_RESET\n- ACCOUNT_PASSWORD_CHANGED\n- TWO_FACTOR_DEVICE_RESET\n",
        "properties": {
          "company": {
            "description": "Unique identifier for the company.",
            "type": "string"
          },
          "event_reason": {
            "anyOf": [
              {
                "description": "Reason for the event, tied to the type of eveent.",
                "properties": {
                  "message": {
                    "description": "Message of the event.",
                    "type": "string"
                  },
                  "reason": {
                    "description": "Reason for the event.",
                    "type": "string"
                  }
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ]
          },
          "event_type": {
            "description": "An ENUM value for the type of the event.",
            "type": "string"
          },
          "id": {
            "description": "Unique identifier of the event.",
            "type": "string"
          },
          "initiator": {
            "anyOf": [
              {
                "description": "The actor of the event.",
                "properties": {
                  "display_name": {
                    "description": "The name used within Rippling.",
                    "type": "string"
                  },
                  "icon": {
                    "anyOf": [
                      {
                        "description": "The icon used within Rippling.",
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "role": {
                    "anyOf": [
                      {
                        "description": "A unique identifier for the employee that initiated the action, if the type is ROLE.",
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "type": {
                    "description": "ENUM value for the type of actor.",
                    "type": "string"
                  }
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ]
          },
          "linked_events": {
            "description": "An array of event identifiers that are linked to the event.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "name": {
            "description": "Display name for the event, tied to the type of event.",
            "type": "string"
          },
          "request_data": {
            "anyOf": [
              {
                "description": "Geographic details from where the event was recorded.",
                "properties": {
                  "city": {
                    "description": "City the event was triggered from.",
                    "type": "string"
                  },
                  "country": {
                    "description": "Country the event was triggered from.",
                    "type": "string"
                  },
                  "ip": {
                    "description": "Event IP addresss.",
                    "type": "string"
                  },
                  "latitude": {
                    "description": "Latitude the event was triggered from.",
                    "type": "string"
                  },
                  "longitude": {
                    "description": "Longitude the event was triggered from.",
                    "type": "string"
                  }
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ]
          },
          "spoke": {
            "anyOf": [
              {
                "description": "Unique identifier for the external application for which the event was recorded. This will be Null for events that don't correspond to an external appliction (e.g. Rippling system and RPass events).",
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "subjects": {
            "description": "The list of objects of the event.",
            "items": {
              "anyOf": [
                {
                  "properties": {
                    "display_name": {
                      "description": "Name used within Rippling.",
                      "type": "string"
                    },
                    "icon": {
                      "anyOf": [
                        {
                          "description": "Icon used within Rippling.",
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "instance": {
                      "description": "Unique key for the event object.",
                      "type": "string"
                    },
                    "type": {
                      "description": "An ENUM value for the type of object.",
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                {
                  "type": "null"
                }
              ]
            },
            "type": "array"
          },
          "timestamp": {
            "description": "Timestamp at which the event was recorded.",
            "type": "string"
          }
        },
        "title": "Event",
        "type": "object"
      },
      "OutputBaseApiGroup3b0783960d04": {
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "description": "User-readable name of a Rippling group.",
            "type": "string"
          },
          "spokeId": {
            "anyOf": [
              {
                "description": "Your id for the group; this should a unique string identifier.",
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "users": {
            "description": "An array of employee Rippling ids.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "version": {
            "description": "The version unique identifier of the group.",
            "type": "string"
          }
        },
        "title": "Group",
        "type": "object"
      },
      "OutputBaseApiLeaveBalances31e4c815182a": {
        "description": "Leave balances object",
        "properties": {
          "": {
            "type": "string"
          },
          "balanceWithFutureRequests": {
            "anyOf": [
              {
                "description": "The remaining balance in minutes for the employee corresponding to the company leave type with future leave requests considered.",
                "type": "number"
              },
              {
                "pattern": "^-?[0-9]+(?:\\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$",
                "type": "string"
              }
            ]
          },
          "balanceWithoutFutureRequests": {
            "anyOf": [
              {
                "description": "The remaining balance in minutes for the employee corresponding to the company leave type with future leave requests not considered.",
                "type": "number"
              },
              {
                "pattern": "^-?[0-9]+(?:\\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$",
                "type": "string"
              }
            ]
          },
          "companyLeaveType": {
            "description": "This is the unique role ID of the company leave types. Corresponds to the ids in response of GET Company Leave Types",
            "type": "string"
          },
          "isBalanceUnlimited": {
            "description": "true if employee's balance corresponding to the company leave type is unlimited, else false",
            "type": "boolean"
          }
        },
        "title": "LeaveBalances",
        "type": "object"
      },
      "OutputBaseApiLeaveRequest08fa0e8a357b": {
        "description": "Leave request object.",
        "properties": {
          "comments": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "createdAt": {
            "type": "string"
          },
          "dates": {
            "items": {
              "properties": {
                "date": {
                  "format": "date",
                  "type": "string"
                },
                "numMinutes": {
                  "anyOf": [
                    {
                      "type": "integer"
                    },
                    {
                      "pattern": "^-?[0-9]+(?:\\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$",
                      "type": "string"
                    }
                  ]
                }
              },
              "type": "object"
            },
            "type": "array"
          },
          "endDate": {
            "type": "string"
          },
          "endDateCustomHours": {
            "anyOf": [
              {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "pattern": "^-?[0-9]+(?:\\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$",
                    "type": "string"
                  }
                ]
              }
            ]
          },
          "endDateEndTime": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "id": {
            "description": "Unique identifier of the leave request.",
            "type": "string"
          },
          "isPaid": {
            "description": "If the leave request is paid this will be TRUE. Otherwise, this will be FALSE.",
            "type": "boolean"
          },
          "leavePolicy": {
            "type": "string"
          },
          "leaveTypeUniqueId": {
            "type": "string"
          },
          "managedBy": {
            "description": "This indicates the system that manages the Leave Request. PTO = managed by Rippling's Time Off app. LEAVES = managed by Rippling's Leave Management app. TILT = managed by third-party partner Tilt.",
            "type": "string"
          },
          "numHours": {
            "anyOf": [
              {
                "anyOf": [
                  {
                    "type": "integer"
                  },
                  {
                    "pattern": "^-?[0-9]+(?:\\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$",
                    "type": "string"
                  }
                ]
              },
              {
                "type": "null"
              }
            ]
          },
          "numMinutes": {
            "anyOf": [
              {
                "anyOf": [
                  {
                    "type": "integer"
                  },
                  {
                    "pattern": "^-?[0-9]+(?:\\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$",
                    "type": "string"
                  }
                ]
              },
              {
                "type": "null"
              }
            ]
          },
          "partialDays": {
            "items": {
              "anyOf": [
                {
                  "properties": {
                    "numMinutes": {
                      "anyOf": [
                        {
                          "type": "integer"
                        },
                        {
                          "pattern": "^-?[0-9]+(?:\\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$",
                          "type": "string"
                        }
                      ]
                    },
                    "partialDay": {
                      "format": "date",
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                {
                  "type": "null"
                }
              ]
            },
            "type": "array"
          },
          "policyDisplayName": {
            "type": "string"
          },
          "processedAt": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "processedBy": {
            "anyOf": [
              {
                "description": "Unique identifier of the employee who approved or rejected the request. This may be null.",
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "processedByName": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "reasonForLeave": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "requestedBy": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "requestedByName": {
            "anyOf": [
              {
                "description": "Unique identifier of the employee who made the request (in most cases this is the same as role).",
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "role": {
            "description": "Unique identifier of the employee who is taking leave.",
            "type": "string"
          },
          "roleName": {
            "type": "string"
          },
          "roleTimezone": {
            "anyOf": [
              {
                "description": "Timezone of the role. This will be work location timezone, or home timezone for employees without a work location.",
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "startDate": {
            "type": "string"
          },
          "startDateCustomHours": {
            "anyOf": [
              {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "pattern": "^-?[0-9]+(?:\\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$",
                    "type": "string"
                  }
                ]
              }
            ]
          },
          "startDateStartTime": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "status": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "title": "LeaveRequest",
        "type": "object"
      },
      "OutputBaseApiLeaveRequest4fa85ac0f267": {
        "description": "Leave request object.",
        "properties": {
          "comments": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "createdAt": {
            "type": "string"
          },
          "dates": {
            "items": {
              "properties": {
                "date": {
                  "format": "date",
                  "type": "string"
                },
                "numMinutes": {
                  "anyOf": [
                    {
                      "type": "integer"
                    },
                    {
                      "pattern": "^-?[0-9]+(?:\\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$",
                      "type": "string"
                    }
                  ]
                }
              },
              "type": "object"
            },
            "type": "array"
          },
          "endDate": {
            "type": "string"
          },
          "endDateCustomHours": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "endDateEndTime": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "id": {
            "description": "Unique identifier of the leave request.",
            "type": "string"
          },
          "isPaid": {
            "description": "If the leave request is paid this will be TRUE. Otherwise, this will be FALSE.",
            "type": "boolean"
          },
          "leavePolicy": {
            "type": "string"
          },
          "leaveTypeUniqueId": {
            "type": "string"
          },
          "managedBy": {
            "description": "This indicates the system that manages the Leave Request. PTO = managed by Rippling's Time Off app. LEAVES = managed by Rippling's Leave Management app. TILT = managed by third-party partner Tilt.",
            "type": "string"
          },
          "numHours": {
            "anyOf": [
              {
                "anyOf": [
                  {
                    "type": "integer"
                  },
                  {
                    "pattern": "^-?[0-9]+(?:\\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$",
                    "type": "string"
                  }
                ]
              },
              {
                "type": "null"
              }
            ]
          },
          "numMinutes": {
            "anyOf": [
              {
                "anyOf": [
                  {
                    "type": "integer"
                  },
                  {
                    "pattern": "^-?[0-9]+(?:\\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$",
                    "type": "string"
                  }
                ]
              },
              {
                "type": "null"
              }
            ]
          },
          "partialDays": {
            "items": {
              "anyOf": [
                {
                  "properties": {
                    "numMinutes": {
                      "anyOf": [
                        {
                          "type": "integer"
                        },
                        {
                          "pattern": "^-?[0-9]+(?:\\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$",
                          "type": "string"
                        }
                      ]
                    },
                    "partialDay": {
                      "format": "date",
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                {
                  "type": "null"
                }
              ]
            },
            "type": "array"
          },
          "policyDisplayName": {
            "type": "string"
          },
          "processedAt": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "processedBy": {
            "anyOf": [
              {
                "description": "Unique identifier of the employee who approved or rejected the request. This may be null.",
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "processedByName": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "reasonForLeave": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "requestedBy": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "requestedByName": {
            "anyOf": [
              {
                "description": "Unique identifier of the employee who made the request (in most cases this is the same as role).",
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "role": {
            "description": "Unique identifier of the employee who is taking leave.",
            "type": "string"
          },
          "roleName": {
            "type": "string"
          },
          "roleTimezone": {
            "anyOf": [
              {
                "description": "Timezone of the role. This will be work location timezone, or home timezone for employees without a work location.",
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "startDate": {
            "type": "string"
          },
          "startDateCustomHours": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "startDateStartTime": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "status": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "title": "LeaveRequest",
        "type": "object"
      },
      "OutputBaseApiLevel052dec64cb5f": {
        "description": "Levels enable for self-defined,company-wide position levels, such as Manager, Engineering Manager, Executive, etc.",
        "properties": {
          "id": {
            "description": "Unique identifier of the level.",
            "type": "string"
          },
          "name": {
            "description": "Name of the level.",
            "type": "string"
          },
          "parent": {
            "anyOf": [
              {
                "description": "The unique identifier of the parent level.",
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "title": "Level",
        "type": "object"
      },
      "OutputBaseApiTeam26aae12002d0": {
        "description": "A team is a self-defined group of employees within Rippling.",
        "properties": {
          "id": {
            "description": "The identifier of the team.",
            "type": "string"
          },
          "name": {
            "description": "The name of the team.",
            "type": "string"
          },
          "parent": {
            "anyOf": [
              {
                "description": "The parent team (if this team is a subteam within a larger team).",
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "title": "Team",
        "type": "object"
      },
      "OutputBaseApiWorkLocation8c60e24e4a12": {
        "description": "A work location object.",
        "properties": {
          "address": {
            "anyOf": [
              {
                "description": "An address object as stored within Rippling.",
                "properties": {
                  "city": {
                    "type": "string"
                  },
                  "country": {
                    "type": "string"
                  },
                  "isRemote": {
                    "type": "boolean"
                  },
                  "phone": {
                    "type": "string"
                  },
                  "state": {
                    "type": "string"
                  },
                  "steLocationCode": {
                    "properties": {
                      "cityCode": {
                        "type": "string"
                      },
                      "countyCode": {
                        "type": "string"
                      },
                      "isOverridden": {
                        "type": "string"
                      },
                      "locationCode": {
                        "type": "string"
                      },
                      "municipalityCode": {
                        "type": "string"
                      },
                      "psdCode": {
                        "type": "string"
                      },
                      "schoolCode": {
                        "type": "string"
                      },
                      "stateCode": {
                        "type": "string"
                      },
                      "transitDistrictCode": {
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "streetLine1": {
                    "type": "string"
                  },
                  "streetLine2": {
                    "type": "string"
                  },
                  "zip": {
                    "type": "string"
                  }
                },
                "title": "Address",
                "type": "object"
              },
              {
                "type": "null"
              }
            ]
          },
          "id": {
            "type": "string"
          },
          "nickname": {
            "type": "string"
          }
        },
        "title": "WorkLocation",
        "type": "object"
      }
    }
  },
  "info": {
    "title": "Rippling base-api",
    "version": "2026-10-28"
  },
  "openapi": "3.1.0",
  "paths": {
    "/platform/api/app_detail/app_matching_users": {
      "get": {
        "externalDocs": {
          "url": "https://developer.rippling.com/documentation/base-api/reference/get-app-app-matching-users"
        },
        "operationId": "rippling.base_api.get_app_app_matching_users",
        "parameters": [
          {
            "in": "query",
            "name": "app_handles",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "results": {
                      "items": {
                        "properties": {
                          "app_handle_id": {
                            "properties": {
                              "app_user_name": {
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "rippling_employee_id": {
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "servers": [
          {
            "description": "production",
            "url": "https://api.rippling.com"
          },
          {
            "description": "sandbox",
            "url": "https://api.ripplingpreview.com"
          }
        ],
        "summary": "GET Matching App Users",
        "x-rippling-entitlements": [],
        "x-rippling-required-scopes": []
      }
    },
    "/platform/api/ats_candidates/push_candidate": {
      "post": {
        "externalDocs": {
          "url": "https://developer.rippling.com/documentation/base-api/reference/post-ats-candidates-push-candidate"
        },
        "operationId": "rippling.base_api.post_ats_candidates_push_candidate",
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BaseApiCandidate4d6e0fa3fa1e"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OutputBaseApiCandidate4d6e0fa3fa1e"
                }
              }
            },
            "description": "OK"
          }
        },
        "servers": [
          {
            "description": "production",
            "url": "https://api.rippling.com"
          },
          {
            "description": "sandbox",
            "url": "https://api.ripplingpreview.com"
          }
        ],
        "summary": "POST New Candidate",
        "x-rippling-entitlements": [],
        "x-rippling-required-scopes": []
      }
    },
    "/platform/api/companies/current": {
      "get": {
        "externalDocs": {
          "url": "https://developer.rippling.com/documentation/base-api/reference/get-companies"
        },
        "operationId": "rippling.base_api.get_companies",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OutputBaseApiCompanycb46826b1df3"
                }
              }
            },
            "description": "OK"
          }
        },
        "servers": [
          {
            "description": "production",
            "url": "https://api.rippling.com"
          },
          {
            "description": "sandbox",
            "url": "https://api.ripplingpreview.com"
          }
        ],
        "summary": "GET Current Company",
        "x-rippling-entitlements": [],
        "x-rippling-required-scopes": []
      }
    },
    "/platform/api/company_activity": {
      "get": {
        "externalDocs": {
          "url": "https://developer.rippling.com/documentation/base-api/reference/get-company-activity"
        },
        "operationId": "rippling.base_api.get_company_activity",
        "parameters": [
          {
            "in": "query",
            "name": "startDate",
            "required": false,
            "schema": {
              "format": "date",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "endDate",
            "required": false,
            "schema": {
              "format": "date",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "next",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "anyOf": [
                        {
                          "properties": {
                            "events": {
                              "anyOf": [
                                {
                                  "items": {
                                    "$ref": "#/components/schemas/OutputBaseApiEvent4c50894b06dd"
                                  },
                                  "type": "array"
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "next": {
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "error": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "servers": [
          {
            "description": "production",
            "url": "https://api.rippling.com"
          },
          {
            "description": "sandbox",
            "url": "https://api.ripplingpreview.com"
          }
        ],
        "summary": "GET Company Activity",
        "x-rippling-entitlements": [],
        "x-rippling-required-scopes": []
      }
    },
    "/platform/api/company_leave_types": {
      "get": {
        "externalDocs": {
          "url": "https://developer.rippling.com/documentation/base-api/reference/get-company-leave-types"
        },
        "operationId": "rippling.base_api.get_company_leave_types",
        "parameters": [
          {
            "in": "query",
            "name": "managedBy",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/OutputBaseApiCompanyLeaveType87475f920ad4"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK"
          }
        },
        "servers": [
          {
            "description": "production",
            "url": "https://api.rippling.com"
          },
          {
            "description": "sandbox",
            "url": "https://api.ripplingpreview.com"
          }
        ],
        "summary": "GET Company Leave Types",
        "x-rippling-entitlements": [],
        "x-rippling-required-scopes": []
      }
    },
    "/platform/api/custom_fields": {
      "get": {
        "externalDocs": {
          "url": "https://developer.rippling.com/documentation/base-api/reference/get-custom-fields"
        },
        "operationId": "rippling.base_api.get_custom_fields",
        "parameters": [
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/OutputBaseApiCustomFieldMetadc8ce482af4c"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK"
          }
        },
        "servers": [
          {
            "description": "production",
            "url": "https://api.rippling.com"
          },
          {
            "description": "sandbox",
            "url": "https://api.ripplingpreview.com"
          }
        ],
        "summary": "GET Custom Fields",
        "x-rippling-entitlements": [],
        "x-rippling-required-scopes": []
      }
    },
    "/platform/api/departments": {
      "get": {
        "externalDocs": {
          "url": "https://developer.rippling.com/documentation/base-api/reference/get-departments"
        },
        "operationId": "rippling.base_api.get_departments",
        "parameters": [
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "An array of department objects.",
                  "items": {
                    "anyOf": [
                      {
                        "description": "A company department object.",
                        "properties": {
                          "id": {
                            "description": "Unique identifier of the department",
                            "type": "string"
                          },
                          "name": {
                            "description": "Name of the department",
                            "type": "string"
                          },
                          "parent": {
                            "anyOf": [
                              {
                                "default": null,
                                "description": "id of the parent department, if one exists",
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ]
                          }
                        },
                        "title": "Department",
                        "type": "object"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK"
          }
        },
        "servers": [
          {
            "description": "production",
            "url": "https://api.rippling.com"
          },
          {
            "description": "sandbox",
            "url": "https://api.ripplingpreview.com"
          }
        ],
        "summary": "GET Departments",
        "x-rippling-entitlements": [],
        "x-rippling-required-scopes": []
      }
    },
    "/platform/api/employees": {
      "get": {
        "externalDocs": {
          "url": "https://developer.rippling.com/documentation/base-api/reference/get-employees"
        },
        "operationId": "rippling.base_api.get_employees",
        "parameters": [
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/OutputBaseApiEmployee6ab6eb8ea4ae"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK"
          }
        },
        "servers": [
          {
            "description": "production",
            "url": "https://api.rippling.com"
          },
          {
            "description": "sandbox",
            "url": "https://api.ripplingpreview.com"
          }
        ],
        "summary": "GET Employees",
        "x-rippling-entitlements": [],
        "x-rippling-required-scopes": []
      }
    },
    "/platform/api/employees/include_terminated": {
      "get": {
        "externalDocs": {
          "url": "https://developer.rippling.com/documentation/base-api/reference/get-employees-include-terminated"
        },
        "operationId": "rippling.base_api.get_employees_include_terminated",
        "parameters": [
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "EIN",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "send_all_roles",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/OutputBaseApiEmployee6ab6eb8ea4ae"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK"
          }
        },
        "servers": [
          {
            "description": "production",
            "url": "https://api.rippling.com"
          },
          {
            "description": "sandbox",
            "url": "https://api.ripplingpreview.com"
          }
        ],
        "summary": "GET Employees (Including Terminated)",
        "x-rippling-entitlements": [],
        "x-rippling-required-scopes": []
      }
    },
    "/platform/api/employees/{employeeId}": {
      "get": {
        "externalDocs": {
          "url": "https://developer.rippling.com/documentation/base-api/reference/get-employees-employee-id"
        },
        "operationId": "rippling.base_api.get_employees_employeeid",
        "parameters": [
          {
            "in": "path",
            "name": "employeeId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OutputBaseApiEmployee6ab6eb8ea4ae"
                }
              }
            },
            "description": "OK"
          }
        },
        "servers": [
          {
            "description": "production",
            "url": "https://api.rippling.com"
          },
          {
            "description": "sandbox",
            "url": "https://api.ripplingpreview.com"
          }
        ],
        "summary": "GET Employee",
        "x-rippling-entitlements": [],
        "x-rippling-required-scopes": []
      }
    },
    "/platform/api/groups": {
      "get": {
        "externalDocs": {
          "url": "https://developer.rippling.com/documentation/base-api/reference/get-groups"
        },
        "operationId": "rippling.base_api.get_groups",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/OutputBaseApiGroup3b0783960d04"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK"
          }
        },
        "servers": [
          {
            "description": "production",
            "url": "https://api.rippling.com"
          },
          {
            "description": "sandbox",
            "url": "https://api.ripplingpreview.com"
          }
        ],
        "summary": "GET Groups",
        "x-rippling-entitlements": [],
        "x-rippling-required-scopes": []
      },
      "post": {
        "externalDocs": {
          "url": "https://developer.rippling.com/documentation/base-api/reference/post-groups"
        },
        "operationId": "rippling.base_api.post_groups",
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "name": {
                    "description": "User-readable name of the group.",
                    "type": "string"
                  },
                  "spokeId": {
                    "description": "The unique ID for the group, this can be the unique identifier for the group entity object within your application.",
                    "type": "string"
                  },
                  "users": {
                    "description": "An array of Rippling IDs that will be in the group.",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OutputBaseApiGroup3b0783960d04"
                }
              }
            },
            "description": "Created"
          }
        },
        "servers": [
          {
            "description": "production",
            "url": "https://api.rippling.com"
          },
          {
            "description": "sandbox",
            "url": "https://api.ripplingpreview.com"
          }
        ],
        "summary": "POST Groups",
        "x-rippling-entitlements": [],
        "x-rippling-required-scopes": []
      }
    },
    "/platform/api/groups/{groupId}": {
      "delete": {
        "externalDocs": {
          "url": "https://developer.rippling.com/documentation/base-api/reference/delete-groups-group-id"
        },
        "operationId": "rippling.base_api.delete_groups_groupid",
        "parameters": [
          {
            "in": "path",
            "name": "groupId",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "OK"
          }
        },
        "servers": [
          {
            "description": "production",
            "url": "https://api.rippling.com"
          },
          {
            "description": "sandbox",
            "url": "https://api.ripplingpreview.com"
          }
        ],
        "summary": "DELETE Group",
        "x-rippling-entitlements": [],
        "x-rippling-required-scopes": []
      },
      "get": {
        "externalDocs": {
          "url": "https://developer.rippling.com/documentation/base-api/reference/get-groups-group-id"
        },
        "operationId": "rippling.base_api.get_groups_groupid",
        "parameters": [
          {
            "in": "path",
            "name": "groupId",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BaseApiGroupUpdatePayloadb1c4a1a135fc"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OutputBaseApiGroup3b0783960d04"
                }
              }
            },
            "description": "OK"
          }
        },
        "servers": [
          {
            "description": "production",
            "url": "https://api.rippling.com"
          },
          {
            "description": "sandbox",
            "url": "https://api.ripplingpreview.com"
          }
        ],
        "summary": "GET Group",
        "x-rippling-entitlements": [],
        "x-rippling-required-scopes": []
      },
      "patch": {
        "externalDocs": {
          "url": "https://developer.rippling.com/documentation/base-api/reference/patch-groups-group-id"
        },
        "operationId": "rippling.base_api.patch_groups_groupid",
        "parameters": [
          {
            "in": "path",
            "name": "groupId",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BaseApiGroupUpdatePayloadb1c4a1a135fc"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OutputBaseApiGroup3b0783960d04"
                }
              }
            },
            "description": "OK"
          }
        },
        "servers": [
          {
            "description": "production",
            "url": "https://api.rippling.com"
          },
          {
            "description": "sandbox",
            "url": "https://api.ripplingpreview.com"
          }
        ],
        "summary": "PATCH Group",
        "x-rippling-entitlements": [],
        "x-rippling-required-scopes": []
      },
      "put": {
        "externalDocs": {
          "url": "https://developer.rippling.com/documentation/base-api/reference/put-groups-group-id"
        },
        "operationId": "rippling.base_api.put_groups_groupid",
        "parameters": [
          {
            "in": "path",
            "name": "groupId",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BaseApiGroupUpdatePayloadb1c4a1a135fc"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OutputBaseApiGroup3b0783960d04"
                }
              }
            },
            "description": "OK"
          }
        },
        "servers": [
          {
            "description": "production",
            "url": "https://api.rippling.com"
          },
          {
            "description": "sandbox",
            "url": "https://api.ripplingpreview.com"
          }
        ],
        "summary": "PUT Group",
        "x-rippling-entitlements": [],
        "x-rippling-required-scopes": []
      }
    },
    "/platform/api/leave_balances": {
      "get": {
        "externalDocs": {
          "url": "https://developer.rippling.com/documentation/base-api/reference/get-leave-balances"
        },
        "operationId": "rippling.base_api.get_leave_balances",
        "parameters": [
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "properties": {
                        "balances": {
                          "anyOf": [
                            {
                              "$ref": "#/components/schemas/OutputBaseApiLeaveBalances31e4c815182a"
                            },
                            {
                              "items": {
                                "$ref": "#/components/schemas/OutputBaseApiLeaveBalances31e4c815182a"
                              },
                              "type": "array"
                            }
                          ]
                        },
                        "role": {
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    {
                      "items": {
                        "properties": {
                          "balances": {
                            "anyOf": [
                              {
                                "$ref": "#/components/schemas/OutputBaseApiLeaveBalances31e4c815182a"
                              },
                              {
                                "items": {
                                  "$ref": "#/components/schemas/OutputBaseApiLeaveBalances31e4c815182a"
                                },
                                "type": "array"
                              }
                            ]
                          },
                          "role": {
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    }
                  ]
                }
              }
            },
            "description": "OK"
          }
        },
        "servers": [
          {
            "description": "production",
            "url": "https://api.rippling.com"
          },
          {
            "description": "sandbox",
            "url": "https://api.ripplingpreview.com"
          }
        ],
        "summary": "GET Leave Balances",
        "x-rippling-entitlements": [],
        "x-rippling-required-scopes": []
      }
    },
    "/platform/api/leave_balances/{role}": {
      "get": {
        "externalDocs": {
          "url": "https://developer.rippling.com/documentation/base-api/reference/get-leave-balance"
        },
        "operationId": "rippling.base_api.get_leave_balance",
        "parameters": [
          {
            "in": "path",
            "name": "role",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "balances": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/OutputBaseApiLeaveBalances31e4c815182a"
                        },
                        {
                          "items": {
                            "$ref": "#/components/schemas/OutputBaseApiLeaveBalances31e4c815182a"
                          },
                          "type": "array"
                        }
                      ]
                    },
                    "role": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "servers": [
          {
            "description": "production",
            "url": "https://api.rippling.com"
          },
          {
            "description": "sandbox",
            "url": "https://api.ripplingpreview.com"
          }
        ],
        "summary": "GET Leave Balance",
        "x-rippling-entitlements": [],
        "x-rippling-required-scopes": []
      }
    },
    "/platform/api/leave_requests": {
      "get": {
        "externalDocs": {
          "url": "https://developer.rippling.com/documentation/base-api/reference/get-leave-requests"
        },
        "operationId": "rippling.base_api.get_leave_requests",
        "parameters": [
          {
            "in": "query",
            "name": "id",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "role",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "requestedBy",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "status",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "startDate",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "endDate",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "leavePolicy",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "processedBy",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "from",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "to",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/OutputBaseApiLeaveRequest08fa0e8a357b"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK"
          }
        },
        "servers": [
          {
            "description": "production",
            "url": "https://api.rippling.com"
          },
          {
            "description": "sandbox",
            "url": "https://api.ripplingpreview.com"
          }
        ],
        "summary": "GET Leave Requests",
        "x-rippling-entitlements": [],
        "x-rippling-required-scopes": []
      },
      "post": {
        "externalDocs": {
          "url": "https://developer.rippling.com/documentation/base-api/reference/post-leave-requests"
        },
        "operationId": "rippling.base_api.post_leave_requests",
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "companyLeaveType": {
                    "description": "Unique identifier of the company leave type",
                    "type": "string"
                  },
                  "endDate": {
                    "type": "string"
                  },
                  "endDateCustomHours": {
                    "type": "string"
                  },
                  "endDateEndTime": {
                    "type": "string"
                  },
                  "externalId": {
                    "description": "Object id for corresponding leave obejct in third party system. This may be null.",
                    "type": "string"
                  },
                  "leavePolicy": {
                    "description": "Unique identifier of the leave policy. Required if request is not managed by TILT",
                    "type": "string"
                  },
                  "managedBy": {
                    "description": "String identifier for third party that manages this leave request. This may be null.",
                    "type": "string"
                  },
                  "reasonForLeave": {
                    "type": "string"
                  },
                  "requestedBy": {
                    "type": "string"
                  },
                  "role": {
                    "description": "Unique identifier of the employee who is taking leave.",
                    "type": "string"
                  },
                  "startDate": {
                    "type": "string"
                  },
                  "startDateCustomHours": {
                    "type": "string"
                  },
                  "startDateStartTime": {
                    "type": "string"
                  },
                  "status": {
                    "description": "The status to create the leave request in. Only TILT managed requests can take a status other than PENDING.",
                    "type": "string"
                  }
                },
                "required": [
                  "companyLeaveType",
                  "endDate",
                  "leavePolicy",
                  "role",
                  "startDate"
                ],
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/OutputBaseApiLeaveRequest08fa0e8a357b"
                    },
                    {
                      "items": {
                        "$ref": "#/components/schemas/OutputBaseApiLeaveRequest08fa0e8a357b"
                      },
                      "type": "array"
                    }
                  ]
                }
              }
            },
            "description": "OK"
          }
        },
        "servers": [
          {
            "description": "production",
            "url": "https://api.rippling.com"
          },
          {
            "description": "sandbox",
            "url": "https://api.ripplingpreview.com"
          }
        ],
        "summary": "POST Leave Request",
        "x-rippling-entitlements": [],
        "x-rippling-required-scopes": []
      }
    },
    "/platform/api/leave_requests/{id}": {
      "patch": {
        "externalDocs": {
          "url": "https://developer.rippling.com/documentation/base-api/reference/patch-leave-requests-leave-request-id"
        },
        "operationId": "rippling.base_api.patch_leave_requests_leaverequestid",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "endDate": {
                    "type": "string"
                  },
                  "endDateCustomHours": {
                    "type": "string"
                  },
                  "endDateEndTime": {
                    "type": "string"
                  },
                  "reasonForLeave": {
                    "description": "Updated reason for leave request. This may be updated even for an APPROVED request.",
                    "type": "string"
                  },
                  "requestedBy": {
                    "type": "string"
                  },
                  "startDate": {
                    "type": "string"
                  },
                  "startDateCustomHours": {
                    "type": "string"
                  },
                  "startDateStartTime": {
                    "type": "string"
                  },
                  "status": {
                    "description": "Change the status of a request. This is only possible for TILT managed requests.",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/OutputBaseApiLeaveRequest4fa85ac0f267"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK"
          }
        },
        "servers": [
          {
            "description": "production",
            "url": "https://api.rippling.com"
          },
          {
            "description": "sandbox",
            "url": "https://api.ripplingpreview.com"
          }
        ],
        "summary": "PATCH Leave Request",
        "x-rippling-entitlements": [],
        "x-rippling-required-scopes": []
      }
    },
    "/platform/api/leave_requests/{id}/cancel": {
      "post": {
        "externalDocs": {
          "url": "https://developer.rippling.com/documentation/base-api/reference/cancel-leave-requests"
        },
        "operationId": "rippling.base_api.cancel_leave_requests",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OutputBaseApiLeaveRequest4fa85ac0f267"
                }
              }
            },
            "description": "OK"
          }
        },
        "servers": [
          {
            "description": "production",
            "url": "https://api.rippling.com"
          },
          {
            "description": "sandbox",
            "url": "https://api.ripplingpreview.com"
          }
        ],
        "summary": "POST Cancel Leave Request",
        "x-rippling-entitlements": [],
        "x-rippling-required-scopes": []
      }
    },
    "/platform/api/leave_requests/{id}/process": {
      "post": {
        "externalDocs": {
          "url": "https://developer.rippling.com/documentation/base-api/reference/process-leave-requests"
        },
        "operationId": "rippling.base_api.process_leave_requests",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "action",
            "required": true,
            "schema": {
              "enum": [
                "approve",
                "decline"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OutputBaseApiLeaveRequest4fa85ac0f267"
                }
              }
            },
            "description": "OK"
          }
        },
        "servers": [
          {
            "description": "production",
            "url": "https://api.rippling.com"
          },
          {
            "description": "sandbox",
            "url": "https://api.ripplingpreview.com"
          }
        ],
        "summary": "POST Process Leave Request",
        "x-rippling-entitlements": [],
        "x-rippling-required-scopes": []
      }
    },
    "/platform/api/levels": {
      "get": {
        "externalDocs": {
          "url": "https://developer.rippling.com/documentation/base-api/reference/get-levels"
        },
        "operationId": "rippling.base_api.get_levels",
        "parameters": [
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/OutputBaseApiLevel052dec64cb5f"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK"
          }
        },
        "servers": [
          {
            "description": "production",
            "url": "https://api.rippling.com"
          },
          {
            "description": "sandbox",
            "url": "https://api.ripplingpreview.com"
          }
        ],
        "summary": "GET Levels",
        "x-rippling-entitlements": [],
        "x-rippling-required-scopes": []
      }
    },
    "/platform/api/mark_app_installed": {
      "post": {
        "externalDocs": {
          "url": "https://developer.rippling.com/documentation/base-api/reference/post-mark-app-installed"
        },
        "operationId": "rippling.base_api.post_mark_app_installed",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "ok"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "servers": [
          {
            "description": "production",
            "url": "https://api.rippling.com"
          },
          {
            "description": "sandbox",
            "url": "https://api.ripplingpreview.com"
          }
        ],
        "summary": "Mark App Installed",
        "x-rippling-entitlements": [],
        "x-rippling-required-scopes": []
      }
    },
    "/platform/api/me": {
      "get": {
        "externalDocs": {
          "url": "https://developer.rippling.com/documentation/base-api/reference/get-me"
        },
        "operationId": "rippling.base_api.get_me",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OutputBaseApiAuthenticatedUserMe4d77a0f68923"
                }
              }
            },
            "description": "OK"
          }
        },
        "servers": [
          {
            "description": "production",
            "url": "https://api.rippling.com"
          },
          {
            "description": "sandbox",
            "url": "https://api.ripplingpreview.com"
          }
        ],
        "summary": "GET Current User",
        "x-rippling-entitlements": [],
        "x-rippling-required-scopes": []
      }
    },
    "/platform/api/saml/idp_metadata": {
      "get": {
        "externalDocs": {
          "url": "https://developer.rippling.com/documentation/base-api/reference/get-saml-idp-metadata"
        },
        "operationId": "rippling.base_api.get_saml_idp_metadata",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/xml": {
                "schema": {
                  "description": "SAML Metadata returned in XML",
                  "type": "string"
                }
              }
            },
            "description": "OK"
          }
        },
        "servers": [
          {
            "description": "production",
            "url": "https://api.rippling.com"
          },
          {
            "description": "sandbox",
            "url": "https://api.ripplingpreview.com"
          }
        ],
        "summary": "GET SAML Metadata",
        "x-rippling-entitlements": [],
        "x-rippling-required-scopes": []
      }
    },
    "/platform/api/teams": {
      "get": {
        "externalDocs": {
          "url": "https://developer.rippling.com/documentation/base-api/reference/get-teams"
        },
        "operationId": "rippling.base_api.get_teams",
        "parameters": [
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/OutputBaseApiTeam26aae12002d0"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK"
          }
        },
        "servers": [
          {
            "description": "production",
            "url": "https://api.rippling.com"
          },
          {
            "description": "sandbox",
            "url": "https://api.ripplingpreview.com"
          }
        ],
        "summary": "GET Teams",
        "x-rippling-entitlements": [],
        "x-rippling-required-scopes": []
      }
    },
    "/platform/api/work_locations": {
      "get": {
        "externalDocs": {
          "url": "https://developer.rippling.com/documentation/base-api/reference/get-work-locations"
        },
        "operationId": "rippling.base_api.get_work_locations",
        "parameters": [
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/OutputBaseApiWorkLocation8c60e24e4a12"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK"
          }
        },
        "servers": [
          {
            "description": "production",
            "url": "https://api.rippling.com"
          },
          {
            "description": "sandbox",
            "url": "https://api.ripplingpreview.com"
          }
        ],
        "summary": "GET Work Locations",
        "x-rippling-entitlements": [],
        "x-rippling-required-scopes": []
      }
    }
  }
}
