> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mercurjs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# updateSellerProfessionalDetailsWorkflow

> Upsert a seller's professional (business) details.

Creates or updates the professional details record attached to a seller. Also run as a step by `createSellerAccountWorkflow` when professional details are provided at registration.

## Usage

```ts theme={null}
import { updateSellerProfessionalDetailsWorkflow } from "@mercurjs/core/workflows"

const { result } = await updateSellerProfessionalDetailsWorkflow(container).run({
  input: {
    seller_id: "sel_123",
    data: { corporate_name: "Acme GmbH", tax_id: "DE123456789" },
  },
})
```

## Input

<ParamField body="seller_id" type="string" required>Id of the seller whose professional details are updated.</ParamField>

<ParamField body="data" type="UpdateProfessionalDetailsDTO" required>
  Fields to set; all optional.

  <Expandable title="properties">
    <ParamField body="corporate_name" type="string">Registered corporate name.</ParamField>
    <ParamField body="registration_number" type="string">Company registration number.</ParamField>
    <ParamField body="tax_id" type="string">Tax identifier.</ParamField>
  </Expandable>
</ParamField>

<ParamField body="additional_data" type="object">Custom data passed through to the workflow hooks.</ParamField>

## Result

<ResponseField name="result" type="ProfessionalDetailsDTO">The updated professional details.</ResponseField>

## Hooks

* `professionalDetailsUpdated` — runs after the update with `{ professional_details, additional_data }`.

```ts theme={null}
updateSellerProfessionalDetailsWorkflow.hooks.professionalDetailsUpdated(
  async ({ professional_details }) => {
    // e.g. re-run KYB checks
  }
)
```
