scorpion
scorpion

Reputation: 223

Accessing a cloud hub API

https://anypoint.mulesoft.com/apiplatform/anypoint-platform/#/portals/organizations/68ef9520-24e9-4cf2-b2f5-620025690913/apis/8617/versions/40329/pages/35412

/applications/{domain}/logs Traits: environment_based Retrieve log messages for the application, ordered newest to oldest.

I am trying to access this api but am unable to relate what client id does it ask. Also I am unable to relate to oauth authentication this needs. I am new to mule.

Upvotes: 0

Views: 2793

Answers (3)

Arun M S
Arun M S

Reputation: 29

i am sharing the steps by step instructions to access the details of apps from api.

Step 1 : Get the access token from the Api

https://anypoint.mulesoft.com/accounts/login?username=YOUR_USERNAME&password=YOUR_PASSWORD

NOTE : Use POST method and add Header Content-Type=application/json

You will get response in JSON format like below

{
  "access_token": "44126898-7ed8-4453-8d28-skajnbf",
  "token_type": "bearer",
  "redirectUrl": "/home/"
}

Step 2: Get your organization id

https://anypoint.mulesoft.com/accounts/api/me

NOTE : Use GET method and add below Headers

Content-Type = application/json

Authorization = Bearer ACCESS_TOKE_YOU_GOT_ABOVE

Example : Authorization = Bearer 44126898-7ed8-4453-8d28-skajnbf

In the response you will have a section where you will get you organization related details like below

"organization": {
  "name": "Sample",
  "id": "c1e68d1e-797d-47a5-b",
  "createdAt": "2016-11-29T09:45:27.903Z",
  "updatedAt": "2016-11-29T09:45:27.932Z",
  "ownerId": "68df9a5",
  "clientId": "7200350999564690",
  "domain": "******",
  "idprovider_id": "mulesoft",
  "isFederated": false,
  "parentOrganizationIds": [],
  "subOrganizationIds": [],
  "tenantOrganizationIds": [],
  "isMaster": true,
  "subscription": {
    "type": "Trial",
    "expiration": "2016-12-29T09:45:27.906Z"
  },

Step 3: Get the environment Details

https://anypoint.mulesoft.com/accounts/api/organizations/YOUR_ORGANIZATION_ID_FROM_ABOVE/environments

NOTE : Use GET method and add below Headers

Content-Type = application/json

Authorization = Bearer ACCESS_TOKE_YOU_GOT_ABOVE

Example : https://anypoint.mulesoft.com/accounts/api/organizations/c1e68d1e-797d-47a5-b/environments

You will get all available environments in the response in JSON format as below

{
  "data": [
    {
      "id": "042c933d-82ec-453c-99b2-asmbd",
      "name": "Production",
      "organizationId": "c1e68d1e-797d-47a5-b726-77asd",
      "isProduction": true
    }
  ],
  "total": 1
}

Step 4: Now specify the domain name and fetch the logs

https://anypoint.mulesoft.com/cloudhub/api/v2/applications/YOUR_CLOUDHUB_APP_NAME/logs

Example : https://anypoint.mulesoft.com/cloudhub/api/v2/applications/first-test-api-application/logs

NOTE : Use GET method and add below Headers

Content-Type = application/json

Authorization = Bearer ACCESS_TOKE_YOU_GOT_ABOVE

X-ANYPNT-ENV-ID = ENVIRONMENT_ID_YOU_GOT_ABOVE

Example : X-ANYPNT-ENV-ID = 042c933d-82ec-453c-99b2-asmbd

You will get the logs in JSON format as below

{
  "data": [
    {
      "loggerName": "Platform",
      "threadName": "system",
      "timestamp": 1480503796819,
      "message": "Deploying application to 1 workers.",
      "priority": "SYSTEM",
      "instanceId": "583eb1f1c4b27"
    },
    {
      "loggerName": "Platform",
      "threadName": "system",
      "timestamp": 1480503797404,
      "message": "Provisioning CloudHub worker...",
      "priority": "SYSTEM",
      "instanceId": "583eb1f1e4b27"
    }
  ],
  "total": 2
}

NOTE : FOR ENHANCED LOGGING YOU SHOULD SELECT APPROPRIATE DEPLOYMENT AND INSTANCE IDs TO GET LOGS IN SIMILAR MANNER

Hope this Helps for Beginners

Upvotes: 3

O'Neil Tomlinson
O'Neil Tomlinson

Reputation: 888

To see the clientID. Log into your CloudHub account. Click on the "gear" icon in the upper right corner. Click on the name of your organisation. you should now see your "clientID" and the "ClientSecret" ID.

Upvotes: 2

Ankit Shah
Ankit Shah

Reputation: 31

Before you use the CloudHub APIs or the Anypoint platform APIs you have to create an account on the Anypoint Platform - Check the architecture of the Anypoint API platform @ https://docs.mulesoft.com/anypoint-platform-for-apis/anypoint-platform-for-apis-system-architecture

Once your are done with the registration with the Anypoint API platform you need to set up users, roles & privileges as an admin - https://docs.mulesoft.com/anypoint-platform-administration/managing-accounts-roles-and-permissions

As admin you need to control access to APIs by creating & supplying client Id and client Secret - https://docs.mulesoft.com/anypoint-platform-administration/manage-your-organization-and-business-groups

I guess that's the client you referring to. It needs to be present in the request for all the APIs.

As far as OAuth is concerned, it is not completely functional on Cloudhub API. You will have to raise a ticket for support. Check this out - https://docs.mulesoft.com/mule-user-guide/v/3.7/mule-secure-token-service

If you are new to Mule, run through the Mule Intro videos and try out the Anypoint Studio to get feel of Mulesoft Applications.

Hope this helps.

Upvotes: 1

Related Questions