---
title: "Update an Approval Request"
method: PATCH
path: "/v1/web/approval-request/{id}"
tags: ["Approval Request"]
---

# Update an Approval Request

`PATCH /v1/web/approval-request/{id}`

Update general approval request attributes only. For updating the underlying `request`, see `PATCH /v1/web/approval-request/{id}/request`

## Path parameters

- `id` string, required

## Request body

- object
  - `externalId` string
  - `deciders` object
    - `userIds` string[]
    - `userGroupIds` string[]
    - `userRoleIds` string[]
    - `userTypes` string[]
  - `observers` object
    - `userIds` string[]
    - `userGroupIds` string[]
    - `userRoleIds` string[]
    - `userTypes` string[]

## Response `200`

Approval request, discriminated by `type`

- union — Approval request, discriminated by `type`
  - object
    - `id` string, required
    - `externalId` string
    - `status` union, required
      - 'draft'
      - 'submitted'
      - 'approved'
      - 'declined'
      - 'returned'
      - 'deleted'
      - 'fulfillmentInProgress'
      - 'fulfilled'
      - 'fulfillmentFailed'
    - `requesterUserId` string, required
    - `deciderUserId` string
    - `deciders` object, required
      - `userIds` string[]
      - `userGroupIds` string[]
      - `userRoleIds` string[]
      - `userTypes` string[]
    - `observers` object, required
      - `userIds` string[]
      - `userGroupIds` string[]
      - `userRoleIds` string[]
      - `userTypes` string[]
    - `objectId` string
    - `notes` object[], required
      - `id` string, required
      - `content` string, required
      - `userId` string, required
      - `createdAt` string, date-time, required
      - `updatedAt` string, date-time, required
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required
    - `submittedAt` string, date-time
    - `decidedAt` string, date-time
    - `fulfilledAt` string, date-time
    - `type` 'createCard', required
    - `request` object, required
      - `name` string, required
      - `frequencyType` union, required
        - 'recurring'
        - 'single'
      - `cardholderId` string, required
      - `userId` string, required
      - `accountId` number, required
      - `cardProfileId` string
      - `cardProfileStrategy` union
        - 'advertising_least_used'
        - 'vertical_optimized'
        - 'shipping_optimized'
        - 'plastiq'
        - 'tokenizable'
      - `expiry` string
      - `categoryIds` string[]
      - `allowedCountries` string[]
      - `spendFrequency` union
        - 'purchase_1d'
        - 'purchase_7d'
        - 'purchase_30d'
        - 'purchase_1y'
        - 'card_debit_lifetime'
      - `spendLimit` number
      - `userGroupId` string
  - object
    - `id` string, required
    - `externalId` string
    - `status` union, required
      - 'draft'
      - 'submitted'
      - 'approved'
      - 'declined'
      - 'returned'
      - 'deleted'
      - 'fulfillmentInProgress'
      - 'fulfilled'
      - 'fulfillmentFailed'
    - `requesterUserId` string, required
    - `deciderUserId` string
    - `deciders` object, required
      - `userIds` string[]
      - `userGroupIds` string[]
      - `userRoleIds` string[]
      - `userTypes` string[]
    - `observers` object, required
      - `userIds` string[]
      - `userGroupIds` string[]
      - `userRoleIds` string[]
      - `userTypes` string[]
    - `objectId` string
    - `notes` object[], required
      - `id` string, required
      - `content` string, required
      - `userId` string, required
      - `createdAt` string, date-time, required
      - `updatedAt` string, date-time, required
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required
    - `submittedAt` string, date-time
    - `decidedAt` string, date-time
    - `fulfilledAt` string, date-time
    - `type` 'payBill', required
    - `request` object, required
  - object
    - `id` string, required
    - `externalId` string
    - `status` union, required
      - 'draft'
      - 'submitted'
      - 'approved'
      - 'declined'
      - 'returned'
      - 'deleted'
      - 'fulfillmentInProgress'
      - 'fulfilled'
      - 'fulfillmentFailed'
    - `requesterUserId` string, required
    - `deciderUserId` string
    - `deciders` object, required
      - `userIds` string[]
      - `userGroupIds` string[]
      - `userRoleIds` string[]
      - `userTypes` string[]
    - `observers` object, required
      - `userIds` string[]
      - `userGroupIds` string[]
      - `userRoleIds` string[]
      - `userTypes` string[]
    - `objectId` string
    - `notes` object[], required
      - `id` string, required
      - `content` string, required
      - `userId` string, required
      - `createdAt` string, date-time, required
      - `updatedAt` string, date-time, required
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required
    - `submittedAt` string, date-time
    - `decidedAt` string, date-time
    - `fulfilledAt` string, date-time
    - `type` 'submitExpense', required
    - `request` object, required
  - object
    - `id` string, required
    - `externalId` string
    - `status` union, required
      - 'draft'
      - 'submitted'
      - 'approved'
      - 'declined'
      - 'returned'
      - 'deleted'
      - 'fulfillmentInProgress'
      - 'fulfilled'
      - 'fulfillmentFailed'
    - `requesterUserId` string, required
    - `deciderUserId` string
    - `deciders` object, required
      - `userIds` string[]
      - `userGroupIds` string[]
      - `userRoleIds` string[]
      - `userTypes` string[]
    - `observers` object, required
      - `userIds` string[]
      - `userGroupIds` string[]
      - `userRoleIds` string[]
      - `userTypes` string[]
    - `objectId` string
    - `notes` object[], required
      - `id` string, required
      - `content` string, required
      - `userId` string, required
      - `createdAt` string, date-time, required
      - `updatedAt` string, date-time, required
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required
    - `submittedAt` string, date-time
    - `decidedAt` string, date-time
    - `fulfilledAt` string, date-time
    - `type` 'createVendor', required
    - `request` object, required
      - `externalId` string
      - `name` string, required
      - `owners` object, required
        - `userIds` string[], required
        - `userGroupIds` string[]
      - `currencyCode` string, required — ISO 4217 currency code
      - `country` string, required
      - `logoUrl` string
      - `spendCategoryId` string
      - `merchantIds` string[]
      - `merchantCategory` string
      - `legalName` string
      - `taxId` object
        - `type` union, required
          - 'ssn'
          - 'ein'
        - `id` string, required
      - `address` object
        - `attn` string
        - `line1` string, required
        - `line2` string
        - `city` string, required
        - `zipCode` string, required
        - `state` string, required
        - `country` string, required
      - `rutterId` string, nullable, required — Rutter vendor ID. If null, the vendor will be created in the accounting platform.
      - `contacts` object[], required
        - `type` union
          - 'accountsPayable'
          - 'accountsReceivable'
          - 'it'
          - 'procurement'
          - 'sales'
          - 'support'
          - 'other'
        - `name` object, required
          - `firstName` string, required
          - `middleName` string
          - `lastName` string, required
        - `default` boolean, required
        - `email` string, required
        - `phone` string
        - `notes` string
  - object
    - `id` string, required
    - `externalId` string
    - `status` union, required
      - 'draft'
      - 'submitted'
      - 'approved'
      - 'declined'
      - 'returned'
      - 'deleted'
      - 'fulfillmentInProgress'
      - 'fulfilled'
      - 'fulfillmentFailed'
    - `requesterUserId` string, required
    - `deciderUserId` string
    - `deciders` object, required
      - `userIds` string[]
      - `userGroupIds` string[]
      - `userRoleIds` string[]
      - `userTypes` string[]
    - `observers` object, required
      - `userIds` string[]
      - `userGroupIds` string[]
      - `userRoleIds` string[]
      - `userTypes` string[]
    - `objectId` string
    - `notes` object[], required
      - `id` string, required
      - `content` string, required
      - `userId` string, required
      - `createdAt` string, date-time, required
      - `updatedAt` string, date-time, required
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required
    - `submittedAt` string, date-time
    - `decidedAt` string, date-time
    - `fulfilledAt` string, date-time
    - `type` 'updateVendor', required
    - `request` object, required
      - `name` string
      - `owners` object
        - `userIds` string[], required
        - `userGroupIds` string[]
      - `currencyCode` string
      - `country` string
      - `status` union
        - 'active'
        - 'disabled'
      - `address` object, nullable
        - `attn` string
        - `line1` string, required
        - `line2` string
        - `city` string, required
        - `zipCode` string, required
        - `state` string, required
        - `country` string, required
      - `taxId` object, nullable
        - `type` union, required
          - 'ssn'
          - 'ein'
        - `id` string, required
      - `externalId` string, nullable
      - `legalName` string, nullable
      - `spendCategoryId` string, nullable
      - `logoUrl` string, nullable
      - `merchantCategory` string, nullable
      - `merchantIds` string[], nullable
  - object
    - `id` string, required
    - `externalId` string
    - `status` union, required
      - 'draft'
      - 'submitted'
      - 'approved'
      - 'declined'
      - 'returned'
      - 'deleted'
      - 'fulfillmentInProgress'
      - 'fulfilled'
      - 'fulfillmentFailed'
    - `requesterUserId` string, required
    - `deciderUserId` string
    - `deciders` object, required
      - `userIds` string[]
      - `userGroupIds` string[]
      - `userRoleIds` string[]
      - `userTypes` string[]
    - `observers` object, required
      - `userIds` string[]
      - `userGroupIds` string[]
      - `userRoleIds` string[]
      - `userTypes` string[]
    - `objectId` string
    - `notes` object[], required
      - `id` string, required
      - `content` string, required
      - `userId` string, required
      - `createdAt` string, date-time, required
      - `updatedAt` string, date-time, required
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required
    - `submittedAt` string, date-time
    - `decidedAt` string, date-time
    - `fulfilledAt` string, date-time
    - `type` 'createVendorPaymentMethod', required
    - `request` union, required
      - object
        - `type` 'ach', required
        - `entityType` 'business', required
        - `accountType` union, required
          - 'checking'
          - 'saving'
        - `routingNumber` string, required
        - `accountNumber` string, required
        - `accountName` string, required
        - `accountId` string, required — Dashfi account number (deprecated — will be removed)
      - object
        - `type` 'ach', required
        - `entityType` 'individual', required
        - `accountType` union, required
          - 'checking'
          - 'saving'
        - `routingNumber` string, required
        - `accountNumber` string, required
        - `accountName` string, required
        - `accountHolderName` string, required
        - `accountId` string, required — Dashfi account number (deprecated — will be removed)
  - object
    - `id` string, required
    - `externalId` string
    - `status` union, required
      - 'draft'
      - 'submitted'
      - 'approved'
      - 'declined'
      - 'returned'
      - 'deleted'
      - 'fulfillmentInProgress'
      - 'fulfilled'
      - 'fulfillmentFailed'
    - `requesterUserId` string, required
    - `deciderUserId` string
    - `deciders` object, required
      - `userIds` string[]
      - `userGroupIds` string[]
      - `userRoleIds` string[]
      - `userTypes` string[]
    - `observers` object, required
      - `userIds` string[]
      - `userGroupIds` string[]
      - `userRoleIds` string[]
      - `userTypes` string[]
    - `objectId` string
    - `notes` object[], required
      - `id` string, required
      - `content` string, required
      - `userId` string, required
      - `createdAt` string, date-time, required
      - `updatedAt` string, date-time, required
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required
    - `submittedAt` string, date-time
    - `decidedAt` string, date-time
    - `fulfilledAt` string, date-time
    - `type` 'deleteVendorPaymentMethod', required
    - `request` object, required
      - `id` string, required

## Other responses

- `400` — Default Response
- `401` — The access to this resource has been denied
- `403` — The access to this resource is forbidden
- `404` — The resource was not found
- `default` — Catch-all error response for any unexpected internal errors

---

[API](https://skmtc.net/funneldash/apis/surface-web-api.md) · [All operations](https://skmtc.net/funneldash/apis/surface-web-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/funneldash/surface-web-api/revisions/ac700d65f443/schema)
