Oracle Primavera Projects API
Project management operations
Project management operations
openapi: 3.1.0
info:
title: Oracle Primavera P6 EPPM REST Activities Projects 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: Projects
description: Project management operations
paths:
/projects:
get:
operationId: listProjects
summary: List projects
description: Returns a collection of projects accessible to the authenticated user, with optional field filtering.
tags:
- Projects
parameters:
- name: Fields
in: query
description: Comma-separated list of fields to return
schema:
type: string
example: ObjectId,Id,Name,Status,StartDate,FinishDate
- name: Filter
in: query
description: RSQL filter expression
schema:
type: string
- name: OrderBy
in: query
description: Field to sort by
schema:
type: string
- name: offset
in: query
description: Pagination offset
schema:
type: integer
default: 0
- name: limit
in: query
description: Maximum records to return
schema:
type: integer
default: 100
maximum: 1000
responses:
'200':
description: List of projects
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Project'
'401':
$ref: '#/components/responses/Unauthorized'
'500':
$ref: '#/components/responses/ServerError'
post:
operationId: createProject
summary: Create a project
description: Creates a new project in the P6 EPPM system.
tags:
- Projects
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectCreate'
responses:
'200':
description: Created project object IDs
content:
application/json:
schema:
type: array
items:
type: object
properties:
ObjectId:
type: integer
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
/projects/{objectId}:
get:
operationId: getProject
summary: Get a project
description: Returns a single project by its ObjectId.
tags:
- Projects
parameters:
- $ref: '#/components/parameters/ObjectId'
- name: Fields
in: query
description: Comma-separated list of fields to return
schema:
type: string
responses:
'200':
description: Project details
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Project'
'404':
$ref: '#/components/responses/NotFound'
put:
operationId: updateProject
summary: Update a project
description: Updates fields on an existing project.
tags:
- Projects
parameters:
- $ref: '#/components/parameters/ObjectId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectUpdate'
responses:
'200':
description: Update confirmation
'400':
$ref: '#/components/responses/BadRequest'
'404':
$ref: '#/components/responses/NotFound'
delete:
operationId: deleteProject
summary: Delete a project
description: Permanently deletes a project and all its child objects.
tags:
- Projects
parameters:
- $ref: '#/components/parameters/ObjectId'
responses:
'200':
description: Delete confirmation
'404':
$ref: '#/components/responses/NotFound'
components:
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'
ServerError:
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
schemas:
ProjectUpdate:
type: object
properties:
ObjectId:
type: integer
Name:
type: string
Status:
type: string
enum:
- Active
- Inactive
- What-if
- Planned
DataDate:
type: string
format: date-time
PercentComplete:
type: number
format: double
Error:
type: object
properties:
ErrorCode:
type: integer
ErrorMessage:
type: string
Project:
type: object
description: An Oracle Primavera P6 project
properties:
ObjectId:
type: integer
description: Unique system-generated identifier
Id:
type: string
description: User-defined project ID (up to 40 chars)
Name:
type: string
description: Project name
Status:
type: string
enum:
- Active
- Inactive
- What-if
- Planned
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
DataDate:
type: string
format: date-time
PercentComplete:
type: number
format: double
minimum: 0
maximum: 100
TotalBudgetCost:
type: number
format: double
EarnedValueCost:
type: number
format: double
PlannedTotalCost:
type: number
format: double
RiskLevel:
type: string
enum:
- Very High
- High
- Medium
- Low
- Very Low
WBSObjectId:
type: integer
description: Root WBS element ObjectId
OBSObjectId:
type: integer
description: Responsible OBS element
LastUpdateDate:
type: string
format: date-time
CreateDate:
type: string
format: date-time
ProjectCreate:
type: object
required:
- Name
- Id
- WBSObjectId
properties:
Id:
type: string
Name:
type: string
Status:
type: string
enum:
- Active
- Inactive
- What-if
- Planned
default: Active
PlannedStartDate:
type: string
format: date-time
WBSObjectId:
type: integer
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