> For the complete documentation index, see [llms.txt](https://docs.flowretail.com/api/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.flowretail.com/api/extensions.md).

# Extensions

Extensions

## List extensions for a tenant

> List extensions for a tenant\
> \
> Required permissions: EXTENSION

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"tags":[{"name":"Extensions","description":"Extensions"}],"servers":[{"description":"Flow Retail Production","url":"https://api.flowretail.com/v2"},{"description":"Flow Retail Stage","url":"https://api.stage.flowretail.com/v2"}],"security":[{"authToken":[]},{"accessToken":[]}],"components":{"securitySchemes":{"authToken":{"description":"Token received from the auth service","scheme":"bearer","type":"http"},"accessToken":{"description":"Access token recevied after user login with a deviceToken","scheme":"bearer","type":"http"}},"parameters":{"pageNumberQuery":{"description":"Reference to a specific page in a result set.","in":"query","name":"pageNumber","required":false,"schema":{"type":"integer"}},"pageSizeQuery":{"description":"The number of items per page in a result set.","in":"query","name":"pageSize","required":false,"schema":{"type":"integer"}},"sortByQuery":{"description":"Defines which field the resource list is sorted by.","in":"query","name":"sortBy","required":false,"schema":{"type":"string"}},"sortDirectionQuery":{"description":"Reference to a sort direction","explode":false,"in":"query","name":"sortDirection","schema":{"$ref":"#/components/schemas/SortDirectionENUM"},"style":"form"}},"schemas":{"SortDirectionENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| ASC | Sort in ascending order|\n| DESC | Sort in descending order|\n","enum":["ASC","DESC"],"title":"SortDirectionENUM","type":"string"},"TenantExtensionResponseSchema":{"title":"TenantExtensionResponseSchema","type":"object","description":"TenantExtensionResponseSchema","required":["tenantExtensionUid","name","active","extensionCode","hasStoreExtensionSettings","tenantParameters","statusMessages","availableTenantParameters","availableStoreParameters"],"properties":{"tenantExtensionUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"},"active":{"type":"boolean"},"extensionCode":{"$ref":"#/components/schemas/ExtensionCodeENUM"},"hasStoreExtensionSettings":{"type":"boolean","description":"Indicate if the extension needs to be activated and configured pr store"},"tenantParameters":{"type":"array","items":{"$ref":"#/components/schemas/GeneralParameterResponseSchema"}},"statusMessages":{"type":"array","items":{"type":"string"}},"availableTenantParameters":{"type":"array","deprecated":true,"items":{"$ref":"#/components/schemas/AvailableExtensionParameterSchema"}},"availableStoreParameters":{"type":"array","items":{"$ref":"#/components/schemas/GeneralParameterResponseSchema"}}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"ExtensionCodeENUM":{"enum":["FLOWGIFTCARD","PAYEX_GIFTCARD","ADYEN_POS","PAYEX_POS","VIPPS","EXTERNAL_CUSTOMER_SEARCH","STORE_CREDIT","SMS","STRIPE","NETS","VERIFONE","SERVICE_WORKSHOP","TWO_INVOICE","OMNIUM","DILLER","ARTS","CAMPAIGN","B2B","PEOPLE_COUNTER_KUNDETELLING","COMPENSATION","SWISH","DINTERO","KID","EHF","MYPOWER","BRITANNIA","SOFTPAY","CENTRAL_WAREHOUSE","PROFRAKT","LOYALTY_POINTS","SUBSCRIPTION","POWER_DIRECT","POSTER","PAYMENT_GATEWAY","KLAVIYO","COMPANY_REGISTRY","DIGITAL_PRODUCT"],"title":"ExtensionCodeENUM","type":"string"},"GeneralParameterResponseSchema":{"title":"GeneralParameterResponseSchema","type":"object","required":["key","value","type","allowedValues","validationRegex","name","required"],"properties":{"key":{"type":"string"},"value":{"type":"string"},"type":{"$ref":"#/components/schemas/GeneralParameterTypeENUM"},"allowedValues":{"type":"array","items":{"type":"string"}},"validationRegex":{"type":"string"},"name":{"type":"string"},"required":{"type":"boolean"}}},"GeneralParameterTypeENUM":{"title":"GeneralSettingTypeENUM","type":"string","enum":["STRING","PASSWORD","INTEGER","DECIMAL","BOOL","ENUM"],"description":"| Type | Description |\n|--|--|\n|BOOL | Booleans will be the string `true` or `false` |\n|DECIMAL | Descimal numbers can only have two decimals and is represented as an integer multiplied by 100. Example: 1.2 is will be 120 and 5 will be 500 |\n|ENUM| The enum value should be one of the values listed in `allowedValues` |\n|PASSWORD | Treated the same way as STRING, but indicates to clients that this field should be hidden or masked. Used for tokens and passwords |"},"AvailableExtensionParameterSchema":{"title":"AvailableExtensionParameterSchema","type":"object","required":["key","type","required"],"properties":{"key":{"type":"string"},"type":{"$ref":"#/components/schemas/ExtensionParameterDataTypeENUM"},"required":{"type":"boolean"}}},"ExtensionParameterDataTypeENUM":{"type":"string","title":"ExtensionParameterDataTypeENUM","enum":["STRING","INTEGER","DECIMAL","BOOLEAN","JSON_STRING_ARRAY"],"description":"JSON_STRING_ARRAY must represent a valid json string array."},"Paging":{"description":"totalCount The total number of items in the result set.\n\npageSize The number of items per page.\n\npageNumber The current page in the result set.","properties":{"pageNumber":{"type":"integer"},"pageSize":{"type":"integer"},"totalCount":{"type":"integer"}},"required":["totalCount","pageSize","pageNumber"],"title":"Paging","type":"object"}},"responses":{"TenantExtensionListResponse":{"content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/TenantExtensionResponseSchema"}},"paging":{"$ref":"#/components/schemas/Paging"}},"required":["items","paging"]}}},"description":"Example response"}}},"paths":{"/tenants/{tenantUid}/extensions":{"get":{"description":"List extensions for a tenant\n\nRequired permissions: EXTENSION","operationId":"get-tenants-extensions","parameters":[{"$ref":"#/components/parameters/pageNumberQuery"},{"$ref":"#/components/parameters/pageSizeQuery"},{"$ref":"#/components/parameters/sortByQuery"},{"$ref":"#/components/parameters/sortDirectionQuery"}],"responses":{"200":{"$ref":"#/components/responses/TenantExtensionListResponse"}},"summary":"List extensions for a tenant","tags":["Extensions"]}}}}
```

## Get tenant extension details

> Get details for a tenant extension.

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"tags":[{"name":"Extensions","description":"Extensions"}],"servers":[{"description":"Flow Retail Production","url":"https://api.flowretail.com/v2"},{"description":"Flow Retail Stage","url":"https://api.stage.flowretail.com/v2"}],"security":[{"authToken":[]},{"accessToken":[]}],"components":{"securitySchemes":{"authToken":{"description":"Token received from the auth service","scheme":"bearer","type":"http"},"accessToken":{"description":"Access token recevied after user login with a deviceToken","scheme":"bearer","type":"http"}},"responses":{"TenantExtensionResponse":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TenantExtensionResponseSchema"}}},"description":"Example response"}},"schemas":{"TenantExtensionResponseSchema":{"title":"TenantExtensionResponseSchema","type":"object","description":"TenantExtensionResponseSchema","required":["tenantExtensionUid","name","active","extensionCode","hasStoreExtensionSettings","tenantParameters","statusMessages","availableTenantParameters","availableStoreParameters"],"properties":{"tenantExtensionUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"},"active":{"type":"boolean"},"extensionCode":{"$ref":"#/components/schemas/ExtensionCodeENUM"},"hasStoreExtensionSettings":{"type":"boolean","description":"Indicate if the extension needs to be activated and configured pr store"},"tenantParameters":{"type":"array","items":{"$ref":"#/components/schemas/GeneralParameterResponseSchema"}},"statusMessages":{"type":"array","items":{"type":"string"}},"availableTenantParameters":{"type":"array","deprecated":true,"items":{"$ref":"#/components/schemas/AvailableExtensionParameterSchema"}},"availableStoreParameters":{"type":"array","items":{"$ref":"#/components/schemas/GeneralParameterResponseSchema"}}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"ExtensionCodeENUM":{"enum":["FLOWGIFTCARD","PAYEX_GIFTCARD","ADYEN_POS","PAYEX_POS","VIPPS","EXTERNAL_CUSTOMER_SEARCH","STORE_CREDIT","SMS","STRIPE","NETS","VERIFONE","SERVICE_WORKSHOP","TWO_INVOICE","OMNIUM","DILLER","ARTS","CAMPAIGN","B2B","PEOPLE_COUNTER_KUNDETELLING","COMPENSATION","SWISH","DINTERO","KID","EHF","MYPOWER","BRITANNIA","SOFTPAY","CENTRAL_WAREHOUSE","PROFRAKT","LOYALTY_POINTS","SUBSCRIPTION","POWER_DIRECT","POSTER","PAYMENT_GATEWAY","KLAVIYO","COMPANY_REGISTRY","DIGITAL_PRODUCT"],"title":"ExtensionCodeENUM","type":"string"},"GeneralParameterResponseSchema":{"title":"GeneralParameterResponseSchema","type":"object","required":["key","value","type","allowedValues","validationRegex","name","required"],"properties":{"key":{"type":"string"},"value":{"type":"string"},"type":{"$ref":"#/components/schemas/GeneralParameterTypeENUM"},"allowedValues":{"type":"array","items":{"type":"string"}},"validationRegex":{"type":"string"},"name":{"type":"string"},"required":{"type":"boolean"}}},"GeneralParameterTypeENUM":{"title":"GeneralSettingTypeENUM","type":"string","enum":["STRING","PASSWORD","INTEGER","DECIMAL","BOOL","ENUM"],"description":"| Type | Description |\n|--|--|\n|BOOL | Booleans will be the string `true` or `false` |\n|DECIMAL | Descimal numbers can only have two decimals and is represented as an integer multiplied by 100. Example: 1.2 is will be 120 and 5 will be 500 |\n|ENUM| The enum value should be one of the values listed in `allowedValues` |\n|PASSWORD | Treated the same way as STRING, but indicates to clients that this field should be hidden or masked. Used for tokens and passwords |"},"AvailableExtensionParameterSchema":{"title":"AvailableExtensionParameterSchema","type":"object","required":["key","type","required"],"properties":{"key":{"type":"string"},"type":{"$ref":"#/components/schemas/ExtensionParameterDataTypeENUM"},"required":{"type":"boolean"}}},"ExtensionParameterDataTypeENUM":{"type":"string","title":"ExtensionParameterDataTypeENUM","enum":["STRING","INTEGER","DECIMAL","BOOLEAN","JSON_STRING_ARRAY"],"description":"JSON_STRING_ARRAY must represent a valid json string array."}}},"paths":{"/tenants/{tenantUid}/extensions/{tenantExtensionUid}":{"get":{"description":"Get details for a tenant extension.","operationId":"get-tenants-extension-details","responses":{"200":{"$ref":"#/components/responses/TenantExtensionResponse"}},"summary":"Get tenant extension details","tags":["Extensions"]}}}}
```

## Update tenant extension details

> Update details for a tenant extension.\
> \
> Required permissions: EXTENSION

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"tags":[{"name":"Extensions","description":"Extensions"}],"servers":[{"description":"Flow Retail Production","url":"https://api.flowretail.com/v2"},{"description":"Flow Retail Stage","url":"https://api.stage.flowretail.com/v2"}],"security":[{"authToken":[]}],"components":{"securitySchemes":{"authToken":{"description":"Token received from the auth service","scheme":"bearer","type":"http"}},"requestBodies":{"TenantExtensionUpdateRequest":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TenantExtensionUpdateRequestSchema"}}}}},"schemas":{"TenantExtensionUpdateRequestSchema":{"title":"TenantExtensionUpdateRequestSchema","type":"object","properties":{"name":{"type":"string"},"active":{"type":"boolean"},"tenantParameters":{"type":"array","items":{"$ref":"#/components/schemas/GeneralParameterRequestSchema"}}},"required":["active"]},"GeneralParameterRequestSchema":{"description":"GeneralParameterRequestSchema","title":"GeneralParameterRequestSchema","type":"object","properties":{"key":{"type":"string"},"value":{"type":"string"}},"required":["key","value"]},"TenantExtensionResponseSchema":{"title":"TenantExtensionResponseSchema","type":"object","description":"TenantExtensionResponseSchema","required":["tenantExtensionUid","name","active","extensionCode","hasStoreExtensionSettings","tenantParameters","statusMessages","availableTenantParameters","availableStoreParameters"],"properties":{"tenantExtensionUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"},"active":{"type":"boolean"},"extensionCode":{"$ref":"#/components/schemas/ExtensionCodeENUM"},"hasStoreExtensionSettings":{"type":"boolean","description":"Indicate if the extension needs to be activated and configured pr store"},"tenantParameters":{"type":"array","items":{"$ref":"#/components/schemas/GeneralParameterResponseSchema"}},"statusMessages":{"type":"array","items":{"type":"string"}},"availableTenantParameters":{"type":"array","deprecated":true,"items":{"$ref":"#/components/schemas/AvailableExtensionParameterSchema"}},"availableStoreParameters":{"type":"array","items":{"$ref":"#/components/schemas/GeneralParameterResponseSchema"}}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"ExtensionCodeENUM":{"enum":["FLOWGIFTCARD","PAYEX_GIFTCARD","ADYEN_POS","PAYEX_POS","VIPPS","EXTERNAL_CUSTOMER_SEARCH","STORE_CREDIT","SMS","STRIPE","NETS","VERIFONE","SERVICE_WORKSHOP","TWO_INVOICE","OMNIUM","DILLER","ARTS","CAMPAIGN","B2B","PEOPLE_COUNTER_KUNDETELLING","COMPENSATION","SWISH","DINTERO","KID","EHF","MYPOWER","BRITANNIA","SOFTPAY","CENTRAL_WAREHOUSE","PROFRAKT","LOYALTY_POINTS","SUBSCRIPTION","POWER_DIRECT","POSTER","PAYMENT_GATEWAY","KLAVIYO","COMPANY_REGISTRY","DIGITAL_PRODUCT"],"title":"ExtensionCodeENUM","type":"string"},"GeneralParameterResponseSchema":{"title":"GeneralParameterResponseSchema","type":"object","required":["key","value","type","allowedValues","validationRegex","name","required"],"properties":{"key":{"type":"string"},"value":{"type":"string"},"type":{"$ref":"#/components/schemas/GeneralParameterTypeENUM"},"allowedValues":{"type":"array","items":{"type":"string"}},"validationRegex":{"type":"string"},"name":{"type":"string"},"required":{"type":"boolean"}}},"GeneralParameterTypeENUM":{"title":"GeneralSettingTypeENUM","type":"string","enum":["STRING","PASSWORD","INTEGER","DECIMAL","BOOL","ENUM"],"description":"| Type | Description |\n|--|--|\n|BOOL | Booleans will be the string `true` or `false` |\n|DECIMAL | Descimal numbers can only have two decimals and is represented as an integer multiplied by 100. Example: 1.2 is will be 120 and 5 will be 500 |\n|ENUM| The enum value should be one of the values listed in `allowedValues` |\n|PASSWORD | Treated the same way as STRING, but indicates to clients that this field should be hidden or masked. Used for tokens and passwords |"},"AvailableExtensionParameterSchema":{"title":"AvailableExtensionParameterSchema","type":"object","required":["key","type","required"],"properties":{"key":{"type":"string"},"type":{"$ref":"#/components/schemas/ExtensionParameterDataTypeENUM"},"required":{"type":"boolean"}}},"ExtensionParameterDataTypeENUM":{"type":"string","title":"ExtensionParameterDataTypeENUM","enum":["STRING","INTEGER","DECIMAL","BOOLEAN","JSON_STRING_ARRAY"],"description":"JSON_STRING_ARRAY must represent a valid json string array."}},"responses":{"TenantExtensionResponse":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TenantExtensionResponseSchema"}}},"description":"Example response"}}},"paths":{"/tenants/{tenantUid}/extensions/{tenantExtensionUid}":{"put":{"description":"Update details for a tenant extension.\n\nRequired permissions: EXTENSION","operationId":"put-tenants-extensions-details","requestBody":{"$ref":"#/components/requestBodies/TenantExtensionUpdateRequest"},"responses":{"200":{"$ref":"#/components/responses/TenantExtensionResponse"}},"summary":"Update tenant extension details","tags":["Extensions"]}}}}
```

## Delete a tenant extension

> Deletes a tenant extension.\
> \
> Required permissions: EXTENSION

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"tags":[{"name":"Extensions","description":"Extensions"}],"servers":[{"description":"Flow Retail Production","url":"https://api.flowretail.com/v2"},{"description":"Flow Retail Stage","url":"https://api.stage.flowretail.com/v2"}],"security":[{"authToken":[]}],"components":{"securitySchemes":{"authToken":{"description":"Token received from the auth service","scheme":"bearer","type":"http"}}},"paths":{"/tenants/{tenantUid}/extensions/{tenantExtensionUid}":{"delete":{"description":"Deletes a tenant extension.\n\nRequired permissions: EXTENSION","operationId":"delete-tenants-extention","responses":{"204":{"description":"No Content"}},"summary":"Delete a tenant extension","tags":["Extensions"]}}}}
```

## List store extensions for a tenant extension

> List store extensions for a tenant extension\
> \
> Required permissions: EXTENSION

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"tags":[{"name":"Extensions","description":"Extensions"}],"servers":[{"description":"Flow Retail Production","url":"https://api.flowretail.com/v2"},{"description":"Flow Retail Stage","url":"https://api.stage.flowretail.com/v2"}],"security":[{"authToken":[]},{"accessToken":[]}],"components":{"securitySchemes":{"authToken":{"description":"Token received from the auth service","scheme":"bearer","type":"http"},"accessToken":{"description":"Access token recevied after user login with a deviceToken","scheme":"bearer","type":"http"}},"parameters":{"pageNumberQuery":{"description":"Reference to a specific page in a result set.","in":"query","name":"pageNumber","required":false,"schema":{"type":"integer"}},"pageSizeQuery":{"description":"The number of items per page in a result set.","in":"query","name":"pageSize","required":false,"schema":{"type":"integer"}},"sortByQuery":{"description":"Defines which field the resource list is sorted by.","in":"query","name":"sortBy","required":false,"schema":{"type":"string"}},"sortDirectionQuery":{"description":"Reference to a sort direction","explode":false,"in":"query","name":"sortDirection","schema":{"$ref":"#/components/schemas/SortDirectionENUM"},"style":"form"},"tenantExtensionActiveQuery":{"description":"filter on active status for a store extension.","in":"query","name":"tenantExtensionActiveQuery","required":false,"schema":{"type":"boolean"}},"tenantExtensionStoreNameQuery":{"description":"filter on store name for a store extension","in":"query","name":"tenantExtensionStoreNameQuery","required":false,"schema":{"type":"string"}}},"schemas":{"SortDirectionENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| ASC | Sort in ascending order|\n| DESC | Sort in descending order|\n","enum":["ASC","DESC"],"title":"SortDirectionENUM","type":"string"},"StoreExtensionStoreResponseSchema":{"description":"StoreExtensionStoreResponseSchema","type":"object","title":"StoreExtensionStoreResponseSchema","properties":{"storeExtensionUid":{"$ref":"#/components/schemas/UID"},"active":{"type":"boolean"},"storeUid":{"$ref":"#/components/schemas/UID"},"storeName":{"type":"string"}},"required":["storeExtensionUid","active","storeUid","storeName"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"Paging":{"description":"totalCount The total number of items in the result set.\n\npageSize The number of items per page.\n\npageNumber The current page in the result set.","properties":{"pageNumber":{"type":"integer"},"pageSize":{"type":"integer"},"totalCount":{"type":"integer"}},"required":["totalCount","pageSize","pageNumber"],"title":"Paging","type":"object"}},"responses":{"TenantExtensionStoreListResponse":{"content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/StoreExtensionStoreResponseSchema"}},"paging":{"$ref":"#/components/schemas/Paging"}},"required":["items","paging"]}}},"description":"Example response"}}},"paths":{"/tenants/{tenantUid}/extensions/{tenantExtensionUid}/stores":{"get":{"description":"List store extensions for a tenant extension\n\nRequired permissions: EXTENSION","operationId":"get-tenant-extension-stores","parameters":[{"$ref":"#/components/parameters/pageNumberQuery"},{"$ref":"#/components/parameters/pageSizeQuery"},{"$ref":"#/components/parameters/sortByQuery"},{"$ref":"#/components/parameters/sortDirectionQuery"},{"$ref":"#/components/parameters/tenantExtensionActiveQuery"},{"$ref":"#/components/parameters/tenantExtensionStoreNameQuery"}],"responses":{"200":{"$ref":"#/components/responses/TenantExtensionStoreListResponse"}},"summary":"List store extensions for a tenant extension","tags":["Extensions"]}}}}
```

## List extensions for a store

> List extensions for a store\
> \
> Required permissions: EXTENSION&#x20;

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"tags":[{"name":"Extensions","description":"Extensions"}],"servers":[{"description":"Flow Retail Production","url":"https://api.flowretail.com/v2"},{"description":"Flow Retail Stage","url":"https://api.stage.flowretail.com/v2"}],"security":[{"authToken":[]},{"accessToken":[]}],"components":{"securitySchemes":{"authToken":{"description":"Token received from the auth service","scheme":"bearer","type":"http"},"accessToken":{"description":"Access token recevied after user login with a deviceToken","scheme":"bearer","type":"http"}},"parameters":{"pageNumberQuery":{"description":"Reference to a specific page in a result set.","in":"query","name":"pageNumber","required":false,"schema":{"type":"integer"}},"pageSizeQuery":{"description":"The number of items per page in a result set.","in":"query","name":"pageSize","required":false,"schema":{"type":"integer"}},"sortByQuery":{"description":"Defines which field the resource list is sorted by.","in":"query","name":"sortBy","required":false,"schema":{"type":"string"}},"sortDirectionQuery":{"description":"Reference to a sort direction","explode":false,"in":"query","name":"sortDirection","schema":{"$ref":"#/components/schemas/SortDirectionENUM"},"style":"form"}},"schemas":{"SortDirectionENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| ASC | Sort in ascending order|\n| DESC | Sort in descending order|\n","enum":["ASC","DESC"],"title":"SortDirectionENUM","type":"string"},"StoreExtensionResponseSchema":{"description":"StoreExtensionResponseSchema","title":"StoreExtensionResponseSchema","type":"object","required":["storeExtensionUid","active","storeParameters","tenantExtension","statusMessages","capabilities"],"properties":{"storeExtensionUid":{"$ref":"#/components/schemas/UID"},"active":{"type":"boolean"},"storeParameters":{"type":"array","items":{"$ref":"#/components/schemas/GeneralParameterResponseSchema"}},"tenantExtension":{"$ref":"#/components/schemas/StoreExtensionTenantExtensionResponseSchema"},"statusMessages":{"type":"array","items":{"type":"string"}},"capabilities":{"type":"array","items":{"$ref":"#/components/schemas/ExtensionCapabilityENUM"}}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"GeneralParameterResponseSchema":{"title":"GeneralParameterResponseSchema","type":"object","required":["key","value","type","allowedValues","validationRegex","name","required"],"properties":{"key":{"type":"string"},"value":{"type":"string"},"type":{"$ref":"#/components/schemas/GeneralParameterTypeENUM"},"allowedValues":{"type":"array","items":{"type":"string"}},"validationRegex":{"type":"string"},"name":{"type":"string"},"required":{"type":"boolean"}}},"GeneralParameterTypeENUM":{"title":"GeneralSettingTypeENUM","type":"string","enum":["STRING","PASSWORD","INTEGER","DECIMAL","BOOL","ENUM"],"description":"| Type | Description |\n|--|--|\n|BOOL | Booleans will be the string `true` or `false` |\n|DECIMAL | Descimal numbers can only have two decimals and is represented as an integer multiplied by 100. Example: 1.2 is will be 120 and 5 will be 500 |\n|ENUM| The enum value should be one of the values listed in `allowedValues` |\n|PASSWORD | Treated the same way as STRING, but indicates to clients that this field should be hidden or masked. Used for tokens and passwords |"},"StoreExtensionTenantExtensionResponseSchema":{"description":"StoreExtensionTenantExtensionResponseSchema","type":"object","title":"StoreExtensionTenantExtensionResponseSchema","properties":{"extensionCode":{"$ref":"#/components/schemas/ExtensionCodeENUM"},"active":{"type":"boolean"},"tenantExtensionUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"}},"required":["extensionCode","active","tenantExtensionUid","name"]},"ExtensionCodeENUM":{"enum":["FLOWGIFTCARD","PAYEX_GIFTCARD","ADYEN_POS","PAYEX_POS","VIPPS","EXTERNAL_CUSTOMER_SEARCH","STORE_CREDIT","SMS","STRIPE","NETS","VERIFONE","SERVICE_WORKSHOP","TWO_INVOICE","OMNIUM","DILLER","ARTS","CAMPAIGN","B2B","PEOPLE_COUNTER_KUNDETELLING","COMPENSATION","SWISH","DINTERO","KID","EHF","MYPOWER","BRITANNIA","SOFTPAY","CENTRAL_WAREHOUSE","PROFRAKT","LOYALTY_POINTS","SUBSCRIPTION","POWER_DIRECT","POSTER","PAYMENT_GATEWAY","KLAVIYO","COMPANY_REGISTRY","DIGITAL_PRODUCT"],"title":"ExtensionCodeENUM","type":"string"},"ExtensionCapabilityENUM":{"title":"ExtensionCapabilityENUM","type":"string","enum":["VALIDATE_CREDENTIALS","LIST_PAYMENT_TERMINALS"]},"Paging":{"description":"totalCount The total number of items in the result set.\n\npageSize The number of items per page.\n\npageNumber The current page in the result set.","properties":{"pageNumber":{"type":"integer"},"pageSize":{"type":"integer"},"totalCount":{"type":"integer"}},"required":["totalCount","pageSize","pageNumber"],"title":"Paging","type":"object"}},"responses":{"StoreExtensionListResponse":{"content":{"application/json":{"schema":{"properties":{"items":{"items":{"$ref":"#/components/schemas/StoreExtensionResponseSchema"},"type":"array"},"paging":{"$ref":"#/components/schemas/Paging"}},"required":["items","paging"],"type":"object"}}},"description":"Example response"}}},"paths":{"/tenants/{tenantUid}/stores/{storeUid}/extensions":{"get":{"description":"List extensions for a store\n\nRequired permissions: EXTENSION ","operationId":"get-stores-extensions","parameters":[{"$ref":"#/components/parameters/pageNumberQuery"},{"$ref":"#/components/parameters/pageSizeQuery"},{"$ref":"#/components/parameters/sortByQuery"},{"$ref":"#/components/parameters/sortDirectionQuery"}],"responses":{"200":{"$ref":"#/components/responses/StoreExtensionListResponse"}},"summary":"List extensions for a store","tags":["Extensions"]}}}}
```

## Add a new extension to a store

> Add a new extension to a store\
> \
> Required permissions: EXTENSION&#x20;

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"tags":[{"name":"Extensions","description":"Extensions"}],"servers":[{"description":"Flow Retail Production","url":"https://api.flowretail.com/v2"},{"description":"Flow Retail Stage","url":"https://api.stage.flowretail.com/v2"}],"security":[{"authToken":[]}],"components":{"securitySchemes":{"authToken":{"description":"Token received from the auth service","scheme":"bearer","type":"http"}},"requestBodies":{"StoreExtensionCreateRequest":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StoreExtensionCreateRequestSchema"}}}}},"schemas":{"StoreExtensionCreateRequestSchema":{"title":"StoreExtensionCreateRequestSchema","type":"object","properties":{"active":{"type":"boolean","description":"Activate/Deactivate the extension on the store"},"storeParameters":{"type":"array","description":"A list of store parameters. \nThe valid keys can be found in storeParameterKeys on the tenantExtension.\nIf there are no storeParameterKeys you need to supply an empty list.","items":{"$ref":"#/components/schemas/GeneralParameterRequestSchema"}},"tenantExtensionUid":{"$ref":"#/components/schemas/UID"},"storeExtensionUid":{"$ref":"#/components/schemas/UID"}},"required":["active","storeParameters","tenantExtensionUid"]},"GeneralParameterRequestSchema":{"description":"GeneralParameterRequestSchema","title":"GeneralParameterRequestSchema","type":"object","properties":{"key":{"type":"string"},"value":{"type":"string"}},"required":["key","value"]},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"StoreExtensionResponseSchema":{"description":"StoreExtensionResponseSchema","title":"StoreExtensionResponseSchema","type":"object","required":["storeExtensionUid","active","storeParameters","tenantExtension","statusMessages","capabilities"],"properties":{"storeExtensionUid":{"$ref":"#/components/schemas/UID"},"active":{"type":"boolean"},"storeParameters":{"type":"array","items":{"$ref":"#/components/schemas/GeneralParameterResponseSchema"}},"tenantExtension":{"$ref":"#/components/schemas/StoreExtensionTenantExtensionResponseSchema"},"statusMessages":{"type":"array","items":{"type":"string"}},"capabilities":{"type":"array","items":{"$ref":"#/components/schemas/ExtensionCapabilityENUM"}}}},"GeneralParameterResponseSchema":{"title":"GeneralParameterResponseSchema","type":"object","required":["key","value","type","allowedValues","validationRegex","name","required"],"properties":{"key":{"type":"string"},"value":{"type":"string"},"type":{"$ref":"#/components/schemas/GeneralParameterTypeENUM"},"allowedValues":{"type":"array","items":{"type":"string"}},"validationRegex":{"type":"string"},"name":{"type":"string"},"required":{"type":"boolean"}}},"GeneralParameterTypeENUM":{"title":"GeneralSettingTypeENUM","type":"string","enum":["STRING","PASSWORD","INTEGER","DECIMAL","BOOL","ENUM"],"description":"| Type | Description |\n|--|--|\n|BOOL | Booleans will be the string `true` or `false` |\n|DECIMAL | Descimal numbers can only have two decimals and is represented as an integer multiplied by 100. Example: 1.2 is will be 120 and 5 will be 500 |\n|ENUM| The enum value should be one of the values listed in `allowedValues` |\n|PASSWORD | Treated the same way as STRING, but indicates to clients that this field should be hidden or masked. Used for tokens and passwords |"},"StoreExtensionTenantExtensionResponseSchema":{"description":"StoreExtensionTenantExtensionResponseSchema","type":"object","title":"StoreExtensionTenantExtensionResponseSchema","properties":{"extensionCode":{"$ref":"#/components/schemas/ExtensionCodeENUM"},"active":{"type":"boolean"},"tenantExtensionUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"}},"required":["extensionCode","active","tenantExtensionUid","name"]},"ExtensionCodeENUM":{"enum":["FLOWGIFTCARD","PAYEX_GIFTCARD","ADYEN_POS","PAYEX_POS","VIPPS","EXTERNAL_CUSTOMER_SEARCH","STORE_CREDIT","SMS","STRIPE","NETS","VERIFONE","SERVICE_WORKSHOP","TWO_INVOICE","OMNIUM","DILLER","ARTS","CAMPAIGN","B2B","PEOPLE_COUNTER_KUNDETELLING","COMPENSATION","SWISH","DINTERO","KID","EHF","MYPOWER","BRITANNIA","SOFTPAY","CENTRAL_WAREHOUSE","PROFRAKT","LOYALTY_POINTS","SUBSCRIPTION","POWER_DIRECT","POSTER","PAYMENT_GATEWAY","KLAVIYO","COMPANY_REGISTRY","DIGITAL_PRODUCT"],"title":"ExtensionCodeENUM","type":"string"},"ExtensionCapabilityENUM":{"title":"ExtensionCapabilityENUM","type":"string","enum":["VALIDATE_CREDENTIALS","LIST_PAYMENT_TERMINALS"]}},"responses":{"StoreExtensionResponse":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StoreExtensionResponseSchema"}}},"description":"Example response"}}},"paths":{"/tenants/{tenantUid}/stores/{storeUid}/extensions":{"post":{"description":"Add a new extension to a store\n\nRequired permissions: EXTENSION ","operationId":"post-stores-extensions","requestBody":{"$ref":"#/components/requestBodies/StoreExtensionCreateRequest"},"responses":{"201":{"$ref":"#/components/responses/StoreExtensionResponse"}},"summary":"Add a new extension to a store","tags":["Extensions"]}}}}
```

## Get store extension details

> Get details for a store extension.\
> \
> Required permissions: EXTENSION&#x20;

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"tags":[{"name":"Extensions","description":"Extensions"}],"servers":[{"description":"Flow Retail Production","url":"https://api.flowretail.com/v2"},{"description":"Flow Retail Stage","url":"https://api.stage.flowretail.com/v2"}],"security":[{"authToken":[]},{"accessToken":[]}],"components":{"securitySchemes":{"authToken":{"description":"Token received from the auth service","scheme":"bearer","type":"http"},"accessToken":{"description":"Access token recevied after user login with a deviceToken","scheme":"bearer","type":"http"}},"responses":{"StoreExtensionResponse":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StoreExtensionResponseSchema"}}},"description":"Example response"}},"schemas":{"StoreExtensionResponseSchema":{"description":"StoreExtensionResponseSchema","title":"StoreExtensionResponseSchema","type":"object","required":["storeExtensionUid","active","storeParameters","tenantExtension","statusMessages","capabilities"],"properties":{"storeExtensionUid":{"$ref":"#/components/schemas/UID"},"active":{"type":"boolean"},"storeParameters":{"type":"array","items":{"$ref":"#/components/schemas/GeneralParameterResponseSchema"}},"tenantExtension":{"$ref":"#/components/schemas/StoreExtensionTenantExtensionResponseSchema"},"statusMessages":{"type":"array","items":{"type":"string"}},"capabilities":{"type":"array","items":{"$ref":"#/components/schemas/ExtensionCapabilityENUM"}}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"GeneralParameterResponseSchema":{"title":"GeneralParameterResponseSchema","type":"object","required":["key","value","type","allowedValues","validationRegex","name","required"],"properties":{"key":{"type":"string"},"value":{"type":"string"},"type":{"$ref":"#/components/schemas/GeneralParameterTypeENUM"},"allowedValues":{"type":"array","items":{"type":"string"}},"validationRegex":{"type":"string"},"name":{"type":"string"},"required":{"type":"boolean"}}},"GeneralParameterTypeENUM":{"title":"GeneralSettingTypeENUM","type":"string","enum":["STRING","PASSWORD","INTEGER","DECIMAL","BOOL","ENUM"],"description":"| Type | Description |\n|--|--|\n|BOOL | Booleans will be the string `true` or `false` |\n|DECIMAL | Descimal numbers can only have two decimals and is represented as an integer multiplied by 100. Example: 1.2 is will be 120 and 5 will be 500 |\n|ENUM| The enum value should be one of the values listed in `allowedValues` |\n|PASSWORD | Treated the same way as STRING, but indicates to clients that this field should be hidden or masked. Used for tokens and passwords |"},"StoreExtensionTenantExtensionResponseSchema":{"description":"StoreExtensionTenantExtensionResponseSchema","type":"object","title":"StoreExtensionTenantExtensionResponseSchema","properties":{"extensionCode":{"$ref":"#/components/schemas/ExtensionCodeENUM"},"active":{"type":"boolean"},"tenantExtensionUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"}},"required":["extensionCode","active","tenantExtensionUid","name"]},"ExtensionCodeENUM":{"enum":["FLOWGIFTCARD","PAYEX_GIFTCARD","ADYEN_POS","PAYEX_POS","VIPPS","EXTERNAL_CUSTOMER_SEARCH","STORE_CREDIT","SMS","STRIPE","NETS","VERIFONE","SERVICE_WORKSHOP","TWO_INVOICE","OMNIUM","DILLER","ARTS","CAMPAIGN","B2B","PEOPLE_COUNTER_KUNDETELLING","COMPENSATION","SWISH","DINTERO","KID","EHF","MYPOWER","BRITANNIA","SOFTPAY","CENTRAL_WAREHOUSE","PROFRAKT","LOYALTY_POINTS","SUBSCRIPTION","POWER_DIRECT","POSTER","PAYMENT_GATEWAY","KLAVIYO","COMPANY_REGISTRY","DIGITAL_PRODUCT"],"title":"ExtensionCodeENUM","type":"string"},"ExtensionCapabilityENUM":{"title":"ExtensionCapabilityENUM","type":"string","enum":["VALIDATE_CREDENTIALS","LIST_PAYMENT_TERMINALS"]}}},"paths":{"/tenants/{tenantUid}/stores/{storeUid}/extensions/{storeExtensionUid}":{"get":{"description":"Get details for a store extension.\n\nRequired permissions: EXTENSION ","operationId":"get-stores-extensions-details","responses":{"200":{"$ref":"#/components/responses/StoreExtensionResponse"}},"summary":"Get store extension details","tags":["Extensions"]}}}}
```

## Update store extension details

> Update details for a store extension\
> \
> Required permissions: EXTENSION&#x20;

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"tags":[{"name":"Extensions","description":"Extensions"}],"servers":[{"description":"Flow Retail Production","url":"https://api.flowretail.com/v2"},{"description":"Flow Retail Stage","url":"https://api.stage.flowretail.com/v2"}],"security":[{"authToken":[]}],"components":{"securitySchemes":{"authToken":{"description":"Token received from the auth service","scheme":"bearer","type":"http"}},"requestBodies":{"StoreExtensionUpdateRequest":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StoreExtensionUpdateRequestSchema"}}}}},"schemas":{"StoreExtensionUpdateRequestSchema":{"title":"StoreExtensionUpdateRequestSchema","type":"object","properties":{"active":{"type":"boolean","description":"Activate/Deactivate the extension on the store"},"storeParameters":{"type":"array","description":"A list of store parameters. \nThe valid keys can be found in storeParameterKeys on the tenantExtension.\nIf there are no storeParameterKeys you need to supply an empty list.","items":{"$ref":"#/components/schemas/GeneralParameterRequestSchema"}}},"required":["active","storeParameters"]},"GeneralParameterRequestSchema":{"description":"GeneralParameterRequestSchema","title":"GeneralParameterRequestSchema","type":"object","properties":{"key":{"type":"string"},"value":{"type":"string"}},"required":["key","value"]},"StoreExtensionResponseSchema":{"description":"StoreExtensionResponseSchema","title":"StoreExtensionResponseSchema","type":"object","required":["storeExtensionUid","active","storeParameters","tenantExtension","statusMessages","capabilities"],"properties":{"storeExtensionUid":{"$ref":"#/components/schemas/UID"},"active":{"type":"boolean"},"storeParameters":{"type":"array","items":{"$ref":"#/components/schemas/GeneralParameterResponseSchema"}},"tenantExtension":{"$ref":"#/components/schemas/StoreExtensionTenantExtensionResponseSchema"},"statusMessages":{"type":"array","items":{"type":"string"}},"capabilities":{"type":"array","items":{"$ref":"#/components/schemas/ExtensionCapabilityENUM"}}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"GeneralParameterResponseSchema":{"title":"GeneralParameterResponseSchema","type":"object","required":["key","value","type","allowedValues","validationRegex","name","required"],"properties":{"key":{"type":"string"},"value":{"type":"string"},"type":{"$ref":"#/components/schemas/GeneralParameterTypeENUM"},"allowedValues":{"type":"array","items":{"type":"string"}},"validationRegex":{"type":"string"},"name":{"type":"string"},"required":{"type":"boolean"}}},"GeneralParameterTypeENUM":{"title":"GeneralSettingTypeENUM","type":"string","enum":["STRING","PASSWORD","INTEGER","DECIMAL","BOOL","ENUM"],"description":"| Type | Description |\n|--|--|\n|BOOL | Booleans will be the string `true` or `false` |\n|DECIMAL | Descimal numbers can only have two decimals and is represented as an integer multiplied by 100. Example: 1.2 is will be 120 and 5 will be 500 |\n|ENUM| The enum value should be one of the values listed in `allowedValues` |\n|PASSWORD | Treated the same way as STRING, but indicates to clients that this field should be hidden or masked. Used for tokens and passwords |"},"StoreExtensionTenantExtensionResponseSchema":{"description":"StoreExtensionTenantExtensionResponseSchema","type":"object","title":"StoreExtensionTenantExtensionResponseSchema","properties":{"extensionCode":{"$ref":"#/components/schemas/ExtensionCodeENUM"},"active":{"type":"boolean"},"tenantExtensionUid":{"$ref":"#/components/schemas/UID"},"name":{"type":"string"}},"required":["extensionCode","active","tenantExtensionUid","name"]},"ExtensionCodeENUM":{"enum":["FLOWGIFTCARD","PAYEX_GIFTCARD","ADYEN_POS","PAYEX_POS","VIPPS","EXTERNAL_CUSTOMER_SEARCH","STORE_CREDIT","SMS","STRIPE","NETS","VERIFONE","SERVICE_WORKSHOP","TWO_INVOICE","OMNIUM","DILLER","ARTS","CAMPAIGN","B2B","PEOPLE_COUNTER_KUNDETELLING","COMPENSATION","SWISH","DINTERO","KID","EHF","MYPOWER","BRITANNIA","SOFTPAY","CENTRAL_WAREHOUSE","PROFRAKT","LOYALTY_POINTS","SUBSCRIPTION","POWER_DIRECT","POSTER","PAYMENT_GATEWAY","KLAVIYO","COMPANY_REGISTRY","DIGITAL_PRODUCT"],"title":"ExtensionCodeENUM","type":"string"},"ExtensionCapabilityENUM":{"title":"ExtensionCapabilityENUM","type":"string","enum":["VALIDATE_CREDENTIALS","LIST_PAYMENT_TERMINALS"]}},"responses":{"StoreExtensionResponse":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StoreExtensionResponseSchema"}}},"description":"Example response"}}},"paths":{"/tenants/{tenantUid}/stores/{storeUid}/extensions/{storeExtensionUid}":{"put":{"description":"Update details for a store extension\n\nRequired permissions: EXTENSION ","operationId":"put-stores-extensions-details","requestBody":{"$ref":"#/components/requestBodies/StoreExtensionUpdateRequest"},"responses":{"200":{"$ref":"#/components/responses/StoreExtensionResponse"}},"summary":"Update store extension details","tags":["Extensions"]}}}}
```

## Delete a store extension

> Deletes a store extension.\
> \
> Required permissions: EXTENSION&#x20;

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"tags":[{"name":"Extensions","description":"Extensions"}],"servers":[{"description":"Flow Retail Production","url":"https://api.flowretail.com/v2"},{"description":"Flow Retail Stage","url":"https://api.stage.flowretail.com/v2"}],"security":[{"authToken":[]}],"components":{"securitySchemes":{"authToken":{"description":"Token received from the auth service","scheme":"bearer","type":"http"}}},"paths":{"/tenants/{tenantUid}/stores/{storeUid}/extensions/{storeExtensionUid}":{"delete":{"description":"Deletes a store extension.\n\nRequired permissions: EXTENSION ","operationId":"delete-stores-extensions","responses":{"204":{"description":"No Content"}},"summary":"Delete a store extension","tags":["Extensions"]}}}}
```

## Validate store extension credentials

> Validates that the store extension's saved credentials are correct by calling the underlying provider.\
> \
> Required permissions: EXTENSION

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"tags":[{"name":"Extensions","description":"Extensions"}],"servers":[{"description":"Flow Retail Production","url":"https://api.flowretail.com/v2"},{"description":"Flow Retail Stage","url":"https://api.stage.flowretail.com/v2"}],"security":[{"authToken":[]}],"components":{"securitySchemes":{"authToken":{"description":"Token received from the auth service","scheme":"bearer","type":"http"}}},"paths":{"/tenants/{tenantUid}/stores/{storeUid}/extensions/{storeExtensionUid}/validate-credentials":{"post":{"description":"Validates that the store extension's saved credentials are correct by calling the underlying provider.\n\nRequired permissions: EXTENSION","operationId":"post-stores-extensions-validate-credentials","responses":{"204":{"description":"Credentials are valid"}},"summary":"Validate store extension credentials","tags":["Extensions"]}}}}
```

## List payment terminals for a store extension

> Lists payment terminals available through the store extension.\
> \
> Required permissions: EXTENSION,TILL

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"tags":[{"name":"Extensions","description":"Extensions"}],"servers":[{"description":"Flow Retail Production","url":"https://api.flowretail.com/v2"},{"description":"Flow Retail Stage","url":"https://api.stage.flowretail.com/v2"}],"security":[{"authToken":[]},{"accessToken":[]}],"components":{"securitySchemes":{"authToken":{"description":"Token received from the auth service","scheme":"bearer","type":"http"},"accessToken":{"description":"Access token recevied after user login with a deviceToken","scheme":"bearer","type":"http"}},"schemas":{"PaymentTerminal":{"title":"PaymentTerminal","type":"object","required":["id"],"properties":{"id":{"type":"string"}}}}},"paths":{"/tenants/{tenantUid}/stores/{storeUid}/extensions/{storeExtensionUid}/payment-terminals":{"get":{"description":"Lists payment terminals available through the store extension.\n\nRequired permissions: EXTENSION,TILL","operationId":"get-stores-extensions-payment-terminals","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/PaymentTerminal"}}}}}}}},"summary":"List payment terminals for a store extension","tags":["Extensions"]}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.flowretail.com/api/extensions.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
