openapi: 3.2.0 info: description: '
Provides the Oracle REST Data Services (ORDS) users the ability to perform Oracle Database management and monitoring operations through a user-friendly REST API. Depending on the database version and configuration, ORDS database APIs provide services such as manage pluggable databases, export data, and review database performance.
To install and configure Oracle REST Data Services refer to the Oracle® REST Data Services Installation and Configuration Guide.
An OpenAPI V3 document that describes the available ORDS database API services can be retrieved from a running ORDS instance. The API document can be imported into compatible development tools and invoked from there. The URL to retrieve the API document depends on the your configuration.
The pattern for the API document URL is:
https://<server>/<context root>/<my database>/<my schema>/_/db-api/stable/<service path>
Where, the <my database> and <my schema> variables can be optional, depending on the ORDS configuration and the service invoked.'
version: 2026.03.26
title: Oracle REST Data Services ORDS REST Services API
contact:
name: Oracle REST Data Services
url: https://www.oracle.com/database/technologies/appdev/rest.html
x-summary: Provides the Oracle REST Data Services (ORDS) users the ability to perform Oracle Database management and monitoring operations through a user-friendly REST API.
tags:
- name: ORDS REST Services
description: Custom Oracle REST Data Services built with SQL & PL/SQL.
paths:
/ords/properties/:
get:
operationId: ordsPropertiesGet
tags:
- ORDS REST Services
summary: Get all ORDS properties values
description: Returns information about the ORDS properties that have values set in the database. Depending on the associated database account permissions the data will be returned from USER_ORDS_PROPERTIES view for that correspond REST Enabled schema or all REST Enabled schemas if the database account has access to them. A client requires SQL Developer or SQL Administrator role to invoke this service.
parameters:
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Filter'
responses:
'200':
description: All ORDS properties values in the database that are visible to the user.
content:
application/json:
schema:
$ref: '#/components/schemas/ItemsCollection'
examples:
All ORDS property values:
summary: Executed as an administrator a mixture of DATABASE and SCHEMA level properties
value:
items:
- schema: null
key: global.ui.footer_message.text.en
scope: DATABASE
visibility: PUBLIC
comments: Footer message text (English)
value: Set through service
created_by: ADMIN
created_on: '2022-11-22T19:27:44Z'
updated_by: ADMIN
updated_on: '2022-11-22T19:27:44Z'
links:
- rel: self
href: http://localhost:8080/ords/admin/_/db-api/stable/ords/properties/global.ui.footer_message.text.en
- schema: HR
key: debug.printDebugToScreen
scope: SCHEMA
visibility: PROTECTED
comments: Include stack trace in error responses
value: 'true'
created_by: ADMIN
created_on: '2022-11-22T16:38:43Z'
updated_by: ADMIN
updated_on: '2022-11-22T16:38:43Z'
links:
- rel: self
href: http://localhost:8080/ords/admin/_/db-api/stable/ords/properties/HR/debug.printDebugToScreen
- schema: ADMIN
key: debug.printDebugToScreen
scope: SCHEMA
visibility: PROTECTED
comments: Include stack trace in error responses
value: 'true'
created_by: ADMIN
created_on: '2022-11-22T16:40:01Z'
updated_by: ADMIN
updated_on: '2022-11-22T16:40:01Z'
links:
- rel: self
href: http://localhost:8080/ords/admin/_/db-api/stable/ords/properties/ADMIN/debug.printDebugToScreen
hasMore: false
limit: 25
offset: 0
count: 3
links:
- rel: self
href: http://localhost:8080/ords/admin/_/db-api/stable/ords/properties/
- rel: describedby
href: http://localhost:8080/ords/admin/_/db-api/stable/metadata-catalog/
- rel: first
href: http://localhost:8080/ords/admin/_/db-api/stable/ords/properties/
x-internal-id: ords-properties--get
x-filename-id: ords-properties-get
/ords/properties/{key}:
get:
operationId: ordsPropertiesKeyGet
tags:
- ORDS REST Services
summary: Get an ORDS property value
description: Returns information about a specfic ORDS property that has a value set in the database. Depending on the associated database account permissions the data will be returned from USER_ORDS_PROPERTIES view for that correspond REST Enabled schema or all REST Enabled schemas if the database account has access to them. Users can view their own ORDS property values that are defined at SCHEMA scope through this endpoint. ORDS properties that are defined at DATABASE scope can be view through this endpoint by an administrator. A client requires SQL Developer or SQL Administrator role to invoke this service.
parameters:
- name: key
in: path
description: The name of the ORDS property.
required: true
schema:
type: string
responses:
'200':
description: Information about a specific ORDS property value in the database that is visible to the user.
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceItem'
x-internal-id: ords-properties-{key}-get
x-filename-id: ords-properties-key-get
put:
operationId: ordsPropertiesKeyPut
tags:
- ORDS REST Services
summary: Set an ORDS property value
description: Set a specfic ORDS property value in the database. Depending on the associated database account permissions the data will be returned from USER_ORDS_PROPERTIES view for that correspond REST Enabled schema or all REST Enabled schemas if the database account has access to them. Users can set their own ORDS property values that are defined at SCHEMA scope through this endpoint. ORDS properties that are defined at DATABASE scope can be set through this endpoint by an administrator. A client requires SQL Developer or SQL Administrator role to invoke this service.
parameters:
- name: key
in: path
description: The name of the ORDS property.
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
value:
type: string
description: The value to set for the property.
responses:
'200':
description: Information about a specific ORDS property value in the database that is visible to the user.
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceItem'
x-internal-id: ords-properties-{key}-put
x-filename-id: ords-properties-key-put
delete:
operationId: ordsPropertiesKeyDelete
tags:
- ORDS REST Services
summary: Unset an ORDS property value
description: Removes a specfic ORDS property value in the database. Depending on the associated database account permissions the data will be returned from USER_ORDS_PROPERTIES view for that correspond REST Enabled schema or all REST Enabled schemas if the database account has access to them. Users can unset their own ORDS property values that are defined at SCHEMA scope through this endpoint. ORDS properties that are defined at DATABASE scope can be unset through this endpoint by an administrator. A client requires SQL Developer or SQL Administrator role to invoke this service.
parameters:
- name: key
in: path
description: The name of the ORDS property.
required: true
schema:
type: string
responses:
'204':
description: Confirmation that the specific ORDS property value is not set in the database.
x-internal-id: ords-properties-{key}-delete
x-filename-id: ords-properties-key-delete
/ords/properties/{schema}/{key}:
get:
operationId: ordsPropertiesSchemaKeyGet
tags:
- ORDS REST Services
summary: Get an ORDS property value for a schema
description: Returns information about a specfic ORDS property that has a value set in the database for the specified schema. ORDS property values that are defined at SCHEMA scope can be view through this endpoint. A client requires SQL Administrator role to invoke this service.
parameters:
- name: schema
in: path
description: The name of the REST Enabled database schema.
required: true
schema:
type: string
- name: key
in: path
description: The name of the ORDS property.
required: true
schema:
type: string
responses:
'200':
description: Information about a specific ORDS property value in the database for the specified REST Enabled schema
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceItem'
x-internal-id: ords-properties-{schema}-{key}-get
x-filename-id: ords-properties-schema-key-get
put:
operationId: ordsPropertiesSchemaKeyPut
tags:
- ORDS REST Services
summary: Set an ORDS property value for a schema
description: Set a specfic ORDS property value in the database for the specified schema. ORDS property values that are defined at SCHEMA scope can be managed through this endpoint. A client requires SQL Administrator role to invoke this service.
parameters:
- name: schema
in: path
description: The name of the REST Enabled database schema.
required: true
schema:
type: string
- name: key
in: path
description: The name of the ORDS property.
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
value:
type: string
description: The value to set for the property.
responses:
'200':
description: Information about a specific ORDS property value in the database that is visible to the user.
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceItem'
x-internal-id: ords-properties-{schema}-{key}-put
x-filename-id: ords-properties-schema-key-put
delete:
operationId: ordsPropertiesSchemaKeyDelete
tags:
- ORDS REST Services
summary: Unset an ORDS property value for a schema
description: Removes a specfic ORDS property value in the database for the specified schema. ORDS property values that are defined at SCHEMA scope can be unset through this endpoint. A client requires SQL Administrator role to invoke this service.
parameters:
- name: schema
in: path
description: The name of the REST Enabled database schema.
required: true
schema:
type: string
- name: key
in: path
description: The name of the ORDS property.
required: true
schema:
type: string
responses:
'204':
description: Confirmation that the specific ORDS property value is not set in the database.
x-internal-id: ords-properties-{schema}-{key}-delete
x-filename-id: ords-properties-schema-key-delete
/ords/rest/modules/:
get:
tags:
- ORDS REST Services
summary: Get all REST modules
description: Describes all the REST modules.
parameters:
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Filter'
responses:
'200':
description: Details of all the REST modules.
content:
application/json:
schema:
$ref: '#/components/schemas/ItemsCollection'
x-internal-id: ords-rest-modules--get
x-filename-id: ords-rest-modules-get
post:
tags:
- ORDS REST Services
summary: Create a REST module
description: Creates a REST module.
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- name
- base_path
properties:
name:
type: string
description: Name of the owning RESTful service module. Case sensitive.
base_path:
type: string
description: 'The base of the URI that is used to access this RESTful service. Example: hr/ means that all URIs starting with hr/ will be serviced by this resource module.'
origins_allowed:
type: string
description: Set the allowed origins for the module containing the web service call.
items_per_page:
type: integer
description: 'The default pagination for a resource handler HTTP operation GET method, that is, the number of rows to return on each page of a JSON format result set based on a database query. Default: 25.'
module_status:
type: string
description: 'Publication status. Valid values: PUBLISHED (default) or NOT_PUBLISHED.'
comments:
type: string
description: Comment text.
run_mode:
type: string
description: Its value can be 'codePreview', which would make the endpoint respond with the code the backend would have executed. When the parameter is not provided, the endpoint will respond with the results of the operation execution.
responses:
'200':
description: Source code of the REST module to be created. Used for showcode.
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceItem'
'201':
description: Details of the REST module that has been successfully created.
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceItem'
'409':
description: 'A module with that name or base path already exists. '
'404':
description: No name or base_path parameter provided.
x-internal-id: ords-rest-modules--post
x-filename-id: ords-rest-modules-post
/ords/rest/modules/{id}:
get:
tags:
- ORDS REST Services
summary: Get a REST module
description: Desribes a REST module.
parameters:
- name: id
in: path
description: ID for specific module.
required: true
schema:
type: integer
responses:
'200':
description: Details of the REST module.
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceItem'
x-internal-id: ords-rest-modules-{id}-get
x-filename-id: ords-rest-modules-id-get
put:
tags:
- ORDS REST Services
summary: Update a REST module
description: Updates a REST module.
parameters:
- name: id
in: path
description: ID for specific module.
required: true
schema:
type: integer
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- name
- base_path
- module_status
properties:
name:
type: string
description: Name of the owning RESTful service module. Case sensitive.
base_path:
type: string
description: 'The base of the URI that is used to access this RESTful service. Example: hr/ means that all URIs starting with hr/ will be serviced by this resource module.'
origins_allowed:
type: string
description: Set the allowed origins for the module containing the web service call.
items_per_page:
type: integer
description: 'The default pagination for a resource handler HTTP operation GET method, that is, the number of rows to return on each page of a JSON format result set based on a database query. Default: 25.'
module_status:
type: string
description: 'Publication status. Valid values: PUBLISHED (default) or NOT_PUBLISHED.'
comments:
type: string
description: Comment text.
responses:
'200':
description: Details of the REST module that has been successfully updated.
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceItem'
'400':
description: No items_per_page or status parameter provided.
'404':
description: No name or base_path parameter provided.
'409':
description: A module name or base path already exists.
x-internal-id: ords-rest-modules-{id}-put
x-filename-id: ords-rest-modules-id-put
/ords/rest/modules/{id}/source:
get:
tags:
- ORDS REST Services
summary: Get a REST module source
description: Exports the REST module source code.
parameters:
- name: id
in: path
description: ID for specific module.
required: true
schema:
type: integer
responses:
'200':
description: SQL file of the exported module.
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceItem'
'404':
description: Module does not exist.
x-internal-id: ords-rest-modules-{id}-source-get
x-filename-id: ords-rest-modules-id-source-get
/ords/rest/templates/:
get:
tags:
- ORDS REST Services
summary: Get all REST module templates
description: Describes all the REST templates.
parameters:
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Filter'
responses:
'200':
description: Details of all the REST templates.
content:
application/json:
schema:
$ref: '#/components/schemas/ItemsCollection'
x-internal-id: ords-rest-templates--get
x-filename-id: ords-rest-templates-get
post:
tags:
- ORDS REST Services
summary: Create a REST module template
description: Creates a REST module template.
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- module_id
- uri_prefix
properties:
module_id:
type: integer
description: ID for specific reosurce module
uri_prefix:
type: string
description: A matching pattern for the resource template. For example, a pattern of /objects/:object/:id? will match /objects/emp/101 (matches a request for the item in the emp resource with id of 101) and will also match /objects/emp/. (Matches a request for the emp resource, because the :id parameter is annotated with the ? modifier, which indicates that the id parameter is optional.)
priority:
type: integer
description: 'The priority for the order of how the resource template should be evaluated: 0 (low priority. the default) through 9 (high priority).'
etag_type:
type: string
description: A type of entity tag to be used by the resource template. An entity tag is an HTTP Header that acts as a version identifier for a resource. Use entity tag headers to avoid retrieving previously retrieved resources and to perform optimistic locking when updating resources. Valid values are HASH, QUERY, NONE.
etag_query:
type: string
description: Query that is used to generate the entity tag.
comments:
type: string
description: Comment text.
run_mode:
type: string
description: Its value can be 'codePreview', which would make the endpoint respond with the code the backend would have executed. When the parameter is not provided, the endpoint will respond with the results of the operation execution.
responses:
'201':
description: Details of the REST module template that has been successfully created.
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceItem'
'400':
description: No pattern parameter provided or Module not specified.
'404':
description: Module does not exist
'409':
description: A template with that pattern already exists.
x-internal-id: ords-rest-templates--post
x-filename-id: ords-rest-templates-post
/ords/rest/templates/{id}:
get:
tags:
- ORDS REST Services
summary: Get a REST module template
description: Describes a REST module template.
parameters:
- name: id
in: path
description: ID for specific template.
required: true
schema:
type: integer
responses:
'200':
description: Details of the REST module template.
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceItem'
x-internal-id: ords-rest-templates-{id}-get
x-filename-id: ords-rest-templates-id-get
put:
tags:
- ORDS REST Services
summary: Update a REST module template
description: Updates a REST module template.
parameters:
- name: id
in: path
description: ID for specific template.
required: true
schema:
type: integer
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- uri_prefix
- priority
- etag_type
properties:
uri_prefix:
type: string
description: A matching pattern for the resource template. For example, a pattern of /objects/:object/:id? will match /objects/emp/101 (matches a request for the item in the emp resource with id of 101) and will also match /objects/emp/. (Matches a request for the emp resource, because the :id parameter is annotated with the ? modifier, which indicates that the id parameter is optional.)
priority:
type: integer
description: 'The priority for the order of how the resource template should be evaluated: 0 (low priority. the default) through 9 (high priority).'
etag_type:
type: string
description: A type of entity tag to be used by the resource template. An entity tag is an HTTP Header that acts as a version identifier for a resource. Use entity tag headers to avoid retrieving previously retrieved resources and to perform optimistic locking when updating resources. Valid values are HASH, QUERY, NONE.
etag_query:
type: string
description: Query that is used to generate the entity tag.
comments:
type: string
description: Comment text.
responses:
'200':
description: Details of the REST module template that has been successfully created.
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceItem'
'400':
description: No etag_type or pattern or priority parameter provided.
'404':
description: Template does not exist
'409':
description: Template pattern already exists in the module.
x-internal-id: ords-rest-templates-{id}-put
x-filename-id: ords-rest-templates-id-put
delete:
tags:
- ORDS REST Services
summary: Delete a REST module template
description: Deletes a REST module template.
parameters:
- name: id
in: path
description: ID for specific template.
required: true
schema:
type: integer
responses:
'204':
description: Confirmation that the REST module template has been delete.
x-internal-id: ords-rest-templates-{id}-delete
x-filename-id: ords-rest-templates-id-delete
/ords/rest/handlers/:
get:
tags:
- ORDS REST Services
summary: Get all REST template handlers
description: Describes all the REST template handlers.
parameters:
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Filter'
responses:
'200':
description: Details of all the REST template handlers.
content:
application/json:
schema:
$ref: '#/components/schemas/ItemsCollection'
x-internal-id: ords-rest-handlers--get
x-filename-id: ords-rest-handlers-get
post:
tags:
- ORDS REST Services
summary: Create a REST template handler
description: Creates a REST template handler.
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- template_id
- source
properties:
template_id:
type: integer
description: ID of the template the handler belongs to.
source:
type: string
description: The source implementation for the selected HTTP method.
source_type:
type: string
description: 'The HTTP request method for this handler. Valid values: source_type_collection_feed, source_type_collection_item, source_type_media, source_type_plsql, source_type_query || source_type_csv_query, source_type_query_one_row, source_type_feed, path/to/feed/{id}.'
method:
type: string
description: 'The HTTP method to which this handler will respond. Valid values: GET, POST, PUT, DELETE.'
items_per_page:
type: integer
description: 'The default pagination for a resource handler HTTP operation GET method, that is, the number of rows to return on each page of a JSON format result set based on a database query. Default: NULL (defers to the resource module setting).'
mimes_allowed:
type: string
description: Comma-separated list of MIME types that the handler will accept. Applies to PUT and POST only.
comments:
type: string
description: Comment text.
run_mode:
type: string
description: Its value can be 'codePreview', which would make the endpoint respond with the code the backend would have executed. When the parameter is not provided, the endpoint will respond with the results of the operation execution.
responses:
'201':
description: Details of the REST template handler that has been successfully created.
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceItem'
'400':
description: No template specified or No source parameter provided or Invalid Source Type.
'404':
description: Template does not exis
'409':
description: Handler already exists.
x-internal-id: ords-rest-handlers--post
x-filename-id: ords-rest-handlers-post
/ords/rest/handlers/{id}:
get:
tags:
- ORDS REST Services
summary: Get a REST template handler
description: Describes a REST template handler.
parameters:
- name: id
in: path
description: ID for specific handler.
required: true
schema:
type: integer
responses:
'200':
description: Details of the REST template handler.
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceItem'
x-internal-id: ords-rest-handlers-{id}-get
x-filename-id: ords-rest-handlers-id-get
put:
tags:
- ORDS REST Services
summary: Update a REST template handler
description: Updates a REST template handler.
parameters:
- name: id
in: path
description: ID for specific handler.
required: true
schema:
type: integer
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- source_type
- source
- method
properties:
source_type:
type: string
description: 'The HTTP request method for this handler. Valid values: source_type_collection_feed, source_type_collection_item, source_type_media, source_type_plsql, source_type_query || source_type_csv_query, source_type_query_one_row, source_type_feed, path/to/feed/{id}.'
source:
type: string
description: The source implementation for the selected HTTP method.
method:
type: string
description: 'The HTTP method to which this handler will respond. Valid values: GET, POST, PUT, DELETE.'
items_per_page:
type: integer
description: 'The default pagination for a resource handler HTTP operation GET method, that is, the number of rows to return on each page of a JSON format result set based on a database query. Default: NULL (defers to the resource module setting).'
mimes_allowed:
type: string
description: Comma-separated list of MIME types that the handler will accept. Applies to PUT and POST only.
comments:
type: string
description: Comment text.
responses:
'200':
description: Details of the REST template handler that has been successfully updated.
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceItem'
'400':
description: No template specified or No source parameter provided or Invalid Source Type.
'404':
description: Template does not exis
'409':
description: Handler already exists.
x-internal-id: ords-rest-handlers-{id}-put
x-filename-id: ords-rest-handlers-id-put
delete:
tags:
- ORDS REST Services
summary: Delete a REST template handler
description: Deletes a REST template handler.
parameters:
- name: id
in: path
description: ID for specific handler.
required: true
schema:
type: integer
responses:
'204':
description: Confirmation that the REST template handler has been deleted.
'404':
description: Handler not found
x-internal-id: ords-rest-handlers-{id}-delete
x-filename-id: ords-rest-handlers-id-delete
/ords/rest/handlers/{id}/source:
get:
tags:
- ORDS REST Services
summary: Get a REST handler source
description: Returns a REST handler source code.
parameters:
- name: id
in: path
description: ID for specific handler.
required: true
schema:
type: integer
responses:
'200':
description: Source code of the REST handler.
content:
application/json:
schema:
$ref: '#/components/schemas/ItemsCollection'
x-internal-id: ords-rest-handlers-{id}-source-get
x-filename-id: ords-rest-handlers-id-source-get
/ords/rest/parameters/:
get:
tags:
- ORDS REST Services
summary: Get all REST handler parameters
description: Describes all the REST handler parameters.
parameters:
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Filter'
responses:
'200':
description: Details of all the REST handler parameters.
content:
application/json:
schema:
$ref: '#/components/schemas/ItemsCollection'
x-internal-id: ords-rest-parameters--get
x-filename-id: ords-rest-parameters-get
post:
tags:
- ORDS REST Services
summary: Create a REST handler parameter
description: Creates a REST handler parameter.
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- handler_id
- name
properties:
handler_id:
type: integer
description: ID for specific module handler.
name:
type: string
description: The name of the parameter, as it is named in the URI Template or HTTP Header. Used to map names that are not valid SQL parameter names.
bind_variable_name:
type: string
description: The name of the parameter, as it will be referred to in the SQL. If NULL is specified, then the parameter is unbound.
source_type:
type: string
description: 'The type identifies if the parameter originates in the URI Template or a HTTP Header. Valid values: HEADER, RESPONSE, URI.'
param_type:
type: string
description: 'The native type of the parameter. Valid values: STRING, INT, DOUBLE, BOOLEAN, LONG, TIMESTAMP.'
access_method:
type: string
description: 'The parameter access method. Indicates if the parameter is an input value, output value, or both. Valid values: IN, OUT, INOUT.'
comments:
type: string
description: Comment text.
run_mode:
type: string
description: Its value can be 'codePreview', which would make the endpoint respond with the code the backend would have executed. When the parameter is not provided, the endpoint will respond with the results of the operation execution.
responses:
'201':
description: Details of the REST handler parameter that has been successfully created.
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceItem'
'400':
description: No name parameter provided.
'404':
description: No handler specified.
'409':
description: Parameter name or bind variable already exists.
x-internal-id: ords-rest-parameters--post
x-filename-id: ords-rest-parameters-post
/ords/rest/parameters/{id}:
get:
tags:
- ORDS REST Services
summary: Get a REST handler parameter
description: Describes a REST handler parameter.
parameters:
- name: id
in: path
description: ID for specific parameter.
required: true
schema:
type: integer
responses:
'200':
description: Details of the REST handler parameter.
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceItem'
x-internal-id: ords-rest-parameters-{id}-get
x-filename-id: ords-rest-parameters-id-get
put:
tags:
- ORDS REST Services
summary: Update a REST handler parameter
description: Updates a REST handler parameter.
parameters:
- name: id
in: path
description: ID for specific parameter.
required: true
schema:
type: integer
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- handler_id
- name
- source_type
- param_type
- access_method
properties:
handler_id:
type: integer
description: ID for specific handler.
name:
type: string
description: The name of the parameter, as it is named in the URI Template or HTTP Header. Used to map names that are not valid SQL parameter names.
bind_variable_name:
type: string
description: The name of the parameter, as it will be referred to in the SQL. If NULL is specified, then the parameter is unbound.
source_type:
type: string
description: 'The type identifies if the parameter originates in the URI Template or a HTTP Header. Valid values: HEADER, RESPONSE, URI.'
param_type:
type: string
description: 'The native type of the parameter. Valid values: STRING, INT, DOUBLE, BOOLEAN, LONG, TIMESTAMP.'
access_method:
type: string
description: 'The parameter access method. Indicates if the parameter is an input value, output value, or both. Valid values: IN, OUT, INOUT.'
comments:
type: string
description: Comment text.
responses:
'200':
description: Details of the REST handler parameter that has been successfully updated.
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceItem'
'400':
description: No name parameter provided.
'404':
description: Parameter does not exist.
'409':
description: Parameter name or bind variable already exists.
x-internal-id: ords-rest-parameters-{id}-put
x-filename-id: ords-rest-parameters-id-put
delete:
tags:
- ORDS REST Services
summary: Delete a REST handler parameter
description: Deletes a REST handler parameter.
parameters:
- name: id
in: path
description: ID for specific parameter.
required: true
schema:
type: integer
responses:
'204':
description: Confirmation that the REST handler parameter has been deleted.
x-internal-id: ords-rest-parameters-{id}-delete
x-filename-id: ords-rest-parameters-id-delete
/ords/rest/roles/:
get:
tags:
- ORDS REST Services
summary: Get all ORDS roles
description: Describes all the ORDS roles.
parameters:
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Filter'
responses:
'200':
description: Details of all the ORDS roles.
content:
application/json:
schema:
$ref: '#/components/schemas/ItemsCollection'
x-internal-id: ords-rest-roles--get
x-filename-id: ords-rest-roles-get
post:
tags:
- ORDS REST Services
summary: Create an ORDS role
description: Creates an ORDS role.
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- role_name
properties:
role_name:
type: string
description: ORDS role for specific module
run_mode:
type: string
description: Its value can be 'codePreview', which would make the endpoint respond with the code the backend would have executed. When the parameter is not provided, the endpoint will respond with the results of the operation execution.
responses:
'200':
description: Details of the ORDS role that has been successfully created.
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceItem'
'400':
description: No role_name parameter provided.
'409':
description: A role with that name already exists.
x-internal-id: ords-rest-roles--post
x-filename-id: ords-rest-roles-post
/ords/rest/roles/{id}:
get:
tags:
- ORDS REST Services
summary: Get an ORDS role
description: Describes an ORDS role.
parameters:
- name: id
in: path
description: ID for specific ORDS role.
required: true
schema:
type: integer
responses:
'200':
description: Details of the ORDS role.
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceItem'
x-internal-id: ords-rest-roles-{id}-get
x-filename-id: ords-rest-roles-id-get
put:
tags:
- ORDS REST Services
summary: Update an ORDS role
description: Updates an ORDS role.
parameters:
- name: id
in: path
description: ID for specific ORDS role.
required: true
schema:
type: integer
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- id
- role_name
properties:
id:
type: number
description: Specify the ORDS role given the ID to update.
role_name:
type: string
description: New role_name for the ORDS role module.
run_mode:
type: string
description: Its value can be 'codePreview', which would make the endpoint respond with the code the backend would have executed. When the parameter is not provided, the endpoint will respond with the results of the operation execution.
responses:
'201':
description: Details of the ORDS role that has been successfully updated.
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceItem'
'400':
description: No role_name parameter provided.
'403':
description: You do not have the permission to update this role.
'404':
description: Role not found.
x-internal-id: ords-rest-roles-{id}-put
x-filename-id: ords-rest-roles-id-put
delete:
tags:
- ORDS REST Services
summary: Delete an ORDS role
description: Deletes an ORDS role.
parameters:
- name: id
in: path
description: ID for specific ORDS role.
required: true
schema:
type: integer
responses:
'204':
description: Confirmation that the ORDS role has been delete.
x-internal-id: ords-rest-roles-{id}-delete
x-filename-id: ords-rest-roles-id-delete
/ords/rest/roles/{id}/privileges/:
get:
tags:
- ORDS REST Services
summary: Get all ORDS privileges for a specific role
description: Lists all the privileges for the specified role.
parameters:
- name: id
in: path
description: ID for specific ORDS role privilege.
required: true
schema:
type: integer
responses:
'200':
description: Details of all the ORDS privileges with the role.
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceItem'
x-internal-id: ords-rest-roles-{id}-privileges--get
x-filename-id: ords-rest-roles-id-privileges-get
/ords/rest/privileges/:
get:
tags:
- ORDS REST Services
summary: Get all ORDS privileges
description: Describes all the ORDS privileges.
parameters:
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Filter'
responses:
'200':
description: Details of all the ORDS privileges.
content:
application/json:
schema:
$ref: '#/components/schemas/ItemsCollection'
x-internal-id: ords-rest-privileges--get
x-filename-id: ords-rest-privileges-get
post:
tags:
- ORDS REST Services
summary: Create an ORDS privilege
description: Creates an ORDS privilege.
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- name
properties:
name:
type: string
description: Name of the ORDS privilege
label:
type: string
description: ORDS privilege label.
description:
type: string
description: ORDS privilege description text.
roles:
type: string
description: String of an ORDS roles list separated by the null char.
patterns:
type: string
description: String of an ORDS patterns list separated by the null char.
modules:
type: string
description: String of an ORDS modules list separated by the null char.
comments:
type: string
description: Comments text.
run_mode:
type: string
description: Its value can be 'codePreview', which would make the endpoint respond with the code the backend would have executed. When the parameter is not provided, the endpoint will respond with the results of the operation execution.
responses:
'201':
description: Details of the ORDS privilege that has been successfully created.
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceItem'
'400':
description: No name parameter provided or Length parameter is too long.
'404':
description: A module or A module name does not existname does not exist.
'409':
description: A privilege with that name already exists.
x-internal-id: ords-rest-privileges--post
x-filename-id: ords-rest-privileges-post
/ords/rest/privileges/{id}:
get:
tags:
- ORDS REST Services
summary: Get an ORDS privilege
description: Describes an ORDS privilege.
parameters:
- name: id
in: path
description: ID for ORDS specific privilege.
required: true
schema:
type: integer
responses:
'200':
description: Details of the ORDS privilege.
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceItem'
x-internal-id: ords-rest-privileges-{id}-get
x-filename-id: ords-rest-privileges-id-get
put:
tags:
- ORDS REST Services
summary: Update an ORDS privilege
description: Updates an ORDS privilege.
parameters:
- name: id
in: path
description: ID for specific ORDS privilege.
required: true
schema:
type: integer
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- name
properties:
name:
type: string
description: Name of the ORDS privilege
label:
type: string
description: ORDS privilege label.
description:
type: string
description: ORDS privilege description text.
roles:
type: string
description: String of an ORDS roles list separated by the null char.
patterns:
type: string
description: String of an ORDS patterns list separated by the null char.
modules:
type: string
description: String of an ORDS modules list separated by the null char.
comments:
type: string
description: Comments text.
responses:
'200':
description: Details of the ORDS privilege that has been successfully updated.
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceItem'
'400':
description: No name parameter provided or Length parameter is too long or Privilege name already exists.
'403':
description: You do not have permission to update this privilege.
'404':
description: A privilege or role name or module name o does not existname does not exist.
x-internal-id: ords-rest-privileges-{id}-put
x-filename-id: ords-rest-privileges-id-put
delete:
tags:
- ORDS REST Services
summary: Delete an ORDS privilege
description: Deletes an ORDS privilege.
parameters:
- name: id
in: path
description: ID for specific ORDS privilege.
required: true
schema:
type: integer
responses:
'204':
description: Confirmation that the ORDS privilege has been delete.
x-internal-id: ords-rest-privileges-{id}-delete
x-filename-id: ords-rest-privileges-id-delete
/ords/rest/privileges/{id}/modules/:
get:
tags:
- ORDS REST Services
summary: Get all REST modules in a privilege
description: Describes all the REST modules protected by a privilege.
parameters:
- name: id
in: path
description: ID for ORDS specific privilege.
required: true
schema:
type: integer
responses:
'200':
description: Details of the all the REST modules protected by a privilege.
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceItem'
x-internal-id: ords-rest-privileges-{id}-modules--get
x-filename-id: ords-rest-privileges-id-modules-get
/ords/rest/privileges/{id}/patterns/:
get:
tags:
- ORDS REST Services
summary: Get all REST patterns in a privilege
description: Describes all the REST patterns protected by a privilege.
parameters:
- name: id
in: path
description: ID for ORDS specific privilege.
required: true
schema:
type: integer
responses:
'200':
description: Details of all the REST patterns protected by a privilege.
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceItem'
x-internal-id: ords-rest-privileges-{id}-patterns--get
x-filename-id: ords-rest-privileges-id-patterns-get
/ords/rest/privileges/{id}/roles/:
get:
tags:
- ORDS REST Services
summary: Get all ORDS roles in a privilege
description: Describes all the ORDS roles assigned to a privilege.
parameters:
- name: id
in: path
description: ID for ORDS specific privilege.
required: true
schema:
type: integer
responses:
'200':
description: Details of the all the ORDS roles assigned to a privilege.
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceItem'
x-internal-id: ords-rest-privileges-{id}-roles--get
x-filename-id: ords-rest-privileges-id-roles-get
/ords/rest/privilege/modules/:
get:
tags:
- ORDS REST Services
summary: Get all protected REST modules
description: Describes all the protected REST modules.
parameters:
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Filter'
responses:
'200':
description: Details of all the protected REST modules.
content:
application/json:
schema:
$ref: '#/components/schemas/ItemsCollection'
x-internal-id: ords-rest-privilege-modules--get
x-filename-id: ords-rest-privilege-modules-get
/ords/rest/clients/:
get:
tags:
- ORDS REST Services
summary: Get all ORDS OAuth clients
description: Description of the purpose of the client, displayed to the end user during the approval phase of three-legged OAuth. May be null if grant_type is client_credentials; otherwise, must not be null.
parameters:
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Filter'
responses:
'200':
description: Details of all the ORDS OAuth clients.
content:
application/json:
schema:
$ref: '#/components/schemas/RestClientCollection'
x-internal-id: ords-rest-clients--get
x-filename-id: ords-rest-clients-get
post:
tags:
- ORDS REST Services
summary: Create an ORDS OAuth client
description: Creates an ORDS OAuth client.
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- name
- privilege_names
- grant_type
- description
- support_email
properties:
name:
type: string
description: Name for the client, displayed to the end user during the approval phase of three-legged OAuth. Must be unique.
grant_type:
type: string
enum:
- authorization_code
- implicit
- client_credentials
description: Must be one of authorization_code, implicit, or client_credentials.
description:
type: string
description: Description of the purpose of the client, displayed to the end user during the approval phase of three-legged OAuth. May be null if p_grant_type is client_credentials; otherwise, must not be null.
allowed_origins:
type: string
description: A comma-separated list of URL prefixes. If the list is empty, any existing origins are removed.
redirect_uri:
type: string
description: Client-controlled URI to which redirect containing an OAuth access token or error will be sent. May be null if p_grant_type is client_credentials; otherwise, must not be null.
privilege_names:
type: string
description: List of comma-separated privileges that the client wants to access.
role_names:
type: string
description: Is a string of privilege names
support_email:
type: string
description: The email where end users can contact the client for support.
support_uri:
type: string
description: The URI where end users can contact the client for support.
responses:
'201':
description: Details of the ORDS OAuth client that has been created successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/RestClientCollectionItem'
'400':
description: No name, description or support_email parameter provided or A role name or privilege name does not exist or The list of allowed origins or privilege name is too big or A privilege name is too long.
'409':
description: An oauth client with that name already exists.
x-internal-id: ords-rest-clients--post
x-filename-id: ords-rest-clients-post
/ords/rest/clients/{id}:
get:
tags:
- ORDS REST Services
summary: Get an ORDS OAuth client
description: Describes an ORDS OAuth client.
parameters:
- name: id
in: path
description: ID for specific OAuth client.
required: true
schema:
type: integer
responses:
'200':
description: Details of the ORDS OAuth client.
content:
application/json:
schema:
$ref: '#/components/schemas/RestClientCollectionItem'
x-internal-id: ords-rest-clients-{id}-get
x-filename-id: ords-rest-clients-id-get
put:
tags:
- ORDS REST Services
summary: Update an ORDS OAuth client
description: Updates an ORDS OAuth client.
parameters:
- name: id
in: path
description: ID for specific OAuth client.
required: true
schema:
type: integer
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- name
- privilege_names
properties:
name:
type: string
description: Name for the client, displayed to the end user during the approval phase of three-legged OAuth. Must be unique.
grant_type:
type: string
description: Must be one of authorization_code, implicit, or client_credentials.
description:
type: string
description: Description of the purpose of the client, displayed to the end user during the approval phase of three-legged OAuth. May be null if p_grant_type is client_credentials; otherwise, must not be null.
allowed_origins:
type: string
description: A comma-separated list of URL prefixes. If the list is empty, any existing origins are removed.
privilege_names:
type: string
description: List of comma-separated privileges that the client wants to access.
role_names:
type: string
description: Is a string of privilege names
redirect_uri:
type: string
description: Client-controlled URI to which redirect containing an OAuth access token or error will be sent. May be null if p_grant_type is client_credentials; otherwise, must not be null.
support_email:
type: string
description: The email where end users can contact the client for support.
support_uri:
type: string
description: 'The URI where end users can contact the client for support. Example: http://www.myclientdomain.com/support/'
responses:
'200':
description: Details of the ORDS OAuth client that has been successfully updated.
content:
application/json:
schema:
$ref: '#/components/schemas/RestClientCollectionItem'
'400':
description: No name, description or support_email parameter provided or A role name or privilege name does not exist or The list of allowed origins or privilege name is too big or A privilege name is too long.
'404':
description: OAuth client does not exist
'409':
description: An oauth client with that name already exists.
x-internal-id: ords-rest-clients-{id}-put
x-filename-id: ords-rest-clients-id-put
delete:
tags:
- ORDS REST Services
summary: Delete an ORDS OAuth client
description: Deletes an ORDS OAuth client.
parameters:
- name: id
in: path
description: ID for specific OAuth client.
required: true
schema:
type: integer
responses:
'204':
description: Confirmation that the ORDS OAuth client has been deleted.
'404':
description: OAuth client does not exist.
'409':
description: You do not have permission to delete this oauth client.
x-internal-id: ords-rest-clients-{id}-delete
x-filename-id: ords-rest-clients-id-delete
/ords/rest/clients/{id}/logo/:
post:
tags:
- ORDS REST Services
summary: Updates the ORDS OAuth client avatar image.
description: Updates the ORDS OAuth client avatar image.
parameters:
- name: id
in: path
description: ID for specific OAuth client.
required: true
schema:
type: integer
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- content_type
- body
properties:
content_type:
type: string
description: 'Under content, specify the request media type (such as image/png or application/octet-stream). Files use a type: string schema with format: binary or format: base64, depending on how the file contents will be encoded.'
body:
type: string
format: binary
description: files uploaded directly with the request content and files uploaded with multipart requests.
responses:
'201':
description: Details of the ORDS OAuth avatar that has been successfully updated.
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceItem'
x-internal-id: ords-rest-clients-{id}-logo--post
x-filename-id: ords-rest-clients-id-logo-post
/ords/rest/clients/{id}/secret/{slotid}:
post:
tags:
- ORDS REST Services
summary: Register or Rotate the ORDS OAuth client secret.
description: Register or Rotate the ORDS OAuth client secret.
parameters:
- name: id
in: path
description: ID for specific OAuth client.
required: true
schema:
type: integer
- name: slotid
in: path
description: Slot ID for a specific OAuth client; it can only be 1 or 2.
required: true
schema:
type: integer
- name: revoke_sessions
in: query
description: Deletes the current client sessions when TRUE. Default value is FALSE.
required: false
schema:
type: boolean
- name: revoke_existing
in: query
description: Deletes the existing client sessions when TRUE. Default value is FALSE.
required: false
schema:
type: boolean
responses:
'201':
description: Details of the ORDS OAuth secret has been successfully updated.
content:
application/json:
schema:
$ref: '#/components/schemas/RestClientSecretItem'
x-internal-id: ords-rest-clients-{id}-secret-{slotid}-post
x-filename-id: ords-rest-clients-id-secret-slotid-post
delete:
tags:
- ORDS REST Services
summary: Revoke the ORDS OAuth client secret.
description: Revoke the ORDS OAuth client secret.
parameters:
- name: id
in: path
description: ID for specific OAuth client.
required: true
schema:
type: integer
- name: slotid
in: path
description: Slot ID for a specific OAuth client; valid values are 1 or 2, while 3 revokes all clients.
required: true
schema:
type: integer
- name: revoke_sessions
in: query
description: Deletes the current client sessions when TRUE. Default value is FALSE.
required: false
schema:
type: boolean
responses:
'204':
description: Confirmation that the ORDS OAuth secret has been successfully revoked.
x-internal-id: ords-rest-clients-{id}-secret-{slotid}-delete
x-filename-id: ords-rest-clients-id-secret-slotid-delete
/ords/rest/clients/{id}/privileges/:
get:
tags:
- ORDS REST Services
summary: Get all ORDS privileges in an OAuth client
description: Describes all the ORDS privileges in an OAuth client.
parameters:
- name: id
in: path
description: ID for specific OAuth client.
required: true
schema:
type: integer
responses:
'200':
description: Details of all the ORDS privileges in the OAuth client.
content:
application/json:
schema:
$ref: '#/components/schemas/ItemsCollection'
x-internal-id: ords-rest-clients-{id}-privileges--get
x-filename-id: ords-rest-clients-id-privileges-get
/ords/rest/clients/{id}/roles/:
get:
tags:
- ORDS REST Services
summary: Get all ORDS roles in an OAuth client
description: Describes all the ORDS roles in an OAuth client.
parameters:
- name: id
in: path
description: ID of the OAuth client.
required: true
schema:
type: integer
responses:
'200':
description: Details of all the ORDS roles in the OAuth client.
content:
application/json:
schema:
$ref: '#/components/schemas/ItemsCollection'
x-internal-id: ords-rest-clients-{id}-roles--get
x-filename-id: ords-rest-clients-id-roles-get
/ords/rest/autorest/:
get:
tags:
- ORDS REST Services
summary: Get all REST enabled objects
description: Describes all the REST enabled objects.
parameters:
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Filter'
responses:
'200':
description: Details of all the REST enabled objects.
content:
application/json:
schema:
$ref: '#/components/schemas/ItemsCollection'
x-internal-id: ords-rest-autorest--get
x-filename-id: ords-rest-autorest-get
post:
tags:
- ORDS REST Services
summary: REST enable an object
description: ENABLE_OBJECT enables Oracle REST Data Services access to a specified table or view in a schema.
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- object_name
- object_alias
- auth
properties:
object_name:
type: string
description: Name of the table or view.
object_alias:
type: string
description: Alias of the object.
auth:
type: boolean
description: 'Controls whether Oracle REST Data Services should require user authorization before allowing access to the Oracle REST Data Services metadata for this object. If this value is TRUE, then the service is protected by the following roles: oracle.dbtools.autorest.any.schema, oracle.dbtools.role.autorest.