diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/publishing/channel-types.get.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/repository/publishing/channel-types.get.desc.xml
new file mode 100644
index 0000000000..91adb66204
--- /dev/null
+++ b/config/alfresco/templates/webscripts/org/alfresco/repository/publishing/channel-types.get.desc.xml
@@ -0,0 +1,40 @@
+
+ Get Publishing Channels
+ Get the publishing channels for a Share Site.or specified NodeRef
+ /api/publishing/channel-types
+
+ user
+ required
+ public_api
+
+
+ json
+
+
+
+
+
+
\ No newline at end of file
diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/publishing/channel-types.get.json.ftl b/config/alfresco/templates/webscripts/org/alfresco/repository/publishing/channel-types.get.json.ftl
new file mode 100644
index 0000000000..87d85a360c
--- /dev/null
+++ b/config/alfresco/templates/webscripts/org/alfresco/repository/publishing/channel-types.get.json.ftl
@@ -0,0 +1,13 @@
+<#-- List Channels -->
+<#import "publishing.lib.ftl" as publishLib />
+{
+ "data":
+ [
+ <#if data??>
+ <#list data as type>
+ <@publishLib.channelTypeJSON type=type/>
+ <#if type_has_next>,#if>
+ #list>
+ #if>
+ ]
+}
diff --git a/config/alfresco/web-scripts-application-context.xml b/config/alfresco/web-scripts-application-context.xml
index f539b3f1e3..d57e1d3207 100644
--- a/config/alfresco/web-scripts-application-context.xml
+++ b/config/alfresco/web-scripts-application-context.xml
@@ -1109,6 +1109,13 @@
+
+
+
+
+
.
+ */
+
+package org.alfresco.repo.web.scripts.publishing;
+
+import java.util.List;
+import java.util.Map;
+
+import org.alfresco.repo.web.scripts.WebScriptUtil;
+import org.alfresco.service.cmr.publishing.channels.ChannelService;
+import org.alfresco.service.cmr.publishing.channels.ChannelType;
+import org.springframework.extensions.webscripts.Cache;
+import org.springframework.extensions.webscripts.DeclarativeWebScript;
+import org.springframework.extensions.webscripts.Status;
+import org.springframework.extensions.webscripts.WebScriptRequest;
+
+/**
+ * @author Nick Smith
+ * @since 4.0
+ *
+ */
+public class ChannelTypesGet extends DeclarativeWebScript
+{
+ private final PublishingModelBuilder builder = new PublishingModelBuilder();
+ private ChannelService channelService;
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ protected Map executeImpl(WebScriptRequest req, Status status, Cache cache)
+ {
+ List types = channelService.getChannelTypes();
+ List