Asana · JSON Structure

Asana Structure

Structural overview of the Asana API surface; extracted from openapi/.

Type: Properties: 0
CollaborationProductivityProject ManagementProjectsTask ManagementTasksWorkflow

Asana Structure is a JSON Structure definition published by Asana.

Meta-schema:

JSON Structure

Raw ↑
{
  "provider": "Asana",
  "providerId": "asana",
  "kind": "json-structure",
  "description": "Structural overview of the Asana API surface; extracted from openapi/.",
  "schemaCount": 198,
  "operationCount": 189,
  "schemas": [
    {
      "name": "AllocationBase",
      "type": "object",
      "propertyCount": 5,
      "required": []
    },
    {
      "name": "AllocationResponse",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "AllocationRequest",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "AddCustomFieldSettingRequest",
      "type": "object",
      "propertyCount": 4,
      "required": [
        "custom_field"
      ]
    },
    {
      "name": "AddFollowersRequest",
      "type": "object",
      "propertyCount": 1,
      "required": [
        "followers"
      ]
    },
    {
      "name": "AddMembersRequest",
      "type": "object",
      "propertyCount": 1,
      "required": [
        "members"
      ]
    },
    {
      "name": "AsanaNamedResource",
      "type": "object",
      "propertyCount": 3,
      "required": []
    },
    {
      "name": "AsanaResource",
      "type": "object",
      "propertyCount": 2,
      "required": []
    },
    {
      "name": "AttachmentBase",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "AttachmentCompact",
      "type": "object",
      "propertyCount": 4,
      "required": []
    },
    {
      "name": "AttachmentRequest",
      "type": "object",
      "propertyCount": 6,
      "required": [
        "parent"
      ]
    },
    {
      "name": "AttachmentResponse",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "AuditLogEvent",
      "type": "object",
      "propertyCount": 8,
      "required": []
    },
    {
      "name": "AuditLogEventActor",
      "type": "object",
      "propertyCount": 4,
      "required": []
    },
    {
      "name": "AuditLogEventContext",
      "type": "object",
      "propertyCount": 6,
      "required": []
    },
    {
      "name": "AuditLogEventDetails",
      "type": "object",
      "propertyCount": 3,
      "required": []
    },
    {
      "name": "AuditLogEventResource",
      "type": "object",
      "propertyCount": 5,
      "required": []
    },
    {
      "name": "BatchRequest",
      "type": "object",
      "propertyCount": 1,
      "required": []
    },
    {
      "name": "BatchRequestAction",
      "type": "object",
      "propertyCount": 4,
      "required": [
        "relative_path",
        "method"
      ]
    },
    {
      "name": "BatchResponse",
      "type": "object",
      "propertyCount": 3,
      "required": []
    },
    {
      "name": "CustomFieldBase",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "CustomFieldCompact",
      "type": "object",
      "propertyCount": 16,
      "required": []
    },
    {
      "name": "CustomFieldRequest",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "CustomFieldResponse",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "CustomFieldSettingBase",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "CustomFieldSettingCompact",
      "type": "object",
      "propertyCount": 2,
      "required": []
    },
    {
      "name": "CustomFieldSettingResponse",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "EmptyResponse",
      "type": "object",
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "EnumOption",
      "type": "object",
      "propertyCount": 5,
      "required": []
    },
    {
      "name": "EnumOptionBase",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "EnumOptionInsertRequest",
      "type": "object",
      "propertyCount": 3,
      "required": [
        "enum_option"
      ]
    },
    {
      "name": "EnumOptionRequest",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "Error",
      "type": "object",
      "propertyCount": 3,
      "required": []
    },
    {
      "name": "ErrorResponse",
      "type": "object",
      "propertyCount": 1,
      "required": []
    },
    {
      "name": "EventResponse",
      "type": "object",
      "propertyCount": 7,
      "required": []
    },
    {
      "name": "GoalAddSubgoalRequest",
      "type": "object",
      "propertyCount": 3,
      "required": [
        "subgoal"
      ]
    },
    {
      "name": "GoalAddSupportingWorkRequest",
      "type": "object",
      "propertyCount": 1,
      "required": [
        "supporting_work"
      ]
    },
    {
      "name": "GoalBase",
      "type": "object",
      "propertyCount": 9,
      "required": []
    },
    {
      "name": "GoalCompact",
      "type": "object",
      "propertyCount": 4,
      "required": []
    },
    {
      "name": "GoalMetricBase",
      "type": "object",
      "propertyCount": 12,
      "required": []
    },
    {
      "name": "GoalRemoveSupportingRelationshipRequest",
      "type": "object",
      "propertyCount": 1,
      "required": [
        "supporting_resource"
      ]
    },
    {
      "name": "GoalAddSupportingRelationshipRequest",
      "type": "object",
      "propertyCount": 4,
      "required": [
        "supporting_resource"
      ]
    },
    {
      "name": "GoalMetricCurrentValueRequest",
      "type": "object",
      "propertyCount": 3,
      "required": []
    },
    {
      "name": "GoalMetricRequest",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "GoalRemoveSubgoalRequest",
      "type": "object",
      "propertyCount": 1,
      "required": [
        "subgoal"
      ]
    },
    {
      "name": "GoalRequestBase",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "GoalRequest",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "GoalUpdateRequest",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "GoalResponse",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "GoalRelationshipBase",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "GoalRelationshipCompact",
      "type": "object",
      "propertyCount": 5,
      "required": []
    },
    {
      "name": "GoalRelationshipRequest",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "GoalRelationshipResponse",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "JobBase",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "JobCompact",
      "type": "object",
      "propertyCount": 7,
      "required": []
    },
    {
      "name": "JobResponse",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "Like",
      "type": "object",
      "propertyCount": 2,
      "required": []
    },
    {
      "name": "MemberCompact",
      "type": "object",
      "propertyCount": 3,
      "required": []
    },
    {
      "name": "MembershipCompact",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "ModifyDependenciesRequest",
      "type": "object",
      "propertyCount": 1,
      "required": []
    },
    {
      "name": "ModifyDependentsRequest",
      "type": "object",
      "propertyCount": 1,
      "required": []
    },
    {
      "name": "NextPage",
      "type": "object",
      "propertyCount": 3,
      "required": []
    },
    {
      "name": "OrganizationExportBase",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "OrganizationExportCompact",
      "type": "object",
      "propertyCount": 6,
      "required": []
    },
    {
      "name": "OrganizationExportRequest",
      "type": "object",
      "propertyCount": 1,
      "required": []
    },
    {
      "name": "OrganizationExportResponse",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "PortfolioAddItemRequest",
      "type": "object",
      "propertyCount": 3,
      "required": [
        "item"
      ]
    },
    {
      "name": "PortfolioBase",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "PortfolioCompact",
      "type": "object",
      "propertyCount": 3,
      "required": []
    },
    {
      "name": "PortfolioMembershipBase",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "DeprecatedPortfolioMembershipBase",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "DeprecatedPortfolioMembershipResponse",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "DeprecatedPortfolioMembershipCompact",
      "type": "object",
      "propertyCount": 5,
      "required": []
    },
    {
      "name": "PortfolioMembershipCompact",
      "type": "object",
      "propertyCount": 5,
      "required": []
    },
    {
      "name": "PortfolioMembershipCompactResponse",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "PortfolioMembershipResponse",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "PortfolioRemoveItemRequest",
      "type": "object",
      "propertyCount": 1,
      "required": [
        "item"
      ]
    },
    {
      "name": "PortfolioRequest",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "PortfolioResponse",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "Preview",
      "type": "object",
      "propertyCount": 8,
      "required": []
    },
    {
      "name": "ProjectBase",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "ProjectBriefBase",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "ProjectBriefCompact",
      "type": "object",
      "propertyCount": 2,
      "required": []
    },
    {
      "name": "ProjectBriefRequest",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "ProjectBriefResponse",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "ProjectCompact",
      "type": "object",
      "propertyCount": 3,
      "required": []
    },
    {
      "name": "ProjectDuplicateRequest",
      "type": "object",
      "propertyCount": 4,
      "required": [
        "name"
      ]
    },
    {
      "name": "ProjectMembershipBase",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "ProjectMembershipCompact",
      "type": "object",
      "propertyCount": 5,
      "required": []
    },
    {
      "name": "ProjectMembershipCompactResponse",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "ProjectMembershipNormalResponse",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "ProjectRequest",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "ProjectUpdateRequest",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "ProjectResponse",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "ProjectSectionInsertRequest",
      "type": "object",
      "propertyCount": 3,
      "required": [
        "section"
      ]
    },
    {
      "name": "ProjectStatusBase",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "ProjectStatusCompact",
      "type": "object",
      "propertyCount": 3,
      "required": []
    },
    {
      "name": "ProjectStatusRequest",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "ProjectStatusResponse",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "ProjectTemplateCompact",
      "type": "object",
      "propertyCount": 3,
      "required": []
    },
    {
      "name": "ProjectTemplateBase",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "ProjectTemplateResponse",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "ProjectTemplateInstantiateProjectRequest",
      "type": "object",
      "propertyCount": 7,
      "required": [
        "name"
      ]
    },
    {
      "name": "DateVariableCompact",
      "type": "object",
      "propertyCount": 3,
      "required": []
    },
    {
      "name": "DateVariableRequest",
      "type": "object",
      "propertyCount": 2,
      "required": []
    },
    {
      "name": "RequestedRoleRequest",
      "type": "object",
      "propertyCount": 2,
      "required": []
    },
    {
      "name": "ProjectSaveAsTemplateRequest",
      "type": "object",
      "propertyCount": 4,
      "required": [
        "name",
        "public"
      ]
    },
    {
      "name": "RuleTriggerRequest",
      "type": "object",
      "propertyCount": 2,
      "required": [
        "resource",
        "action_data"
      ]
    },
    {
      "name": "RuleTriggerResponse",
      "type": "object",
      "propertyCount": 1,
      "required": []
    },
    {
      "name": "RemoveCustomFieldSettingRequest",
      "type": "object",
      "propertyCount": 1,
      "required": [
        "custom_field"
      ]
    },
    {
      "name": "RemoveFollowersRequest",
      "type": "object",
      "propertyCount": 1,
      "required": [
        "followers"
      ]
    },
    {
      "name": "RemoveMembersRequest",
      "type": "object",
      "propertyCount": 1,
      "required": [
        "members"
      ]
    },
    {
      "name": "SectionBase",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "SectionCompact",
      "type": "object",
      "propertyCount": 3,
      "required": []
    },
    {
      "name": "SectionRequest",
      "type": "object",
      "propertyCount": 3,
      "required": [
        "name"
      ]
    },
    {
      "name": "SectionResponse",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "SectionTaskInsertRequest",
      "type": "object",
      "propertyCount": 3,
      "required": [
        "task"
      ]
    },
    {
      "name": "StatusUpdateBase",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "StatusUpdateCompact",
      "type": "object",
      "propertyCount": 4,
      "required": []
    },
    {
      "name": "StatusUpdateRequest",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "StatusUpdateResponse",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "StoryBase",
      "type": "object",
      "propertyCount": 8,
      "required": []
    },
    {
      "name": "StoryCompact",
      "type": "object",
      "propertyCount": 6,
      "required": []
    },
    {
      "name": "StoryRequest",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "StoryResponse",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "StoryResponseDates",
      "type": "object",
      "propertyCount": 3,
      "required": []
    },
    {
      "name": "TagBase",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "TagCompact",
      "type": "object",
      "propertyCount": 3,
      "required": []
    },
    {
      "name": "TagCreateTagForWorkspaceRequest",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "TagRequest",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "TagResponse",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "TaskAddFollowersRequest",
      "type": "object",
      "propertyCount": 1,
      "required": [
        "followers"
      ]
    },
    {
      "name": "TaskAddProjectRequest",
      "type": "object",
      "propertyCount": 4,
      "required": [
        "project"
      ]
    },
    {
      "name": "TaskAddTagRequest",
      "type": "object",
      "propertyCount": 1,
      "required": [
        "tag"
      ]
    },
    {
      "name": "TaskBase",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "TaskCompact",
      "type": "object",
      "propertyCount": 5,
      "required": []
    },
    {
      "name": "TaskTemplateCompact",
      "type": "object",
      "propertyCount": 3,
      "required": []
    },
    {
      "name": "TaskTemplateBase",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "TaskTemplateRecipeCompact",
      "type": "object",
      "propertyCount": 2,
      "required": []
    },
    {
      "name": "TaskTemplateRecipe",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "TaskTemplateResponse",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "TaskCountResponse",
      "type": "object",
      "propertyCount": 6,
      "required": []
    },
    {
      "name": "TaskDuplicateRequest",
      "type": "object",
      "propertyCount": 2,
      "required": []
    },
    {
      "name": "TaskRemoveFollowersRequest",
      "type": "object",
      "propertyCount": 1,
      "required": [
        "followers"
      ]
    },
    {
      "name": "TaskRemoveProjectRequest",
      "type": "object",
      "propertyCount": 1,
      "required": [
        "project"
      ]
    },
    {
      "name": "TaskRemoveTagRequest",
      "type": "object",
      "propertyCount": 1,
      "required": [
        "tag"
      ]
    },
    {
      "name": "TaskTemplateInstantiateTaskRequest",
      "type": "object",
      "propertyCount": 1,
      "required": []
    },
    {
      "name": "TaskRequest",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "TaskResponse",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "TaskSetParentRequest",
      "type": "object",
      "propertyCount": 3,
      "required": [
        "parent"
      ]
    },
    {
      "name": "TeamAddUserRequest",
      "type": "object",
      "propertyCount": 1,
      "required": []
    },
    {
      "name": "TeamBase",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "TeamCompact",
      "type": "object",
      "propertyCount": 3,
      "required": []
    },
    {
      "name": "TeamMembershipBase",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "TeamMembershipCompact",
      "type": "object",
      "propertyCount": 7,
      "required": []
    },
    {
      "name": "TeamMembershipResponse",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "TeamRemoveUserRequest",
      "type": "object",
      "propertyCount": 1,
      "required": []
    },
    {
      "name": "TeamRequest",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "TeamResponse",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "TemplateRole",
      "type": "object",
      "propertyCount": 3,
      "required": []
    },
    {
      "name": "TimePeriodBase",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "TimePeriodCompact",
      "type": "object",
      "propertyCount": 6,
      "required": []
    },
    {
      "name": "TimePeriodResponse",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "UserBase",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "UserCompact",
      "type": "object",
      "propertyCount": 3,
      "required": []
    },
    {
      "name": "UserRequest",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "UserBaseResponse",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "UserResponse",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "UserTaskListBase",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "UserTaskListCompact",
      "type": "object",
      "propertyCount": 5,
      "required": []
    },
    {
      "name": "UserTaskListRequest",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "UserTaskListResponse",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "WebhookCompact",
      "type": "object",
      "propertyCount": 5,
      "required": []
    },
    {
      "name": "WebhookFilter",
      "type": "object",
      "propertyCount": 4,
      "required": []
    },
    {
      "name": "WebhookRequest",
      "type": "object",
      "propertyCount": 3,
      "required": [
        "resource",
        "target"
      ]
    },
    {
      "name": "WebhookResponse",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "WebhookUpdateRequest",
      "type": "object",
      "propertyCount": 1,
      "required": []
    },
    {
      "name": "WorkspaceAddUserRequest",
      "type": "object",
      "propertyCount": 1,
      "required": []
    },
    {
      "name": "WorkspaceBase",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "WorkspaceCompact",
      "type": "object",
      "propertyCount": 3,
      "required": []
    },
    {
      "name": "WorkspaceMembershipBase",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "WorkspaceMembershipCompact",
      "type": "object",
      "propertyCount": 4,
      "required": []
    },
    {
      "name": "WorkspaceMembershipRequest",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "WorkspaceMembershipResponse",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "WorkspaceRemoveUserRequest",
      "type": "object",
      "propertyCount": 1,
      "required": []
    },
    {
      "name": "WorkspaceRequest",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "WorkspaceResponse",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "GoalMembershipBase",
      "type": "object",
      "propertyCount": 8,
      "required": []
    },
    {
      "name": "GoalMembershipCompact",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "GoalMembershipResponse",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "MembershipUpdateRequest",
      "type": "object",
      "propertyCount": 1,
      "required": []
    },
    {
      "name": "MembershipRequest",
      "type": "object",
      "propertyCount": 1,
      "required": []
    },
    {
      "name": "CreateMembershipRequest",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "MembershipResponse",
      "type": null,
      "propertyCount": 0,
      "required": []
    },
    {
      "name": "UpdateTimeTrackingEntryRequest",
      "type": "object",
      "propertyCount": 2,
      "required": []
    },
    {
      "name": "CreateTimeTrackingEntryRequest",
      "type": "object",
      "propertyCount": 2,
      "required": []
    },
    {
      "name": "TimeTrackingEntryCompact",
      "type": "object",
      "propertyCount": 5,
      "required": []
    },
    {
      "name": "TimeTrackingEntryBase",
      "type": null,
      "propertyCount": 0,
      "required": []
    }
  ],
  "operations": [
    {
      "method": "GET",
      "path": "/allocations/{allocation_gid}",
      "operationId": "getAllocation",
      "summary": "Asana Get an allocation",
      "tags": [
        "Allocations"
      ]
    },
    {
      "method": "PUT",
      "path": "/allocations/{allocation_gid}",
      "operationId": "updateAllocation",
      "summary": "Asana Update an allocation",
      "tags": [
        "Allocations"
      ]
    },
    {
      "method": "DELETE",
      "path": "/allocations/{allocation_gid}",
      "operationId": "deleteAllocation",
      "summary": "Asana Delete an allocation",
      "tags": [
        "Allocations"
      ]
    },
    {
      "method": "GET",
      "path": "/allocations",
      "operationId": "getAllocations",
      "summary": "Asana Get multiple allocations",
      "tags": [
        "Allocations"
      ]
    },
    {
      "method": "POST",
      "path": "/allocations",
      "operationId": "createAllocation",
      "summary": "Asana Create an allocation",
      "tags": [
        "Allocations"
      ]
    },
    {
      "method": "GET",
      "path": "/attachments/{attachment_gid}",
      "operationId": "getAttachment",
      "summary": "Asana Get an attachment",
      "tags": [
        "Attachments"
      ]
    },
    {
      "method": "DELETE",
      "path": "/attachments/{attachment_gid}",
      "operationId": "deleteAttachment",
      "summary": "Asana Delete an attachment",
      "tags": [
        "Attachments"
      ]
    },
    {
      "method": "GET",
      "path": "/attachments",
      "operationId": "getAttachmentsForObject",
      "summary": "Asana Get attachments from an object",
      "tags": [
        "Attachments"
      ]
    },
    {
      "method": "POST",
      "path": "/attachments",
      "operationId": "createAttachmentForObject",
      "summary": "Asana Upload an attachment",
      "tags": [
        "Attachments"
      ]
    },
    {
      "method": "GET",
      "path": "/workspaces/{workspace_gid}/audit_log_events",
      "operationId": "getAuditLogEvents",
      "summary": "Asana Get audit log events",
      "tags": [
        "Audit Log API"
      ]
    },
    {
      "method": "POST",
      "path": "/batch",
      "operationId": "createBatchRequest",
      "summary": "Asana Submit parallel requests",
      "tags": [
        "Batch API"
      ]
    },
    {
      "method": "GET",
      "path": "/projects/{project_gid}/custom_field_settings",
      "operationId": "getCustomFieldSettingsForProject",
      "summary": "Asana Get a project's custom fields",
      "tags": [
        "Custom Field Settings"
      ]
    },
    {
      "method": "GET",
      "path": "/portfolios/{portfolio_gid}/custom_field_settings",
      "operationId": "getCustomFieldSettingsForPortfolio",
      "summary": "Asana Get a portfolio's custom fields",
      "tags": [
        "Custom Field Settings"
      ]
    },
    {
      "method": "POST",
      "path": "/custom_fields",
      "operationId": "createCustomField",
      "summary": "Asana Create a custom field",
      "tags": [
        "Custom Fields"
      ]
    },
    {
      "method": "GET",
      "path": "/custom_fields/{custom_field_gid}",
      "operationId": "getCustomField",
      "summary": "Asana Get a custom field",
      "tags": [
        "Custom Fields"
      ]
    },
    {
      "method": "PUT",
      "path": "/custom_fields/{custom_field_gid}",
      "operationId": "updateCustomField",
      "summary": "Asana Update a custom field",
      "tags": [
        "Custom Fields"
      ]
    },
    {
      "method": "DELETE",
      "path": "/custom_fields/{custom_field_gid}",
      "operationId": "deleteCustomField",
      "summary": "Asana Delete a custom field",
      "tags": [
        "Custom Fields"
      ]
    },
    {
      "method": "GET",
      "path": "/workspaces/{workspace_gid}/custom_fields",
      "operationId": "getCustomFieldsForWorkspace",
      "summary": "Asana Get a workspace's custom fields",
      "tags": [
        "Custom Fields"
      ]
    },
    {
      "method": "POST",
      "path": "/custom_fields/{custom_field_gid}/enum_options",
      "operationId": "createEnumOptionForCustomField",
      "summary": "Asana Create an enum option",
      "tags": [
        "Custom Fields"
      ]
    },
    {
      "method": "POST",
      "path": "/custom_fields/{custom_field_gid}/enum_options/insert",
      "operationId": "insertEnumOptionForCustomField",
      "summary": "Asana Reorder a custom field's enum",
      "tags": [
        "Custom Fields"
      ]
    },
    {
      "method": "PUT",
      "path": "/enum_options/{enum_option_gid}",
      "operationId": "updateEnumOption",
      "summary": "Asana Update an enum option",
      "tags": [
        "Custom Fields"
      ]
    },
    {
      "method": "GET",
      "path": "/events",
      "operationId": "getEvents",
      "summary": "Asana Get events on a resource",
      "tags": [
        "Events"
      ]
    },
    {
      "method": "GET",
      "path": "/goal_relationships/{goal_relationship_gid}",
      "operationId": "getGoalRelationship",
      "summary": "Asana Get a goal relationship",
      "tags": [
        "Goal Relationships"
      ]
    },
    {
      "method": "PUT",
      "path": "/goal_relationships/{goal_relationship_gid}",
      "operationId": "updateGoalRelationship",
      "summary": "Asana Update a goal relationship",
      "tags": [
        "Goal Relationships"
      ]
    },
    {
      "method": "GET",
      "path": "/goal_relationships",
      "operationId": "getGoalRelationships",
      "summary": "Asana Get goal relationships",
      "tags": [
        "Goal Relationships"
      ]
    },
    {
      "method": "POST",
      "path": "/goals/{goal_gid}/addSupportingRelationship",
      "operationId": "addSupportingRelationship",
      "summary": "Asana Add a supporting goal relationship",
      "tags": [
        "Goal Relationships"
      ]
    },
    {
      "method": "POST",
      "path": "/goals/{goal_gid}/removeSupportingRelationship",
      "operationId": "removeSupportingRelationship",
      "summary": "Asana Removes a supporting goal relationship",
      "tags": [
        "Goal Relationships"
      ]
    },
    {
      "method": "GET",
      "path": "/goals/{goal_gid}",
      "operationId": "getGoal",
      "summary": "Asana Get a goal",
      "tags": [
        "Goals"
      ]
    },
    {
      "method": "PUT",
      "path": "/goals/{goal_gid}",
      "operationId": "updateGoal",
      "summary": "Asana Update a goal",
      "tags": [
        "Goals"
      ]
    },
    {
      "method": "DELETE",
      "path": "/goals/{goal_gid}",
      "operationId": "deleteGoal",
      "summary": "Asana Delete a goal",
      "tags": [
        "Goals"
      ]
    },
    {
      "method": "GET",
      "path": "/goals",
      "operationId": "getGoals",
      "summary": "Asana Get goals",
      "tags": [
        "Goals"
      ]
    },
    {
      "method": "POST",
      "path": "/goals",
      "operationId": "createGoal",
      "summary": "Asana Create a goal",
      "tags": [
        "Goals"
      ]
    },
    {
      "method": "POST",
      "path": "/goals/{goal_gid}/setMetric",
      "operationId": "createGoalMetric",
      "summary": "Asana Create a goal metric",
      "tags": [
        "Goals"
      ]
    },
    {
      "method": "POST",
      "path": "/goals/{goal_gid}/setMetricCurrentValue",
      "operationId": "updateGoalMetric",
      "summary": "Asana Update a goal metric",
      "tags": [
        "Goals"
      ]
    },
    {
      "method": "POST",
      "path": "/goals/{goal_gid}/addFollowers",
      "operationId": "addFollowers",
      "summary": "Asana Add a collaborator to a goal",
      "tags": [
        "Goals"
      ]
    },
    {
      "method": "POST",
      "path": "/goals/{goal_gid}/removeFollowers",
      "operationId": "removeFollowers",
      "summary": "Asana Remove a collaborator from a goal",
      "tags": [
        "Goals"
      ]
    },
    {
      "method": "GET",
      "path": "/goals/{goal_gid}/parentGoals",
      "operationId": "getP

# --- truncated at 32 KB (64 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/asana/refs/heads/main/json-structure/asana-structure.json