---
title: "Escalate a proposal"
method: PUT
path: "/proposals/{proposalId}/escalate"
tags: ["Proposals"]
---

# Escalate a proposal

`PUT /proposals/{proposalId}/escalate`

## Request

- Base URL: `https://sb2api.servicechannel.com/v3`
- URL: `https://sb2api.servicechannel.com/v3/proposals/{proposalId}/escalate`
- Auth: OAuth 2
  - Authorization code: `https://sb2login.servicechannel.com/oauth/authorize`
  - Token URL: `https://sb2login.servicechannel.com/oauth/token`
- TypeScript: <https://skmtc.dev/servicechannel/apis/servicechannel-api-v-3/docs/proposals/:proposalId/escalate/put.ts> (a function with typed inputs; its response is checked against the schema)

Escalates the specified proposal to another user in the subscriber’s multi-level proposal (MLP) approval hierarchy. The proposal can be approved, rejected, put on hold, or returned upon escalation. You can attach an existing work order or create a new one while submitting the request.
            <br />***Note:*** This method is only available to subscribers with the MLP setting enabled.
            <br />MLP users can [escalate a proposal](/guides/proposals/assign-or-escalate-a-proposal/#escalate-a-proposal-for-mlp-users) if the following conditions are met:
             • The user's approval level corresponds to the proposal level.
             • The Override option is enabled for the user in case their level is higher than the proposal level.
            <br />**Example Request**
            
                PUT /proposals/{proposalId}/escalate
                {
                   "Action": "Approve",
                   "WoType": 2,
                   "TrackingNumber": 140324907,
                   "PoNumber": "",
                   "ExistingPoNumber": "",
                   "Category": "",
                   "CategoryId": ,
                   "ApprovalCode": "",
                   "Priority": "",
                   "Comment": "Escalating proposal to the General Manager",
                   "RejectReasonCodeId": 0,
                   "ReasonString": "",
                   "EmailsToNotify": "john.smith@domain.com",
                   "EmailMyself": false,
                   "MyEmail": "",
                   "ProposalId": 10010836
                }

## Path parameters

- `proposalId` integer, required

## Request body

- ServiceChannelServicesMessagingProposalsMlpWoRecommendationRequest: The request object to escalate a proposal.
  - `Action` string, required: Proposal escalation action. **Valid values**: *Approve*, *Reject*, *OnHold*, *Return*.
  - `WoType` integer: Work order type. **Valid values**: 0 — *Origin*, 1 — *New*, 2 — *Existing*.
  - `TrackingNumber` integer: The unique numeric identifier of the work order. Required if the `WoType` is 2 — *Existing*.
  - `PoNumber` string: Purchase order number.
  - `ExistingPoNumber` string: The existing purchase order number. If the `PoNumber` parameter is passed, its value is used instead of `ExistingPoNumber`.
  - `Category` string: The overall classification of a WO, such as *Maintenance*, *Repair*, or *CAPEX*. Required if the `WoType` is 1 — *New*. The value you enter must be a valid category.
  - `CategoryId` integer: Numeric identifier of the category.
  - `ApprovalCode` string: Approval code, or GL code, used when approving an invoice.
  - `Priority` string: Period during which a service provider should check in to perform the requested service. Required if the `WoType` is 1 — *New*. The value you enter must be a valid priority.
  - `PriorityId` integer: Numeric identifier of the Priority.
  - `WoRecall` boolean: The WO has been marked as recall.
  - `AttachmentsToWO` boolean: Move Approved Proposal attachments to WO.
  - `Comment` string: Your comment describing why you are escalating the proposal.
  - `RejectReasonCodeId` integer: Numeric identifier of the reason for rejecting the proposal. Don’t pass when escalating the proposal.
  - `ReasonString` string: Reason for approving the proposal.
  - `EmailsToNotify` string: The email address of the user to notify about the proposal escalation. When entering multiple addresses, separate them with a comma or semicolon.
  - `EmailMyself` boolean: Defines if the proposal escalation notification is sent to the current user.
  - `MyEmail` string: The email address of the current user to which a proposal escalation notification is sent.
  - `ProposalId` integer: The unique numeric identifier of the proposal to escalate.
  - `WorkOrderLabel` ServiceChannelApiModelLabel
    - `Id` integer
    - `Name` string
    - `WoUrl` string
  - `DeleteLabel` boolean: Is WorkOrder Label to delete.
  - `Actor` string: The Actor is added to the work order note.
  - `AdditionalApprovalCodes` ServiceChannelServicesMessagingApprovalCodesAdditionalApprovalCode[]: The Additional Approval Codes.
    - `Value` string
    - `Options` ServiceChannelServicesMessagingApprovalCodesAdditionalApprovalCodeOption[]
      - `Id` integer
      - `Value` string
    - `DefaultValue` string
    - `Header` string
    - `SetupId` integer
    - `LocationId` integer
    - `DefaultOptionId` integer
    - `ValueFormat` integer
    - `EditableAtLineItemLevel` integer
    - `IsDeleted` boolean
  - `WorkOrderLabels` ServiceChannelApiModelLabel[]: WorkOrder Labels.
    - `Id` integer
    - `Name` string
    - `WoUrl` string
  - `IsLinkToOriginatingWorkOrder` boolean: Link To Originating WorkOrder flag
  - `PinNote` boolean: Pin User note on WorkOrder

## Response `204`

The specified proposal is escalated and updated with the passed parameters. The response is intentionally blank.

## Other responses

- `400`: The request is not accepted due to bad syntax, missing parameters, insufficient data, etc. <br/>Error codes: 401 — Invalid subscriber id 502 — Proposal not found 503 — Request is empty or null 503 — The user is not MLP user 503 — Invalid WO Tracking Number 503 — Invalid WO Tracking Number in Proposal 503 — Invalid Wo Type 503 — There is no WO recommendation 503 — Action not found in rules 503 — User level less than Proposal level 503 — ForwardTo item is empty 503 — There is no the action in next rule 503 — Invalid Level 503 — Override flag is false 503 — EndStatus item is empty 503 — Invalid Action
- `401`: The request is not authorized. <br/>Error codes: 504 — API call rejected by security permissions

---

[API](https://skmtc.dev/servicechannel/apis/servicechannel-api-v-3.md) - [All operations](https://skmtc.dev/servicechannel/apis/servicechannel-api-v-3/llms.txt) - [OpenAPI document](https://skmtc.dev/servicechannel/apis/servicechannel-api-v-3/revisions/d490d6596809?raw)
