Supported HTTP Methods

The most commonly used HTTP methods (or verbs) are GET, POST, PATCH, and DELETE. The building blocks of REST APIs, these methods define actions applied to REST resources using their URLs. See Custom Actions for more information.

Note:

You can combine multiple operations into a single HTTP request to improve performance. For more information, see Batch Actions.

The following table lists the methods and their scope for singular and collection resources.

Method Works with a Singular Resource? Works with a Collection Resource?

GET

Yes. Gets a single resource.

Yes. Gets a subset, or all of the resources in the collection.

POST

No. For a custom method, you can use the POST method for a singular resource.

Yes. Creates a new resource in the collection.

PATCH

Yes. Updates a resource.

No.

DELETE

Yes. Deletes a resource.

No.

The GET Method

Use this method to retrieve information from a resource. To query both a singular resource and a collection resource, use expand, fields, and onlyData query parameters. To filter the queried result, use different parameters for a singular resource and a collection resource.

The following table lists common parameters for querying singular resources and resource collections.

Parameter Description

expand

Gets the child resources along with the parent resource when you query a hierarchical resource. The server doesn't return child resources by default. The valid values include:

  • Name of a single child resource.
  • Comma-separated list of child resource names to specify multiple values.
  • Keyword all to expand all child resources.

Starting in REST framework version 3, the expand parameter returns the child resource items as a collection resource to support pagination of the collection.

fields

Gets information for the specified fields. The valid values include:

  • Name of a single property.
  • Comma-separated list of property names to specify multiple values.

Starting in REST framework version 3, the fields parameter returns the child resource items as a collection resource to support pagination of the collection.

onlyData

Indicates whether the retrieved data contains only resource field values without links. The default value is false, indicating that the retrieved data contains links by default.

For example, to return only the name and status without any link, enter the command:

GET

/crmRestApi/resources/11.13.18.05/opportunities/CDRM_750?onlyData=true&fields=name,statuscode

The following table lists the parameters you can use only for querying a collection resource.

Query Parameter for Collection Resource Description

limit

Positive integer value that specifies the maximum number of items that a server returns. The server might override this value to improve application performance. If the client request doesn't specify a limit value, then the server uses the default limit value of 25.

offset

Positive integer value that specifies the index of the first item to be returned. Default value is 0. For example:
  • If offset=0, the response contains all the resources, starting from the first item in the collection.
  • If offset=10, the response contains resources starting from the 11th item.

q

Specifies a filter for the items to be returned from the collection.

In REST framework version 1, the query parameter is used in the where clause and contains one or more expressions separated by a semicolon. For example: q=deptno>=10 and <= 30;loc!=NY.

Supported operators in REST framework version 1:

  • = (Equal to)
  • > (Greater than)
  • < (Less than)
  • >= (Greater than or equal to)
  • <= (Less than or equal to)
  • != (Not equal to)
  • AND (And)
  • OR (Or)
  • NOT (Not)
  • LIKE (Like)

The allowed special characters in REST framework version 1:

  • " (double quotation mark) and ' (single quotation mark) to define a literal.
  • \ (backslash) to define an escape character.
  • * (asterisk) to define a wildcard character.

For REST framework version 2 and later, the query parameter accepts a rowmatch expression format that identifies the specific rows to retrieve from the resource.

The supported operators in REST framework version 2 and later also include:
  • <> (Not equal to)
  • BETWEEN (between)
  • NOT BETWEEN (Not between)
  • IN (in)
  • NOT IN (Not in)
  • IS NULL
  • NOT NULL
The allowed special characters in REST framework version 2 and later:
  • " (double quotation mark) and ' (single quotation mark) to define a literal.
  • \ (backslash) to define an escape character.
  • % (percent) to define a wildcard character.

totalResults

Boolean value that indicates how to return items that match the q query parameter. Default value is false. For example, if the employees collection contains employees with id=1..100, use the following code:

GET/employees?q=id>10&limit=5totalresults=true.

The response is as follows:

{
"items": [
{"id": 11},
{"id": 12},     
{"id": 13},    
{"id": 14},
{"id": 15}
],
"totalResults": 90 
}

orderBy

Specifies the order of the items in the response payload. For details, see Sorting.

finder

Uses the predefined where clause that includes certain bind parameters to search the collection. For example, the opportunities resource defines a finder named MyOpportunitiesFinder, with one of the bind parameters named Name. A client can use this finder to fetch all opportunities named Auto that the current user owns.

For example:

finder=MyOpportunitiesFinder;Name=Auto

In this command, the format of the query parameter value is:

<finder>;<attr1>=<val1>,<attr2>=<val2>.

dependency

Used for the list-of-values (LOV) resources. For example, a location resource includes the following Country and State fields:

{
"Country" : "US",
"State" : "CA"
}

The location resource gets values for the State field from the States resource, which includes a list of values that depend on the Country resource. Assume you change the country to BR in the client. To display the new valid list of states, the client sends a request to the server that uses BR in the Country field and gets the associated state list.

States?dependency=Country=BR

The POST Method

Use to create a new item in a resource. The request media type is:

application/vnd.oracle.adf.resourceitem+json

The PATCH Method

Use to update data in a resource. The PATCH method updates only the fields specified in the request body. The request media type is:

application/vnd.oracle.adf.resourceitem+json

The DELETE Method

Use to delete a resource. The method doesn't require a request body.

Custom Actions

A resource might expose a custom action that isn't the standard Create, Read, Update, and Delete (CRUD) action. For example, any custom object functions that are created on standard objects using Application Composer are available as custom actions. A custom action is always initiated using a POST method.

The relevant request media type is:

application/vnd.oracle.adf.action+json

The response media type is:

application/vnd.oracle.adf.actionresult+json

The following request always contains a custom action and optionally, an array of input parameters for the custom action:

application/vnd.oracle.adf.action+json

The JSON schema of the media type is:


{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "type": "object",
    "title": "Action execution representation.",
    "description": "Represents the action execution and its parameters.",
    "properties": {
        "name": {
            "type": "string",
            "description": "Action name."
        },
        "parameters": {
            "type": "array",
            "description": "Parameter name/value pair.",
        }
    },
    "required": [
        "name"
    ]
}