{
  "components": {
    "schemas": {}
  },
  "info": {
    "title": "Rippling global-payroll-api",
    "version": "2026-10-28"
  },
  "openapi": "3.1.0",
  "paths": {
    "/platform/api/gp_company_deduction/{countryCode}": {
      "get": {
        "externalDocs": {
          "url": "https://developer.rippling.com/documentation/global-payroll-api/reference/get-platform-api-company-deductions"
        },
        "operationId": "rippling.global_payroll_api.get_platform_api_company_deductions",
        "parameters": [
          {
            "in": "path",
            "name": "countryCode",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "properties": {
                      "deductionCode": {
                        "type": "string"
                      },
                      "isRecurring": {
                        "type": "boolean"
                      },
                      "legalDeductionCode": {
                        "type": "string"
                      },
                      "recurringFrequency": {
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "description": "Not Found",
            "x-rippling-source-response": {
              "content": {
                "application/json": {
                  "schema": {
                    "properties": {
                      "errorCode": {
                        "type": "string"
                      },
                      "errorMessage": {
                        "type": "string"
                      }
                    },
                    "type": "object"
                  }
                }
              },
              "description": "Not Found"
            }
          }
        },
        "servers": [
          {
            "description": "production",
            "url": "https://api.rippling.com"
          },
          {
            "description": "sandbox",
            "url": "https://api.ripplingpreview.com"
          }
        ],
        "summary": "Get Company Deduction List",
        "x-rippling-entitlements": [],
        "x-rippling-required-scopes": []
      }
    },
    "/platform/api/gp_company_payroll": {
      "get": {
        "externalDocs": {
          "url": "https://developer.rippling.com/documentation/global-payroll-api/reference/get-gp-company-payroll"
        },
        "operationId": "rippling.global_payroll_api.get_gp_company_payroll",
        "parameters": [
          {
            "in": "query",
            "name": "countryCode",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "from",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "to",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "runStatus",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "properties": {
                      "approveBy": {
                        "description": "The date this run must be approved by",
                        "type": "string"
                      },
                      "checkDate": {
                        "description": "the date when employees will get paid",
                        "type": "string"
                      },
                      "companyEntityRelationshipId": {
                        "description": "This is the unique ID of the legal entity. This ID will match the entity ID returned on GET/Employees and GET/Current Company.",
                        "type": "string"
                      },
                      "companyPayrollEntityId": {
                        "description": "This is an internal ID of the legal entity in Rippling global payroll. This ID is different than the entity ID returned on GET/Employees and GET/Current Company.",
                        "type": "string"
                      },
                      "countryCode": {
                        "description": "Two-letter ISO country code",
                        "type": "string"
                      },
                      "debitDate": {
                        "description": "the date this run will get debit",
                        "type": "string"
                      },
                      "endDate": {
                        "description": "endDate of pay run",
                        "type": "string"
                      },
                      "paymentType": {
                        "description": "Display what kind of paymentType company choose to pay",
                        "type": "string"
                      },
                      "payrollEntityLegalName": {
                        "description": "Legal name of the entity",
                        "type": "string"
                      },
                      "runId": {
                        "description": "Unique id of this run ",
                        "type": "string"
                      },
                      "runStatus": {
                        "description": "A full lift cycle of run: DRAFT -> APPROVED -> PAID",
                        "type": "string"
                      },
                      "runType": {
                        "description": "Generally we have REGULAR, OFFCYCLE, TERMINATION, EXCESS_HOURS, INTERIM, REGULAR run is most common runs that we should pay attention ",
                        "type": "string"
                      },
                      "runVersionId": {
                        "description": "RunVersion is the version control of each run. Everytime a payrun is getting update we generate a different countryRunVersionId. RunVersionId are usually used in finding related PayRunEntries(PREs)",
                        "type": "string"
                      },
                      "startDate": {
                        "description": "startDate of the pay run",
                        "type": "string"
                      },
                      "title": {
                        "description": "Pay Run Title",
                        "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 Company PayRun List",
        "x-rippling-entitlements": [],
        "x-rippling-required-scopes": []
      }
    },
    "/platform/api/gp_deductions/{employeeId}": {
      "get": {
        "externalDocs": {
          "url": "https://developer.rippling.com/documentation/global-payroll-api/reference/get-employee-deductions"
        },
        "operationId": "rippling.global_payroll_api.get_employee_deductions",
        "parameters": [
          {
            "in": "path",
            "name": "employeeId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "deductionCode",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "properties": {
                      "deductionCode": {
                        "description": "code for this deduction, for example dental, viison",
                        "type": "string"
                      },
                      "eeValue": {
                        "description": "Employee contribute amount. Either flat amount or percentage.",
                        "type": "string"
                      },
                      "eeValueType": {
                        "description": "Type of the eeValue. Currently only supports percentage or flat amount. Will display as \"PERCENTAGE\" or \"AMOUNT\"",
                        "type": "string"
                      },
                      "erTaxableValue": {
                        "description": "Amount or percentage that will be taxed. Either a flat number or percentage.",
                        "type": "string"
                      },
                      "erTaxableValueType": {
                        "description": "Type of the erTaxableValue. Currently only supports percentage or flat amount. Will display as \"PERCENTAGE\" or \"AMOUNT\"",
                        "type": "string"
                      },
                      "erValue": {
                        "description": "Employer contribute amount. Either flat amount or percentage.",
                        "type": "string"
                      },
                      "erValueType": {
                        "description": "Type of the erValue. Currently only supports percentage or flat amount. Will display as \"PERCENTAGE\" or \"AMOUNT\"",
                        "type": "string"
                      },
                      "recurringFrequency": {
                        "description": "Currently supports per montly or per pay period",
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "description": "404 Not Found",
            "x-rippling-source-response": {
              "content": {
                "application/json": {
                  "schema": {
                    "properties": {
                      "errorCode": {
                        "description": "NOT_FOUND",
                        "type": "string"
                      },
                      "errorMessage": {
                        "description": "deductionEntry not found for employee {employeeId}",
                        "type": "string"
                      }
                    },
                    "type": "object",
                    "x-examples": {
                      "Example 1": {
                        "errorCode": "NOT_FOUND",
                        "errorMessage": "deductionEntry not found for employee {employeeId}"
                      }
                    }
                  }
                }
              },
              "description": "404 Not Found"
            }
          }
        },
        "servers": [
          {
            "description": "production",
            "url": "https://api.rippling.com"
          },
          {
            "description": "sandbox",
            "url": "https://api.ripplingpreview.com"
          }
        ],
        "summary": "Get employee deductions",
        "x-rippling-entitlements": [],
        "x-rippling-required-scopes": []
      },
      "patch": {
        "externalDocs": {
          "url": "https://developer.rippling.com/documentation/global-payroll-api/reference/patch-an-employee-deduction"
        },
        "operationId": "rippling.global_payroll_api.patch_an_employee_deduction",
        "parameters": [
          {
            "in": "path",
            "name": "employeeId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "countryCode": {
                    "type": "string"
                  },
                  "deductionCode": {
                    "type": "string"
                  },
                  "eeValue": {
                    "type": "string"
                  },
                  "eeValueType": {
                    "type": "string"
                  },
                  "erTaxableValue": {
                    "type": "string"
                  },
                  "erTaxableValueType": {
                    "type": "string"
                  },
                  "erValue": {
                    "type": "string"
                  },
                  "erValueType": {
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "OK"
          },
          "500": {
            "description": "Internal Server Error",
            "x-rippling-source-response": {
              "content": {
                "application/json": {
                  "schema": {
                    "properties": {
                      "errorCode": {
                        "type": "string"
                      },
                      "errorMessage": {
                        "type": "string"
                      },
                      "exceptionDetail": {
                        "type": "string"
                      }
                    },
                    "type": "object"
                  }
                }
              },
              "description": "Internal Server Error"
            }
          }
        },
        "servers": [
          {
            "description": "production",
            "url": "https://api.rippling.com"
          },
          {
            "description": "sandbox",
            "url": "https://api.ripplingpreview.com"
          }
        ],
        "summary": "Patch an employee deduction",
        "x-rippling-entitlements": [],
        "x-rippling-required-scopes": []
      }
    },
    "/platform/api/gp_employee_payroll": {
      "get": {
        "externalDocs": {
          "url": "https://developer.rippling.com/documentation/global-payroll-api/reference/get-gp-employee-payroll"
        },
        "operationId": "rippling.global_payroll_api.get_gp_employee_payroll",
        "parameters": [
          {
            "in": "query",
            "name": "runId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "properties": {
                      "companyId": {
                        "description": "Identifier of company",
                        "type": "string"
                      },
                      "computedData": {
                        "properties": {
                          "employeeDeductions": {
                            "description": "total deduction amount for employee",
                            "type": "string"
                          },
                          "employeeTaxes": {
                            "description": "tax amount for employee",
                            "type": "string"
                          },
                          "employerTaxes": {
                            "description": "tax amount for employer",
                            "type": "string"
                          },
                          "grossPay": {
                            "description": "earning wages before deductions",
                            "type": "string"
                          },
                          "imputedPay": {
                            "description": "benefits that not part of wages but still get taxed",
                            "type": "string"
                          },
                          "netPay": {
                            "description": "earning wages that employees take home",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "countryCode": {
                        "description": "Two-letter ISO country code",
                        "type": "string"
                      },
                      "currency": {
                        "description": "Currency which employee will get paid by",
                        "type": "string"
                      },
                      "deductions": {
                        "description": "A dictionary of mapping deductionCode -> summary of deduction details",
                        "properties": {
                          "DeductionCode": {
                            "properties": {
                              "deductionBean": {
                                "properties": {
                                  "eeContributionValue": {
                                    "description": "amount contributed by employee",
                                    "type": "string"
                                  },
                                  "erContributionValue": {
                                    "description": "amount contributed by employer",
                                    "type": "string"
                                  }
                                },
                                "type": "object"
                              }
                            },
                            "type": "object"
                          }
                        },
                        "type": "object"
                      },
                      "earningsPerEarningType": {
                        "description": "A dictionary with key being EarningCode and value is a nested object of earning summary",
                        "properties": {
                          "EarningCode": {
                            "description": "Can be Salary, Bonus etc.",
                            "properties": {
                              "wage": {
                                "properties": {
                                  "hours": {
                                    "description": "total hours included for this earning code in this pay run",
                                    "type": "string"
                                  },
                                  "rate": {
                                    "description": "value per hours",
                                    "type": "string"
                                  },
                                  "value": {
                                    "description": "total amount for this earning code in this pay run",
                                    "type": "string"
                                  }
                                },
                                "type": "object"
                              }
                            },
                            "type": "object"
                          }
                        },
                        "type": "object"
                      },
                      "payFrequency": {
                        "description": "Weekly, Bi-Weekly, Semi-Monthly, Monthly",
                        "type": "string"
                      },
                      "payScheduleName": {
                        "description": "Company can define a name for pay schedule, by default this field is \"{country name} Default Pay Schedule\" for exmaple Canada Default Pay Schedule",
                        "type": "string"
                      },
                      "preVersionId": {
                        "description": "Version Control of PRE, everytime there's an update for a PRE we also update it's PREVersionId",
                        "type": "string"
                      },
                      "roleId": {
                        "description": "EmployeeId",
                        "type": "string"
                      },
                      "runId": {
                        "description": "Identifying which pay run this PRE belongs to",
                        "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 Employees PRE List within PayRun",
        "x-rippling-entitlements": [],
        "x-rippling-required-scopes": []
      }
    }
  }
}
