# Raw Request Schema

```
https://ns.adobe.com/helix/pipeline/rawrequest
```

The Request Object used for Invoking OpenWhisk

| Abstract            | Extensible | Status       | Identifiable | Custom Properties | Additional Properties | Defined In                                       |
| ------------------- | ---------- | ------------ | ------------ | ----------------- | --------------------- | ------------------------------------------------ |
| Can be instantiated | Yes        | Experimental | No           | Forbidden         | Permitted             | [rawrequest.schema.json](rawrequest.schema.json) |

# Raw Request Properties

| Property            | Type     | Required   | Nullable | Defined by                                 |
| ------------------- | -------- | ---------- | -------- | ------------------------------------------ |
| [headers](#headers) | `object` | Optional   | No       | Raw Request (this schema)                  |
| [method](#method)   | `string` | Optional   | No       | Raw Request (this schema)                  |
| [params](#params)   | `object` | Optional   | No       | Raw Request (this schema)                  |
| `*`                 | any      | Additional | Yes      | this schema _allows_ additional properties |

## headers

The headers of the request made to OpenWhisk (or Simulator)

`headers`

- is optional
- type: `object`
- defined in this schema

### headers Type

`object` with following properties:

| Property                    | Type   | Required |
| --------------------------- | ------ | -------- |
| `x-backend-name`            | string | Optional |
| `x-cdn-request-id`          | string | Optional |
| `x-openwhisk-activation-id` | string | Optional |
| `x-request-id`              | string | Optional |

#### x-backend-name

Name of the Backend handling the request.

`x-backend-name`

- is optional
- type: `string`

##### x-backend-name Type

`string`

##### x-backend-name Known Values

| Value                    | Description                                     |
| ------------------------ | ----------------------------------------------- |
| `localhost--F_Petridish` | Fake Backend name of the local Simulator server |

#### x-cdn-request-id

Request ID generated by the CDN

`x-cdn-request-id`

- is optional
- type: `string`

##### x-cdn-request-id Type

`string`

#### x-openwhisk-activation-id

OpenWhisk Activation ID

`x-openwhisk-activation-id`

- is optional
- type: `string`

##### x-openwhisk-activation-id Type

`string`

#### x-request-id

Request ID generated by OpenWhisk

`x-request-id`

- is optional
- type: `string`

##### x-request-id Type

`string`

## method

The HTTP method of the request made to OpenWhisk (or Simulator). Note: OpenWhisk converts all methods to lowercase.

`method`

- is optional
- type: `string`
- defined in this schema

### method Type

`string`

### method Known Values

| Value    | Description                           |
| -------- | ------------------------------------- |
| `get`    | GET request                           |
| `post`   | POST request                          |
| `put`    | PUT request (not handled by Helix)    |
| `delete` | DELETE request (not handled by Helix) |

## params

Parameters used to invoke the OpenWhisk action. These are either URL parameters added when invoking the action from the
CDN or default parameters set during creation of the action.

`params`

- is optional
- type: `object`
- defined in this schema

### params Type

`object` with following properties:

| Property       | Type   | Required |
| -------------- | ------ | -------- |
| `__ow_headers` | object | Optional |
| `branch`       | string | Optional |
| `owner`        | string | Optional |
| `path`         | string | Optional |
| `ref`          | string | Optional |
| `repo`         | string | Optional |
| `rootPath`     | string | Optional |
| `strain`       | string | Optional |

#### \_\_ow_headers

Deprecated: The original OpenWhisk request headers

`__ow_headers`

- is optional
- type: `object`

##### \_\_ow_headers Type

`object` with following properties:

| Property | Type | Required |
| -------- | ---- | -------- |


#### branch

Name of the branch or tag. defaults back to the value of 'ref' if missing.

`branch`

- is optional
- type: `string`

##### branch Type

`string`

#### owner

Owner of the GitHub repository. This is the name of a user or organization.

`owner`

- is optional
- type: `string`

##### owner Type

`string`

#### path

Path to the requested (Markdown) file

`path`

- is optional
- type: `string`

##### path Type

`string`

##### path Example

```json
/general/index.md
```

#### ref

Name of the branch or tag or the SHA of the commit

`ref`

- is optional
- type: `string`

##### ref Type

`string`

#### repo

Repository where content originates

`repo`

- is optional
- type: `string`

##### repo Type

`string`

#### rootPath

The request root path of the current strain.

`rootPath`

- is optional
- type: `string`

##### rootPath Type

`string`

##### rootPath Example

```json
/docs/api
```

#### strain

The resolved strain (variant)

`strain`

- is optional
- type: `string`

##### strain Type

`string`

**All** of the following _requirements_ need to be fulfilled.

#### Requirement 1

- []() – `#/definitions/rawrequest`
