I was able to inspect particular topic for its partitions:
public void addPartitionIfNotExists(int partitionId){ Map<String, TopicDescription> games = kafkaAdmin.describeTopics("games"); TopicDescription gamesTopicDescription = games.get("games"); List<TopicPartitionInfo> partitionsInfo = gamesTopicDescription.partitions(); boolean partitionIdExists = partitionsInfo.stream().anyMatch(partitionInfo -> partitionInfo.partition() == partitionId); if (!partitionIdExists){ //missing part } } But I haven't been able to add new partition to a already existing topic during runtime. Don't know if that is even possible.