# Create or update an impersonation config

If an object with the same ID already exists, it will be overwritten.

Endpoint: PUT /impersonationconfig/{impersonationConfigID}
Version: 1.0.457.36910
Security: OAuth2

## Security:

  - `OAuth2` (unknown)
    oauth2 scopes: FullAccess, SetSecurityProfile

## Path parameters:

  - `impersonationConfigID` (string, required)
    ID of the impersonation config.

## Request fields (application/json):

  - `ID` (string)

  - `ImpersonationBuyerID` (string)
    The BuyerID of the impersonator group or user (party doing the impersonating)

  - `ImpersonationGroupID` (string)
    The UserGroupID of the impersonator (party doing the impersonating)

  - `ImpersonationUserID` (string)
    The UserID of the impersonator (party doing the impersonating)

  - `BuyerID` (string)
    The BuyerID of the impersonatee (party being impersonated). If null, the config can be used to impersonate users in any buyer in the marketplace that is able to access the specified API Client.

  - `GroupID` (string)
    The UserGroupID of the impersonatee (party being impersonated)

  - `UserID` (string)
    The UserID of the impersonatee (party being impersonated)

  - `SecurityProfileID` (string)

  - `ClientID` (string)

## Response 200:

  - `200` (unknown)
    If an object with the same ID already exists, it will be overwritten.

## Response 200 fields (application/json):

  - `ID` (string)

  - `ImpersonationBuyerID` (string)
    The BuyerID of the impersonator group or user (party doing the impersonating)

  - `ImpersonationGroupID` (string)
    The UserGroupID of the impersonator (party doing the impersonating)

  - `ImpersonationUserID` (string)
    The UserID of the impersonator (party doing the impersonating)

  - `BuyerID` (string)
    The BuyerID of the impersonatee (party being impersonated). If null, the config can be used to impersonate users in any buyer in the marketplace that is able to access the specified API Client.

  - `GroupID` (string)
    The UserGroupID of the impersonatee (party being impersonated)

  - `UserID` (string)
    The UserID of the impersonatee (party being impersonated)

  - `SecurityProfileID` (string)

  - `ClientID` (string)

## Response 4XX:

  - `4XX` (unknown)
    Expected errors range from 400-409. Anything in the 5XX range indicates a server issue and should be reported to support.

## Response 4XX fields (application/json):

  - `StatusCode` (integer)
    Example: 404

  - `ErrorCode` (string)
    Example: NotFoundError

  - `Message` (string)
    Example: Object not found

  - `Data` (object)
    Example: {"ObjectType":"","ObjectID":""}

