# Public Endpoints

## GET /public/contact-form

> Get a public form by id

```json
{"openapi":"3.0.0","info":{"title":"Partners","version":"1.0.0"},"servers":[{"url":"https://api.fullwhere.com"}],"paths":{"/public/contact-form":{"get":{"operationId":"PublicController_getPublicContactForm","parameters":[{"name":"lang","required":false,"in":"query","description":"Optional translation language","schema":{"$ref":"#/components/schemas/FullwhereLanguage"}},{"name":"id","required":true,"in":"query","description":"Contact form ID to retrieve","schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicContactForm"}}}}},"summary":"Get a public form by id","tags":["Public Endpoints"]}}},"components":{"schemas":{"FullwhereLanguage":{"type":"string","enum":["af","sq","am","ar","hy","as","az","ba","eu","be","bn","bs","br","bg","my","ca","ceb","ny","zh","zh-TW","co","hr","cs","da","dv","nl","en","eo","et","fo","tl","fi","fr","fy","gl","ka","de","el","kl","gu","ht","ha","haw","he","hi","hmn","hu","is","ig","ilo","id","iu","ga","it","ja","jv","kn","kk","km","rw","ko","ku","ky","lo","la","lv","lt","lb","mk","mg","ms","ml","mt","mi","mr","arn","mn","moh","ne","no","oc","or","ps","fa","pl","pt","pa","qu","ro","ru","sm","gd","sr","st","sn","sd","si","sk","sl","so","es","su","sw","sv","tg","ta","tt","te","th","bo","tr","tk","uk","ur","ug","uz","vi","cy","xh","yi","yo","zu"],"description":"Language used to generate review responses"},"PublicContactForm":{"type":"object","properties":{"id":{"type":"string"},"language":{"allOf":[{"$ref":"#/components/schemas/FullwhereLanguage"}]},"enabled":{"type":"boolean"},"autoTranslate":{"type":"boolean"},"generalStyle":{"$ref":"#/components/schemas/FormGeneralStyleEmbeddable"},"header":{"$ref":"#/components/schemas/PublicFormHeader"},"body":{"$ref":"#/components/schemas/PublicFormBody"},"footer":{"$ref":"#/components/schemas/PublicFormFooter"},"submission":{"$ref":"#/components/schemas/PublicFormSubmission"},"externalLink":{"$ref":"#/components/schemas/FormExternalLinkEmbeddable"},"logo":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/PublicFileEmbeddable"}]},"footerLogo":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/PublicFileEmbeddable"}]},"cover":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/PublicFileEmbeddable"}]},"submissionImage":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/PublicFileEmbeddable"}]},"storeList":{"type":"array","items":{"$ref":"#/components/schemas/PublicFormZone"}},"brandName":{"type":"string","description":"List of brand names associated with the contact form."},"fields":{"description":"@inheritdoc","type":"array","items":{"$ref":"#/components/schemas/PublicContactFormField"}},"fieldGroups":{"description":"@inheritdoc","type":"array","items":{"$ref":"#/components/schemas/PublicContactFormFieldGroup"}},"fieldDependencies":{"description":"@inheritdoc","type":"array","items":{"$ref":"#/components/schemas/PublicContactFormFieldDependency"}}},"required":["id","language","enabled","autoTranslate","generalStyle","header","body","footer","submission","externalLink","logo","footerLogo","cover","submissionImage","storeList","brandName","fields","fieldGroups","fieldDependencies"]},"FormGeneralStyleEmbeddable":{"type":"object","properties":{"fieldRadius":{"description":"The border radius style for input fields.","allOf":[{"$ref":"#/components/schemas/FormFieldRadiusStyle"}]},"buttonRadius":{"description":"The border radius style for the button.","allOf":[{"$ref":"#/components/schemas/FormFieldRadiusStyle"}]},"font":{"description":"The font settings for the form.","allOf":[{"$ref":"#/components/schemas/FontEmbeddable"}]},"titleColor":{"type":"string","description":"The color of the form title text."},"subtitleColor":{"type":"string","description":"The color of the form subtitle text."},"groupColor":{"type":"string","description":"The color used for group headers or sections."},"textColor":{"type":"string","description":"The main text color for the form."},"accentColor":{"type":"string","description":"The accent color used for highlights or important elements."},"dividerColor":{"type":"string","description":"The color of dividers between sections or fields."},"backgroundColor":{"type":"string","description":"The background color of the form."},"labelColor":{"type":"string","description":"The color of input field labels."},"placeholderColor":{"type":"string","description":"The color of input field placeholder text."},"fieldBackgroundColor":{"type":"string","description":"The background color of input fields."},"fieldBorderColor":{"type":"string","description":"The border color of input fields."},"buttonTextColor":{"type":"string","description":"The color of the button text."},"buttonBackgroundColor":{"type":"string","description":"The background color of the button."},"buttonBorderColor":{"type":"string","description":"The border color of the button."},"logoPosition":{"type":"number","description":"The position of the logo image in the form."},"coverImagePosition":{"type":"number","description":"The position of the cover image in the form."},"submissionImagePosition":{"type":"number","description":"The position of the submission image in the form."},"fieldOptionColor":{"type":"string","description":"The color of the field options."}},"required":["fieldRadius","buttonRadius","font","titleColor","subtitleColor","groupColor","textColor","accentColor","dividerColor","backgroundColor","labelColor","placeholderColor","fieldBackgroundColor","fieldBorderColor","buttonTextColor","buttonBackgroundColor","buttonBorderColor","logoPosition","coverImagePosition","submissionImagePosition","fieldOptionColor"]},"FormFieldRadiusStyle":{"type":"string","enum":["SHARP","ROUNDED","PILL"],"description":"The border radius style for input fields."},"FontEmbeddable":{"type":"object","properties":{"name":{"type":"string","description":"The name of the font"},"url":{"type":"string","description":"The URL of the font"}},"required":["name","url"]},"PublicFormHeader":{"type":"object","properties":{"title":{"type":"string"},"subtitle":{"type":"string","nullable":true}},"required":["title","subtitle"]},"PublicFormBody":{"type":"object","properties":{"buttonText":{"type":"string"}},"required":["buttonText"]},"PublicFormFooter":{"type":"object","properties":{"title":{"type":"string","nullable":true},"text":{"type":"string","nullable":true},"textColor":{"type":"string"},"iconColor":{"type":"string","nullable":true},"backgroundColor":{"type":"string"},"display":{"type":"boolean"},"displayLogo":{"type":"boolean"},"imagePosition":{"type":"number","nullable":true}},"required":["title","text","textColor","iconColor","backgroundColor","display","displayLogo","imagePosition"]},"PublicFormSubmission":{"type":"object","properties":{"title":{"type":"string"},"subtitle":{"type":"string","nullable":true},"titleColor":{"type":"string"},"subtitleColor":{"type":"string"}},"required":["title","subtitle","titleColor","subtitleColor"]},"FormExternalLinkEmbeddable":{"type":"object","properties":{"website":{"type":"string","nullable":true,"description":"The website URL associated with the form.","default":null},"twitter":{"type":"string","nullable":true,"description":"The Twitter profile URL associated with the form.","default":null},"facebook":{"type":"string","nullable":true,"description":"The Facebook profile URL associated with the form.","default":null},"instagram":{"type":"string","nullable":true,"description":"The Instagram profile URL associated with the form.","default":null},"linkedin":{"type":"string","nullable":true,"description":"The LinkedIn profile URL associated with the form.","default":null}},"required":["website","twitter","facebook","instagram","linkedin"]},"PublicFileEmbeddable":{"type":"object","properties":{"size":{"type":"number","description":"File size.","nullable":true},"width":{"type":"number","description":"Image width (only for images).","nullable":true},"height":{"type":"number","description":"Image height (only for images).","nullable":true},"originalname":{"type":"string","description":"Original file name.","nullable":true},"sourceUrl":{"type":"string","nullable":true},"externalId":{"type":"string","description":"External ID from the source system (e.g. message ID from which the file was downloaded).","nullable":true},"key":{"type":"string","description":"AWS S3 bucket key."},"contentType":{"type":"string","description":"File content type (Mime)."},"url":{"type":"string","description":"File access url."}},"required":["key","contentType","url"]},"PublicFormZone":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"color":{"type":"string"}},"required":["id","name"]},"PublicContactFormField":{"type":"object","properties":{"id":{"type":"string"},"key":{"type":"string"},"type":{"description":"@inheritdoc","allOf":[{"$ref":"#/components/schemas/ContactFormFieldType"}]},"required":{"type":"boolean"},"verticalIndex":{"type":"number","nullable":true},"horizontalIndex":{"type":"number","nullable":true},"allowMaxReplies":{"type":"boolean"},"allowMinReplies":{"type":"boolean"},"minReplies":{"type":"number"},"maxReplies":{"type":"number"},"values":{"nullable":true,"type":"array","items":{"type":"string"}},"allowCustomValue":{"type":"boolean"},"operator":{"allOf":[{"$ref":"#/components/schemas/FormFieldLogicalOperator"}]},"label":{"type":"string"},"placeholder":{"type":"string","nullable":true},"group":{"type":"string","nullable":true},"translatedValues":{"type":"array","items":{"type":"string"}},"dependencies":{"description":"@inheritdoc","default":[],"type":"array","items":{"$ref":"#/components/schemas/PublicContactFormFieldDependency"}},"dependencyOf":{"description":"@inheritdoc","default":[],"type":"array","items":{"$ref":"#/components/schemas/PublicContactFormFieldDependency"}}},"required":["id","key","type","required","verticalIndex","horizontalIndex","allowMaxReplies","allowMinReplies","minReplies","maxReplies","values","allowCustomValue","operator","label","placeholder","group","translatedValues","dependencies","dependencyOf"]},"ContactFormFieldType":{"type":"string","enum":["TEXT","DROPDOWN","RADIO","CHECKBOX","FILES","DATE","STORE","FIRSTNAME","LASTNAME","CIVILITY","EMAIL","PHONE","PURCHASE","MAIN"],"description":"Contact form field type"},"FormFieldLogicalOperator":{"type":"string","enum":["$and","$or"],"description":"The operator to use for the dependency values"},"PublicContactFormFieldDependency":{"type":"object","properties":{"id":{"type":"string"},"field":{"type":"string"},"dependsOnField":{"type":"string"},"operator":{"type":"string"},"dependsOnFieldValues":{"type":"array","items":{"$ref":"#/components/schemas/FormDependencyValuesEmbeddable"}}},"required":["id","field","dependsOnField","operator","dependsOnFieldValues"]},"FormDependencyValuesEmbeddable":{"type":"object","properties":{"operator":{"description":"The operator to use for the dependency values","allOf":[{"$ref":"#/components/schemas/FormFieldComparisonOperator"}]},"value":{"type":"string","description":"The values to use for the dependency"}},"required":["operator","value"]},"FormFieldComparisonOperator":{"type":"string","enum":["$eq","$ne","$gt","$gte","$lt","$lte"],"description":"The operator to use for the dependency values"},"PublicContactFormFieldGroup":{"type":"object","properties":{"id":{"type":"string"},"key":{"type":"string"},"name":{"type":"string"},"verticalIndex":{"type":"number","nullable":true}},"required":["id","key","name","verticalIndex"]}}}}
```

## POST /public/contact-form/submit

> Submit completed form

```json
{"openapi":"3.0.0","info":{"title":"Partners","version":"1.0.0"},"servers":[{"url":"https://api.fullwhere.com"}],"paths":{"/public/contact-form/submit":{"post":{"operationId":"PublicController_submitContactForm","parameters":[],"requestBody":{"required":true,"description":"Submit a contact form with multiple attachments","content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/SubmitContactFormDto"}}}},"responses":{"201":{"description":""}},"summary":"Submit completed form","tags":["Public Endpoints"]}}},"components":{"schemas":{"SubmitContactFormDto":{"type":"object","properties":{"store":{"type":"string","description":"Store identifier to associate","format":"uuid"},"fields":{"description":"List of fields to submit","minItems":1,"type":"array","items":{"$ref":"#/components/schemas/SubmitContactFormFieldDto"}},"id":{"type":"string","description":"Target ID","format":"uuid"}},"required":["fields","id"]},"SubmitContactFormFieldDto":{"type":"object","properties":{"id":{"type":"string","description":"Target ID","format":"uuid"},"values":{"description":"Values to submit for the field. When using 'STORE' fields, ensure the value sent as values is the location's unique identifier (UUID) rather than its display name.","minItems":1,"type":"array","items":{"type":"string","maxLength":5000}}},"required":["id","values"]}}}}
```

## GET /public/survey

> Get public survey form data

```json
{"openapi":"3.0.0","info":{"title":"Partners","version":"1.0.0"},"servers":[{"url":"https://api.fullwhere.com"}],"paths":{"/public/survey":{"get":{"operationId":"PublicController_getPublicSurvey","parameters":[{"name":"tracker","required":false,"in":"query","description":"Optional survey tracker ID to associate","schema":{"format":"uuid","type":"string"}},{"name":"store","required":false,"in":"query","description":"Optional store ID to associate","schema":{"format":"uuid","type":"string"}},{"name":"brand","required":false,"in":"query","description":"Optional brand ID to associate","schema":{"format":"uuid","type":"string"}},{"name":"lang","required":false,"in":"query","description":"Optional translation language","schema":{"$ref":"#/components/schemas/FullwhereLanguage"}},{"name":"survey","required":true,"in":"query","description":"Survey ID to retrieve","schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicSurvey"}}}}},"summary":"Get public survey form data","tags":["Public Endpoints"]}}},"components":{"schemas":{"FullwhereLanguage":{"type":"string","enum":["af","sq","am","ar","hy","as","az","ba","eu","be","bn","bs","br","bg","my","ca","ceb","ny","zh","zh-TW","co","hr","cs","da","dv","nl","en","eo","et","fo","tl","fi","fr","fy","gl","ka","de","el","kl","gu","ht","ha","haw","he","hi","hmn","hu","is","ig","ilo","id","iu","ga","it","ja","jv","kn","kk","km","rw","ko","ku","ky","lo","la","lv","lt","lb","mk","mg","ms","ml","mt","mi","mr","arn","mn","moh","ne","no","oc","or","ps","fa","pl","pt","pa","qu","ro","ru","sm","gd","sr","st","sn","sd","si","sk","sl","so","es","su","sw","sv","tg","ta","tt","te","th","bo","tr","tk","uk","ur","ug","uz","vi","cy","xh","yi","yo","zu"],"description":"Language used to generate review responses"},"PublicSurvey":{"type":"object","properties":{"id":{"type":"string"},"language":{"allOf":[{"$ref":"#/components/schemas/FullwhereLanguage"}]},"enabled":{"type":"boolean"},"autoTranslate":{"type":"boolean"},"generalStyle":{"description":"@inheritdoc","allOf":[{"$ref":"#/components/schemas/SurveyGeneralStyleEmbeddable"}]},"header":{"$ref":"#/components/schemas/PublicFormHeader"},"body":{"$ref":"#/components/schemas/PublicFormBody"},"footer":{"$ref":"#/components/schemas/PublicFormFooter"},"submission":{"$ref":"#/components/schemas/PublicFormSubmission"},"externalLink":{"$ref":"#/components/schemas/FormExternalLinkEmbeddable"},"logo":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/PublicFileEmbeddable"}]},"footerLogo":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/PublicFileEmbeddable"}]},"cover":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/PublicFileEmbeddable"}]},"submissionImage":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/PublicFileEmbeddable"}]},"storeList":{"type":"array","items":{"$ref":"#/components/schemas/PublicFormZone"}},"fields":{"description":"@inheritdoc","type":"array","items":{"$ref":"#/components/schemas/PublicSurveyField"}},"fieldGroups":{"description":"@inheritdoc","type":"array","items":{"$ref":"#/components/schemas/PublicSurveyFieldGroup"}},"fieldDependencies":{"description":"@inheritdoc","type":"array","items":{"$ref":"#/components/schemas/PublicSurveyFieldDependency"}},"preRedirect":{"type":"boolean","description":"@inheritdoc"},"preRedirectConfig":{"description":"Pre-redirect configuration for the survey\nThis configuration is used to display a form before redirecting to the external link if needed","allOf":[{"$ref":"#/components/schemas/PublicSurveyPreRedirectFormConfig"}]},"externalUrl":{"type":"string","nullable":true,"description":"External url to redirect to on pre-redirect"},"sendMode":{"description":"Channel used to send the survey","allOf":[{"$ref":"#/components/schemas/SurveySendingType"}]},"store":{"nullable":true,"description":"Basic zone display configuration for the store","allOf":[{"$ref":"#/components/schemas/PublicFormZone"}]},"brand":{"nullable":true,"description":"Basic zone display configuration for the brand","allOf":[{"$ref":"#/components/schemas/PublicFormZone"}]},"order":{"type":"string","description":"External id of the purchase targeted by the survey\nThis is used to identify the purchase in the external system"},"emailLogo":{"nullable":true,"description":"Email logo image","default":null,"allOf":[{"$ref":"#/components/schemas/PartnerPublicFile"}]},"emailCover":{"nullable":true,"description":"Email cover image","default":null,"allOf":[{"$ref":"#/components/schemas/PartnerPublicFile"}]}},"required":["id","language","enabled","autoTranslate","generalStyle","header","body","footer","submission","externalLink","logo","footerLogo","cover","submissionImage","storeList","fields","fieldGroups","fieldDependencies","preRedirect","emailLogo","emailCover"]},"SurveyGeneralStyleEmbeddable":{"type":"object","properties":{"fieldRadius":{"description":"The border radius style for input fields.","allOf":[{"$ref":"#/components/schemas/FormFieldRadiusStyle"}]},"buttonRadius":{"description":"The border radius style for the button.","allOf":[{"$ref":"#/components/schemas/FormFieldRadiusStyle"}]},"zoneColor":{"type":"string","description":"Form zone color."},"starBackgroundColor":{"type":"string","description":"Form star background color."},"starBorderColor":{"type":"string","description":"Form star border color."},"cardBorderColor":{"type":"string","description":"Card border color."},"cardBackgroundColor":{"type":"string","description":"Card background color."},"cardBorderRadius":{"description":"Card border radius style.\n@dev this must never be PILL","allOf":[{"$ref":"#/components/schemas/FormFieldRadiusStyle"}]},"font":{"description":"The font settings for the form.","allOf":[{"$ref":"#/components/schemas/FontEmbeddable"}]},"titleColor":{"type":"string","description":"The color of the form title text."},"subtitleColor":{"type":"string","description":"The color of the form subtitle text."},"groupColor":{"type":"string","description":"The color used for group headers or sections."},"textColor":{"type":"string","description":"The main text color for the form."},"accentColor":{"type":"string","description":"The accent color used for highlights or important elements."},"dividerColor":{"type":"string","description":"The color of dividers between sections or fields."},"backgroundColor":{"type":"string","description":"The background color of the form."},"labelColor":{"type":"string","description":"The color of input field labels."},"placeholderColor":{"type":"string","description":"The color of input field placeholder text."},"fieldBackgroundColor":{"type":"string","description":"The background color of input fields."},"fieldBorderColor":{"type":"string","description":"The border color of input fields."},"buttonTextColor":{"type":"string","description":"The color of the button text."},"buttonBackgroundColor":{"type":"string","description":"The background color of the button."},"buttonBorderColor":{"type":"string","description":"The border color of the button."},"logoPosition":{"type":"number","description":"The position of the logo image in the form."},"coverImagePosition":{"type":"number","description":"The position of the cover image in the form."},"submissionImagePosition":{"type":"number","description":"The position of the submission image in the form."},"fieldOptionColor":{"type":"string","description":"The color of the field options."}},"required":["fieldRadius","buttonRadius","zoneColor","starBackgroundColor","starBorderColor","cardBorderColor","cardBackgroundColor","cardBorderRadius","font","titleColor","subtitleColor","groupColor","textColor","accentColor","dividerColor","backgroundColor","labelColor","placeholderColor","fieldBackgroundColor","fieldBorderColor","buttonTextColor","buttonBackgroundColor","buttonBorderColor","logoPosition","coverImagePosition","submissionImagePosition","fieldOptionColor"]},"FormFieldRadiusStyle":{"type":"string","enum":["SHARP","ROUNDED","PILL"],"description":"The border radius style for input fields."},"FontEmbeddable":{"type":"object","properties":{"name":{"type":"string","description":"The name of the font"},"url":{"type":"string","description":"The URL of the font"}},"required":["name","url"]},"PublicFormHeader":{"type":"object","properties":{"title":{"type":"string"},"subtitle":{"type":"string","nullable":true}},"required":["title","subtitle"]},"PublicFormBody":{"type":"object","properties":{"buttonText":{"type":"string"}},"required":["buttonText"]},"PublicFormFooter":{"type":"object","properties":{"title":{"type":"string","nullable":true},"text":{"type":"string","nullable":true},"textColor":{"type":"string"},"iconColor":{"type":"string","nullable":true},"backgroundColor":{"type":"string"},"display":{"type":"boolean"},"displayLogo":{"type":"boolean"},"imagePosition":{"type":"number","nullable":true}},"required":["title","text","textColor","iconColor","backgroundColor","display","displayLogo","imagePosition"]},"PublicFormSubmission":{"type":"object","properties":{"title":{"type":"string"},"subtitle":{"type":"string","nullable":true},"titleColor":{"type":"string"},"subtitleColor":{"type":"string"}},"required":["title","subtitle","titleColor","subtitleColor"]},"FormExternalLinkEmbeddable":{"type":"object","properties":{"website":{"type":"string","nullable":true,"description":"The website URL associated with the form.","default":null},"twitter":{"type":"string","nullable":true,"description":"The Twitter profile URL associated with the form.","default":null},"facebook":{"type":"string","nullable":true,"description":"The Facebook profile URL associated with the form.","default":null},"instagram":{"type":"string","nullable":true,"description":"The Instagram profile URL associated with the form.","default":null},"linkedin":{"type":"string","nullable":true,"description":"The LinkedIn profile URL associated with the form.","default":null}},"required":["website","twitter","facebook","instagram","linkedin"]},"PublicFileEmbeddable":{"type":"object","properties":{"size":{"type":"number","description":"File size.","nullable":true},"width":{"type":"number","description":"Image width (only for images).","nullable":true},"height":{"type":"number","description":"Image height (only for images).","nullable":true},"originalname":{"type":"string","description":"Original file name.","nullable":true},"sourceUrl":{"type":"string","nullable":true},"externalId":{"type":"string","description":"External ID from the source system (e.g. message ID from which the file was downloaded).","nullable":true},"key":{"type":"string","description":"AWS S3 bucket key."},"contentType":{"type":"string","description":"File content type (Mime)."},"url":{"type":"string","description":"File access url."}},"required":["key","contentType","url"]},"PublicFormZone":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"color":{"type":"string"}},"required":["id","name"]},"PublicSurveyField":{"type":"object","properties":{"id":{"type":"string"},"key":{"type":"string"},"type":{"description":"@inheritdoc","allOf":[{"$ref":"#/components/schemas/SurveyFieldType"}]},"required":{"type":"boolean"},"verticalIndex":{"type":"number","nullable":true},"horizontalIndex":{"type":"number","nullable":true},"allowMaxReplies":{"type":"boolean"},"allowMinReplies":{"type":"boolean"},"minReplies":{"type":"number"},"maxReplies":{"type":"number"},"values":{"nullable":true,"type":"array","items":{"type":"string"}},"allowCustomValue":{"type":"boolean"},"operator":{"allOf":[{"$ref":"#/components/schemas/FormFieldLogicalOperator"}]},"label":{"type":"string"},"placeholder":{"type":"string","nullable":true},"group":{"type":"string","nullable":true},"translatedValues":{"type":"array","items":{"type":"string"}},"dependencies":{"description":"@inheritdoc","default":[],"type":"array","items":{"$ref":"#/components/schemas/PublicSurveyFieldDependency"}},"dependencyOf":{"description":"@inheritdoc","default":[],"type":"array","items":{"$ref":"#/components/schemas/PublicSurveyFieldDependency"}}},"required":["id","key","type","required","verticalIndex","horizontalIndex","allowMaxReplies","allowMinReplies","minReplies","maxReplies","values","allowCustomValue","operator","label","placeholder","group","translatedValues","dependencies","dependencyOf"]},"SurveyFieldType":{"type":"string","enum":["NPS","CSAT SMILEYS","CSAT STARS","TEXT","DROPDOWN","RADIO","CHECKBOX","FILES","DATE","STORE","FIRSTNAME","LASTNAME","CIVILITY","EMAIL","PHONE","PURCHASE","MAIN"],"description":"Survey field type"},"FormFieldLogicalOperator":{"type":"string","enum":["$and","$or"],"description":"The operator to use for the dependency values"},"PublicSurveyFieldDependency":{"type":"object","properties":{"id":{"type":"string"},"field":{"type":"string"},"dependsOnField":{"type":"string"},"operator":{"type":"string"},"dependsOnFieldValues":{"type":"array","items":{"$ref":"#/components/schemas/FormDependencyValuesEmbeddable"}}},"required":["id","field","dependsOnField","operator","dependsOnFieldValues"]},"FormDependencyValuesEmbeddable":{"type":"object","properties":{"operator":{"description":"The operator to use for the dependency values","allOf":[{"$ref":"#/components/schemas/FormFieldComparisonOperator"}]},"value":{"type":"string","description":"The values to use for the dependency"}},"required":["operator","value"]},"FormFieldComparisonOperator":{"type":"string","enum":["$eq","$ne","$gt","$gte","$lt","$lte"],"description":"The operator to use for the dependency values"},"PublicSurveyFieldGroup":{"type":"object","properties":{"id":{"type":"string"},"key":{"type":"string"},"name":{"type":"string"},"verticalIndex":{"type":"number","nullable":true}},"required":["id","key","name","verticalIndex"]},"PublicSurveyPreRedirectFormConfig":{"type":"object","properties":{"type":{"allOf":[{"$ref":"#/components/schemas/SurveyPreRedirectFormType"}]},"threshold":{"type":"number"},"text":{"$ref":"#/components/schemas/SurveyTextEmbeddable"},"button":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/SurveyButtonConfigEmbeddable"}]},"nps":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/SurveyNpsConfigEmbeddable"}]},"csatStar":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/SurveyCsatStarConfigEmbeddable"}]},"csatSmiley":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/SurveyCsatSmileyConfigEmbeddable"}]},"binary":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/SurveyBinaryConfigEmbeddable"}]}},"required":["type","threshold","text","button","nps","csatStar","csatSmiley","binary"]},"SurveyPreRedirectFormType":{"type":"string","enum":["NPS","CSAT SMILEYS","CSAT STARS","BUTTON","BINARY"]},"SurveyTextEmbeddable":{"type":"object","properties":{"text":{"type":"string"},"color":{"type":"string"}},"required":["text","color"]},"SurveyButtonConfigEmbeddable":{"type":"object","properties":{"text":{"type":"string"},"color":{"type":"string"},"backgroundColor":{"type":"string"},"topic":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/SurveyTextEmbeddable"}]}},"required":["text","color","backgroundColor","topic"]},"SurveyNpsConfigEmbeddable":{"type":"object","properties":{"startText":{"type":"string"},"endText":{"type":"string"},"topic":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/SurveyTextEmbeddable"}]}},"required":["startText","endText","topic"]},"SurveyCsatStarConfigEmbeddable":{"type":"object","properties":{"topic":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/SurveyTextEmbeddable"}]}},"required":["topic"]},"SurveyCsatSmileyConfigEmbeddable":{"type":"object","properties":{"one":{"type":"string"},"two":{"type":"string"},"three":{"type":"string"},"four":{"type":"string"},"five":{"type":"string"},"topic":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/SurveyTextEmbeddable"}]}},"required":["one","two","three","four","five","topic"]},"SurveyBinaryConfigEmbeddable":{"type":"object","properties":{"satisfied":{"type":"string"},"unsatisfied":{"type":"string"},"topic":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/SurveyTextEmbeddable"}]}},"required":["satisfied","unsatisfied","topic"]},"SurveySendingType":{"type":"string","enum":["SMS","EMAIL","WHATSAPP","EXTERNAL"],"description":"Type of survey sending"},"PartnerPublicFile":{"type":"object","properties":{"contentType":{"type":"string","description":"MIME type of the file"},"url":{"type":"string","description":"URL to access the file"},"size":{"type":"string","nullable":true,"description":"Size of the file in bytes","default":null},"width":{"type":"number","nullable":true,"description":"Width of the file (if applicable, e.g., for images)","default":null},"height":{"type":"string","nullable":true,"description":"Height of the file (if applicable, e.g., for images)","default":null}},"required":["contentType","url","size","width","height"]}}}}
```

## POST /public/survey/submit

> Submit completed survey

```json
{"openapi":"3.0.0","info":{"title":"Partners","version":"1.0.0"},"servers":[{"url":"https://api.fullwhere.com"}],"paths":{"/public/survey/submit":{"post":{"operationId":"PublicController_submitSurvey","parameters":[],"requestBody":{"required":true,"description":"Submit a survey with multiple attachments","content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/SubmitSurveyDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubmitSurveyOutput"}}}}},"summary":"Submit completed survey","tags":["Public Endpoints"]}}},"components":{"schemas":{"SubmitSurveyDto":{"type":"object","properties":{"tracker":{"type":"string","description":"Tracker identifier for private surveys","format":"uuid"},"store":{"type":"string","description":"Store identifier for public surveys","format":"uuid"},"brand":{"type":"string","description":"Brand identifier for public surveys","format":"uuid"},"fields":{"description":"Fields to submit","minItems":1,"type":"array","items":{"$ref":"#/components/schemas/SubmitSurveyFormFieldDto"}},"id":{"type":"string","description":"Target ID","format":"uuid"}},"required":["fields","id"]},"SubmitSurveyFormFieldDto":{"type":"object","properties":{"id":{"type":"string","description":"Target ID","format":"uuid"},"values":{"description":"Values to submit for the field.\nWhen using 'STORE' fields, ensure the value sent as values is the location's unique identifier (UUID) rather than its display name.\nWhen using rating fields, the value must be transmitted as text (e.g. [\"5\"]).","minItems":1,"type":"array","items":{"type":"string","maxLength":5000}}},"required":["id","values"]},"SubmitSurveyOutput":{"type":"object","properties":{"redirectTo":{"type":"string","description":"Redirect link to a public review submission page"}}}}}}
```


---

# Agent Instructions: 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.fullwhere.com/developer/api-references/public-endpoints.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.
