Widget
Endpoints for Widget
Endpoints for Widget
GET/api/v1/widget
Authentication: Bearer token (JWT)
pagenumberOptional1minimum: 1takenumberOptional10minimum: 1maximum: 50orderBystringOptional"createdAt"Allowed values: "createdAt", "id", "updatedAt"orderDirectionstringOptional"desc"Allowed values: "asc", "desc"itemsarray of WidgetResponseDtoRequired8 fieldsitemsidstringRequired when parent is presentField path: items[].idnamestringRequired when parent is presentField path: items[].namecurlcurl https://api.subrite.no/api/v1/widget \
--header 'Authorization: Bearer <token>'POST/api/v1/widget
Authentication: Bearer token (JWT)
application/jsonnamestringRequiredslugstringRequiredtypestringRequired"consent"The type of the widgetAllowed values: "consent"GET/api/v1/widget/{id}
Authentication: Bearer token (JWT)
idstringRequiredSame fields as Create a widget (201).
DELETE/api/v1/widget/{id}
Authentication: Bearer token (JWT)
idstringRequiredSame fields as Create a widget (201).
PATCH/api/v1/widget/{id}
Authentication: Bearer token (JWT)
idstringRequiredapplication/jsonnamestringOptionalslugstringGET/api/v1/widget/slug/{slug}
Authentication: Bearer token (JWT)
slugstringRequiredSame fields as Create a widget (201).
slugstringRequired when parent is presentField path: items[].slugtypestringRequired when parent is presentField path: items[].type"consent"displayTypestringRequired when parent is presentField path: items[].displayType"popup", "embed"statusstringRequired when parent is presentField path: items[].status"draft", "published"configWidgetConfigRequired when parent is presentField path: items[].config4 fieldsitems[].configactivebooleanRequired when parent is presentField path: items[].config.activeconsentConsentObjTypeRequired when parent is presentField path: items[].config.consentNested fields omitted: depth limit.targetTargetObjTypeRequired when parent is presentField path: items[].config.targetNested fields omitted: depth limit.themeThemeObjTypeRequired when parent is presentField path: items[].config.themeNested fields omitted: depth limit.createdAtstring (date-time)Required when parent is presentField path: items[].createdAtmetaPageMetaRequired6 fieldsmetapagenumberRequiredField path: meta.pagetakenumberRequiredField path: meta.takecountnumberRequiredField path: meta.countpageCountnumberRequiredField path: meta.pageCounthasPreviousPagebooleanRequiredField path: meta.hasPreviousPagehasNextPagebooleanRequiredField path: meta.hasNextPage{
"items": [
{}
],
"meta": {
"page": 0,
"take": 0,
"count": 0,
"pageCount": 0,
"hasPreviousPage": true,
"hasNextPage": true
}
}unauthorized
This response has no body.
displayTypestringRequired"popup"The display type of the widgetAllowed values: "popup", "embed"configWidgetConfigRequired4 fieldsconfigactivebooleanRequiredField path: config.activeconsentConsentObjTypeRequiredField path: config.consent1 fieldconfig.consentintegrationIdstringRequiredField path: config.consent.integrationIdtargetTargetObjTypeRequiredField path: config.target4 fieldsconfig.targettriggersarray of TriggerObjTypeRequiredField path: config.target.triggersNested fields omitted: depth limit.frequencyFrequencyObjTypeRequiredField path: config.target.frequencyNested fields omitted: depth limit.websitesarray of WebsiteObjTypeRequiredField path: config.target.websitesNested fields omitted: depth limit.popUpPositionPopUpPositionRequiredField path: config.target.popUpPosition"center", "bottom-left", "bottom-right"themeThemeObjTypeRequiredField path: config.theme16 fieldsconfig.themetermsAndConditionsTextobjectRequiredField path: config.theme.termsAndConditionsTextemailLabelstringRequiredField path: config.theme.emailLabelemailPlaceholderstringRequiredField path: config.theme.emailPlaceholdersubmitTextstringRequiredField path: config.theme.submitTextsuccessMessageTitlestringRequiredField path: config.theme.successMessageTitlestatusstringRequired"draft"The status of the widgetAllowed values: "draft", "published"idstringRequirednamestringRequiredslugstringRequiredtypestringRequired"consent"displayTypestringRequired"popup", "embed"statusstringRequired"draft", "published"configWidgetConfigRequired4 fieldsconfigactivebooleanRequiredField path: config.activeconsentConsentObjTypeRequiredField path: config.consent1 fieldconfig.consentintegrationIdstringRequiredField path: config.consent.integrationIdtargetTargetObjTypeRequiredField path: config.target4 fieldsconfig.targetcreatedAtstring (date-time)Required{
"id": "string",
"name": "string",
"slug": "string",
"type": "consent",
"displayType": "popup",
"status": "draft",
"config": {
"active": true,
"consent": {},
"target": {
"triggers": [],
"websites": []
},
"theme": {
"termsAndConditionsText": {},
"widgetDescriptionText": {}
}
},
"createdAt": "2019-08-24T14:15:22Z"
}badRequest, slugExist
messageCodestringRequiredmessagestringerrorsarray of FieldErrorRequired7 fieldserrorsfieldstringunauthorized
This response has no body.
curlcurl https://api.subrite.no/api/v1/widget \
--request POST \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"name": "My Widget",
"slug": "my-widget",
"type": "consent",
"displayType": "popup",
"config": {
"trigger": {
"type": "manual",
"delay": 1000,
"scrollPercent": 50
},
"consent": {
"showCheckbox": true,
"labelText": "I agree to the terms and conditions",
"submitText": "Submit",
"successMessage": "Thank you for your consent",
"errorMessage": "Please accept the terms and conditions"
},
"theme": {
"primaryColor": "#000000",
"textColor": "#000000",
"backgroundColor": "#ffffff",
"showCloseButton": true
}
},
"status": "draft"
}'{
"id": "string",
"name": "string",
"slug": "string",
"type": "consent",
"displayType": "popup",
"status": "draft",
"config": {
"active": true,
"consent": {},
"target": {
"triggers": [],
"websites": []
},
"theme": {
"termsAndConditionsText": {},
"widgetDescriptionText": {}
}
},
"createdAt": "2019-08-24T14:15:22Z"
}unauthorized
This response has no body.
notFound
Same fields as Create a widget (400).
{
"messageCode": "string",
"message": "string",
"errors": [
{}
]
}curlcurl 'https://api.subrite.no/api/v1/widget/{id}' \
--header 'Authorization: Bearer <token>'WidgetResponseDto{
"id": "string",
"name": "string",
"slug": "string",
"type": "consent",
"displayType": "popup",
"status": "draft",
"config": {
"active": true,
"consent": {},
"target": {
"triggers": [],
"websites": []
},
"theme": {
"termsAndConditionsText": {},
"widgetDescriptionText": {}
}
},
"createdAt": "2019-08-24T14:15:22Z"
}unauthorized
This response has no body.
notFound
Same fields as Create a widget (400).
{
"messageCode": "string",
"message": "string",
"errors": [
{}
]
}curlcurl 'https://api.subrite.no/api/v1/widget/{id}' \
--request DELETE \
--header 'Authorization: Bearer <token>'typestringOptional"consent"The type of the widgetAllowed values: "consent"displayTypestringOptional"popup"The display type of the widgetAllowed values: "popup", "embed"configWidgetConfigOptional4 required when the containing object is present4 fieldsconfigactivebooleanRequired when parent is presentField path: config.activeconsentConsentObjTypeRequired when parent is presentField path: config.consent1 required when the containing object is present1 fieldconfig.consentintegrationIdstringRequired when parent is presentField path: config.consent.integrationIdtargetTargetObjTypeRequired when parent is presentField path: config.target4 required when the containing object is present4 fieldsconfig.targettriggersarray of TriggerObjTypeRequired when parent is presentField path: config.target.triggersNested fields omitted: depth limit.frequencyFrequencyObjTypeRequired when parent is presentField path: config.target.frequencyNested fields omitted: depth limit.websitesarray of WebsiteObjTypeRequired when parent is presentField path: config.target.websitesNested fields omitted: depth limit.popUpPositionPopUpPositionRequired when parent is presentField path: config.target.popUpPosition"center", "bottom-left", "bottom-right"themeThemeObjTypeRequired when parent is presentField path: config.theme16 required when the containing object is present16 fieldsconfig.themetermsAndConditionsTextobjectRequired when parent is presentField path: config.theme.termsAndConditionsTextemailLabelstringRequired when parent is presentField path: config.theme.emailLabelemailPlaceholderstringRequired when parent is presentField path: config.theme.emailPlaceholdersubmitTextstringRequired when parent is presentField path: config.theme.submitTextstatusstringOptional"draft"The status of the widgetAllowed values: "draft", "published"{
"name": "My Widget",
"slug": "my-widget",
"type": "consent",
"displayType": "popup",
"status": "draft"
}Same fields as Create a widget (201).
{
"id": "string",
"name": "string",
"slug": "string",
"type": "consent",
"displayType": "popup",
"status": "draft",
"config": {
"active": true,
"consent": {},
"target": {
"triggers": [],
"websites": []
},
"theme": {
"termsAndConditionsText": {},
"widgetDescriptionText": {}
}
},
"createdAt": "2019-08-24T14:15:22Z"
}unauthorized
This response has no body.
notFound, slugExist
Same fields as Create a widget (400).
{
"messageCode": "string",
"message": "string",
"errors": [
{}
]
}curlcurl 'https://api.subrite.no/api/v1/widget/{id}' \
--request PATCH \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"name": "My Widget",
"slug": "my-widget",
"type": "consent",
"displayType": "popup",
"config": {
"trigger": {
"type": "manual",
"delay": 1000,
"scrollPercent": 50
},
"consent": {
"showCheckbox": true,
"labelText": "I agree to the terms and conditions",
"submitText": "Submit",
"successMessage": "Thank you for your consent",
"errorMessage": "Please accept the terms and conditions"
},
"theme": {
"primaryColor": "#000000",
"textColor": "#000000",
"backgroundColor": "#ffffff",
"showCloseButton": true
}
},
"status": "draft"
}'WidgetResponseDto{
"id": "string",
"name": "string",
"slug": "string",
"type": "consent",
"displayType": "popup",
"status": "draft",
"config": {
"active": true,
"consent": {},
"target": {
"triggers": [],
"websites": []
},
"theme": {
"termsAndConditionsText": {},
"widgetDescriptionText": {}
}
},
"createdAt": "2019-08-24T14:15:22Z"
}unauthorized
This response has no body.
notFound
Same fields as Create a widget (400).
{
"messageCode": "string",
"message": "string",
"errors": [
{}
]
}curlcurl 'https://api.subrite.no/api/v1/widget/slug/{slug}' \
--header 'Authorization: Bearer <token>'successMessagestringRequiredField path: config.theme.successMessageerrorMessagestringRequiredField path: config.theme.errorMessagewidgetHeaderTextstringRequiredField path: config.theme.widgetHeaderTextwidgetDescriptionTextobjectRequiredField path: config.theme.widgetDescriptionTextprimaryColorstringRequiredField path: config.theme.primaryColortextColorstringRequiredField path: config.theme.textColorbackgroundColorstringRequiredField path: config.theme.backgroundColorshowCloseButtonbooleanRequiredField path: config.theme.showCloseButtontypographyTypographyObjTypeRequiredField path: config.theme.typographyNested fields omitted: depth limit.redirectCTATextstringRequiredField path: config.theme.redirectCTATextredirectCTAUrlstringRequiredField path: config.theme.redirectCTAUrltriggersarray of TriggerObjTypefrequencyFrequencyObjTypeRequiredField path: config.target.frequencyNested fields omitted: depth limit.websitesarray of WebsiteObjTypeRequiredField path: config.target.websitesNested fields omitted: depth limit.popUpPositionPopUpPositionRequiredField path: config.target.popUpPosition"center", "bottom-left", "bottom-right"themeThemeObjTypeRequiredField path: config.theme16 fieldsconfig.themetermsAndConditionsTextobjectRequiredField path: config.theme.termsAndConditionsTextemailLabelstringRequiredField path: config.theme.emailLabelemailPlaceholderstringRequiredField path: config.theme.emailPlaceholdersubmitTextstringRequiredField path: config.theme.submitTextsuccessMessageTitlestringRequiredField path: config.theme.successMessageTitlesuccessMessagestringRequiredField path: config.theme.successMessageerrorMessagestringRequiredField path: config.theme.errorMessagewidgetHeaderTextstringRequiredField path: config.theme.widgetHeaderTextwidgetDescriptionTextobjectRequiredField path: config.theme.widgetDescriptionTextprimaryColorstringRequiredField path: config.theme.primaryColortextColorstringRequiredField path: config.theme.textColorbackgroundColorstringRequiredField path: config.theme.backgroundColorshowCloseButtonbooleanRequiredField path: config.theme.showCloseButtontypographyTypographyObjTypeRequiredField path: config.theme.typographyNested fields omitted: depth limit.redirectCTATextstringRequiredField path: config.theme.redirectCTATextredirectCTAUrlstringRequiredField path: config.theme.redirectCTAUrlfieldValuestringRequired when parent is presentField path: errors[].fieldValueidentifierstringRequired when parent is presentField path: errors[].identifieridentifierValuestringRequired when parent is presentField path: errors[].identifierValuemessageCodestringRequired when parent is presentField path: errors[].messageCodemessagestringField path: errors[].messageerrorTypestringRequired when parent is presentField path: errors[].errorType{
"messageCode": "string",
"message": "string",
"errors": [
{}
]
}successMessageTitlestringsuccessMessagestringRequired when parent is presentField path: config.theme.successMessageerrorMessagestringRequired when parent is presentField path: config.theme.errorMessagewidgetHeaderTextstringRequired when parent is presentField path: config.theme.widgetHeaderTextwidgetDescriptionTextobjectRequired when parent is presentField path: config.theme.widgetDescriptionTextprimaryColorstringRequired when parent is presentField path: config.theme.primaryColortextColorstringRequired when parent is presentField path: config.theme.textColorbackgroundColorstringRequired when parent is presentField path: config.theme.backgroundColorshowCloseButtonbooleanRequired when parent is presentField path: config.theme.showCloseButtontypographyTypographyObjTypeRequired when parent is presentField path: config.theme.typographyNested fields omitted: depth limit.redirectCTATextstringRequired when parent is presentField path: config.theme.redirectCTATextredirectCTAUrlstringRequired when parent is presentField path: config.theme.redirectCTAUrl