openapi: 3.1.0
info:
title: Oracle Siebel REST 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
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
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
tags:
- name: Accounts
description: >-
Operations on Account business objects including customer and prospect
organizations with associated contacts, opportunities, and addresses
- name: Contacts
description: >-
Operations on Contact business objects representing individual people
associated with accounts and organizations
- name: Opportunities
description: >-
Operations on Opportunity business objects for managing sales pipeline,
deals, and revenue forecasting
- name: Service Requests
description: >-
Operations on Service Request business objects for customer service
case management and issue tracking
- name: Activities
description: >-
Operations on Activity business objects for managing tasks,
appointments, call logs, and other scheduled items
- name: Products
description: >-
Operations on Product business objects for product catalog management
including pricing and product hierarchies
- name: Orders
description: >-
Operations on Order business objects for managing sales orders,
order line items, and order fulfillment
- name: Business Services
description: >-
Invocation of Siebel business services and their methods for executing
server-side business logic including integration object operations
- name: Repository
description: >-
Access to Siebel repository objects including applets, views, business
components, and other metadata through workspace-based paths
- name: Metadata
description: >-
Discovery endpoints that return OpenAPI-compatible metadata describing
available resources, fields, and operations
security:
- basicAuth: []
- oauth2: []
paths:
/data/Account/Account:
get:
operationId: listAccounts
summary: List accounts
description: >-
Retrieve a collection of Account business component records from the
Account business object. Returns account details including name,
location, status, and links to child business components such as
Contact, Opportunity, and Address.
tags:
- Accounts
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: Accounts retrieved successfully
content:
application/json:
schema:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/Account'
Link:
type: array
items:
$ref: '#/components/schemas/LinkObject'
'204':
description: No accounts found
'401':
description: Authentication credentials missing or invalid
'500':
description: Internal server error or business logic error
post:
operationId: createAccount
summary: Create an account
description: >-
Insert a new Account business component record into the Account
business object. The request body must contain the required account
fields including Name and Primary Organization.
tags:
- Accounts
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AccountInput'
responses:
'201':
description: Account created successfully
'400':
description: Invalid request body or missing required fields
'401':
description: Authentication credentials missing or invalid
'500':
description: Internal server error or business logic error
/data/Account/Account/{AccountId}:
get:
operationId: getAccount
summary: Get an account by ID
description: >-
Retrieve a single Account business component record by its unique
row identifier. Supports field selection and child link expansion
to include related contacts, opportunities, and other child
business components in the response.
tags:
- Accounts
parameters:
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/fields'
- $ref: '#/components/parameters/ChildLinks'
responses:
'200':
description: Account retrieved successfully
content:
application/json:
schema:
$ref: '#/components/schemas/Account'
'401':
description: Authentication credentials missing or invalid
'404':
description: Account not found
'500':
description: Internal server error
put:
operationId: upsertAccount
summary: Upsert an account
description: >-
Insert or update an Account business component record. If the
record exists, the specified fields are updated. If the record
does not exist, a new record is created with the provided data.
tags:
- Accounts
parameters:
- $ref: '#/components/parameters/AccountId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AccountInput'
responses:
'200':
description: Account upserted successfully
'400':
description: Invalid request body
'401':
description: Authentication credentials missing or invalid
'500':
description: Internal server error or business logic error
delete:
operationId: deleteAccount
summary: Delete an account
description: >-
Delete an Account business component record by its unique row
identifier. This operation permanently removes the account record
from the Siebel database.
tags:
- Accounts
parameters:
- $ref: '#/components/parameters/AccountId'
responses:
'200':
description: Account deleted successfully
'401':
description: Authentication credentials missing or invalid
'404':
description: Account not found
'500':
description: Internal server error
/data/Account/Account/{AccountId}/Contact:
get:
operationId: listAccountContacts
summary: List contacts for an account
description: >-
Retrieve the Contact child business component records associated
with a specific Account. Returns contact details including name,
email, phone, and job title for all contacts linked to the
parent account.
tags:
- Accounts
- Contacts
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: Contacts retrieved successfully
content:
application/json:
schema:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/Contact'
Link:
type: array
items:
$ref: '#/components/schemas/LinkObject'
'204':
description: No contacts found for this account
'401':
description: Authentication credentials missing or invalid
'404':
description: Parent account not found
put:
operationId: upsertAccountContact
summary: Add or update a contact for an account
description: >-
Insert or update a Contact child record under a specific Account.
Supports inserting single contacts or multiple contacts in a
batch using an array payload.
tags:
- Accounts
- Contacts
parameters:
- $ref: '#/components/parameters/AccountId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ContactInput'
responses:
'200':
description: Contact upserted successfully
'201':
description: Contact created successfully
'400':
description: Invalid request body
'401':
description: Authentication credentials missing or invalid
/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:
- Accounts
- 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/Contact/Contact:
get:
operationId: listContacts
summary: List contacts
description: >-
Retrieve a collection of Contact business component records from
the Contact business object. Returns contact details including
name, email, phone number, job title, and account associations.
tags:
- Contacts
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: Contacts retrieved successfully
content:
application/json:
schema:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/Contact'
Link:
type: array
items:
$ref: '#/components/schemas/LinkObject'
'204':
description: No contacts found
'401':
description: Authentication credentials missing or invalid
post:
operationId: createContact
summary: Create a contact
description: >-
Insert a new Contact business component record into the Contact
business object. The request body must contain the required contact
fields including First Name, Last Name, and Primary Organization Id.
tags:
- Contacts
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ContactInput'
responses:
'201':
description: Contact created successfully
'400':
description: Invalid request body or missing required fields
'401':
description: Authentication credentials missing or invalid
/data/Contact/Contact/{ContactId}:
get:
operationId: getContact
summary: Get a contact by ID
description: >-
Retrieve a single Contact business component record by its unique
row identifier.
tags:
- Contacts
parameters:
- $ref: '#/components/parameters/ContactId'
- $ref: '#/components/parameters/fields'
- $ref: '#/components/parameters/ChildLinks'
responses:
'200':
description: Contact retrieved successfully
content:
application/json:
schema:
$ref: '#/components/schemas/Contact'
'401':
description: Authentication credentials missing or invalid
'404':
description: Contact not found
put:
operationId: upsertContact
summary: Upsert a contact
description: >-
Insert or update a Contact business component record by its unique
row identifier.
tags:
- Contacts
parameters:
- $ref: '#/components/parameters/ContactId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ContactInput'
responses:
'200':
description: Contact upserted successfully
'400':
description: Invalid request body
'401':
description: Authentication credentials missing or invalid
delete:
operationId: deleteContact
summary: Delete a contact
description: >-
Delete a Contact business component record by its unique row
identifier.
tags:
- Contacts
parameters:
- $ref: '#/components/parameters/ContactId'
responses:
'200':
description: Contact deleted successfully
'401':
description: Authentication credentials missing or invalid
'404':
description: Contact 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
/data/Service Request/Service Request:
get:
operationId: listServiceRequests
summary: List service requests
description: >-
Retrieve a collection of Service Request business component records
from the Service Request business object. Returns service request
details including status, priority, description, owner, and
associated account and contact information.
tags:
- Service Requests
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: Service requests retrieved successfully
content:
application/json:
schema:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/ServiceRequest'
Link:
type: array
items:
$ref: '#/components/schemas/LinkObject'
'204':
description: No service requests found
'401':
description: Authentication credentials missing or invalid
post:
operationId: createServiceRequest
summary: Create a service request
description: >-
Insert a new Service Request business component record into the
Service Request business object.
tags:
- Service Requests
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceRequestInput'
responses:
'201':
description: Service request created successfully
'400':
description: Invalid request body or missing required fields
'401':
description: Authentication credentials missing or invalid
/data/Service Request/Service Request/{ServiceRequestId}:
get:
operationId: getServiceRequest
summary: Get a service request by ID
description: >-
Retrieve a single Service Request business component record by its
unique row identifier.
tags:
- Service Requests
parameters:
- $ref: '#/components/parameters/ServiceRequestId'
- $ref: '#/components/parameters/fields'
- $ref: '#/components/parameters/ChildLinks'
responses:
'200':
description: Service request retrieved successfully
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceRequest'
'401':
description: Authentication credentials missing or invalid
'404':
description: Service request not found
put:
operationId: upsertServiceRequest
summary: Upsert a service request
description: >-
Insert or update a Service Request business component record by
its unique row identifier.
tags:
- Service Requests
parameters:
- $ref: '#/components/parameters/ServiceRequestId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceRequestInput'
responses:
'200':
description: Service request upserted successfully
'400':
description: Invalid request body
'401':
description: Authentication credentials missing or invalid
delete:
operationId: deleteServiceRequest
summary: Delete a service request
description: >-
Delete a Service Request business component record by its unique
row identifier.
tags:
- Service Requests
parameters:
- $ref: '#/components/parameters/ServiceRequestId'
responses:
'200':
description: Service request deleted successfully
'401':
description: Authentication credentials missing or invalid
'404':
description: Service request not found
/data/Activity/Activity:
get:
operationId: listActivities
summary: List activities
description: >-
Retrieve a collection of Activity business component records from
the Activity business object. Returns activity details including
type, status, due date, description, and associated account and
contact information.
tags:
- Activities
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: Activities retrieved successfully
content:
application/json:
schema:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/Activity'
Link:
type: array
items:
$ref: '#/components/schemas/LinkObject'
'204':
description: No activities found
'401':
description: Authentication credentials missing or invalid
post:
operationId: createActivity
summary: Create an activity
description: >-
Insert a new Activity business component record into the Activity
business object.
tags:
- Activities
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ActivityInput'
responses:
'201':
description: Activity created successfully
'400':
description: Invalid request body or missing required fields
'401':
description: Authentication credentials missing or invalid
/data/Activity/Activity/{ActivityId}:
get:
operationId: getActivity
summary: Get an activity by ID
description: >-
Retrieve a single Activity business component record by its unique
row identifier.
tags:
- Activities
parameters:
- $ref: '#/components/parameters/ActivityId'
- $ref: '#/components/parameters/fields'
- $ref: '#/components/parameters/ChildLinks'
responses:
'200':
description: Activity retrieved successfully
content:
application/json:
schema:
$ref: '#/components/schemas/Activity'
'401':
description: Authentication credentials missing or invalid
'404':
description: Activity not found
put:
operationId: upsertActivity
summary: Upsert an activity
description: >-
Insert or update an Activity business component record by its
unique row identifier.
tags:
- Activities
parameters:
- $ref: '#/components/parameters/ActivityId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ActivityInput'
responses:
'200':
description: Activity upserted successfully
'400':
description: Invalid request body
'401':
description: Authentication credentials missing or invalid
delete:
operationId: deleteActivity
summary: Delete an activity
description: >-
Delete an Activity business component record by its unique row
identifier.
tags:
- Activities
parameters:
- $ref: '#/components/parameters/ActivityId'
responses:
'200':
description: Activity deleted successfully
'401':
description: Authentication credentials missing or invalid
'404':
description: Activity not found
/data/Product/Product:
get:
operationId: listProducts
summary: List products
description: >-
Retrieve a collection of Product business component records from
the Product business object. Returns product catalog details
including name, description, part number, pricing, and product
line information.
tags:
- Products
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: Products retrieved successfully
content:
application/json:
schema:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/Product'
Link:
type: array
items:
$ref: '#/components/schemas/LinkObject'
'204':
description: No products found
'401':
description: Authentication credentials missing or invalid
/data/Order Entry/Order Entry - Orders:
get:
operationId: listOrders
summary: List orders
description: >-
Retrieve a collection of Order Entry business component records
from the Order Entry business object. Returns order details
including order number, status, account, and order total.
tags:
- Orders
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: Orders retrieved successfully
content:
application/json:
schema:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/Order'
Link:
type: array
items:
$ref: '#/components/schemas/LinkObject'
'204':
description: No orders found
'401':
description: Authentication credentials missing or invalid
/service/{ServiceName}/{MethodName}:
post:
operationId: invokeBusinessService
summary: Invoke a business service method
description: >-
Execute a method on a named Siebel business service. The service
name and method name are specified in the URL path. The request
body contains the input parameters as a Siebel property set or
integration object message. Business services must be explicitly
configured for REST access and associated with a responsibility
to control access.
tags:
- Business Services
parameters:
- name: ServiceName
in: path
required: true
description: >-
Name of the Siebel business service to invoke
schema:
type: string
examples:
- Siebel Account
- name: MethodName
in: path
required: true
description: >-
Name of the method to execute on the business service
schema:
type: string
examples:
- Insert
- QueryById
- QueryByExample
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/sche
# --- truncated at 32 KB (58 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/oracle-siebel/refs/heads/main/openapi/oracle-siebel-rest-api-openapi.yml