---
title: "Upsert Public Payroll Profile"
method: POST
path: "/v2/public/payroll/profiles"
tags: ["payroll"]
---

# Upsert Public Payroll Profile

`POST /v2/public/payroll/profiles`

## Request

- Base URL: `https://api.sanka.com`
- URL: `https://api.sanka.com/v2/public/payroll/profiles`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/sankahq/apis/sanka-public-api/docs/v2/public/payroll/profiles/post.ts> (a function with typed inputs; its response is checked against the schema)

## Query parameters

- `workspace_id` string, nullable

## Headers

- `X-Workspace-Code` string

## Request body

- PayrollProfileUpsertRequest
  - `employee_id` string, required
  - `jurisdiction_country_code` string, nullable
  - `pay_type` string
  - `base_salary` number
  - `hourly_rate` number, nullable
  - `scheduled_monthly_hours` number, nullable
  - `tax_table_type` string
  - `dependent_count` integer
  - `resident_tax_monthly_amount` number
  - `standard_monthly_remuneration` number, nullable
  - `health_insurance_prefecture_code` string, nullable
  - `is_health_insurance_enrolled` boolean
  - `is_care_insurance_enrolled` boolean
  - `is_pension_enrolled` boolean
  - `is_employment_insurance_enrolled` boolean
  - `effective_from` string, date, nullable
  - `effective_to` string, date, nullable
  - `extra_settings` object

## Response `200`

Successful Response

- UpsertPublicPayrollProfileApiV2PublicPayrollProfilesPost200Envelope
  - `success` true, required
  - `data` object, required
  - `meta` EnvelopeMeta, required
    - `ctx_id` string, required
    - `pagination` PaginationMeta
      - `page` integer, required
      - `page_size` integer, required
      - `total` integer, required
      - `next_cursor` string, nullable
    - `toast` ToastMessage
      - `variant` 'success' | 'error' | 'info' | 'warning', required
      - `code` string, required
      - `message` string, required
      - `i18n` ToastMessageI18n, required
        - `en` string, required
        - `ja` string, required

## Other responses

- `401`: Error response
- `422`: Error response

## Changes

- **2026-07-06** `6ce94a6be72c`: 6 info
  - added the optional property `meta/pagination/next_cursor` to the response with the `200` status
  - added the optional property `meta/pagination/next_cursor` to the response with the `401` status
  - added the optional property `meta/pagination/next_cursor` to the response with the `422` status
  - added the optional property `meta/toast` to the response with the `200` status
  - …2 more
- **2026-06-10** `9099b22c3aae`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/sankahq/apis/sanka-public-api/changes/v2/public/payroll/profiles/post.md)

---

[API](https://skmtc.dev/sankahq/apis/sanka-public-api.md) - [All operations](https://skmtc.dev/sankahq/apis/sanka-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/sankahq/apis/sanka-public-api/revisions/16f03a9e3ab9?raw)
