Microsoft Project Online REST API

REST API for accessing and managing Microsoft Project Online and Project Server data including projects, tasks, resources, assignments, calendars, custom fields, timesheets, lookup tables, and workflow activities. Uses SharePoint-based REST endpoints via the ProjectServer service.

Documentation

Specifications

Code Examples

Examples

Schemas & Data

Other Resources

🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/microsoft-project/refs/heads/main/json-ld/microsoft-project-rest-api-context.jsonld
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/microsoft-project/refs/heads/main/capabilities/rest-assignments.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/microsoft-project/refs/heads/main/capabilities/rest-calendars.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/microsoft-project/refs/heads/main/capabilities/rest-custom-fields.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/microsoft-project/refs/heads/main/capabilities/rest-enterprise-project-types.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/microsoft-project/refs/heads/main/capabilities/rest-event-handlers.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/microsoft-project/refs/heads/main/capabilities/rest-lookup-tables.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/microsoft-project/refs/heads/main/capabilities/rest-phases.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/microsoft-project/refs/heads/main/capabilities/rest-projects.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/microsoft-project/refs/heads/main/capabilities/rest-resources.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/microsoft-project/refs/heads/main/capabilities/rest-stages.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/microsoft-project/refs/heads/main/capabilities/rest-tasks.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/microsoft-project/refs/heads/main/capabilities/rest-timesheets.yaml
🔗
NaftikoCapability
https://raw.githubusercontent.com/api-evangelist/microsoft-project/refs/heads/main/capabilities/rest-workflow-activities.yaml

OpenAPI Specification

microsoft-project-rest-api.yaml Raw ↑
openapi: 3.0.3
info:
  title: Microsoft Project Online REST API
  description: >-
    REST API for accessing and managing Microsoft Project Online and Project
    Server data including projects, tasks, resources, assignments, calendars,
    custom fields, timesheets, lookup tables, and workflow activities. Uses
    SharePoint-based REST endpoints via the ProjectServer service.
  version: '1.0'
  contact:
    name: Microsoft Project Support
    url: https://support.microsoft.com/
  license:
    name: Microsoft API License
    url: https://www.microsoft.com/en-us/legal/terms-of-use
  x-generated-from: documentation
  x-last-validated: '2026-04-18'
servers:
  - url: https://{tenant}.sharepoint.com/sites/pwa/_api/ProjectServer
    description: Project Online REST API
    variables:
      tenant:
        default: contoso
        description: SharePoint tenant name
security:
  - oauth2: []
tags:
  - name: Projects
    description: Manage projects and project lifecycle operations
  - name: Tasks
    description: Manage project tasks and subtasks
  - name: Resources
    description: Manage enterprise resources and project resources
  - name: Assignments
    description: Manage resource assignments to tasks
  - name: Calendars
    description: Manage enterprise calendars
  - name: Custom Fields
    description: Manage enterprise custom field definitions
  - name: Lookup Tables
    description: Manage lookup table definitions and entries
  - name: Timesheets
    description: Manage timesheet periods, lines, and work entries
  - name: Phases
    description: Manage workflow phases
  - name: Stages
    description: Manage workflow stages
  - name: Enterprise Project Types
    description: Manage enterprise project type configurations
  - name: Event Handlers
    description: Manage event handler subscriptions
  - name: Workflow Activities
    description: Manage workflow activities
paths:
  /Projects:
    get:
      operationId: listProjects
      summary: Microsoft Project List Projects
      description: Retrieve all projects accessible to the current user.
      tags:
        - Projects
      responses:
        '200':
          description: List of projects
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectCollection'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createProject
      summary: Microsoft Project Create Project
      description: Create a new project.
      tags:
        - Projects
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProjectCreate'
      responses:
        '201':
          description: Project created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Project'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /Projects('{projectId}'):
    get:
      operationId: getProject
      summary: Microsoft Project Get Project
      description: Retrieve a specific project by its ID.
      tags:
        - Projects
      parameters:
        - $ref: '#/components/parameters/projectId'
      responses:
        '200':
          description: Project details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Project'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      operationId: deleteProject
      summary: Microsoft Project Delete Project
      description: Delete a project by its ID.
      tags:
        - Projects
      parameters:
        - $ref: '#/components/parameters/projectId'
      responses:
        '204':
          description: Project deleted
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /Projects('{projectId}')/checkOut():
    post:
      operationId: checkOutProject
      summary: Microsoft Project Check Out Project
      description: Check out a project for editing.
      tags:
        - Projects
      parameters:
        - $ref: '#/components/parameters/projectId'
      responses:
        '200':
          description: Project checked out
        '409':
          description: Project already checked out
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /Projects('{projectId}')/Draft/checkIn(force={force}):
    post:
      operationId: checkInProject
      summary: Microsoft Project Check in Project Draft
      description: Check in a project draft. Optionally force check-in.
      tags:
        - Projects
      parameters:
        - $ref: '#/components/parameters/projectId'
        - name: force
          in: query
          description: Whether to force check-in
          schema:
            type: boolean
            default: false
      responses:
        '200':
          description: Project checked in
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /Projects('{projectId}')/Draft/publish(checkIn={checkIn}):
    post:
      operationId: publishProject
      summary: Microsoft Project Publish Project
      description: Publish a project draft.
      tags:
        - Projects
      parameters:
        - $ref: '#/components/parameters/projectId'
        - name: checkIn
          in: query
          description: Whether to check in after publishing
          schema:
            type: boolean
            default: true
      responses:
        '200':
          description: Project published
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /Projects('{projectId}')/submitToWorkflow():
    post:
      operationId: submitProjectToWorkflow
      summary: Microsoft Project Submit Project to Workflow
      description: Submit a project to its associated workflow.
      tags:
        - Projects
      parameters:
        - $ref: '#/components/parameters/projectId'
      responses:
        '200':
          description: Project submitted to workflow
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /Projects('{projectId}')/Tasks:
    get:
      operationId: listProjectTasks
      summary: Microsoft Project List Project Tasks
      description: Retrieve all published tasks for a project.
      tags:
        - Tasks
      parameters:
        - $ref: '#/components/parameters/projectId'
      responses:
        '200':
          description: List of tasks
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskCollection'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /Projects('{projectId}')/Tasks('{taskId}'):
    get:
      operationId: getProjectTask
      summary: Microsoft Project Get Project Task
      description: Retrieve a specific task from a project.
      tags:
        - Tasks
      parameters:
        - $ref: '#/components/parameters/projectId'
        - $ref: '#/components/parameters/taskId'
      responses:
        '200':
          description: Task details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Task'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /Projects('{projectId}')/Draft/Tasks:
    get:
      operationId: listDraftTasks
      summary: Microsoft Project List Draft Tasks
      description: Retrieve all draft tasks for a project.
      tags:
        - Tasks
      parameters:
        - $ref: '#/components/parameters/projectId'
      responses:
        '200':
          description: List of draft tasks
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskCollection'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createDraftTask
      summary: Microsoft Project Create Draft Task
      description: Create a new task in the project draft.
      tags:
        - Tasks
      parameters:
        - $ref: '#/components/parameters/projectId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TaskCreate'
      responses:
        '201':
          description: Task created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Task'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /Projects('{projectId}')/Draft/Tasks('{taskId}'):
    delete:
      operationId: deleteDraftTask
      summary: Microsoft Project Delete Draft Task
      description: Delete a task from the project draft.
      tags:
        - Tasks
      parameters:
        - $ref: '#/components/parameters/projectId'
        - $ref: '#/components/parameters/taskId'
      responses:
        '204':
          description: Task deleted
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    patch:
      operationId: updateDraftTask
      summary: Microsoft Project Update Draft Task
      description: Update a task in the project draft.
      tags:
        - Tasks
      parameters:
        - $ref: '#/components/parameters/projectId'
        - $ref: '#/components/parameters/taskId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TaskUpdate'
      responses:
        '200':
          description: Task updated
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /Projects('{projectId}')/Draft/TaskLinks:
    get:
      operationId: listDraftTaskLinks
      summary: Microsoft Project List Draft Task Links
      description: Retrieve all task dependency links in the project draft.
      tags:
        - Tasks
      parameters:
        - $ref: '#/components/parameters/projectId'
      responses:
        '200':
          description: List of task links
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskLinkCollection'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createDraftTaskLink
      summary: Microsoft Project Create Draft Task Link
      description: Create a task dependency link in the project draft.
      tags:
        - Tasks
      parameters:
        - $ref: '#/components/parameters/projectId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TaskLinkCreate'
      responses:
        '201':
          description: Task link created
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /Projects('{projectId}')/Assignments:
    get:
      operationId: listProjectAssignments
      summary: Microsoft Project List Project Assignments
      description: Retrieve all published assignments for a project.
      tags:
        - Assignments
      parameters:
        - $ref: '#/components/parameters/projectId'
      responses:
        '200':
          description: List of assignments
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssignmentCollection'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /Projects('{projectId}')/Draft/Assignments:
    get:
      operationId: listDraftAssignments
      summary: Microsoft Project List Draft Assignments
      description: Retrieve all draft assignments for a project.
      tags:
        - Assignments
      parameters:
        - $ref: '#/components/parameters/projectId'
      responses:
        '200':
          description: List of draft assignments
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssignmentCollection'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createDraftAssignment
      summary: Microsoft Project Create Draft Assignment
      description: Create a new assignment in the project draft.
      tags:
        - Assignments
      parameters:
        - $ref: '#/components/parameters/projectId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AssignmentCreate'
      responses:
        '201':
          description: Assignment created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Assignment'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /Projects('{projectId}')/Draft/Assignments('{assignmentId}'):
    delete:
      operationId: deleteDraftAssignment
      summary: Microsoft Project Delete Draft Assignment
      description: Delete an assignment from the project draft.
      tags:
        - Assignments
      parameters:
        - $ref: '#/components/parameters/projectId'
        - $ref: '#/components/parameters/assignmentId'
      responses:
        '204':
          description: Assignment deleted
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /Projects('{projectId}')/Draft/ProjectResources:
    get:
      operationId: listDraftProjectResources
      summary: Microsoft Project List Draft Project Resources
      description: Retrieve all resources in the project draft.
      tags:
        - Resources
      parameters:
        - $ref: '#/components/parameters/projectId'
      responses:
        '200':
          description: List of project resources
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectResourceCollection'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: addDraftProjectResource
      summary: Microsoft Project Add Draft Project Resource
      description: Add a resource to the project draft.
      tags:
        - Resources
      parameters:
        - $ref: '#/components/parameters/projectId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProjectResourceCreate'
      responses:
        '201':
          description: Resource added
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /Projects('{projectId}')/ProjectResources:
    get:
      operationId: listProjectResources
      summary: Microsoft Project List Project Resources
      description: Retrieve all published resources for a project.
      tags:
        - Resources
      parameters:
        - $ref: '#/components/parameters/projectId'
      responses:
        '200':
          description: List of project resources
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectResourceCollection'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /EnterpriseResources:
    get:
      operationId: listEnterpriseResources
      summary: Microsoft Project List Enterprise Resources
      description: Retrieve all enterprise resources.
      tags:
        - Resources
      responses:
        '200':
          description: List of enterprise resources
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnterpriseResourceCollection'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createEnterpriseResource
      summary: Microsoft Project Create Enterprise Resource
      description: Create a new enterprise resource.
      tags:
        - Resources
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EnterpriseResourceCreate'
      responses:
        '201':
          description: Enterprise resource created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnterpriseResource'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /EnterpriseResources('{resourceId}')/Assignments:
    get:
      operationId: listEnterpriseResourceAssignments
      summary: Microsoft Project List Enterprise Resource Assignments
      description: Retrieve all assignments for an enterprise resource.
      tags:
        - Assignments
      parameters:
        - $ref: '#/components/parameters/resourceId'
      responses:
        '200':
          description: List of assignments
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssignmentCollection'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /Calendars:
    get:
      operationId: listCalendars
      summary: Microsoft Project List Calendars
      description: Retrieve all enterprise calendars.
      tags:
        - Calendars
      responses:
        '200':
          description: List of calendars
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CalendarCollection'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createCalendar
      summary: Microsoft Project Create Calendar
      description: Create a new enterprise calendar.
      tags:
        - Calendars
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CalendarCreate'
      responses:
        '201':
          description: Calendar created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Calendar'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /Calendars('{calendarId}'):
    get:
      operationId: getCalendar
      summary: Microsoft Project Get Calendar
      description: Retrieve a specific calendar by ID.
      tags:
        - Calendars
      parameters:
        - $ref: '#/components/parameters/calendarId'
      responses:
        '200':
          description: Calendar details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Calendar'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      operationId: deleteCalendar
      summary: Microsoft Project Delete Calendar
      description: Delete a calendar by ID.
      tags:
        - Calendars
      parameters:
        - $ref: '#/components/parameters/calendarId'
      responses:
        '204':
          description: Calendar deleted
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /CustomFields:
    get:
      operationId: listCustomFields
      summary: Microsoft Project List Custom Fields
      description: Retrieve all enterprise custom field definitions.
      tags:
        - Custom Fields
      responses:
        '200':
          description: List of custom fields
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomFieldCollection'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createCustomField
      summary: Microsoft Project Create Custom Field
      description: Create a new enterprise custom field definition.
      tags:
        - Custom Fields
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomFieldCreate'
      responses:
        '201':
          description: Custom field created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomField'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /CustomFields('{fieldId}'):
    get:
      operationId: getCustomField
      summary: Microsoft Project Get Custom Field
      description: Retrieve a specific custom field by ID.
      tags:
        - Custom Fields
      parameters:
        - $ref: '#/components/parameters/fieldId'
      responses:
        '200':
          description: Custom field details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomField'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      operationId: deleteCustomField
      summary: Microsoft Project Delete Custom Field
      description: Delete a custom field definition.
      tags:
        - Custom Fields
      parameters:
        - $ref: '#/components/parameters/fieldId'
      responses:
        '204':
          description: Custom field deleted
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /LookupTables:
    get:
      operationId: listLookupTables
      summary: Microsoft Project List Lookup Tables
      description: Retrieve all lookup table definitions.
      tags:
        - Lookup Tables
      responses:
        '200':
          description: List of lookup tables
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LookupTableCollection'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createLookupTable
      summary: Microsoft Project Create Lookup Table
      description: Create a new lookup table definition.
      tags:
        - Lookup Tables
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LookupTableCreate'
      responses:
        '201':
          description: Lookup table created
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /LookupTables('{tableId}'):
    get:
      operationId: getLookupTable
      summary: Microsoft Project Get Lookup Table
      description: Retrieve a specific lookup table by ID.
      tags:
        - Lookup Tables
      parameters:
        - $ref: '#/components/parameters/tableId'
      responses:
        '200':
          description: Lookup table details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LookupTable'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      operationId: deleteLookupTable
      summary: Microsoft Project Delete Lookup Table
      description: Delete a lookup table by ID.
      tags:
        - Lookup Tables
      parameters:
        - $ref: '#/components/parameters/tableId'
      responses:
        '204':
          description: Lookup table deleted
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /LookupTables('{tableId}')/Entries:
    get:
      operationId: listLookupTableEntries
      summary: Microsoft Project List Lookup Table Entries
      description: Retrieve all entries in a lookup table.
      tags:
        - Lookup Tables
      parameters:
        - $ref: '#/components/parameters/tableId'
      responses:
        '200':
          description: List of entries
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LookupTableEntryCollection'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createLookupTableEntry
      summary: Microsoft Project Create Lookup Table Entry
      description: Create a new entry in a lookup table.
      tags:
        - Lookup Tables
      parameters:
        - $ref: '#/components/parameters/tableId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LookupTableEntryCreate'
      responses:
        '201':
          description: Entry created
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /TimeSheetPeriods:
    get:
      operationId: listTimeSheetPeriods
      summary: Microsoft Project List Timesheet Periods
      description: Retrieve all timesheet periods.
      tags:
        - Timesheets
      responses:
        '200':
          description: List of timesheet periods
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TimeSheetPeriodCollection'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /TimeSheetPeriods('{periodId}')/TimeSheet:
    get:
      operationId: getTimeSheet
      summary: Microsoft Project Get Timesheet
      description: Retrieve a timesheet for a specific period.
      tags:
        - Timesheets
      parameters:
        - $ref: '#/components/parameters/periodId'
      responses:
        '200':
          description: Timesheet details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TimeSheet'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /TimeSheetPeriods('{periodId}')/TimeSheet/Lines:
    get:
      operationId: listTimeSheetLines
      summary: Microsoft Project List Timesheet Lines
      description: Retrieve all lines in a timesheet.
      tags:
        - Timesheets
      parameters:
        - $ref: '#/components/parameters/periodId'
      responses:
        '200':
          description: List of timesheet lines
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TimeSheetLineCollection'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createTimeSheetLine
      summary: Microsoft Project Create Timesheet Line
      description: Create a new line in a timesheet.
      tags:
        - Timesheets
      parameters:
        - $ref: '#/components/parameters/periodId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TimeSheetLineCreate'
      responses:
        '201':
          description: Timesheet line created
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /TimeSheetPeriods('{periodId}')/TimeSheet/submitForApproval():
    post:
      operationId: submitTimeSheetForApproval
      summary: Microsoft Project Submit Timesheet for Approval
      description: Submit a timesheet for manager approval.
      tags:
        - Timesheets
      parameters:
        - $ref: '#/components/parameters/periodId'
      responses:
        '200':
          description: Timesheet submitted for approval
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /Phases:
    get:
      operationId: listPhases
      summary: Microsoft Project List Phases
      description: Retrieve all workflow phases.
      tags:
        - Phases
      responses:
        '200':
          description: List of phases
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PhaseCollection'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createPhase
      summary: Microsoft Project Create Phase
      description: Create a new workflow phase.
      tags:
        - Phases
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PhaseCreate'
      responses:
        '201':
          description: Phase created
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /Phases('{phaseId}'):
    get:
      operationId: getPhase
      summary: Microsoft Project Get Phase
      description: Retrieve a specific workflow phase.
      tags:
        - Phases
      parameters:
        - $ref: '#/components/parameters/phaseId'
      responses:
        '200':
          description: Phase details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Phase'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      operationId: deletePhase
      summary: Microsoft Project Delete Phase
      description: Delete a workflow phase.
      tags:
        - Phases
      parameters:
        - $ref: '#/components/parameters/phaseId'
      responses:
        '204':
          description: Phase deleted
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /Stages:
    get:
      operationId: listStages
      summary: Microsoft Project List Stages
      description: Retrieve all workflow stages.
      tags:
        - Stages
      responses:
        '200':
          description: List of stages
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StageCollection'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createStage
      summary: Microsoft Project Create Stage
      description: Create a new workflow stage.
      tags:
        - Stages
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StageCreate'
      responses:
        '201':
          description: Stage created
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /Stages('{stageId}'):
    get:
      operationId: getStage
      summary: Microsoft Project Get Stage
      description: Retrieve a specific workflow stage.
      tags:
        - Stages
      parameters:
        - $ref: '#/components/parameters/stageId'
      responses:
        '200':
          description: Stage details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Stage'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      operationId: deleteStage
      summary: Microsoft Project Delete Stage
      description: Delete a workflow stage.
      tags:
        - Stages
      parameters:
        - $ref: '#/components/parameters/stageId'
      responses:
        '204':
          description: Stage deleted
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /EnterpriseProjectTypes:
    get:
      operationId: listEnterpriseProjectTypes
      summary: Microsoft Project List Enterprise Project Types
      description: Retrieve all enterprise project type configurations.
      tags:
        - Enterprise Project Types
      responses:
        '200':
          description: List of enterprise project types
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnterpriseProjectTypeCollection'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createEnterpriseProjectType
      summary: Microsoft Project Create Enterprise Project Type
      description: Create a new enterprise project type.
      tags:
        - Enterprise Project Types
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EnterpriseProjectTypeCreate'
      responses:
        '201':
          description: Enterprise project type created
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /EnterpriseProjectTypes('{projectTypeId}'):
    get:
      operationId: getEnterpriseProjectType
      summary: Microsoft Project Get Enterprise Project Type
      description: Retrieve a specific enterprise project type.
      tags:
        - Enterprise Project Types
      parameters:
        - $ref: '#/components/parameters/projectTypeId'
      responses:
        '200':
          description: Enterprise project type details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnterpriseProjectType'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      oper

# --- truncated at 32 KB (63 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/microsoft-project/refs/heads/main/openapi/microsoft-project-rest-api.yaml