{
  "service": "rippling",
  "displayName": "Rippling",
  "categories": [
    "Productivity",
    "Security"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Token",
      "placeholder": "rippling_api_token",
      "description": "Rippling API token sent as a Bearer token. Create an API token from the Rippling developer portal, then follow the REST API quickstart: https://developer.rippling.com/documentation/rest-api/essentials/quickstart."
    }
  ],
  "homepageUrl": "https://www.rippling.com/",
  "actions": [
    {
      "id": "rippling.get_worker",
      "service": "rippling",
      "name": "get_worker",
      "description": "Retrieve one Rippling worker by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "Rippling worker ID."
          },
          "expand": {
            "type": "string",
            "minLength": 1,
            "description": "Comma-separated Rippling expandable fields to include in the response."
          }
        },
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "description": "Path and query parameters for retrieving a Rippling worker."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Rippling resource ID."
          },
          "created_at": {
            "type": "string",
            "description": "Record creation timestamp."
          },
          "updated_at": {
            "type": "string",
            "description": "Record update timestamp."
          },
          "__meta": {
            "type": "object",
            "properties": {
              "redacted_fields": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string",
                      "description": "The name of the redacted field."
                    },
                    "reason": {
                      "type": "string",
                      "description": "The reason the field was redacted."
                    }
                  },
                  "additionalProperties": true,
                  "description": "Rippling redacted field metadata."
                },
                "description": "Fields redacted by Rippling for the current token."
              }
            },
            "additionalProperties": true,
            "description": "Rippling response metadata."
          }
        },
        "additionalProperties": true,
        "required": [
          "id",
          "created_at",
          "updated_at"
        ],
        "description": "Rippling worker response."
      }
    },
    {
      "id": "rippling.list_companies",
      "service": "rippling",
      "name": "list_companies",
      "description": "List companies available to the Rippling API token.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "expand": {
            "type": "string",
            "minLength": 1,
            "description": "Comma-separated Rippling expandable fields to include in the response."
          },
          "order_by": {
            "type": "string",
            "minLength": 1,
            "description": "Rippling sort expression such as id, created_at, or updated_at."
          },
          "cursor": {
            "type": "string",
            "minLength": 1,
            "description": "Cursor from the previous Rippling next_link value."
          }
        },
        "additionalProperties": false,
        "description": "Query parameters for listing Rippling companies."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "__meta": {
            "type": "object",
            "properties": {
              "redacted_fields": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string",
                      "description": "The name of the redacted field."
                    },
                    "reason": {
                      "type": "string",
                      "description": "The reason the field was redacted."
                    }
                  },
                  "additionalProperties": true,
                  "description": "Rippling redacted field metadata."
                },
                "description": "Fields redacted by Rippling for the current token."
              }
            },
            "additionalProperties": true,
            "description": "Rippling response metadata."
          },
          "results": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "Rippling resource ID."
                },
                "created_at": {
                  "type": "string",
                  "description": "Record creation timestamp."
                },
                "updated_at": {
                  "type": "string",
                  "description": "Record update timestamp."
                }
              },
              "additionalProperties": true,
              "description": "Rippling resource object."
            },
            "description": "Company records returned by Rippling."
          },
          "next_link": {
            "type": "string",
            "description": "URL for the next Rippling page when more results exist."
          }
        },
        "additionalProperties": false,
        "required": [
          "results"
        ],
        "description": "Rippling companies list response."
      }
    },
    {
      "id": "rippling.list_departments",
      "service": "rippling",
      "name": "list_departments",
      "description": "List departments available to the Rippling API token.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "expand": {
            "type": "string",
            "minLength": 1,
            "description": "Comma-separated Rippling expandable fields to include in the response."
          },
          "order_by": {
            "type": "string",
            "minLength": 1,
            "description": "Rippling sort expression such as id, created_at, or updated_at."
          },
          "cursor": {
            "type": "string",
            "minLength": 1,
            "description": "Cursor from the previous Rippling next_link value."
          }
        },
        "additionalProperties": false,
        "description": "Query parameters for listing Rippling departments."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "__meta": {
            "type": "object",
            "properties": {
              "redacted_fields": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string",
                      "description": "The name of the redacted field."
                    },
                    "reason": {
                      "type": "string",
                      "description": "The reason the field was redacted."
                    }
                  },
                  "additionalProperties": true,
                  "description": "Rippling redacted field metadata."
                },
                "description": "Fields redacted by Rippling for the current token."
              }
            },
            "additionalProperties": true,
            "description": "Rippling response metadata."
          },
          "results": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "Rippling resource ID."
                },
                "created_at": {
                  "type": "string",
                  "description": "Record creation timestamp."
                },
                "updated_at": {
                  "type": "string",
                  "description": "Record update timestamp."
                }
              },
              "additionalProperties": true,
              "description": "Rippling resource object."
            },
            "description": "Department records returned by Rippling."
          },
          "next_link": {
            "type": "string",
            "description": "URL for the next Rippling page when more results exist."
          }
        },
        "additionalProperties": false,
        "required": [
          "results"
        ],
        "description": "Rippling departments list response."
      }
    },
    {
      "id": "rippling.list_workers",
      "service": "rippling",
      "name": "list_workers",
      "description": "List workers available to the Rippling API token.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "filter": {
            "type": "string",
            "minLength": 1,
            "description": "Rippling filter expression for worker fields."
          },
          "expand": {
            "type": "string",
            "minLength": 1,
            "description": "Comma-separated Rippling expandable fields to include in the response."
          },
          "order_by": {
            "type": "string",
            "minLength": 1,
            "description": "Rippling sort expression such as id, created_at, or updated_at."
          },
          "cursor": {
            "type": "string",
            "minLength": 1,
            "description": "Cursor from the previous Rippling next_link value."
          }
        },
        "additionalProperties": false,
        "description": "Query parameters for listing Rippling workers."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "__meta": {
            "type": "object",
            "properties": {
              "redacted_fields": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string",
                      "description": "The name of the redacted field."
                    },
                    "reason": {
                      "type": "string",
                      "description": "The reason the field was redacted."
                    }
                  },
                  "additionalProperties": true,
                  "description": "Rippling redacted field metadata."
                },
                "description": "Fields redacted by Rippling for the current token."
              }
            },
            "additionalProperties": true,
            "description": "Rippling response metadata."
          },
          "results": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "Rippling resource ID."
                },
                "created_at": {
                  "type": "string",
                  "description": "Record creation timestamp."
                },
                "updated_at": {
                  "type": "string",
                  "description": "Record update timestamp."
                }
              },
              "additionalProperties": true,
              "description": "Rippling resource object."
            },
            "description": "Worker records returned by Rippling."
          },
          "next_link": {
            "type": "string",
            "description": "URL for the next Rippling page when more results exist."
          }
        },
        "additionalProperties": false,
        "required": [
          "results"
        ],
        "description": "Rippling workers list response."
      }
    }
  ]
}
