Skip to content

Variable: userSchema ​

ts
const userSchema: ZodObject<{
  biography: ZodOptional<ZodString>;
  external_url: ZodOptional<ZodNullable<ZodString>>;
  follower_count: ZodOptional<ZodNullable<ZodNumber>>;
  following_count: ZodOptional<ZodNullable<ZodNumber>>;
  full_name: ZodOptional<ZodString>;
  is_private: ZodOptional<ZodBoolean>;
  is_verified: ZodOptional<ZodBoolean>;
  media_count: ZodOptional<ZodNullable<ZodNumber>>;
  pk: ZodOptional<ZodCoercedString<unknown>>;
  profile_pic_url: ZodOptional<ZodNullable<ZodString>>;
  username: ZodOptional<ZodString>;
}, $loose>;

A user as the private API returns it. Only the fields the SDK exposes are typed. Everything else passes through untouched so an upstream addition does not break callers. The API omits or nulls fields depending on privacy and context, so the types say so rather than overpromising. pk arrives as a number or a string and is normalized to a string id.

MIT License. Not affiliated with, endorsed or sponsored by Meta or Instagram.