# Request

Required Frends version: 5.7+

Required .NET version: 8.0

Compatible Agents: Unknown

Source code: <https://github.com/FrendsPlatform/Frends.SapSuccessFactors/tree/main/Frends.SapSuccessFactors.Request>

{% tabs %}
{% tab title="Parameter: Input" %}

| Name                            | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| ------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| UrlType : `UrlType`             | <p>Choose how to construct the URL.</p><p>Possible values:</p><ul><li><code>Builder</code>:</li></ul><p>Choose how to construct the URL.</p><ul><li><code>Custom</code>:</li></ul><p>Choose how to construct the URL.</p><p><br>Default: <code>0</code><br>Example: <code>Builder</code></p>                                                                                                                                                                                                  |
| RequestMethod : `RequestMethod` | <p>HTTP method for the request.</p><p>Possible values:</p><ul><li><code>GET</code>:</li></ul><p>HTTP method for the request.</p><ul><li><code>POST</code>:</li></ul><p>HTTP method for the request.</p><ul><li><code>PUT</code>:</li></ul><p>HTTP method for the request.</p><ul><li><code>PATCH</code>:</li></ul><p>HTTP method for the request.</p><ul><li><code>DELETE</code>:</li></ul><p>HTTP method for the request.</p><p><br>Default: <code>0</code><br>Example: <code>GET</code></p> |
| Endpoint : `String`             | <p>Entity name or endpoint path (Builder mode only).</p><p><br>Default: <code>-</code><br>Example: <code>User</code></p>                                                                                                                                                                                                                                                                                                                                                                      |
| QueryParameters : `String`      | <p>OData query parameters (Builder mode only)</p><p><br>Default: <code>-</code><br>Example: <code>$filter=userId eq 'user123'&$select=userId,username</code></p>                                                                                                                                                                                                                                                                                                                              |
| CustomUrl : `String`            | <p>Full custom URL (Custom mode only).</p><p>Allows you to call ANY URL, including non-OData endpoints.</p><p><br>Default: <code>-</code><br>Example: <code><https://api.successfactors.com/odata/v2/User?$filter=status> eq 'active'</code></p>                                                                                                                                                                                                                                              |
| Body : `String`                 | <p>Request body as JSON.</p><p><br>Default: <code>-</code><br>Example: <code>{"userId": "user123", "username": "john.doe"}</code></p>                                                                                                                                                                                                                                                                                                                                                         |
| Headers : `Header[]`            | <p>Additional HTTP headers (optional)</p><p><br>Default: <code>-</code><br>Example: <code>\[{ "Name": "X-Custom-Header", "Value": "CustomValue" }]</code></p>                                                                                                                                                                                                                                                                                                                                 |
| ResultFormat : `ReturnFormat`   | <p>Format of the result to return</p><p>Possible values:</p><ul><li><code>String</code>:</li></ul><p>Format of the result to return</p><ul><li><code>JToken</code>:</li></ul><p>Format of the result to return</p><p><br>Default: <code>1</code><br>Example: <code>JToken</code></p>                                                                                                                                                                                                          |
| {% endtab %}                    |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |

{% tab title="Parameter: Connection" %}

| Name                              | Description                                                                                                                                                                                                                                                                                                                                                              |
| --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| ApiServer : `String`              | <p>SAP SuccessFactors API Server URL (required for Builder mode)</p><p><br>Default: <code>-</code><br>Example: <code><https://api.successfactors.com></code></p>                                                                                                                                                                                                         |
| ODataVersion : `ODataVersion`     | <p>OData API version (required for Builder mode)</p><p>Possible values:</p><ul><li><code>V2</code>:</li></ul><p>OData API version (required for Builder mode)</p><ul><li><code>V4</code>:</li></ul><p>OData API version (required for Builder mode)</p><p><br>Default: <code>0</code><br>Example: <code>V2</code></p>                                                    |
| Authentication : `Authentication` | <p>Authentication method (OAuth recommended, Basic deprecated)</p><p>Possible values:</p><ul><li><code>Basic</code>:</li></ul><p>Authentication method (OAuth recommended, Basic deprecated)</p><ul><li><code>OAuth</code>:</li></ul><p>Authentication method (OAuth recommended, Basic deprecated)</p><p><br>Default: <code>1</code><br>Example: <code>OAuth</code></p> |
| Username : `String`               | <p>Username for Basic authentication (deprecated - use OAuth instead)</p><p><br>Default: <code>-</code><br>Example: <code>admin\@company</code></p>                                                                                                                                                                                                                      |
| 🗝Password : `String`             | <p>Password for Basic authentication (deprecated - use OAuth instead)</p><p><br>Default: <code>-</code><br>Example: <code>password123</code></p>                                                                                                                                                                                                                         |
| 🗝AccessToken : `String`          | <p>OAuth 2.0 Bearer access token.</p><p><br>Default: <code>-</code><br>Example: <code>eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...</code></p>                                                                                                                                                                                                                                 |
| {% endtab %}                      |                                                                                                                                                                                                                                                                                                                                                                          |

{% tab title="Parameter: Options" %}

| Name                                | Description                                                                                                                    |
| ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
| ConnectionTimeoutSeconds : `Int32`  | <p>Connection timeout in seconds</p><p><br>Default: <code>30</code><br>Example: <code>30</code></p>                            |
| AllowInvalidCertificate : `Boolean` | <p>Allow invalid SSL certificates</p><p><br>Default: <code>False</code><br>Example: <code>false</code></p>                     |
| FollowRedirects : `Boolean`         | <p>Follow HTTP redirects</p><p><br>Default: <code>True</code><br>Example: <code>true</code></p>                                |
| ThrowErrorOnFailure : `Boolean`     | <p>Whether to throw an error on failure.</p><p><br>Default: <code>True</code><br>Example: <code>true</code></p>                |
| ErrorMessageOnFailure : `String`    | <p>Overrides the error message on failure.</p><p><br>Default: <code>-</code><br>Example: <code>Custom error message</code></p> |
| {% endtab %}                        |                                                                                                                                |

{% tab title="Result: Result" %}

| Name                                   | Description                                                                                                                                                           |
| -------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Success : `Boolean`                    | <p>Indicates if the task completed successfully.<br>Example: <code>true</code></p>                                                                                    |
| Data : `Object`                        | <p>Response body (string or JToken depending on ResultFormat)<br>Example: <code>{ "d": { "results": \[{ "userId": "user123", "username": "john.doe" }] } }</code></p> |
| StatusCode : `Int32`                   | <p>HTTP status code<br>Example: <code>200</code></p>                                                                                                                  |
| Headers : `Dictionary<String, String>` | <p>Response headers<br>Example: <code>{ "Content-Type": "application/json", "X-Request-ID": "abc123" }</code></p>                                                     |
| Error : `Error`                        | <p>Error that occurred during task execution.<br>Example: <code>object { string Message, Exception AdditionalInfo }</code></p>                                        |
| {% endtab %}                           |                                                                                                                                                                       |

{% tab title="Changelog" %}

## Changelog

### \[1.1.0] - 2026-02-23

#### Fixed

* Ensure FrendsTaskMetadata.json is included in NuGet package

### \[1.0.0] - 2026-02-16

#### Added

* Initial implementation
  {% endtab %}
  {% endtabs %}
