# Plaid INVALID_BODY 'body could not be parsed as JSON' when passing datetime to phone_number_verified_time
## The problem
With plaid-python 9.3.0, passing a Python datetime to `LinkTokenCreateRequestUser.phone_number_verified_time` failed with `INVALID_BODY` / `error_message: 'body could not be parsed as JSON'`. Inspecting the request showed the SDK serialized the datetime without a trailing 'Z' (`"1969-12-31T16:00:00"` instead of `"1969-12-31T16:00:00Z"`). The reporter used `datetime.fromtimestamp(0)`, which produces a naive datetime with no timezone info. The SDK type-checks the field, so passing a pre-formatted string fails with ApiTypeError.
## The verified fix
Pass a timezone-aware datetime, not a naive one. `datetime.fromtimestamp(0)` has no tzinfo, so the SDK serializes it without the 'Z' suffix and Plaid rejects the body. Use `datetime.datetime.now(datetime.timezone.utc)` or `datetime.datetime(2021, 11, 1, 0, 0, tzinfo=datetime.timezone.utc)`. You can't pass a string instead - the field is type-checked and raises `ApiTypeError` for str. A maintainer acknowledged the error message is misleading (the body IS valid JSON) and filed an internal issue to be less picky about datetime formats. Source: https://github.com/plaid/plaid-python/issues/414