Oracle APEX Roles API
ORDS role management. Roles group privileges for assignment to users and OAuth clients.
ORDS role management. Roles group privileges for assignment to users and OAuth clients.
openapi: 3.1.0
info:
title: Oracle REST Data Services (ORDS) REST AutoREST Roles API
description: REST API for managing Oracle REST Data Services (ORDS) RESTful service definitions including modules, templates, handlers, privileges, roles, OAuth clients, and AutoREST-enabled objects. ORDS provides a mid-tier Java application that maps HTTP requests to database transactions, enabling RESTful access to Oracle Database resources. This specification covers the ORDS REST Services Management endpoints available through the Database API stable interface.
version: '25.4'
contact:
name: Oracle APEX Support
url: https://apex.oracle.com/community
email: apex-info_us@oracle.com
license:
name: Oracle Technology Network License
url: https://www.oracle.com/downloads/licenses/distribution-license.html
servers:
- url: https://{host}:{port}/ords/_/db-api/stable
description: ORDS Database API stable endpoint
variables:
host:
default: localhost
description: Hostname of the ORDS instance
port:
default: '8443'
description: Port number for the ORDS instance
- url: https://{host}/ords/_/db-api/stable
description: ORDS Database API stable endpoint (default port)
variables:
host:
default: example.com
description: Hostname of the ORDS instance
security:
- basicAuth: []
- oauth2: []
tags:
- name: Roles
description: ORDS role management. Roles group privileges for assignment to users and OAuth clients.
paths:
/ords/rest/roles/:
get:
operationId: listRoles
summary: Get all ORDS roles
description: Retrieves a paginated list of all ORDS roles defined in the current schema.
tags:
- Roles
parameters:
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/limit'
responses:
'200':
description: Paginated list of ORDS roles
content:
application/json:
schema:
$ref: '#/components/schemas/ItemsCollection'
post:
operationId: createRole
summary: Create an ORDS role
description: Creates a new ORDS role that can be assigned to privileges and OAuth clients to control access to REST services.
tags:
- Roles
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/RoleCreate'
responses:
'200':
description: ORDS role created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceItem'
'400':
description: No role_name parameter provided
'409':
description: A role with that name already exists
/ords/rest/roles/{id}:
get:
operationId: getRole
summary: Get an ORDS role
description: Retrieves details of a specific ORDS role by its identifier.
tags:
- Roles
parameters:
- $ref: '#/components/parameters/resourceId'
responses:
'200':
description: ORDS role details
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceItem'
'404':
description: Role not found
put:
operationId: updateRole
summary: Update an ORDS role
description: Updates an existing ORDS role.
tags:
- Roles
parameters:
- $ref: '#/components/parameters/resourceId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/RoleCreate'
responses:
'200':
description: ORDS role updated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceItem'
'404':
description: Role not found
delete:
operationId: deleteRole
summary: Delete an ORDS role
description: Deletes a specific ORDS role.
tags:
- Roles
parameters:
- $ref: '#/components/parameters/resourceId'
responses:
'200':
description: ORDS role deleted successfully
'404':
description: Role not found
/ords/rest/roles/{id}/privileges/:
get:
operationId: listRolePrivileges
summary: Get all ORDS privileges for a specific role
description: Retrieves all privileges associated with a specific ORDS role.
tags:
- Roles
parameters:
- $ref: '#/components/parameters/resourceId'
responses:
'200':
description: List of privileges for the role
content:
application/json:
schema:
$ref: '#/components/schemas/ItemsCollection'
'404':
description: Role not found
components:
parameters:
offset:
name: offset
in: query
required: false
description: The index of the first item to return (0-based). Default is 0.
schema:
type: integer
default: 0
minimum: 0
resourceId:
name: id
in: path
required: true
description: Unique identifier of the resource
schema:
type: integer
limit:
name: limit
in: query
required: false
description: Maximum number of items to return per page. Default is 25.
schema:
type: integer
default: 25
minimum: 1
maximum: 500
schemas:
RoleCreate:
type: object
description: Request body for creating or updating an ORDS role
required:
- role_name
properties:
role_name:
type: string
description: Unique name of the ORDS role
run_mode:
type: string
description: Set to 'codePreview' to return the PL/SQL code instead of executing it
enum:
- codePreview
LinkRelation:
type: object
description: HATEOAS link relation describing a related resource or action
required:
- rel
- href
properties:
rel:
type: string
description: Link relationship type (e.g., self, describedby, edit, collection)
href:
type: string
description: URI of the related resource
ResourceItem:
type: object
description: A single resource item with HATEOAS navigation links. Additional properties are included depending on the resource type.
additionalProperties: true
properties:
links:
type: array
description: HATEOAS links for the resource
items:
$ref: '#/components/schemas/LinkRelation'
ItemsCollection:
type: object
description: Paginated collection of resource items following the ORDS standard collection format
properties:
count:
type: integer
description: Total number of records in the current response page
hasMore:
type: boolean
description: Indicates whether additional pages of results are available
limit:
type: integer
description: The page size limit applied by the server
offset:
type: integer
description: The starting index of items in this page
items:
type: array
description: Array of resource items in this page
items:
$ref: '#/components/schemas/ResourceItem'
links:
type: array
description: Pagination navigation links (first, next, prev, last)
items:
$ref: '#/components/schemas/LinkRelation'
securitySchemes:
basicAuth:
type: http
scheme: basic
description: HTTP Basic authentication using ORDS-enabled database schema credentials
oauth2:
type: oauth2
description: OAuth 2.0 authorization using ORDS OAuth client credentials or authorization code flow
flows:
clientCredentials:
tokenUrl: /ords/{schema}/oauth/token
scopes: {}
authorizationCode:
authorizationUrl: /ords/{schema}/oauth/auth
tokenUrl: /ords/{schema}/oauth/token
scopes: {}