---
title: "POST /api/v1/target-assignments/{deploymentId}/change-request"
method: POST
path: "/api/v1/target-assignments/{deploymentId}/change-request"
tags: ["TargetAssignments"]
---

# POST /api/v1/target-assignments/{deploymentId}/change-request

`POST /api/v1/target-assignments/{deploymentId}/change-request`

## Request

- Base URL: `https://api.immy.bot` (the document declares no server; this is the origin it was published from)
- URL: `https://api.immy.bot/api/v1/target-assignments/{deploymentId}/change-request`
- Auth: none declared

## Path parameters

- `deploymentId` integer, required

## Request body

- CreateTargetAssignmentChangeRequestRequest
  - `ownerTenantId` integer
  - `payload` CreateLocalTargetAssignmentPayload, required
    - `maintenanceIdentifier` string, nullable, required
    - `maintenanceType` 'GlobalSoftware' | 'LocalSoftware' | 'WindowsUpdate' | 'ChocolateySoftware' | 'NiniteSoftware' | 'LocalMaintenanceTask' | 'GlobalMaintenanceTask' | 'AgentUpdate': The string or integer value may be used. GlobalSoftware = 0, LocalSoftware = 1, WindowsUpdate = 2, ChocolateySoftware = 3, NiniteSoftware = 4, LocalMaintenanceTask = 5, GlobalMaintenanceTask = 6, AgentUpdate = 7
    - `targetType` 'All' | 'Computer' | 'Metascript' | 'Person' | 'AzureGroup' | 'TenantMetascript' | 'AllForTenant' | 'ProviderDeviceGroup' | 'ProviderClientGroup' | 'TenantFilterScript' | 'FilterScript' | 'AllTenants' | 'SpecificTenant' | 'Tag' | 'TenantTag' | 'CloudTag' | 'CloudProviderClientGroup': The string or integer value may be used. All = 1, Computer = 2, Metascript = 5, Person = 7, AzureGroup = 8, TenantMetascript = 20, AllForTenant = 21, ProviderDeviceGroup = 22, ProviderClientGroup = 23, TenantFilterScript = 24, FilterScript = 25, AllTenants = 28, SpecificTenant = 29, Tag = 30, TenantTag = 31, CloudTag = 40, CloudProviderClientGroup = 42
    - `target` string, nullable
    - `targetCategory` 'Computer' | 'Tenant' | 'Person': The string or integer value may be used. Computer = 0, Tenant = 1, Person = 2
    - `tenantId` integer, nullable
    - `propagateToChildTenants` boolean
    - `allowAccessToParentTenant` boolean
    - `providerLinkId` integer, nullable
    - `licenseId` integer, nullable
    - `softwareSemanticVersion` SemanticVersion
      - `major` integer
      - `minor` integer
      - `patch` integer
      - `releaseLabels` string[], nullable
      - `release` string, nullable
      - `isPrerelease` boolean
      - `hasMetadata` boolean
      - `metadata` string, nullable
    - `desiredSoftwareState` 'NewerOrEqualVersion' | 'NotPresent' | 'AnyVersion' | 'ThisVersion' | 'OlderOrEqualVersion' | 'LatestVersion' | 'NoAction' | 'UpdateIfFound': The string or integer value may be used. NewerOrEqualVersion = 0, NotPresent = 1, AnyVersion = 2, ThisVersion = 3, OlderOrEqualVersion = 4, LatestVersion = 5, NoAction = 6, UpdateIfFound = 7
    - `maintenanceTaskMode` 'Enforce' | 'Audit' | 'Monitor' | 'NoAction': The string or integer value may be used. Enforce = 0, Audit = 1, Monitor = 2, NoAction = 3
    - `taskParameterValues` object, nullable
    - `targetGroupFilter` 'All' | 'Servers' | 'Workstations' | 'PortableDevices' | 'WorkstationsAndPortableDevices' | 'DomainControllers' | 'PrimaryDomainControllers': The string or integer value may be used. All = 0, Servers = 1, Workstations = 2, PortableDevices = 3, WorkstationsAndPortableDevices = 4, DomainControllers = 5, PrimaryDomainControllers = 6
    - `providerDeviceGroupType` string, uuid, nullable
    - `providerClientGroupType` string, uuid, nullable
    - `softwareProviderType` 'Ninite' | 'Chocolatey' | 'Inherent': The string or integer value may be used. Ninite = 1, Chocolatey = 2, Inherent = 3
    - `excluded` boolean
    - `targetEnforcement` 'Required' | 'Optional' | 'Adhoc' | 'Onboarding': The string or integer value may be used. Required = 1, Optional = 2, Adhoc = 3, Onboarding = 4
    - `onboardingOnly` boolean
    - `providerLinkIdForMaintenanceItem` integer, nullable
    - `targetVisibility` TargetAssignmentVisibilityPayload
      - `selfService` boolean
      - `technicianPod` boolean

## Response `200`

OK

- ChangeRequestResponse
  - `id` integer
  - `objectType` 'TargetAssignment' | 'Script': The string or integer value may be used. TargetAssignment = 1, Script = 2
  - `targetAssignmentId` integer, nullable
  - `scriptId` integer, nullable
  - `newValuesJson` unknown
  - `state` 'WaitingForApproval' | 'Denied' | 'ApprovedAndApplied' | 'NeedsAttention': The string or integer value may be used. WaitingForApproval = 1, Denied = 2, ApprovedAndApplied = 3, NeedsAttention = 4
  - `acknowledgedByUserId` integer, nullable
  - `acknowledgedByUserName` string, nullable
  - `createdDateUtc` string, date-time
  - `createdByUserName` string, nullable
  - `createdByUserId` integer, nullable
  - `updatedDateUtc` string, date-time
  - `comments` ChangeRequestCommentResponse[], nullable
    - `id` integer
    - `comment` string, nullable
    - `commentedByUsername` string, nullable
    - `changeRequestId` integer
    - `createdDateUtc` string, date-time

---

[API](https://skmtc.dev/immy/apis/immy-bot-api.md) · [All operations](https://skmtc.dev/immy/apis/immy-bot-api/llms.txt) · [OpenAPI document](https://skmtc.dev/immy/apis/immy-bot-api/revisions/559d0e4b39d3?raw)
