Workflow Engine::Visual Workflows
Endpoints for Workflow Engine::Visual Workflows
Endpoints for Workflow Engine::Visual Workflows
GET/api/v1/automation/visual-workflows
Authentication: Bearer token (JWT)
pagenumberOptional1minimum: 1takenumberOptional10minimum: 1maximum: 50orderDirectionstringOptional"desc"Allowed values: "asc", "desc"orderBystringOptional"createdAt"Allowed values: "id", "name", "createdAt", "updatedAt", "publishedAt"namestringOptionalgrouparray of stringOptionalisPublishedbooleanOptionalitemsarray of VisualWorkflowRequired19 fieldsitemsnamestringRequired when parent is presentField path: items[].namecurlcurl https://api.subrite.no/api/v1/automation/visual-workflows \
--header 'Authorization: Bearer <token>'POST/api/v1/automation/visual-workflows
Authentication: Bearer token (JWT)
application/jsonnamestringRequiredmaxLength: 255nodesarray of objectRequiredGET/api/v1/automation/visual-workflows/personalized-tokens
Authentication: Bearer token (JWT)
triggerTypestringOptionalmaxLength: 100GET/api/v1/automation/visual-workflows/group-tags
Authentication: Bearer token (JWT)
Group tags retrieved successfully
GET/api/v1/automation/visual-workflows/{id}
Authentication: Bearer token (JWT)
idnumberRequiredVisual workflow retrieved successfully
This response has no body.
PUT/api/v1/automation/visual-workflows/{id}
Authentication: Bearer token (JWT)
idnumberRequiredapplication/jsonnamestringOptionalDELETE/api/v1/automation/visual-workflows/{id}
Authentication: Bearer token (JWT)
idnumberRequiredVisual workflow deleted successfully
PUT/api/v1/automation/visual-workflows/{id}/group-tag
Authentication: Bearer token (JWT)
idnumberRequiredapplication/jsontagNamestringRequiredPOST/api/v1/automation/visual-workflows/{id}/duplicate
Authentication: Bearer token (JWT)
idnumberRequiredapplication/jsonnamestringRequiredPOST/api/v1/automation/visual-workflows/{id}/publish
Authentication: Bearer token (JWT)
idnumberRequiredVisual workflow published successfully
POST/api/v1/automation/visual-workflows/{id}/unpublish
Authentication: Bearer token (JWT)
idnumberRequiredVisual workflow unpublished successfully
POST/api/v1/automation/visual-workflows/{id}/test/email
Authentication: Bearer token (JWT)
idnumberRequiredapplication/jsonrecipientsarray of string (email)RequiredPOST/api/v1/automation/visual-workflows/{id}/test/sms
Authentication: Bearer token (JWT)
idnumberRequiredapplication/jsonphoneNumbersarray of stringRequirednodesobjectRequired when parent is presentField path: items[].nodesedgesobjectRequired when parent is presentField path: items[].edgesisPublishedbooleanRequired when parent is presentField path: items[].isPublishedpublishedAtstring (date-time)Required when parent is presentField path: items[].publishedAtupdatedBynumberRequired when parent is presentField path: items[].updatedByupdatedByUserUserRequired when parent is presentField path: items[].updatedByUser24 fieldsitems[].updatedByUseruserTypestringRequired when parent is presentField path: items[].updatedByUser.userType"system_admin", "tenant_admin", "member", "not_set"tenantIdnumberRequired when parent is presentField path: items[].updatedByUser.tenantIdemailstringRequired when parent is presentField path: items[].updatedByUser.emailfullNamestringRequired when parent is presentField path: items[].updatedByUser.fullNamephonestringRequired when parent is presentField path: items[].updatedByUser.phoneemailVerifiedstringRequired when parent is presentField path: items[].updatedByUser.emailVerifiedphoneVerifiedbooleanRequired when parent is presentField path: items[].updatedByUser.phoneVerifiedisOwnerbooleanRequired when parent is presentField path: items[].updatedByUser.isOwnerisTestUserbooleanRequired when parent is presentField path: items[].updatedByUser.isTestUserimagestringRequired when parent is presentField path: items[].updatedByUser.imagecreatedInCheckoutUuidstringRequired when parent is presentField path: items[].updatedByUser.createdInCheckoutUuiduserRolesarray of UserRoleField path: items[].updatedByUser.userRolesNested fields omitted: depth limit.notesarray of NoteRequired when parent is presentField path: items[].updatedByUser.notesNested fields omitted: depth limit.exportHistoryarray of ExportHistoryRequired when parent is presentField path: items[].updatedByUser.exportHistoryNested fields omitted: depth limit.userSettingsUserSettingsField path: items[].updatedByUser.userSettingsNested fields omitted: depth limit.memberMemberField path: items[].updatedByUser.memberNested fields omitted: depth limit.tenantTenantRequired when parent is presentField path: items[].updatedByUser.tenantNested fields omitted: depth limit.userAccountsarray of UserAccountRequired when parent is presentField path: items[].updatedByUser.userAccountsNested fields omitted: depth limit.userSessionsarray of UserSessionRequired when parent is presentField path: items[].updatedByUser.userSessionsNested fields omitted: depth limit.idnumberRequired when parent is presentField path: items[].updatedByUser.idcreatedAtstring (date-time)Required when parent is presentField path: items[].updatedByUser.createdAtupdatedAtstring (date-time)Required when parent is presentField path: items[].updatedByUser.updatedAtdeletedAtstring (date-time)Required when parent is presentField path: items[].updatedByUser.deletedAtmetaDataobjectRequired when parent is presentField path: items[].updatedByUser.metaDatadescriptionstringRequired when parent is presentField path: items[].descriptionisTemplatebooleanRequired when parent is presentField path: items[].isTemplatetenantIdnumberRequired when parent is presentField path: items[].tenantIdtenantTenantRequired when parent is presentField path: items[].tenantNested fields omitted: field limit.workflowRuleIdstringRequired when parent is presentField path: items[].workflowRuleIdworkflowRuleWorkflowRuleRequired when parent is presentField path: items[].workflowRule11 fieldsitems[].workflowRuleruleobjectRequired when parent is presentField path: items[].workflowRule.ruledescriptionstringRequired when parent is presentField path: items[].workflowRule.descriptionisActivebooleanRequired when parent is presentField path: items[].workflowRule.isActivetenantIdnumberRequired when parent is presentField path: items[].workflowRule.tenantIdtenantTenantRequired when parent is presentField path: items[].workflowRule.tenantNested fields omitted: depth limit.visualWorkflowVisualWorkflowRequired when parent is presentField path: items[].workflowRule.visualWorkflowRecursive schema; nested fields are not repeated.idnumberRequired when parent is presentField path: items[].workflowRule.idcreatedAtstring (date-time)Required when parent is presentField path: items[].workflowRule.createdAtupdatedAtstring (date-time)Required when parent is presentField path: items[].workflowRule.updatedAtdeletedAtstring (date-time)Required when parent is presentField path: items[].workflowRule.deletedAtmetaDataobjectRequired when parent is presentField path: items[].workflowRule.metaDataentityTagsarray of EntityTagRequired when parent is presentField path: items[].entityTags13 fieldsitems[].entityTagsproductIdnumberRequired when parent is presentField path: items[].entityTags[].productIdtagIdnumberRequired when parent is presentField path: items[].entityTags[].tagIdsubscriptionPlanIdnumberRequired when parent is presentField path: items[].entityTags[].subscriptionPlanIdtagTagRequired when parent is presentField path: items[].entityTags[].tagNested fields omitted: depth limit.productProductRequired when parent is presentField path: items[].entityTags[].productNested fields omitted: depth limit.subscriptionPlanSubscriptionPlanRequired when parent is presentField path: items[].entityTags[].subscriptionPlanNested fields omitted: depth limit.visualWorkflowIdnumberRequired when parent is presentField path: items[].entityTags[].visualWorkflowIdvisualWorkflowVisualWorkflowRequired when parent is presentField path: items[].entityTags[].visualWorkflowRecursive schema; nested fields are not repeated.idnumberRequired when parent is presentField path: items[].entityTags[].idcreatedAtstring (date-time)Required when parent is presentField path: items[].entityTags[].createdAtupdatedAtstring (date-time)Required when parent is presentField path: items[].entityTags[].updatedAtdeletedAtstring (date-time)Required when parent is presentField path: items[].entityTags[].deletedAtmetaDataobjectRequired when parent is presentField path: items[].entityTags[].metaDataidnumberRequired when parent is presentField path: items[].idcreatedAtstring (date-time)Required when parent is presentField path: items[].createdAtupdatedAtstring (date-time)Required when parent is presentField path: items[].updatedAtdeletedAtstring (date-time)Required when parent is presentField path: items[].deletedAtmetaDataobjectRequired when parent is presentField path: items[].metaDatametaPageMetaRequired6 fieldsmetapagenumberRequiredField path: meta.pagetakenumberRequiredField path: meta.takecountnumberRequiredField path: meta.countpageCountnumberRequiredField path: meta.pageCounthasPreviousPagebooleanRequiredField path: meta.hasPreviousPagehasNextPagebooleanRequiredField path: meta.hasNextPage{
"items": [
{
"nodes": {},
"edges": {},
"entityTags": [],
"metaData": {}
}
],
"meta": {
"page": 0,
"take": 0,
"count": 0,
"pageCount": 0,
"hasPreviousPage": true,
"hasNextPage": true
}
}unauthorized
This response has no body.
forbiddenResource
messageCodestringRequiredmessagestringerrorsarray of FieldErrorRequired7 fieldserrorsfieldstringRequired when parent is presentField path: errors[].fieldfieldValuestringRequired 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": [
{}
]
}edgesarray of objectdescriptionstringOptionalisPublishedbooleanOptionaltrueWhether workflow is publishedisTemplatebooleanOptionalfalseWhether workflow is a templatejsonLogicobjectOptional{
"name": "string",
"nodes": [
{}
],
"edges": [
{}
],
"description": "string",
"isPublished": true,
"isTemplate": false,
"jsonLogic": {}
}Visual workflow created successfully
This response has no body.
badRequest, workflowStructureInvalid
messageCodestringRequired"badRequest", "workflowStructureInvalid"messagestringerrorsarray of FieldErrorRequired7 fieldserrorsfieldstringRequired when parent is presentField path: errors[].fieldfieldValuestringRequired when parent is presentField path: errors[].fieldValueidentifierstring{
"messageCode": "badRequest",
"message": "string",
"errors": [
{}
]
}unauthorized
This response has no body.
forbiddenResource
Same fields as Get all visual workflows (paginated) (403).
{
"messageCode": "string",
"message": "string",
"errors": [
{}
]
}curlcurl https://api.subrite.no/api/v1/automation/visual-workflows \
--request POST \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"name": "string",
"nodes": [
{}
],
"edges": [
{}
],
"description": "string",
"isPublished": true,
"isTemplate": false,
"jsonLogic": {}
}'subscriptionInfoarray of stringpaymentInfoarray of stringtokenSamplesobject with string valuesothersarray of stringRequiredmemberInfoarray of stringRequiredmyPageLinkarray of stringRequired{
"subscriptionInfo": [
"string"
],
"paymentInfo": [
"string"
],
"tokenSamples": {
"property1": "string",
"property2": "string"
},
"others": [
"string"
],
"memberInfo": [
"string"
],
"myPageLink": [
"string"
]
}badRequest
messageCodestringRequired"badRequest"messagestringerrorsarray of FieldErrorRequired7 fieldserrorsfieldstringRequired when parent is presentField path: errors[].fieldfieldValuestringRequired 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 present{
"messageCode": "badRequest",
"message": "string",
"errors": [
{}
]
}unauthorized
This response has no body.
forbiddenResource
Same fields as Get all visual workflows (paginated) (403).
{
"messageCode": "string",
"message": "string",
"errors": [
{}
]
}curlcurl https://api.subrite.no/api/v1/automation/visual-workflows/personalized-tokens \
--header 'Authorization: Bearer <token>'unauthorized
forbiddenResource
internalServerError
curlcurl https://api.subrite.no/api/v1/automation/visual-workflows/group-tags \
--header 'Authorization: Bearer <token>'badRequest
Same fields as Get personalized tokens for a workflow (400).
{
"messageCode": "badRequest",
"message": "string",
"errors": [
{}
]
}unauthorized
This response has no body.
forbiddenResource
Same fields as Get all visual workflows (paginated) (403).
{
"messageCode": "string",
"message": "string",
"errors": [
{}
]
}visualWorkflowNotFound
messageCodestringRequired"visualWorkflowNotFound"messagestringerrorsarray of FieldErrorRequired7 fieldserrorsfieldstringRequired when parent is presentField path: errors[].fieldfieldValuestringRequired 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 present{
"messageCode": "visualWorkflowNotFound",
"message": "string",
"errors": [
{}
]
}curlcurl 'https://api.subrite.no/api/v1/automation/visual-workflows/{id}' \
--header 'Authorization: Bearer <token>'maxLength255nodesarray of objectOptionaledgesarray of objectOptionaldescriptionstringOptionalisPublishedbooleanOptionalisTemplatebooleanOptionaljsonLogicobjectOptional{
"name": "string",
"nodes": [
{}
],
"edges": [
{}
],
"description": "string",
"isPublished": true,
"isTemplate": true,
"jsonLogic": {}
}Visual workflow updated successfully
This response has no body.
badRequest, workflowStructureInvalid
Same fields as Create a new visual workflow (400).
{
"messageCode": "badRequest",
"message": "string",
"errors": [
{}
]
}unauthorized
This response has no body.
forbiddenResource
Same fields as Get all visual workflows (paginated) (403).
visualWorkflowNotFound, jsonLogicRuleNotFound
messageCodestringRequired"visualWorkflowNotFound", "jsonLogicRuleNotFound"messagestringcurlcurl 'https://api.subrite.no/api/v1/automation/visual-workflows/{id}' \
--request PUT \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"name": "string",
"nodes": [
{}
],
"edges": [
{}
],
"description": "string",
"isPublished": true,
"isTemplate": true,
"jsonLogic": {}
}'This response has no body.
badRequest
Same fields as Get personalized tokens for a workflow (400).
{
"messageCode": "badRequest",
"message": "string",
"errors": [
{}
]
}unauthorized
This response has no body.
forbiddenResource
Same fields as Get all visual workflows (paginated) (403).
{
"messageCode": "string",
"message": "string",
"errors": [
{}
]
}visualWorkflowNotFound, jsonLogicRuleNotFound
Same fields as Update an existing visual workflow (404).
{
"messageCode": "visualWorkflowNotFound",
"message": "string",
"errors": [
{}
]
}curlcurl 'https://api.subrite.no/api/v1/automation/visual-workflows/{id}' \
--request DELETE \
--header 'Authorization: Bearer <token>'maxLength: 255{
"tagName": "string"
}Group tag updated successfully
This response has no body.
badRequest
Same fields as Get personalized tokens for a workflow (400).
{
"messageCode": "badRequest",
"message": "string",
"errors": [
{}
]
}unauthorized
This response has no body.
forbiddenResource
Same fields as Get all visual workflows (paginated) (403).
visualWorkflowNotFound
Same fields as Get a visual workflow by ID (404).
curlcurl 'https://api.subrite.no/api/v1/automation/visual-workflows/{id}/group-tag' \
--request PUT \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"tagName": "string"
}'maxLength: 255{
"name": "string"
}Visual workflow duplicated successfully
This response has no body.
badRequest
Same fields as Get personalized tokens for a workflow (400).
{
"messageCode": "badRequest",
"message": "string",
"errors": [
{}
]
}unauthorized
This response has no body.
forbiddenResource
Same fields as Get all visual workflows (paginated) (403).
visualWorkflowNotFound
Same fields as Get a visual workflow by ID (404).
curlcurl 'https://api.subrite.no/api/v1/automation/visual-workflows/{id}/duplicate' \
--request POST \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"name": "string"
}'This response has no body.
namestringRequirednodesobjectRequirededgesobjectRequiredisPublishedbooleanRequiredpublishedAtstring (date-time)RequiredupdatedBynumberRequiredupdatedByUserUserRequired24 fieldsupdatedByUseruserTypestringRequiredField path: updatedByUser.userType"system_admin", "tenant_admin", "member", "not_set"tenantIdnumberRequiredField path: updatedByUser.tenantIdemailstringRequiredField path: updatedByUser.emailfullNamestringRequiredField path: updatedByUser.fullNamedescriptionstringRequiredisTemplatebooleanRequiredtenantIdnumberRequiredtenantTenantRequiredNested fields omitted: field limit.workflowRuleIdstringRequiredworkflowRuleWorkflowRuleRequired11 fieldsworkflowRuleruleobjectRequiredField path: workflowRule.ruledescriptionstringRequiredField path: workflowRule.descriptionisActivebooleanRequiredField path: workflowRule.isActivetenantIdnumberRequiredField path: workflowRule.tenantIdtenantTenantRequiredField path: workflowRule.tenantNested fields omitted: field limit.entityTagsarray of EntityTagRequired13 fieldsentityTagsproductIdnumberRequired when parent is presentField path: entityTags[].productIdtagIdnumberRequired when parent is presentField path: entityTags[].tagIdsubscriptionPlanIdnumberRequired when parent is presentField path: entityTags[].subscriptionPlanIdtagTagRequired when parent is presentField path: entityTags[].tagNested fields omitted: field limit.productProductRequired when parent is presentField path: entityTags[].productNested fields omitted: field limit.idnumberRequiredcreatedAtstring (date-time)RequiredupdatedAtstring (date-time)RequireddeletedAtstring (date-time)RequiredmetaDataobjectRequiredbadRequest, workflowStructureInvalid
Same fields as Create a new visual workflow (400).
{
"messageCode": "badRequest",
"message": "string",
"errors": [
{}
]
}unauthorized
This response has no body.
forbiddenResource
Same fields as Get all visual workflows (paginated) (403).
{
"messageCode": "string",
"message": "string",
"errors": [
{}
]
}visualWorkflowNotFound
Same fields as Get a visual workflow by ID (404).
{
"messageCode": "visualWorkflowNotFound",
"message": "string",
"errors": [
{}
]
}workflowIsAlreadyPublished
messageCodestringRequired"workflowIsAlreadyPublished"messagestringerrorsarray of FieldErrorRequired7 fieldserrorsfieldstringRequired when parent is presentField path: errors[].fieldfieldValuestringRequired 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[].messageCode{
"messageCode": "workflowIsAlreadyPublished",
"message": "string",
"errors": [
{}
]
}curlcurl 'https://api.subrite.no/api/v1/automation/visual-workflows/{id}/publish' \
--request POST \
--header 'Authorization: Bearer <token>'This response has no body.
Same fields as Publish a visual workflow (201).
{
"name": "string",
"nodes": {},
"edges": {},
"isPublished": true,
"publishedAt": "2019-08-24T14:15:22Z",
"updatedBy": 0,
"updatedByUser": {
"userType": "system_admin",
"tenantId": 0,
"email": "string",
"fullName": "<fullName>",
"phone": "<phone>",
"emailVerified": "string",
"phoneVerified": true,
"isOwner": true,
"isTestUser": true,
"image": "string",
"createdInCheckoutUuid": "string",
"userRoles": [],
"notes": [],
"exportHistory": [],
"userSettings": {
"metaData": {}
},
"member": {
"customPropertyValues": {},
"productRecipients": [],
"metaData": {}
},
"tenant": {
"additionalFeatures": [],
"disabledFeatures": [],
"taxRates": [],
"products": [],
"users": [],
"members": [],
"roles": [],
"subscriptionPlans": [],
"packages": [],
"invoices": [],
"orders": [],
"paymentProviders": [],
"newslettersProviderConfig": [],
"paymentProviderConfigs": [],
"oidcClients": [],
"oauthProviders": [],
"activityLogs": [],
"m2m_api_clients": [],
"customProperties": [],
"consents": [],
"communicationTemplates": [],
"additionalHostnames": [],
"exportHistory": [],
"arReportHistory": [],
"mypageCardsSettings": [],
"webhooks": [],
"customOrders": [],
"customOrderSources": [],
"brandKits": [],
"communicationReceivers": [],
"metaData": {}
},
"userAccounts": [],
"userSessions": [],
"id": 0,
"createdAt": "2019-08-24T14:15:22Z",
"updatedAt": "2019-08-24T14:15:22Z",
"deletedAt": "2019-08-24T14:15:22Z",
"metaData": {}
},
"description": "string",
"isTemplate": true,
"tenantId": 0,
"tenant": {
"market": "NO",
"productName": "enterprise",
"additionalFeatures": [],
"disabledFeatures": [],
"name": "string",
"isActive": true,
"defaultLanguage": "en",
"hostName": "string",
"logo": "string",
"favicon": "string",
"authLogo": "string",
"authLogoHeight": 0,
"siteUrl": "string",
"termsUrl": "string",
"privacyUrl": "string",
"gtm": "string",
"taxRates": [],
"smsOtp": true,
"emailProvider": "brevo",
"tenantContact": "string",
"registeredBusinessNo": "string",
"bankAccountNo": "string",
"swiftCode": "string",
"iban": "<iban>",
"defaultLogoutURL": "string",
"postalAddress": "<postalAddress>",
"otpTemplateId": {},
"smsSenderId": 0,
"emailSenderId": 0,
"smsSender": {
"metaData": {}
},
"emailSender": {
"metaData": {}
},
"products": [],
"users": [],
"members": [],
"roles": [],
"subscriptionPlans": [],
"packages": [],
"invoices": [],
"orders": [],
"paymentProviders": [],
"newslettersProviderConfig": [],
"paymentProviderConfigs": [],
"oidcClients": [],
"oauthProviders": [],
"activityLogs": [],
"m2m_api_clients": [],
"customProperties": [],
"consents": [],
"preference": {
"inputFieldConfig": [],
"customFieldsOnMemberCard": [],
"customFieldsOnInvoice": [],
"visibleAdditionalFieldsOnMypage": [],
"metaData": {}
},
"settings": {
"aiResidency": {},
"metaData": {}
},
"communicationTemplates": [],
"additionalHostnames": [],
"exportHistory": [],
"arReportHistory": [],
"mypageCardsSettings": [],
"webhooks": [],
"customOrders": [],
"customOrderSources": [],
"brandKits": [],
"communicationReceivers": [],
"id": 0,
"createdAt": "2019-08-24T14:15:22Z",
"updatedAt": "2019-08-24T14:15:22Z",
"deletedAt": "2019-08-24T14:15:22Z",
"metaData": {}
},
"workflowRuleId": "string",
"workflowRule": {
"rule": {},
"description": "string",
"isActive": true,
"tenantId": 0,
"tenant": {
"additionalFeatures": [],
"disabledFeatures": [],
"taxRates": [],
"products": [],
"users": [],
"members": [],
"roles": [],
"subscriptionPlans": [],
"packages": [],
"invoices": [],
"orders": [],
"paymentProviders": [],
"newslettersProviderConfig": [],
"paymentProviderConfigs": [],
"oidcClients": [],
"oauthProviders": [],
"activityLogs": [],
"m2m_api_clients": [],
"customProperties": [],
"consents": [],
"communicationTemplates": [],
"additionalHostnames": [],
"exportHistory": [],
"arReportHistory": [],
"mypageCardsSettings": [],
"webhooks": [],
"customOrders": [],
"customOrderSources": [],
"brandKits": [],
"communicationReceivers": [],
"metaData": {}
},
"visualWorkflow": {},
"id": 0,
"createdAt": "2019-08-24T14:15:22Z",
"updatedAt": "2019-08-24T14:15:22Z",
"deletedAt": "2019-08-24T14:15:22Z",
"metaData": {}
},
"entityTags": [
{
"metaData": {}
}
],
"id": 0,
"createdAt": "2019-08-24T14:15:22Z",
"updatedAt": "2019-08-24T14:15:22Z",
"deletedAt": "2019-08-24T14:15:22Z",
"metaData": {}
}badRequest
Same fields as Get personalized tokens for a workflow (400).
{
"messageCode": "badRequest",
"message": "string",
"errors": [
{}
]
}unauthorized
This response has no body.
forbiddenResource
Same fields as Get all visual workflows (paginated) (403).
{
"messageCode": "string",
"message": "string",
"errors": [
{}
]
}visualWorkflowNotFound
Same fields as Get a visual workflow by ID (404).
{
"messageCode": "visualWorkflowNotFound",
"message": "string",
"errors": [
{}
]
}workflowIsNotPublished
messageCodestringRequired"workflowIsNotPublished"messagestringerrorsarray of FieldErrorRequired7 fieldserrorsfieldstringRequired when parent is presentField path: errors[].fieldfieldValuestringRequired 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[].messageCode{
"messageCode": "workflowIsNotPublished",
"message": "string",
"errors": [
{}
]
}curlcurl 'https://api.subrite.no/api/v1/automation/visual-workflows/{id}/unpublish' \
--request POST \
--header 'Authorization: Bearer <token>'minItems: 1maxItems: 5subjectstringOptionalemailContentarray of objectOptionalemailPreviewTextstringOptionalnamestringOptionalsenderIdnumberRequiredminimum: 1templateIdnumberOptionalautomationIdnumberOptional{
"recipients": [
"user@example.com",
"test@example.com"
],
"subject": "Welcome to our platform!",
"emailContent": [
{
"type": "paragraph",
"children": [
{
"text": "Thank you for joining us!"
}
]
}
],
"emailPreviewText": "Get started with your account",
"name": "Welcome Email Template",
"senderId": 1,
"templateId": 2,
"automationId": 123
}Test email sent successfully
This response has no body.
This response has no body.
badRequest, workflowTestRecipientsRequired
messageCodestringRequired"badRequest", "workflowTestRecipientsRequired"unauthorized
This response has no body.
workflowSenderNotFound, visualWorkflowNotFound
messageCodestringRequired"workflowSenderNotFound", workflowTestEmailFailed
messageCodestringRequired"workflowTestEmailFailed"curlcurl 'https://api.subrite.no/api/v1/automation/visual-workflows/{id}/test/email' \
--request POST \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"recipients": [
"user@example.com",
"test@example.com"
],
"subject": "Welcome to our platform!",
"emailContent": [
{
"type": "paragraph",
"children": [
{
"text": "Thank you for joining us!"
}
]
}
],
"emailPreviewText": "Get started with your account",
"name": "Welcome Email Template",
"senderId": 1,
"templateId": 2,
"automationId": 123
}'minItems: 1maxItems: 5smsContentstringOptionalnamestringOptionalsenderIdnumberRequiredminimum: 1automationIdnumberOptionalconsentIdnumberOptionalminimum: 1{
"phoneNumbers": [
"<phoneNumbers>",
"<phoneNumbers>"
],
"smsContent": "Hello! This is a test message from your workflow.",
"name": "Welcome SMS Template",
"senderId": 1,
"automationId": 123,
"consentId": 4
}Test SMS sent successfully
This response has no body.
This response has no body.
badRequest, workflowTestPhoneNumbersRequired
messageCodestringRequired"badRequest", "workflowTestPhoneNumbersRequired"unauthorized
This response has no body.
workflowSenderNotFound, visualWorkflowNotFound
Same fields as Send a test email for a workflow node (404).
workflowTestSmsFailed
messageCodestringRequired"workflowTestSmsFailed"curlcurl 'https://api.subrite.no/api/v1/automation/visual-workflows/{id}/test/sms' \
--request POST \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"phoneNumbers": [
"<phoneNumbers>",
"<phoneNumbers>"
],
"smsContent": "Hello! This is a test message from your workflow.",
"name": "Welcome SMS Template",
"senderId": 1,
"automationId": 123,
"consentId": 4
}'identifierValuestringRequired 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": [
{}
]
}errorsarray of FieldErrorRequired7 fieldserrorsfieldstringRequired when parent is presentField path: errors[].fieldfieldValuestringRequired 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": "visualWorkflowNotFound",
"message": "string",
"errors": [
{}
]
}{
"messageCode": "string",
"message": "string",
"errors": [
{}
]
}{
"messageCode": "visualWorkflowNotFound",
"message": "string",
"errors": [
{}
]
}{
"messageCode": "string",
"message": "string",
"errors": [
{}
]
}{
"messageCode": "visualWorkflowNotFound",
"message": "string",
"errors": [
{}
]
}phonestringemailVerifiedstringRequiredField path: updatedByUser.emailVerifiedphoneVerifiedbooleanRequiredField path: updatedByUser.phoneVerifiedisOwnerbooleanRequiredField path: updatedByUser.isOwnerisTestUserbooleanRequiredField path: updatedByUser.isTestUserimagestringRequiredField path: updatedByUser.imagecreatedInCheckoutUuidstringRequiredField path: updatedByUser.createdInCheckoutUuiduserRolesarray of UserRoleField path: updatedByUser.userRoles9 fieldsupdatedByUser.userRolesuserIdnumberRequired when parent is presentField path: updatedByUser.userRoles[].userIdroleIdnumberRequired when parent is presentField path: updatedByUser.userRoles[].roleIduserUserRequired when parent is presentField path: updatedByUser.userRoles[].userRecursive schema; nested fields are not repeated.roleRoleRequired when parent is presentField path: updatedByUser.userRoles[].roleNested fields omitted: depth limit.idnumberRequired when parent is presentField path: updatedByUser.userRoles[].idcreatedAtstring (date-time)Required when parent is presentField path: updatedByUser.userRoles[].createdAtupdatedAtstring (date-time)Required when parent is presentField path: updatedByUser.userRoles[].updatedAtdeletedAtstring (date-time)Required when parent is presentField path: updatedByUser.userRoles[].deletedAtmetaDataobjectRequired when parent is presentField path: updatedByUser.userRoles[].metaDatanotesarray of NoteRequiredField path: updatedByUser.notesNested fields omitted: field limit.exportHistoryarray of ExportHistoryRequiredField path: updatedByUser.exportHistoryNested fields omitted: field limit.userSettingsUserSettingsField path: updatedByUser.userSettingsNested fields omitted: field limit.memberMemberField path: updatedByUser.memberNested fields omitted: field limit.tenantTenantRequiredField path: updatedByUser.tenantNested fields omitted: field limit.userAccountsarray of UserAccountRequiredField path: updatedByUser.userAccountsNested fields omitted: field limit.userSessionsarray of UserSessionRequiredField path: updatedByUser.userSessionsNested fields omitted: field limit.idnumberRequiredField path: updatedByUser.idcreatedAtstring (date-time)RequiredField path: updatedByUser.createdAtupdatedAtstring (date-time)RequiredField path: updatedByUser.updatedAtdeletedAtstring (date-time)RequiredField path: updatedByUser.deletedAtmetaDataobjectRequiredField path: updatedByUser.metaDatavisualWorkflowVisualWorkflowRequiredField path: workflowRule.visualWorkflowRecursive schema; nested fields are not repeated.idnumberRequiredField path: workflowRule.idcreatedAtstring (date-time)RequiredField path: workflowRule.createdAtupdatedAtstring (date-time)RequiredField path: workflowRule.updatedAtdeletedAtstring (date-time)RequiredField path: workflowRule.deletedAtmetaDataobjectRequiredField path: workflowRule.metaDatasubscriptionPlanSubscriptionPlanRequired when parent is presentField path: entityTags[].subscriptionPlanNested fields omitted: field limit.visualWorkflowIdnumberRequired when parent is presentField path: entityTags[].visualWorkflowIdvisualWorkflowVisualWorkflowRequired when parent is presentField path: entityTags[].visualWorkflowRecursive schema; nested fields are not repeated.idnumberRequired when parent is presentField path: entityTags[].idcreatedAtstring (date-time)Required when parent is presentField path: entityTags[].createdAtupdatedAtstring (date-time)Required when parent is presentField path: entityTags[].updatedAtdeletedAtstring (date-time)Required when parent is presentField path: entityTags[].deletedAtmetaDataobjectRequired when parent is presentField path: entityTags[].metaData{
"name": "string",
"nodes": {},
"edges": {},
"isPublished": true,
"publishedAt": "2019-08-24T14:15:22Z",
"updatedBy": 0,
"updatedByUser": {
"userType": "system_admin",
"tenantId": 0,
"email": "string",
"fullName": "<fullName>",
"phone": "<phone>",
"emailVerified": "string",
"phoneVerified": true,
"isOwner": true,
"isTestUser": true,
"image": "string",
"createdInCheckoutUuid": "string",
"userRoles": [],
"notes": [],
"exportHistory": [],
"userSettings": {
"metaData": {}
},
"member": {
"customPropertyValues": {},
"productRecipients": [],
"metaData": {}
},
"tenant": {
"additionalFeatures": [],
"disabledFeatures": [],
"taxRates": [],
"products": [],
"users": [],
"members": [],
"roles": [],
"subscriptionPlans": [],
"packages": [],
"invoices": [],
"orders": [],
"paymentProviders": [],
"newslettersProviderConfig": [],
"paymentProviderConfigs": [],
"oidcClients": [],
"oauthProviders": [],
"activityLogs": [],
"m2m_api_clients": [],
"customProperties": [],
"consents": [],
"communicationTemplates": [],
"additionalHostnames": [],
"exportHistory": [],
"arReportHistory": [],
"mypageCardsSettings": [],
"webhooks": [],
"customOrders": [],
"customOrderSources": [],
"brandKits": [],
"communicationReceivers": [],
"metaData": {}
},
"userAccounts": [],
"userSessions": [],
"id": 0,
"createdAt": "2019-08-24T14:15:22Z",
"updatedAt": "2019-08-24T14:15:22Z",
"deletedAt": "2019-08-24T14:15:22Z",
"metaData": {}
},
"description": "string",
"isTemplate": true,
"tenantId": 0,
"tenant": {
"market": "NO",
"productName": "enterprise",
"additionalFeatures": [],
"disabledFeatures": [],
"name": "string",
"isActive": true,
"defaultLanguage": "en",
"hostName": "string",
"logo": "string",
"favicon": "string",
"authLogo": "string",
"authLogoHeight": 0,
"siteUrl": "string",
"termsUrl": "string",
"privacyUrl": "string",
"gtm": "string",
"taxRates": [],
"smsOtp": true,
"emailProvider": "brevo",
"tenantContact": "string",
"registeredBusinessNo": "string",
"bankAccountNo": "string",
"swiftCode": "string",
"iban": "<iban>",
"defaultLogoutURL": "string",
"postalAddress": "<postalAddress>",
"otpTemplateId": {},
"smsSenderId": 0,
"emailSenderId": 0,
"smsSender": {
"metaData": {}
},
"emailSender": {
"metaData": {}
},
"products": [],
"users": [],
"members": [],
"roles": [],
"subscriptionPlans": [],
"packages": [],
"invoices": [],
"orders": [],
"paymentProviders": [],
"newslettersProviderConfig": [],
"paymentProviderConfigs": [],
"oidcClients": [],
"oauthProviders": [],
"activityLogs": [],
"m2m_api_clients": [],
"customProperties": [],
"consents": [],
"preference": {
"inputFieldConfig": [],
"customFieldsOnMemberCard": [],
"customFieldsOnInvoice": [],
"visibleAdditionalFieldsOnMypage": [],
"metaData": {}
},
"settings": {
"aiResidency": {},
"metaData": {}
},
"communicationTemplates": [],
"additionalHostnames": [],
"exportHistory": [],
"arReportHistory": [],
"mypageCardsSettings": [],
"webhooks": [],
"customOrders": [],
"customOrderSources": [],
"brandKits": [],
"communicationReceivers": [],
"id": 0,
"createdAt": "2019-08-24T14:15:22Z",
"updatedAt": "2019-08-24T14:15:22Z",
"deletedAt": "2019-08-24T14:15:22Z",
"metaData": {}
},
"workflowRuleId": "string",
"workflowRule": {
"rule": {},
"description": "string",
"isActive": true,
"tenantId": 0,
"tenant": {
"additionalFeatures": [],
"disabledFeatures": [],
"taxRates": [],
"products": [],
"users": [],
"members": [],
"roles": [],
"subscriptionPlans": [],
"packages": [],
"invoices": [],
"orders": [],
"paymentProviders": [],
"newslettersProviderConfig": [],
"paymentProviderConfigs": [],
"oidcClients": [],
"oauthProviders": [],
"activityLogs": [],
"m2m_api_clients": [],
"customProperties": [],
"consents": [],
"communicationTemplates": [],
"additionalHostnames": [],
"exportHistory": [],
"arReportHistory": [],
"mypageCardsSettings": [],
"webhooks": [],
"customOrders": [],
"customOrderSources": [],
"brandKits": [],
"communicationReceivers": [],
"metaData": {}
},
"visualWorkflow": {},
"id": 0,
"createdAt": "2019-08-24T14:15:22Z",
"updatedAt": "2019-08-24T14:15:22Z",
"deletedAt": "2019-08-24T14:15:22Z",
"metaData": {}
},
"entityTags": [
{
"metaData": {}
}
],
"id": 0,
"createdAt": "2019-08-24T14:15:22Z",
"updatedAt": "2019-08-24T14:15:22Z",
"deletedAt": "2019-08-24T14:15:22Z",
"metaData": {}
}messagestringerrorTypestringRequired when parent is presentField path: errors[].errorTypemessagestringerrorTypestringRequired when parent is presentField path: errors[].errorTypemessagestringerrorsarray of FieldErrorRequired7 fieldserrorsfieldstringRequired when parent is presentField path: errors[].fieldfieldValuestringRequired 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": "badRequest",
"message": "string",
"errors": [
{}
]
}{
"messageCode": "string",
"message": "string",
"errors": [
{}
]
}"visualWorkflowNotFound"messagestringerrorsarray of FieldErrorRequired7 fieldserrorsfieldstringRequired when parent is presentField path: errors[].fieldfieldValuestringRequired 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": "workflowSenderNotFound",
"message": "string",
"errors": [
{}
]
}messagestringerrorsarray of FieldErrorRequired7 fieldserrorsfieldstringRequired when parent is presentField path: errors[].fieldfieldValuestringRequired 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": "workflowTestEmailFailed",
"message": "string",
"errors": [
{}
]
}messagestringerrorsarray of FieldErrorRequired7 fieldserrorsfieldstringRequired when parent is presentField path: errors[].fieldfieldValuestringRequired 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": "badRequest",
"message": "string",
"errors": [
{}
]
}{
"messageCode": "string",
"message": "string",
"errors": [
{}
]
}{
"messageCode": "workflowSenderNotFound",
"message": "string",
"errors": [
{}
]
}messagestringerrorsarray of FieldErrorRequired7 fieldserrorsfieldstringRequired when parent is presentField path: errors[].fieldfieldValuestringRequired 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": "workflowTestSmsFailed",
"message": "string",
"errors": [
{}
]
}