Oracle Primavera Activities API

Activity scheduling and management

OpenAPI Specification

oracle-primavera-activities-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Oracle Primavera P6 EPPM REST Activities API
  description: Oracle Primavera P6 EPPM REST API provides programmatic access to enterprise project portfolio management data including WBS structures, activity schedules, resource assignments, critical path analysis, and portfolio dashboards. Available for both cloud and on-premises deployments.
  version: 26.0.0
  contact:
    name: Oracle Support
    url: https://support.oracle.com
  license:
    name: Oracle Technology Network License
    url: https://www.oracle.com/legal/terms/
servers:
- url: https://{host}/p6ws/rest/v1
  description: P6 EPPM REST API
  variables:
    host:
      default: primavera.example.com
      description: P6 EPPM server hostname
security:
- basicAuth: []
- oauth2: []
tags:
- name: Activities
  description: Activity scheduling and management
paths:
  /activities:
    get:
      operationId: listActivities
      summary: List activities
      description: Returns activities with scheduling data including planned dates, durations, and relationships.
      tags:
      - Activities
      parameters:
      - name: Fields
        in: query
        schema:
          type: string
          example: ObjectId,Id,Name,PlannedStartDate,PlannedFinishDate,ActualStartDate,ActualFinishDate,Status,PercentComplete
      - name: Filter
        in: query
        description: Filter by project or WBS; e.g. ProjectObjectId eq 12345
        schema:
          type: string
      - name: offset
        in: query
        schema:
          type: integer
          default: 0
      - name: limit
        in: query
        schema:
          type: integer
          default: 100
      responses:
        '200':
          description: List of activities
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Activity'
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      operationId: createActivity
      summary: Create an activity
      description: Creates a new activity within a project.
      tags:
      - Activities
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ActivityCreate'
      responses:
        '200':
          description: Created activity ObjectId
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    ObjectId:
                      type: integer
        '400':
          $ref: '#/components/responses/BadRequest'
  /activities/{objectId}:
    get:
      operationId: getActivity
      summary: Get an activity
      description: Returns details for a single activity.
      tags:
      - Activities
      parameters:
      - $ref: '#/components/parameters/ObjectId'
      - name: Fields
        in: query
        schema:
          type: string
      responses:
        '200':
          description: Activity details
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Activity'
        '404':
          $ref: '#/components/responses/NotFound'
    put:
      operationId: updateActivity
      summary: Update an activity
      description: Updates scheduling fields on an activity.
      tags:
      - Activities
      parameters:
      - $ref: '#/components/parameters/ObjectId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ActivityUpdate'
      responses:
        '200':
          description: Update confirmation
        '404':
          $ref: '#/components/responses/NotFound'
components:
  schemas:
    Activity:
      type: object
      description: A project schedule activity
      properties:
        ObjectId:
          type: integer
        Id:
          type: string
        Name:
          type: string
        ProjectObjectId:
          type: integer
        WBSObjectId:
          type: integer
        Type:
          type: string
          enum:
          - Task Dependent
          - Resource Dependent
          - Level of Effort
          - Start Milestone
          - Finish Milestone
          - WBS Summary
        Status:
          type: string
          enum:
          - Not Started
          - In Progress
          - Completed
        PercentComplete:
          type: number
          format: double
        PercentCompleteType:
          type: string
          enum:
          - Physical
          - Duration
          - Units
        PlannedStartDate:
          type: string
          format: date-time
        PlannedFinishDate:
          type: string
          format: date-time
        ActualStartDate:
          type: string
          format: date-time
          nullable: true
        ActualFinishDate:
          type: string
          format: date-time
          nullable: true
        RemainingStartDate:
          type: string
          format: date-time
          nullable: true
        RemainingFinishDate:
          type: string
          format: date-time
          nullable: true
        PlannedDuration:
          type: number
          format: double
          description: Planned duration in hours
        ActualDuration:
          type: number
          format: double
        RemainingDuration:
          type: number
          format: double
        TotalFloat:
          type: number
          format: double
          description: Total float in hours; negative indicates critical path
        FreeFloat:
          type: number
          format: double
        CriticalFlag:
          type: boolean
        CalendarObjectId:
          type: integer
    Error:
      type: object
      properties:
        ErrorCode:
          type: integer
        ErrorMessage:
          type: string
    ActivityCreate:
      type: object
      required:
      - Name
      - Id
      - ProjectObjectId
      - WBSObjectId
      properties:
        Id:
          type: string
        Name:
          type: string
        ProjectObjectId:
          type: integer
        WBSObjectId:
          type: integer
        Type:
          type: string
          enum:
          - Task Dependent
          - Resource Dependent
          - Level of Effort
          - Start Milestone
          - Finish Milestone
        PlannedStartDate:
          type: string
          format: date-time
        PlannedFinishDate:
          type: string
          format: date-time
    ActivityUpdate:
      type: object
      properties:
        ObjectId:
          type: integer
        PercentComplete:
          type: number
          format: double
        ActualStartDate:
          type: string
          format: date-time
        ActualFinishDate:
          type: string
          format: date-time
        RemainingDuration:
          type: number
          format: double
  responses:
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    BadRequest:
      description: Invalid request parameters
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: Authentication required
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  parameters:
    ObjectId:
      name: objectId
      in: path
      required: true
      description: Unique numeric ObjectId
      schema:
        type: integer
        format: int64
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: HTTP Basic Authentication with P6 username and password
    oauth2:
      type: oauth2
      description: Oracle Identity Cloud Service OAuth2
      flows:
        authorizationCode:
          authorizationUrl: https://identity.oraclecloud.com/oauth2/v1/authorize
          tokenUrl: https://identity.oraclecloud.com/oauth2/v1/token
          scopes:
            read: Read access to P6 data
            write: Write access to P6 data