---
title: "Get onboarding request by ID (S2S only)"
method: GET
path: "/v1/internal/requests/{id}"
tags: ["internal-requests"]
---

# Get onboarding request by ID (S2S only)

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

Retrieves a single onboarding request with all details. Optionally include audit history by passing ?include=audit_history

## Path parameters

- `id` string, required

## Query parameters

- `include` string

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