Oracle Siebel Opportunities API

Operations on Opportunity business objects for managing sales pipeline, deals, and revenue forecasting

OpenAPI Specification

oracle-siebel-opportunities-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Oracle Siebel REST Opportunities API
  description: RESTful API for accessing Siebel CRM business objects, business services, and repository objects. The Siebel REST API supports standard CRUD operations using HTTP verbs (GET, POST, PUT, DELETE) against business object data resources, business service invocation, and workspace-based repository management. Responses are available in JSON or XML format, and the API provides built-in metadata discovery through describe endpoints that return OpenAPI-compatible specifications.
  version: '1.0'
  contact:
    name: Oracle Support
    url: https://support.oracle.com
  termsOfService: https://www.oracle.com/legal/terms.html
servers:
- url: https://{siebel-server}/siebel/v1.0
  description: Siebel Application Interface Server
  variables:
    siebel-server:
      default: localhost
      description: Hostname and port of the Siebel Application Interface running the siebel-rest.war deployment on Apache Tomcat
security:
- basicAuth: []
- oauth2: []
tags:
- name: Opportunities
  description: Operations on Opportunity business objects for managing sales pipeline, deals, and revenue forecasting
paths:
  /data/Account/Account/{AccountId}/Opportunity:
    get:
      operationId: listAccountOpportunities
      summary: List opportunities for an account
      description: Retrieve the Opportunity child business component records associated with a specific Account. Returns opportunity details including name, sales stage, close date, and revenue amount.
      tags:
      - Opportunities
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - $ref: '#/components/parameters/fields'
      - $ref: '#/components/parameters/searchspec'
      - $ref: '#/components/parameters/uniformresponse'
      - $ref: '#/components/parameters/PageSize'
      - $ref: '#/components/parameters/StartRowNum'
      responses:
        '200':
          description: Opportunities retrieved successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/Opportunity'
                  Link:
                    type: array
                    items:
                      $ref: '#/components/schemas/LinkObject'
        '204':
          description: No opportunities found for this account
        '401':
          description: Authentication credentials missing or invalid
        '404':
          description: Parent account not found
  /data/Opportunity/Opportunity:
    get:
      operationId: listOpportunities
      summary: List opportunities
      description: Retrieve a collection of Opportunity business component records from the Opportunity business object. Returns opportunity details including name, sales stage, revenue, close date, and associated account information.
      tags:
      - Opportunities
      parameters:
      - $ref: '#/components/parameters/fields'
      - $ref: '#/components/parameters/searchspec'
      - $ref: '#/components/parameters/ChildLinks'
      - $ref: '#/components/parameters/uniformresponse'
      - $ref: '#/components/parameters/ViewMode'
      - $ref: '#/components/parameters/PageSize'
      - $ref: '#/components/parameters/StartRowNum'
      responses:
        '200':
          description: Opportunities retrieved successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/Opportunity'
                  Link:
                    type: array
                    items:
                      $ref: '#/components/schemas/LinkObject'
        '204':
          description: No opportunities found
        '401':
          description: Authentication credentials missing or invalid
    post:
      operationId: createOpportunity
      summary: Create an opportunity
      description: Insert a new Opportunity business component record into the Opportunity business object.
      tags:
      - Opportunities
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OpportunityInput'
      responses:
        '201':
          description: Opportunity created successfully
        '400':
          description: Invalid request body or missing required fields
        '401':
          description: Authentication credentials missing or invalid
  /data/Opportunity/Opportunity/{OpportunityId}:
    get:
      operationId: getOpportunity
      summary: Get an opportunity by ID
      description: Retrieve a single Opportunity business component record by its unique row identifier.
      tags:
      - Opportunities
      parameters:
      - $ref: '#/components/parameters/OpportunityId'
      - $ref: '#/components/parameters/fields'
      - $ref: '#/components/parameters/ChildLinks'
      responses:
        '200':
          description: Opportunity retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Opportunity'
        '401':
          description: Authentication credentials missing or invalid
        '404':
          description: Opportunity not found
    put:
      operationId: upsertOpportunity
      summary: Upsert an opportunity
      description: Insert or update an Opportunity business component record by its unique row identifier.
      tags:
      - Opportunities
      parameters:
      - $ref: '#/components/parameters/OpportunityId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OpportunityInput'
      responses:
        '200':
          description: Opportunity upserted successfully
        '400':
          description: Invalid request body
        '401':
          description: Authentication credentials missing or invalid
    delete:
      operationId: deleteOpportunity
      summary: Delete an opportunity
      description: Delete an Opportunity business component record by its unique row identifier.
      tags:
      - Opportunities
      parameters:
      - $ref: '#/components/parameters/OpportunityId'
      responses:
        '200':
          description: Opportunity deleted successfully
        '401':
          description: Authentication credentials missing or invalid
        '404':
          description: Opportunity not found
components:
  parameters:
    PageSize:
      name: PageSize
      in: query
      required: false
      description: Maximum number of records to return in the response. Controls pagination by limiting the result set size.
      schema:
        type: integer
        minimum: 1
        examples:
        - 20
    ViewMode:
      name: ViewMode
      in: query
      required: false
      description: Access control mode that determines which records are visible. Personal returns records owned by the user, Sales Rep uses position-based access, and Organization uses organization-level visibility rules.
      schema:
        type: string
        enum:
        - Personal
        - Sales Rep
        - Organization
    ChildLinks:
      name: ChildLinks
      in: query
      required: false
      description: Comma-separated list of child business component names to include as link references in the response. Use 'None' to suppress all child links.
      schema:
        type: string
        examples:
        - Contact,Opportunity
        - None
    AccountId:
      name: AccountId
      in: path
      required: true
      description: Unique row identifier for the Account record
      schema:
        type: string
        examples:
        - 88-26CND
    uniformresponse:
      name: uniformresponse
      in: query
      required: false
      description: When set to 'yes' or 'y', forces the response to always use the JSON array format with an items wrapper, regardless of whether the result contains a single record or multiple records.
      schema:
        type: string
        enum:
        - 'yes'
        - 'no'
        - y
        - n
    OpportunityId:
      name: OpportunityId
      in: path
      required: true
      description: Unique row identifier for the Opportunity record
      schema:
        type: string
    fields:
      name: fields
      in: query
      required: false
      description: Comma-separated list of field names to include in the response. When specified, only the listed fields are returned instead of all available fields.
      schema:
        type: string
        examples:
        - Name,Location,Account Status
    StartRowNum:
      name: StartRowNum
      in: query
      required: false
      description: Zero-based index of the first record to return. Used in combination with PageSize for pagination through large result sets.
      schema:
        type: integer
        minimum: 0
        default: 0
    searchspec:
      name: searchspec
      in: query
      required: false
      description: Siebel search specification expression for filtering records. Uses Siebel query language syntax with field names in square brackets and standard comparison operators.
      schema:
        type: string
        examples:
        - '[Name] LIKE ''B*'' AND [Status] = ''Active'''
  schemas:
    LinkObject:
      type: object
      description: HATEOAS link object providing navigation references to related Siebel REST API resources
      properties:
        rel:
          type: string
          description: Relationship type (self, child, parent)
          enum:
          - self
          - child
          - parent
        href:
          type: string
          format: uri
          description: Full URL to the related resource
        name:
          type: string
          description: Name of the related business component
    OpportunityInput:
      type: object
      description: Input payload for creating or updating an Opportunity record
      required:
      - Name
      properties:
        Name:
          type: string
          description: Opportunity name
        Account:
          type: string
          description: Associated account name
        Sales Stage:
          type: string
          description: Current stage in the sales process
        Close Date:
          type: string
          description: Expected close date
        Revenue:
          type: number
          description: Expected revenue amount
        Win Probability:
          type: number
          description: Estimated probability of winning
          minimum: 0
          maximum: 100
        Description:
          type: string
          description: Detailed description
    Opportunity:
      type: object
      description: A Siebel CRM Opportunity business component record representing a potential sales deal in the pipeline
      properties:
        Id:
          type: string
          description: Unique row identifier for the opportunity record
        Name:
          type: string
          description: Opportunity name
        Account:
          type: string
          description: Associated account name
        Account Id:
          type: string
          description: Row identifier of the associated account
        Sales Stage:
          type: string
          description: Current stage in the sales process
        Status:
          type: string
          description: Opportunity status
        Close Date:
          type: string
          description: Expected close date
        Revenue:
          type: number
          description: Expected revenue amount
        Win Probability:
          type: number
          description: Estimated probability of winning the deal
          minimum: 0
          maximum: 100
        Description:
          type: string
          description: Detailed description of the opportunity
        Primary Organization Id:
          type: string
          description: Row identifier of the primary organization
        Link:
          type: array
          description: HATEOAS links to related resources
          items:
            $ref: '#/components/schemas/LinkObject'
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: HTTP Basic Authentication using Siebel CRM user credentials encoded as Base64 in the Authorization header
    oauth2:
      type: oauth2
      description: OAuth 2.0 authentication for token-based access to the Siebel REST API
      flows:
        authorizationCode:
          authorizationUrl: https://{siebel-server}/siebel/v1.0/auth/authorize
          tokenUrl: https://{siebel-server}/siebel/v1.0/auth/token
          scopes: {}
externalDocs:
  description: Oracle Siebel REST API Documentation
  url: https://docs.oracle.com/cd/E95904_01/books/RestAPI/overview-of-using-the-siebel-rest-api.html