Newer Version Available
Composite
Executes a series of REST API requests in a single call.
You can use the output of one request as the input to a subsequent request. The response
bodies and HTTP statuses of the requests are returned in a single response body. The entire
request counts as a single call toward your API limits.
The requests in a composite call are called subrequests. All subrequests are executed in the context of the same user. In a subrequest’s body, you specify a reference ID that maps to the subrequest’s response. You can then refer to the ID in the url or body fields of later subrequests by using a JavaScript-like reference notation.
For example, the following composite request body includes two subrequests. The first creates
an account and designates the output as refAccount. The
second creates a contact parented under the new account by referencing refAccount in the subrequest
body.
1{
2"compositeRequest" : [{
3 "method" : "POST",
4 "url" : "/services/data/v38.0/sobjects/Account",
5 "referenceId" : "refAccount",
6 "body" : { "Name" : "Sample Account" }
7 },{
8 "method" : "POST",
9 "url" : "/services/data/v38.0/sobjects/Contact",
10 "referenceId" : "refContact",
11 "body" : {
12 "LastName" : "Sample Contact",
13 "AccountId" : "@{refAccount.id}"
14 }
15 }]
16}You can specify whether an error in a subrequest causes the whole composite request to roll back or just the subrequests that depend on it. You can also specify headers for each subrequest.
Composite is supported for the following resources.
- All sObject resources (vXX.X/sobjects/)
- The Query resource (vXX.X/query/?q=soql)
- The QueryAll resource (vXX.X/queryAll/?q=soql)
- URI
- /vXX.X/composite
- Formats
- JSON
- HTTP method
- GET (lists other available composite resources), POST
- Authentication
- Authorization: Bearer token
- Parameters
- None required
- Request body
- Composite Request Body
- Response body
- Composite Response Body
- Examples
- For examples of using the Composite resource, see Execute Dependent Requests in a Single API Call and Update an Account, Create a Contact, and Link Them with a Junction Object.