---
title: "Patch onboarding request data (S2S only)"
method: PATCH
path: "/v1/internal/requests/{id}"
tags: ["internal-requests"]
---

# Patch onboarding request data (S2S only)

`PATCH /v1/internal/requests/{id}`

Updates request KYB data and organization fields without changing request status. Only the fields provided in kyb_overrides will be updated. Returns 400 error if any key in kyb_overrides is not in the allowed list. This endpoint is for internal use only and requires S2S authentication.

## Path parameters

- `id` string, required

## Request body

- InternalPatchRequestReqDTO
  - `accountID` string
  - `actor` string — Email of the person making the change (from JWT)
  - `id` string, required
  - `kyb_overrides` string, required — KybOverrides allows updating specific KYB data values and organization fields Only the fields included in this map will be updated in both: 1. Request KybData (stored in database) 2. Core organization API If nil: No updates will be performed If empty map {}: No updates (returns request as-is) If provided with fields: Updates only those specific fields E-Wallet accepted keys: - business_type, business_legal_name, customer_service_number, support_email - business_website, tax_gross_remittances, plugin, is_one_person_corporation Standard Wallet accepted keys: - business_age, business_size, business_tin, business_trade_name - business_address.city, business_address.country, business_address.line1, business_address.line2, business_address.postal_code, business_address.state - business_has_physical_stores, business_industry, business_description Account Activation accepted keys: - account_type, business_type, business_trade_name - business_legal_name, business_dti_registered_name, business_description Example (e-wallet): {"business_type": "corporation", "business_legal_name": "Acme Corp", "business_website": "https://acme.com"} Example (account activation): {"business_trade_name": "Updated Name", "business_description": "Updated description"} Account Activation accepted keys: - account_type, business_type, business_trade_name - business_legal_name, business_dti_registered_name, business_description Example (e-wallet): {"business_type": "corporation", "business_legal_name": "Acme Corp", "business_website": "https://acme.com"} Example (account activation): {"business_trade_name": "Updated Name", "business_description": "Updated description"}

## Response `200`

OK

- object — Standard response containing data and its metadata if any
  - `data` RequestResDTO
    - `account_id` string — AccountID is required only for Client auth mode, it can be empty for S2S mode
    - `assigned_at` string
    - `assignee_email` string
    - `audit_history` RequestAuditLogResDTO[] — Audit trail - populated when fetching single request details
      - `action_type` string — assigned, unassigned, reassigned, status_changed, field_updated
      - `actor` string — Who performed the action (from JWT admin_id)
      - `created_at` string
      - `field_name` string — Which field was changed
      - `id` string
      - `new_value` string — Value after change (empty for removal)
      - `note` string — Optional human-readable note
      - `previous_value` string — Value before change (empty for initial)
      - `request_id` string
    - `cancelled_at` string
    - `changes` object — Changes gives an old/new view per submitted kyb_data field for account_update requests: old is the organization's current value (fetched live from Core API), new is the submitted value. Populated on the internal detail endpoint only.
    - `completed_at` string
    - `created_at` string
    - `declined_at` string
    - `id` string
    - `internal_note` string
    - `kam_ids` string[]
    - `kyb_data` integer[]
    - `organization_data` integer[]
    - `pending_clarification_at` string
    - `processed_at` string
    - `product_code` string
    - `request_type` string, required
    - `requester_id` string, required
    - `status` string
    - `submitted_at` string
    - `updated_at` string
  - `has_more` boolean

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `404` — Not Found
- `500` — Internal Server Error

---

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