def create_annotated_tag(self, tag_object, project, repository_id):
        """CreateAnnotatedTag.
        [Preview API] Create an annotated tag.
        :param :class:`<GitAnnotatedTag> <azure.devops.v5_0.git.models.GitAnnotatedTag>` tag_object: Object containing details of tag to be created.
        :param str project: Project ID or project name
        :param str repository_id: ID or name of the repository.
        :rtype: :class:`<GitAnnotatedTag> <azure.devops.v5_0.git.models.GitAnnotatedTag>`
        """
        route_values = {}
        if project is not None:
            route_values['project'] = self._serialize.url('project', project, 'str')
        if repository_id is not None:
            route_values['repositoryId'] = self._serialize.url('repository_id', repository_id, 'str')
        content = self._serialize.body(tag_object, 'GitAnnotatedTag')
        response = self._send(http_method='POST',
                              location_id='5e8a8081-3851-4626-b677-9891cc04102e',
                              version='5.0-preview.1',
                              route_values=route_values,
                              content=content)
        return self._deserialize('GitAnnotatedTag', response)