---
title: "Create a test clock"
method: POST
path: "/sandbox/transfer/test_clock/create"
tags: ["plaid"]
---

# Create a test clock

`POST /sandbox/transfer/test_clock/create`

Use the `/sandbox/transfer/test_clock/create` endpoint to create a `test_clock` in the Sandbox environment.

A test clock object represents an independent timeline and has a `virtual_time` field indicating the current timestamp of the timeline. Test clocks are used for testing recurring transfers in Sandbox.

A test clock can be associated with up to 5 recurring transfers.

## Request body

- SandboxTransferTestClockCreateRequest — Defines the request schema for `/sandbox/transfer/test_clock/create`
  - `client_id` string — Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.
  - `secret` string — Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.
  - `virtual_time` string, date-time, nullable — The virtual timestamp on the test clock. If not provided, the current timestamp will be used. This will be of the form `2006-01-02T15:04:05Z`.

## Response `200`

OK

- SandboxTransferTestClockCreateResponse — Defines the response schema for `/sandbox/transfer/test_clock/create`
  - `test_clock` TransferTestClock, required — Defines the test clock for a transfer.
    - `test_clock_id` string, required — Plaid’s unique identifier for a test clock. This field is only populated in the Sandbox environment, and only if a `test_clock_id` was included in the `/transfer/recurring/create` request. For more details, see [Simulating recurring transfers](https://plaid.com/docs/transfer/sandbox/#simulating-recurring-transfers).
    - `virtual_time` string, date-time, required — The virtual timestamp on the test clock. This will be of the form `2006-01-02T15:04:05Z`.
  - `request_id` string, required — A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.

## Other responses

- `default` — Error response

## Changes

- **2025-03-26** `09cbc8444913` — 2 warning
  - added the new `CHECK_REPORT_ERROR` enum value to the `error_type` response property for the response status `default`
  - added the new `CONSUMER_REPORT_ERROR` enum value to the `error_type` response property for the response status `default`
- **2024-09-04** `a2c34406c317` — 5 warning, 1 info
  - added the new `PARTNER_ERROR` enum value to the `error_type` response property for the response status `default`
  - added the new `SANDBOX_ERROR` enum value to the `error_type` response property for the response status `default`
  - added the new `TRANSACTIONS_ERROR` enum value to the `error_type` response property for the response status `default`
  - added the new `TRANSACTION_ERROR` enum value to the `error_type` response property for the response status `default`
  - …2 more
- **2024-02-21** `5de70cc1e6ca` — 3 warning, 11 info
  - removed the optional property `error_code_reason` from the response with the `default` status
  - removed the optional property `provided_account_subtypes` from the response with the `default` status
  - removed the optional property `required_account_subtypes` from the response with the `default` status
  - removed the `BASE_REPORT_ERROR` enum value from the `error_type` response property for the response status `default`
  - …10 more

[Change history](https://skmtc.dev/plaid/apis/the-plaid-api/changes/sandbox/transfer/test_clock/create/post.md)

---

[API](https://skmtc.dev/plaid/apis/the-plaid-api.md) · [All operations](https://skmtc.dev/plaid/apis/the-plaid-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/plaid/the-plaid-api/revisions/5eae3158bbfc/schema)
