object UserDeleteComplianceSchema
{
  "type": "object",
  "required": [
    "user_delete"
  ],
  "properties": {
    "user_delete": {
      "$ref": "#/components/schemas/UserComplianceSchema"
    }
  }
}
string UserId
{
  "type": "string",
  "example": "2244994945",
  "pattern": "^[0-9]{1,19}$",
  "description": "Unique identifier of this User. This is returned as a string in order to avoid complications with languages and tools that cannot handle large integers."
}
string UserIdMatchesAuthenticatedUser
{
  "type": "string",
  "example": "2244994945",
  "description": "Unique identifier of this User. The value must be the same as the authenticated user."
}
string UserName
{
  "type": "string",
  "pattern": "^[A-Za-z0-9_]{1,15}$",
  "description": "The Twitter handle (screen name) of this user."
}
object UserProfileModificationComplianceSchema
{
  "type": "object",
  "required": [
    "user_profile_modification"
  ],
  "properties": {
    "user_profile_modification": {
      "$ref": "#/components/schemas/UserProfileModificationObjectSchema"
    }
  }
}
object UserProfileModificationObjectSchema
{
  "type": "object",
  "required": [
    "user",
    "profile_field",
    "new_value",
    "event_at"
  ],
  "properties": {
    "user": {
      "type": "object",
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "$ref": "#/components/schemas/UserId"
        }
      }
    },
    "event_at": {
      "type": "string",
      "format": "date-time",
      "example": "2021-07-06T18:40:40.000Z",
      "description": "Event time."
    },
    "new_value": {
      "type": "string"
    },
    "profile_field": {
      "type": "string"
    }
  }
}
object UserProtectComplianceSchema
{
  "type": "object",
  "required": [
    "user_protect"
  ],
  "properties": {
    "user_protect": {
      "$ref": "#/components/schemas/UserComplianceSchema"
    }
  }
}
object UserScrubGeoObjectSchema
{
  "type": "object",
  "required": [
    "user",
    "up_to_tweet_id",
    "event_at"
  ],
  "properties": {
    "user": {
      "type": "object",
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "$ref": "#/components/schemas/UserId"
        }
      }
    },
    "event_at": {
      "type": "string",
      "format": "date-time",
      "example": "2021-07-06T18:40:40.000Z",
      "description": "Event time."
    },
    "up_to_tweet_id": {
      "$ref": "#/components/schemas/TweetId"
    }
  }
}
object UserScrubGeoSchema
{
  "type": "object",
  "required": [
    "scrub_geo"
  ],
  "properties": {
    "scrub_geo": {
      "$ref": "#/components/schemas/UserScrubGeoObjectSchema"
    }
  }
}
object UserSuspendComplianceSchema
{
  "type": "object",
  "required": [
    "user_suspend"
  ],
  "properties": {
    "user_suspend": {
      "$ref": "#/components/schemas/UserComplianceSchema"
    }
  }
}
object UserTakedownComplianceSchema
{
  "type": "object",
  "required": [
    "user",
    "withheld_in_countries",
    "event_at"
  ],
  "properties": {
    "user": {
      "type": "object",
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "$ref": "#/components/schemas/UserId"
        }
      }
    },
    "event_at": {
      "type": "string",
      "format": "date-time",
      "example": "2021-07-06T18:40:40.000Z",
      "description": "Event time."
    },
    "withheld_in_countries": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CountryCode"
      },
      "minItems": 1
    }
  }
}
object UserUndeleteComplianceSchema
{
  "type": "object",
  "required": [
    "user_undelete"
  ],
  "properties": {
    "user_undelete": {
      "$ref": "#/components/schemas/UserComplianceSchema"
    }
  }
}
object UserUnprotectComplianceSchema
{
  "type": "object",
  "required": [
    "user_unprotect"
  ],
  "properties": {
    "user_unprotect": {
      "$ref": "#/components/schemas/UserComplianceSchema"
    }
  }
}
object UserUnsuspendComplianceSchema
{
  "type": "object",
  "required": [
    "user_unsuspend"
  ],
  "properties": {
    "user_unsuspend": {
      "$ref": "#/components/schemas/UserComplianceSchema"
    }
  }
}
object UserWithheld
{
  "type": "object",
  "required": [
    "country_codes"
  ],
  "properties": {
    "scope": {
      "enum": [
        "user"
      ],
      "type": "string",
      "description": "Indicates that the content being withheld is a `user`."
    },
    "country_codes": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CountryCode"
      },
      "minItems": 1,
      "description": "Provides a list of countries where this content is not available.",
      "uniqueItems": true
    }
  },
  "description": "Indicates withholding details for [withheld content](https://help.twitter.com/en/rules-and-policies/tweet-withheld-by-country)."
}
object UserWithheldComplianceSchema
{
  "type": "object",
  "required": [
    "user_withheld"
  ],
  "properties": {
    "user_withheld": {
      "$ref": "#/components/schemas/UserTakedownComplianceSchema"
    }
  }
}
object UsersFollowingCreateRequest
{
  "type": "object",
  "required": [
    "target_user_id"
  ],
  "properties": {
    "target_user_id": {
      "$ref": "#/components/schemas/UserId"
    }
  }
}
object UsersFollowingCreateResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "following": {
          "type": "boolean"
        },
        "pending_follow": {
          "type": "boolean"
        }
      }
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    }
  }
}
object UsersFollowingDeleteResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "following": {
          "type": "boolean"
        }
      }
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    }
  }
}
object UsersLikesCreateRequest
{
  "type": "object",
  "required": [
    "tweet_id"
  ],
  "properties": {
    "tweet_id": {
      "$ref": "#/components/schemas/TweetId"
    }
  }
}
object UsersLikesCreateResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "liked": {
          "type": "boolean"
        }
      }
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    }
  }
}
object UsersLikesDeleteResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "liked": {
          "type": "boolean"
        }
      }
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    }
  }
}
object UsersRetweetsCreateRequest
{
  "type": "object",
  "required": [
    "tweet_id"
  ],
  "properties": {
    "tweet_id": {
      "$ref": "#/components/schemas/TweetId"
    }
  }
}
object UsersRetweetsCreateResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "retweeted": {
          "type": "boolean"
        }
      }
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    }
  }
}
object UsersRetweetsDeleteResponse
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "retweeted": {
          "type": "boolean"
        }
      }
    },
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Problem"
      },
      "minItems": 1
    }
  }
}
object Variant
{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "format": "uri",
      "description": "The url to the media."
    },
    "bit_rate": {
      "type": "integer",
      "description": "The bit rate of the media."
    },
    "content_type": {
      "type": "string",
      "description": "The content type of the media."
    }
  }
}
array Variants
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/Variant"
  },
  "description": "An array of all available variants of the media."
}
object Video
{
  "allOf": [
    {
      "$ref": "#/components/schemas/Media"
    },
    {
      "type": "object",
      "properties": {
        "variants": {
          "$ref": "#/components/schemas/Variants"
        },
        "duration_ms": {
          "type": "integer"
        },
        "public_metrics": {
          "type": "object",
          "properties": {
            "view_count": {
              "type": "integer",
              "format": "int32",
              "description": "Number of times this video has been viewed."
            }
          },
          "description": "Engagement metrics for the Media at the time of the request."
        },
        "organic_metrics": {
          "type": "object",
          "properties": {
            "view_count": {
              "type": "integer",
              "format": "int32",
              "description": "Number of times this video has been viewed."
            },
            "playback_0_count": {
              "type": "integer",
              "format": "int32",
              "description": "Number of users who made it through 0% of the video."
            },
            "playback_25_count": {
              "type": "integer",
              "format": "int32",
              "description": "Number of users who made it through 25% of the video."
            },
            "playback_50_count": {
              "type": "integer",
              "format": "int32",
              "description": "Number of users who made it through 50% of the video."
            },
            "playback_75_count": {
              "type": "integer",
              "format": "int32",
              "description": "Number of users who made it through 75% of the video."
            },
            "playback_100_count": {
              "type": "integer",
              "format": "int32",
              "description": "Number of users who made it through 100% of the video."
            }
          },
          "description": "Organic nonpublic engagement metrics for the Media at the time of the request."
        },
        "promoted_metrics": {
          "type": "object",
          "properties": {
            "view_count": {
              "type": "integer",
              "format": "int32",
              "description": "Number of times this video has been viewed."
            },
            "playback_0_count": {
              "type": "integer",
              "format": "int32",
              "description": "Number of users who made it through 0% of the video."
            },
            "playback_25_count": {
              "type": "integer",
              "format": "int32",
              "description": "Number of users who made it through 25% of the video."
            },
            "playback_50_count": {
              "type": "integer",
              "format": "int32",
              "description": "Number of users who made it through 50% of the video."
            },
            "playback_75_count": {
              "type": "integer",
              "format": "int32",
              "description": "Number of users who made it through 75% of the video."
            },
            "playback_100_count": {
              "type": "integer",
              "format": "int32",
              "description": "Number of users who made it through 100% of the video."
            }
          },
          "description": "Promoted nonpublic engagement metrics for the Media at the time of the request."
        },
        "preview_image_url": {
          "type": "string",
          "format": "uri"
        },
        "non_public_metrics": {
          "type": "object",
          "properties": {
            "playback_0_count": {
              "type": "integer",
              "format": "int32",
              "description": "Number of users who made it through 0% of the video."
            },
            "playback_25_count": {
              "type": "integer",
              "format": "int32",
              "description": "Number of users who made it through 25% of the video."
            },
            "playback_50_count": {
              "type": "integer",
              "format": "int32",
              "description": "Number of users who made it through 50% of the video."
            },
            "playback_75_count": {
              "type": "integer",
              "format": "int32",
              "description": "Number of users who made it through 75% of the video."
            },
            "playback_100_count": {
              "type": "integer",
              "format": "int32",
              "description": "Number of users who made it through 100% of the video."
            }
          },
          "description": "Nonpublic engagement metrics for the Media at the time of the request."
        }
      }
    }
  ]
}