---
schema_version: "1"
id: f5bb171ba5ee5a8b19a6e5fa94c44d67bd12f8770c00f3071d9b70d2bb836355
title: Integration Procedure Invocation from REST APIs
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/xcloud/264-0-0/os_integration_procedure_invocation_from_rest_apis_55792.md
canonical_url: https://help.salesforce.com/s/articleView?id=xcloud.os_integration_procedure_invocation_from_rest_apis_55792.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 9aa09ea400592676181be317ba5dfdd2339d61db4fe91bb16137bcd0dc9dc5e3
description: With a REST API, you can use either a GET or a POST call to invoke an Integration Procedure and retrieve the result. The difference between the two is that a GET call can't pass data with a JSON request body.
products:
  - Omnistudio
release: "264"
---
# Integration Procedure Invocation from REST APIs

With a REST API, you can use either a GET or a POST call to invoke an Integration Procedure and retrieve the result. The difference between the two is that a GET call can't pass data with a JSON request body.

You invoke a REST call with a URL formatted like this:

```
/services/apexrest/{namespace}/v1/integrationprocedure/{Type}_{SubType}/
```

The namespace is typically `omnistudio`. Specify the Type and SubType of the Integration Procedure.

You use parameters to pass data to an Integration Procedure in three ways:

- As inline values in the URL path (GET or POST)
- As query parameter=value pairs append to the URL (GET or POST)
- By specifying a JSON request body (POST only)

![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-xcloud-omnistudio-264-0-0-production-enus/f526eaa8-ae05-487a-8944-4bb99b0b78ac/images/icon_note.png)

Note

When using an Integration Procedure with a REST API, follow these guidelines:

- In JSON notation, curly braces are literal. They delimit JSON objects.
- In REST URL notation, curly braces surround variable values that you must replace. Don't include the braces in an actual request.
- Treat all parts of the REST URL as case-sensitive.

You can also set Integration Procedure options such as `chainable` or `queueableChainable` as query parameters with a REST call:

```
/services/apexrest/vlocity_ins/v1/integrationprocedure/Create_Cases/?queueableChainable=true
```

For an example of a REST call to an Integration Procedure, see [Invoke a Chainable Integration Procedure with REST Calls](https://help.salesforce.com/s/articleView?id=xcloud.os_invoke_a_chainable_integration_procedure_with_rest_calls_56330.htm&release=264.0.0&type=5 "A chainable Integration Procedure is split into multiple transactions to avoid hitting Salesforce governor limits. Using a REST API is the easiest way to see the partial responses each transaction returns before the Integration Procedure completes.").

- **[Integration Procedure Invocation Using GET](https://help.salesforce.com/s/articleView?id=xcloud.os_integration_procedure_invocation_from_rest_apis_55792.htm&release=264.0.0&type=5)**  
    To request and receive JSON data results from an Integration Procedure, issue a GET call. With a GET call, you can specify inline URL path parameters and append query parameters to the URL. If you must pass data with a JSON request body, use a POST call instead.
- **[Integration Procedure Invocation Using POST](https://help.salesforce.com/s/articleView?id=xcloud.os_integration_procedure_invocation_from_rest_apis_55792.htm&release=264.0.0&type=5)**  
    To send JSON data to and receive results from an Integration Procedure, issue a POST call. With a POST call, you can specify inline URL path parameters, append query parameters to the URL, and include a JSON request body.

## Integration Procedure Invocation Using GET

To request and receive JSON data results from an Integration Procedure, issue a GET call. With a GET call, you can specify inline URL path parameters and append query parameters to the URL. If you must pass data with a JSON request body, use a POST call instead.

In this example, an Integration Procedure that creates cases requires a Contact name and returns the Id of the newly created case. The Contact name is appended to the URL as a query parameter. The value `%20` is the URL-encoded space between the first and last names.

- GET URL:
    
    ```
    /services/apexrest/vlocity_ins/v1/integrationprocedure/Create_Cases/?Contact=Dennis%20Reynolds
    ```
- Result:
    
    ```
    {
      "Case": {
        "Id": "0036100001HDn3QAAT"
      }
    }
    ```

In this second example, the syntax of the URL looks like this:

```
/services/apexrest/{namespace}/v1/integrationprocedure/{Type}_{SubType}/{inlinevalue1}/{inlinevalue2}/?{Param1}={Value1}
```

You can call the URL with these values:

```
/services/apexrest/vlocity_cmt/v1/integrationprocedure/IP_Rest/Apple/Phones/?product=iPhoneX
```

The GET call sends this input to the Integration Procedure. Values passed in the URL path are added under the `options` node of the JSON, with keys named `PathN`.

```
{
  "options": {
    "Path1": "Apple",
    "Path2": "Phones",
    "product": "iPhoneX",
    "isDebug": "true"
  }

}
```

## Integration Procedure Invocation Using POST

To send JSON data to and receive results from an Integration Procedure, issue a POST call. With a POST call, you can specify inline URL path parameters, append query parameters to the URL, and include a JSON request body.

In this example, an Integration Procedure that creates cases requires a Contact name and returns the Id of the newly created case. The Contact name is specified in a JSON request body.

- POST URL:
    
    ```
    /services/apexrest/vlocity_ins/v1/integrationprocedure/Create_Cases/
    ```
- POST JSON data:
    
    ```
    {
      "Contact": "Dennis Reynolds"
    }
    ```
- Result:
    
    ```
    {
      "Case": {
        "Id": "0036100001HDn3QAAT"
      }
    }
    ```

In this second example, the syntax of a URL looks like this:

```
/services/apexrest/{namespace}/v1/integrationprocedure/{Type}_{SubType}/{inlinevalue1}/{inlinevalue2}/?{Param1}={Value1}
```

You can call the URL with these values:

```
/services/apexrest/vlocity_cmt/v1/integrationprocedure/IP_Rest/Apple/Phones/?product=iPhoneX
```

The POST call sends this input to the Integration Procedure. Values passed in the URL path are added under the `options` node of the JSON, with keys named `PathN`.

```
{
  "options": {
    "Path1": "Apple",
    "Path2": "Phones",
    "product": "iPhoneX",
    "isDebug": "true"
  }
}
```