---
updatedAt: 2026-04-27T15:52:51.000Z
agentTools:
  siteIndex: https://developer.paylocity.com/llms.txt
  projectIndex: https://developer.paylocity.com/integrations/llms.txt
---

# Upsert Additional Rates

Sends new or updated employee additional rates information directly to Paylocity Payroll/HR solution.

# OpenAPI definition

```json
{
  "openapi": "3.0.1",
  "info": {
    "title": "WebLink API",
    "description": "For documentation about this API, please visit https://developer.paylocity.com/integrations/reference/weblink-overview",
    "contact": {
      "email": "webservices@paylocity.com"
    },
    "version": "v2"
  },
  "servers": [
    {
      "url": "https://dc1demogw.paylocity.com/api"
    }
  ],
  "paths": {
    "/v2/companies/{companyId}/employees/{employeeId}/additionalRates": {
      "put": {
        "tags": [
          "Additional Rates"
        ],
        "summary": "Upsert Additional Rates",
        "description": "Sends new or updated employee additional rates information directly to Paylocity Payroll/HR solution.",
        "x-explorer-enabled": false,
        "operationId": "Add or update additional rates",
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "description": "The Paylocity Company Identifier. This is the unique value provided by Paylocity to each specific Payroll Entity.\r\n                **Allowable Values:**\r\n                9 char max",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "employeeId",
            "in": "path",
            "description": "The Paylocity Employee ID. This is a unique value per Paylocity Company ID.\r\n**Allowable Values:**\r\n10 char max",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Additional Rate Model",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/additionalRate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successfully added or updated",
            "content": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/error"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {}
          },
          "403": {
            "description": "Forbidden",
            "content": {}
          },
          "429": {
            "description": "Too Many Requests",
            "content": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/error"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "paylocity_auth": [
              "WebLinkAPI"
            ]
          }
        ],
        "x-codegen-request-body-name": "json"
      }
    }
  },
  "components": {
    "schemas": {
      "error": {
        "type": "object",
        "properties": {
          "field": {
            "type": "string",
            "description": "The name of the field, or property in the request message that contains an error."
          },
          "message": {
            "type": "string",
            "description": "The error message."
          },
          "options": {
            "type": "array",
            "description": "A list of options associated with this error. These options may indicate valid values for the field, or property that contains an error.",
            "items": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string",
                  "description": "The code associated with this option."
                },
                "description": {
                  "type": "string",
                  "description": "The description of the option."
                }
              },
              "description": "The error option model"
            }
          },
          "path": {
            "type": "string",
            "description": "The JSON path of the field, or property, that contains an error in the request message."
          }
        },
        "description": "The error model"
      },
      "additionalRate": {
        "type": "object",
        "properties": {
          "changeReason": {
            "type": "string",
            "description": "Not required. If populated, must match one of the system coded values available in the Additional Rates Change Reason drop down.<br />"
          },
          "costCenter1": {
            "type": "string",
            "description": "Not required. Valid values must match one of the system coded cost centers available in the Additional Rates Cost Center level 1 drop down. This cell must be in a text format.<br />"
          },
          "costCenter2": {
            "type": "string",
            "description": "Not required. Valid values must match one of the system coded cost centers available in the Additional Rates Cost Center level 2 drop down. This cell must be in a text format.<br />"
          },
          "costCenter3": {
            "type": "string",
            "description": "Not required. Valid values must match one of the system coded cost centers available in the Additional Rates Cost Center level 3 drop down. This cell must be in a text format.<br />"
          },
          "effectiveDate": {
            "type": "string",
            "description": "Required. Common formats include *MM-DD-CCYY*, *CCYY-MM-DD*.<br />",
            "format": "paylocity-date"
          },
          "endCheckDate": {
            "type": "string",
            "description": "Not required. Must match one of the system coded check dates available in the Additional Rates End Check Date drop down. Common formats include *MM-DD-CCYY*, *CCYY-MM-DD*.<br />",
            "format": "paylocity-date"
          },
          "job": {
            "type": "string",
            "description": "Not required. If populated, must match one of the system coded values available in the Additional Rates Job drop down.<br />"
          },
          "rate": {
            "type": "number",
            "description": "Required. Enter dollar amount that corresponds to the Per selection.<br />"
          },
          "rateCode": {
            "type": "string",
            "description": "Required. If populated, must match one of the system coded values available in the Additional Rates Rate Code drop down.<br />"
          },
          "rateNotes": {
            "type": "string",
            "description": "Not required.<br  />Max length: 4000<br />"
          },
          "ratePer": {
            "type": "string",
            "description": "Required. Valid values are HOUR or WEEK.<br />"
          },
          "shift": {
            "type": "string",
            "description": "Not required. If populated, must match one of the system coded values available in the Additional Rates Shift drop down.<br />"
          }
        },
        "additionalProperties": false,
        "description": "The additional pay rate model"
      }
    },
    "securitySchemes": {
      "paylocity_auth": {
        "type": "oauth2",
        "flows": {
          "clientCredentials": {
            "tokenUrl": "https://api.paylocity.com/IdentityServer/connect/token",
            "scopes": {
              "WebLinkAPI": "Web Link Api"
            }
          }
        }
      }
    }
  },
  "x-original-swagger-version": "2.0"
}
```