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

# Update approval request's underlying request

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

Only updates `request`. To update other fields, see `PATCH /v1/web/approval-request/{id}`.

## Path parameters

- `id` string, required

## Request body

- union — Request payload to update an approval request's `request`, discriminated by `approvalRequestType`
  - object
    - `approvalRequestType` 'createCard', 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
    - `approvalRequestType` 'payBill', required
  - object
    - `approvalRequestType` 'submitExpense', required
  - object
    - `approvalRequestType` 'createVendor', 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
    - `approvalRequestType` 'updateVendor', 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
    - `approvalRequestType` 'createVendorPaymentMethod', required
    - `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
    - `approvalRequestType` 'createVendorPaymentMethod', required
    - `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
    - `approvalRequestType` 'deleteVendorPaymentMethod', required
    - `id` string, required

## 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)
