API surface

Targets the Asana REST API (https://app.asana.com/api/1.0). Entities and operations follow the shared WebAPIDataSource pattern with JSON entity maps in source; use the Connection section below for base URL and authentication.

Source & IDataSource

Implementation: Connectors/TaskManagement/AsanaDataSource/AsanaDataSource.cs — AsanaDataSource : WebAPIDataSource. Reads use GetEntity with logical keys (workspaces, projects.get, …); mutating calls use PostAsync, PutAsync, or DeleteAsync against API_BASE_URL.

Command methods (CommandAttribute)

NameMethodReturnsObjectType
GetWorkspacesGetWorkspaces()IEnumerable<AsanaWorkspace>AsanaWorkspace
GetWorkspaceGetWorkspace(string workspaceId)IEnumerable<AsanaWorkspace>AsanaWorkspace
GetProjectsGetProjects()IEnumerable<AsanaProject>AsanaProject
GetProjectGetProject(string projectId)IEnumerable<AsanaProject>AsanaProject
GetWorkspaceProjectsGetWorkspaceProjects(string workspaceId)IEnumerable<AsanaProject>AsanaProject
GetTasksGetTasks()IEnumerable<AsanaTask>AsanaTask
GetTaskGetTask(string taskId)IEnumerable<AsanaTask>AsanaTask
GetProjectTasksGetProjectTasks(string projectId)IEnumerable<AsanaTask>AsanaTask
GetUsersGetUsers()IEnumerable<AsanaUser>AsanaUser
GetUserGetUser(string userId)IEnumerable<AsanaUser>AsanaUser
GetTeamsGetTeams()IEnumerable<AsanaTeam>AsanaTeam
GetTeamGetTeam(string teamId)IEnumerable<AsanaTeam>AsanaTeam
GetSectionsGetSections(string projectId)IEnumerable<AsanaSection>AsanaSection
GetTagsGetTags(string workspaceId)IEnumerable<AsanaTag>AsanaTag
GetStoriesGetStories(string taskId)IEnumerable<AsanaStory>AsanaStory
CreateProjectCreateProjectAsync(AsanaProject project)Task<IEnumerable<AsanaProject>>AsanaProject
CreateTaskCreateTaskAsync(AsanaTask task)Task<IEnumerable<AsanaTask>>AsanaTask
CreateSectionCreateSectionAsync(string projectId, AsanaSection section)Task<IEnumerable<AsanaSection>>AsanaSection
CreateTagCreateTagAsync(string workspaceId, AsanaTag tag)Task<IEnumerable<AsanaTag>>AsanaTag
UpdateProjectUpdateProjectAsync(string projectId, AsanaProject project)Task<IEnumerable<AsanaProject>>AsanaProject
UpdateTaskUpdateTaskAsync(string taskId, AsanaTask task)Task<IEnumerable<AsanaTask>>AsanaTask
DeleteProjectDeleteProjectAsync(string projectId)Task<bool>AsanaProject
DeleteTaskDeleteTaskAsync(string taskId)Task<bool>AsanaTask
DeleteSectionDeleteSectionAsync(string sectionId)Task<bool>AsanaSection
DeleteTagDeleteTagAsync(string tagId)Task<bool>AsanaTag

Model types

TheTechIdea.Beep.Connectors.TaskManagement.Asana.Models — entity DTOs above plus AsanaApiResponse<T> for REST envelope parsing; see Models.cs for full property sets on workspace, project, task, user, team, section, tag, and story types.

Connection

Configure base URL and authentication (personal access token or OAuth bearer) through WebAPIConnectionProperties per your Asana app. Scopes must cover the workspaces, projects, and tasks you read or write.

Also read