# Request Options

## List Request Options

> List all request options.\
> \
> \## Pagination\
> \
> Pagination is available for this request. Please see the section on using pagination for more details.\
> \
> \
> \
> \## Available Filters\
> \
> These are the filters that can be used to specific the data to return. Please see the section on using filters for more details.\
> \
> \- type\
> \- key\
> \- value\
> \- requestable\_type\
> \- requestable\_id\
> \
> \
> \
> \
> \## Available Sorts\
> \
> These are the sorts that can be used order the returned data. Please see the section on using sorting for more details.\
> \
> \- type\
> \- key\
> \- value

```json
{"openapi":"3.0.0","info":{"title":"Patchworks Core API","version":"1.0.0"},"tags":[{"name":"Request Options"}],"servers":[{"url":"https://core.wearepatchworks.com"}],"security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"Authorization","description":"API key passed in the Authorization header. Format: `<api-key>`"},"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"OAuth 2 Bearer token obtained from POST /fabric/api/login"}},"schemas":{"RequestOptionsListResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/RequestOptions"}},"meta":{"$ref":"#/components/schemas/PaginationMeta"},"links":{"$ref":"#/components/schemas/PaginationLinks"}}},"RequestOptions":{"type":"object","properties":{"id":{"type":"integer","description":"Unique identifier"},"type":{"type":"string"},"key":{"type":"string"},"value":{"type":"string"},"requestable_type":{"type":"string"},"requestable_id":{"type":"integer"},"configurable":{"type":"string"},"locked":{"type":"string"},"required":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"alias":{"type":"string"}}},"PaginationMeta":{"type":"object","properties":{"current_page":{"type":"integer"},"from":{"type":"integer","nullable":true},"last_page":{"type":"integer"},"path":{"type":"string"},"per_page":{"type":"integer"},"to":{"type":"integer","nullable":true},"total":{"type":"integer"}}},"PaginationLinks":{"type":"object","properties":{"first":{"type":"string","format":"uri"},"last":{"type":"string","format":"uri"},"prev":{"type":"string","format":"uri","nullable":true},"next":{"type":"string","format":"uri","nullable":true}}}}},"paths":{"/api/v1/request-options":{"get":{"summary":"List Request Options","description":"List all request options.\n\n## Pagination\n\nPagination is available for this request. Please see the section on using pagination for more details.\n\n\n\n## Available Filters\n\nThese are the filters that can be used to specific the data to return. Please see the section on using filters for more details.\n\n- type\n- key\n- value\n- requestable_type\n- requestable_id\n\n\n\n\n## Available Sorts\n\nThese are the sorts that can be used order the returned data. Please see the section on using sorting for more details.\n\n- type\n- key\n- value","parameters":[{"name":"filter[type]","in":"query","required":false,"schema":{"type":"string"},"description":"Filter results by type."},{"name":"filter[key]","in":"query","required":false,"schema":{"type":"string"},"description":"Filter results by key."},{"name":"filter[value]","in":"query","required":false,"schema":{"type":"string"},"description":"Filter results by value."},{"name":"filter[requestable_type]","in":"query","required":false,"schema":{"type":"string"},"description":"Filter results by requestable_type."},{"name":"filter[requestable_id]","in":"query","required":false,"schema":{"type":"string"},"description":"Filter results by requestable_id."},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Sort field. Prefix with - for descending. Available: type, key, value"},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1},"description":"Page number for pagination."},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100},"description":"Number of results per page."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestOptionsListResponse"}}}},"401":{"description":"Unauthenticated"},"403":{"description":"Unauthorized"}},"tags":["Request Options"]}}}}
```

## Create Request Option

> Create a new request option.\
> \
> \## Validation Rules\
> \
> These are the basic validation rules for the request. More detailed validation may apply depending on the data being sent. Please see the response for any extra requirements\
> \
> \| Field | Type | Required |\
> \|---|---|---|\
> \| type | string | \&#x2611; |\
> \| key | string | \&#x2611; |\
> \| value | string | \&#x2611; |\
> \| requestable\_type | string | \&#x2611; |\
> \| requestable\_id | integer | \&#x2611; |\
> \| configurable | | |\
> \| locked | | |\
> \| required | | |

```json
{"openapi":"3.0.0","info":{"title":"Patchworks Core API","version":"1.0.0"},"tags":[{"name":"Request Options"}],"servers":[{"url":"https://core.wearepatchworks.com"}],"security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"Authorization","description":"API key passed in the Authorization header. Format: `<api-key>`"},"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"OAuth 2 Bearer token obtained from POST /fabric/api/login"}},"schemas":{"RequestOptionsResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/RequestOptions"}}},"RequestOptions":{"type":"object","properties":{"id":{"type":"integer","description":"Unique identifier"},"type":{"type":"string"},"key":{"type":"string"},"value":{"type":"string"},"requestable_type":{"type":"string"},"requestable_id":{"type":"integer"},"configurable":{"type":"string"},"locked":{"type":"string"},"required":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"alias":{"type":"string"}}},"ErrorResponse":{"type":"object","properties":{"message":{"type":"string"},"errors":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}}}},"RequestOptionsStoreRequest":{"type":"object","properties":{"type":{"type":"string"},"key":{"type":"string"},"value":{"type":"string"},"requestable_type":{"type":"string"},"requestable_id":{"type":"integer"},"configurable":{"type":"string","nullable":true},"locked":{"type":"string","nullable":true},"required":{"type":"string","nullable":true}},"required":["key","requestable_id","requestable_type","type","value"]}}},"paths":{"/api/v1/request-options":{"post":{"summary":"Create Request Option","description":"Create a new request option.\n\n## Validation Rules\n\nThese are the basic validation rules for the request. More detailed validation may apply depending on the data being sent. Please see the response for any extra requirements\n\n| Field | Type | Required |\n|---|---|---|\n| type | string | &#x2611; |\n| key | string | &#x2611; |\n| value | string | &#x2611; |\n| requestable_type | string | &#x2611; |\n| requestable_id | integer | &#x2611; |\n| configurable | | |\n| locked | | |\n| required | | |","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestOptionsResponse"}}}},"401":{"description":"Unauthenticated"},"403":{"description":"Unauthorized"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestOptionsStoreRequest"}}}},"tags":["Request Options"],"parameters":[]}}}}
```

## Get Request Option

> Get a single request option.\
> \
> \## Available Filters\
> \
> These are the filters that can be used to specific the data to return. Please see the section on using filters for more details.\
> \
> \- type\
> \- key\
> \- value\
> \- requestable\_type\
> \- requestable\_id\
> \
> \
> \
> \
> \## Available Sorts\
> \
> These are the sorts that can be used order the returned data. Please see the section on using sorting for more details.\
> \
> \- type\
> \- key\
> \- value

```json
{"openapi":"3.0.0","info":{"title":"Patchworks Core API","version":"1.0.0"},"tags":[{"name":"Request Options"}],"servers":[{"url":"https://core.wearepatchworks.com"}],"security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"Authorization","description":"API key passed in the Authorization header. Format: `<api-key>`"},"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"OAuth 2 Bearer token obtained from POST /fabric/api/login"}},"schemas":{"RequestOptionsResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/RequestOptions"}}},"RequestOptions":{"type":"object","properties":{"id":{"type":"integer","description":"Unique identifier"},"type":{"type":"string"},"key":{"type":"string"},"value":{"type":"string"},"requestable_type":{"type":"string"},"requestable_id":{"type":"integer"},"configurable":{"type":"string"},"locked":{"type":"string"},"required":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"alias":{"type":"string"}}}}},"paths":{"/api/v1/request-options/{request_option}":{"get":{"summary":"Get Request Option","description":"Get a single request option.\n\n## Available Filters\n\nThese are the filters that can be used to specific the data to return. Please see the section on using filters for more details.\n\n- type\n- key\n- value\n- requestable_type\n- requestable_id\n\n\n\n\n## Available Sorts\n\nThese are the sorts that can be used order the returned data. Please see the section on using sorting for more details.\n\n- type\n- key\n- value","parameters":[{"name":"request_option","in":"path","required":true,"schema":{"type":"string"},"description":"The request option identifier."},{"name":"filter[type]","in":"query","required":false,"schema":{"type":"string"},"description":"Filter results by type."},{"name":"filter[key]","in":"query","required":false,"schema":{"type":"string"},"description":"Filter results by key."},{"name":"filter[value]","in":"query","required":false,"schema":{"type":"string"},"description":"Filter results by value."},{"name":"filter[requestable_type]","in":"query","required":false,"schema":{"type":"string"},"description":"Filter results by requestable_type."},{"name":"filter[requestable_id]","in":"query","required":false,"schema":{"type":"string"},"description":"Filter results by requestable_id."},{"name":"sort","in":"query","required":false,"schema":{"type":"string"},"description":"Sort field. Prefix with - for descending. Available: type, key, value"},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1},"description":"Page number for pagination."},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100},"description":"Number of results per page."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestOptionsResponse"}}}},"401":{"description":"Unauthenticated"},"403":{"description":"Unauthorized"}},"tags":["Request Options"]}}}}
```

## Update Request Option

> Update an existing request option.\
> \
> \## Validation Rules\
> \
> These are the basic validation rules for the request. More detailed validation may apply depending on the data being sent. Please see the response for any extra requirements\
> \
> \| Field | Type | Required |\
> \|---|---|---|\
> \| type | string | |\
> \| key | string | |\
> \| value | string | |

```json
{"openapi":"3.0.0","info":{"title":"Patchworks Core API","version":"1.0.0"},"tags":[{"name":"Request Options"}],"servers":[{"url":"https://core.wearepatchworks.com"}],"security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"Authorization","description":"API key passed in the Authorization header. Format: `<api-key>`"},"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"OAuth 2 Bearer token obtained from POST /fabric/api/login"}},"schemas":{"RequestOptionsResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/RequestOptions"}}},"RequestOptions":{"type":"object","properties":{"id":{"type":"integer","description":"Unique identifier"},"type":{"type":"string"},"key":{"type":"string"},"value":{"type":"string"},"requestable_type":{"type":"string"},"requestable_id":{"type":"integer"},"configurable":{"type":"string"},"locked":{"type":"string"},"required":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"alias":{"type":"string"}}},"ErrorResponse":{"type":"object","properties":{"message":{"type":"string"},"errors":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}}}},"RequestOptionsUpdateRequest":{"type":"object","properties":{"type":{"type":"string"},"key":{"type":"string"},"value":{"type":"string"}}}}},"paths":{"/api/v1/request-options/{request_option}":{"put":{"summary":"Update Request Option","description":"Update an existing request option.\n\n## Validation Rules\n\nThese are the basic validation rules for the request. More detailed validation may apply depending on the data being sent. Please see the response for any extra requirements\n\n| Field | Type | Required |\n|---|---|---|\n| type | string | |\n| key | string | |\n| value | string | |","parameters":[{"name":"request_option","in":"path","required":true,"schema":{"type":"string"},"description":"The request option identifier."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestOptionsResponse"}}}},"401":{"description":"Unauthenticated"},"403":{"description":"Unauthorized"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestOptionsUpdateRequest"}}}},"tags":["Request Options"]}}}}
```

## Delete Request Option

> Delete a request option.

```json
{"openapi":"3.0.0","info":{"title":"Patchworks Core API","version":"1.0.0"},"tags":[{"name":"Request Options"}],"servers":[{"url":"https://core.wearepatchworks.com"}],"security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"Authorization","description":"API key passed in the Authorization header. Format: `<api-key>`"},"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"OAuth 2 Bearer token obtained from POST /fabric/api/login"}},"schemas":{"MessageResponse":{"type":"object","properties":{"message":{"type":"string"}}}}},"paths":{"/api/v1/request-options/{request_option}":{"delete":{"summary":"Delete Request Option","description":"Delete a request option.","parameters":[{"name":"request_option","in":"path","required":true,"schema":{"type":"string"},"description":"The request option identifier."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageResponse"}}}},"401":{"description":"Unauthenticated"},"403":{"description":"Unauthorized"}},"tags":["Request Options"]}}}}
```
