I'm trying to build a Marketing Cloud App for ExactTarget Hub Exchange and I keep running into documentation that is a bit ambiguous.

Specifically I'm struggling with FUEL API authentication in the context of different App installations.

My Assumptions:

  • Apps are installed through a friendly UI once certified. A customer does not need to create an App through the AppCenter.

  • Each installation of the app has a specific ClientID and ClientSecret. Those values are not global to the App itself.

  • The specific ClientID and ClientSecret are provided to my App dynamically during installation

  • I use the installation specific ClientID and ClientSecret + JWT to request Oauth tokens and make API calls.


  • Is ClientID and Client Secret specific to an App, or an App installation

  • Assuming it's to an app installation, how to i retrieve those values?

Thanks for the help.


1 Answer 1


The ClientID and ClientSecret are tied to the AppCenter Application. In order to create a Hub Exchange App, you will need to create an Application in AppCenter with all of the endpoints and permissions necessary for your application. Once you create the App in AppCenter, you will receive the ClientID/ClientSecret which you can use to authenticate according to this documentation:

POST /requestToken - Overview

  • 1
    I've done all of that and I can make API calls against the site/account that I first linked the App against when I created it. What I'm not getting is that in the future when the app is distributed to other sites, how will my API calls be contextualized to their site? Is it simply the presence of the refresh token that I receive from the JWT (when obtaining a new token), or does their specific installation have it's own ClientID/Client Secret? The docs aren't clear about this and the FuelSDK doesn't seem set up to handle a multiple install type situation where offline processing is necessary.
    – Andy Rowse
    Commented Sep 17, 2014 at 14:19
  • 1
    The ClientID/ClientSecret are specific to the app, not the installation instance of that app. The ClientID/ClientSecret that you were provided when you registered the application will allow you to use a refreshToken from the JWT to receive a new token in the correct context for the account where that HubExchange app is installed.
    – Mac
    Commented Sep 19, 2014 at 14:56
  • @Mac is there any code examples for that process? Commented May 6, 2015 at 18:10
  • 1
    The example is a bit old but still valid: github.com/ExactTarget/SubscriberSearch-php, specifically the github.com/ExactTarget/SubscriberSearch-php/blob/master/… file.
    – Mac
    Commented May 6, 2015 at 18:35

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .