---
title: "Updates a PD form entry and its associated approvals"
method: PUT
path: "/pd/approvals"
tags: ["Pd"]
---

# Updates a PD form entry and its associated approvals

`PUT /pd/approvals`

**Requires permission:** *StaffMember*

Records an approval/denial against a step, advances the form through any non-approval steps, closes the form when finished, and notifies the relevant parties.

## Request body

- UpdateApprovalsRequest
  - `approvalId` integer
  - `stepOrder` integer
  - `denied` boolean
  - `form` PdForm
    - `type` string, nullable
    - `category` string, nullable
    - `name` string, nullable
    - `email` string, nullable
    - `department` string, nullable
    - `managerName` string, nullable
    - `managerEmail` string, nullable
    - `courseTitle` string, nullable
    - `breakouts` boolean
    - `breakoutsDescription` string, nullable
    - `courseDescription` string, nullable
    - `organisation` string, nullable
    - `courseLink` string, nullable
    - `location` string, nullable
    - `duration` string, nullable
    - `startDate` string, date-time, nullable
    - `endDate` string, date-time, nullable
    - `courseCost` number, nullable
    - `travelCost` number, nullable
    - `budget` string, nullable
    - `userPermissions` string, nullable
    - `selfBook` boolean
    - `approved` boolean
    - `denied` boolean
    - `booked` boolean
    - `lessonCover` boolean
    - `unrestricted` boolean
    - `lessonCoverDetails` string, nullable
    - `bookedDescription` string, nullable
    - `submitted` string, date-time, nullable
    - `comments` PdComment[], nullable
      - `id` integer
      - `formId` integer, nullable
      - `stepOrder` integer, nullable
      - `comments` string, nullable
      - `email` string, nullable
      - `name` string, nullable
      - `private` boolean, nullable
      - `submitted` string, date-time, nullable
    - `approvals` PdApproval[], nullable
      - `id` integer
      - `formId` integer, nullable
      - `email` string, nullable
      - `stepOrder` integer, nullable
      - `responded` string, date-time, nullable
      - `approved` boolean
      - `denied` boolean
      - `obsolete` boolean
      - `form` PdForm — recursive
    - `steps` PdFormStep[], nullable
      - `id` integer
      - `formId` integer, nullable
      - `stepOrder` integer, nullable
      - `description` string, nullable
      - `approved` boolean
      - `denied` boolean
      - `approvalStep` boolean
      - `responded` string, date-time, nullable
    - `coverList` string[], nullable

## Response `200`

Successfully updated approvals

## Other responses

- `400` — An Error Occurred - Could not update approvals
- `401` — Unauthorized
- `403` — Forbidden

---

[API](https://skmtc.net/tonbridge/apis/tonbridge-app-api.md) · [All operations](https://skmtc.net/tonbridge/apis/tonbridge-app-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/tonbridge/tonbridge-app-api/versions/fab57bf5558a/schema)
