HomeDocumentation and Guides
Home
Documentation and Guides

Apps Endpoint

📘

Apps Firewall

This endpoint applies to the Apps Firewall product

The apps endpoint returns all of an organization's installed applications as well as their current status. To get uninstalled applications use the install_state filter.

Field IDTypeDescription
idstringThe application's internal Cloudlock id
appresourceInformation regarding the application. See the app general resource
scope_categoriesresourceThe applications scope categories. See the scope_categories general resource
classificationresourceApplications classification resource. See the classification general resource
detected_attimestampTime the app was detected, in UTC
users_countintegerNumber of users that have the application installed
admins_countintegerNumber of administrators that have the application installed

Apps Filters

FilterUsageExample
limitDetermine how many incidents to returnhttps://callapi.cloudlock.com/apps?limit=40
offsetTo indicate the item number to start the result set fromhttps://callapi.cloudlock.com/apps?offset=20
classificationFilter based on the applications classificationhttps://callapi.cloudlock.com/apps?classification=trusted
vendorFilter based on the vendor platformhttps://callapi.cloudlock.com/apps?vendor=google
app_categoryThe category the application belongs tohttps://callapi.cloudlock.com/apps?app_category=CIT
detected_at_afterSee which applications were detected after a given datehttps://callapi.cloudlock.com/apps?detected_at_after=2018-04-21T08:22:40
detected_at_beforeSee which applications were detected before a given datehttps://callapi.cloudlock.com/apps?detected_at_before=2018-04-21T08:22:40
app_idsReturn one app/multiple apps based on their idhttps://callapi.cloudlock.com/apps?app_ids=1,2,3
scope_categoriesReturn applications based on their scope category. Use a comma "," to AND scope categories in a search for apps that have multiple scope categorieshttps://callapi.cloudlock.com/apps?scope_categories=LACES,BINFO
install_stateReturn applications based on their state (installed or not installed).https://callapi.cloudlock.com/apps?install_state=installed
count_totalDetermines whether the "total" field returns a valid count of how many applications there are so that you can page through them using the "offset". Default value is "false". Set to "true" to return a valid apps count.https://callapi.cloudlock.com/apps?count_total=true

Return Apps

[/apps{?classification}]
List all of an organization's applications [GET]

  • Parameters
  • classification (optional, options, trusted ) ¦.
    • Response 200 (application/json)
{
  "limit": 2,
  "offset": 0,
  "total": 45,
  "results": 2,
  "items": [
   {
    "id": "RkJx2JxK2O",
    "app": {
     "id": "RkJx2JxK2O",
     "name": "Cloudlock",
     "vendor": {
      "name": "google"
     },
     "trust_rating": null,
     "category": null,
     "origin_id": "144711811583-2ra0eotmtsb3p7f48eie68d4rfeghl7q.apps.googleusercontent.com",
     "install_type": "user",
     "is_revokable": true
    },
    "scope_categories": [
     "BINFO"
    ],
    "classification": {
     "reason": "",
     "updated_at": null,
     "method": "",
     "type": "unclassified"
    },
    "detected_at": "2016-02-19T08:22:40.382224+00:00",
    "users_count": 3,
    "admins_count": 0
   },
   {
    "id": "6yj3gQxaqo",
    "app": {
     "id": "6yj3gQxaqo",
     "name": "Cacoo",
     "vendor": {
      "name": "google"
     },
     "trust_rating": null,
     "category": null,
     "origin_id": "966566793553-e7pb5hvq94b54m7ce99cmlflvfdemi9h.apps.googleusercontent.com",
     "install_type": "user",
     "is_revokable": true
    },
    "scope_categories": [
     "BINFO"
    ],
    "classification": {
     "reason": "",
     "updated_at": null,
     "method": "",
     "type": "unclassified"
    },
    "detected_at": "2018-04-21T08:22:40.506392+00:00",
    "users_count": 1,
    "admins_count": 0
   }
  ]
 }

Change App Classification

[/apps/{id}/classification]
Update an apps classification [POST]

  • Request (application/json)
{"type": "trusted", "reason_id": 4,"other_reason" : "Other Custom Reason"}
  • Parameters
  • id (required, string, Aj54oPkx8m ) ¦ id of the Incident.
    • Response 200 (application/json)
  • Header
    • Body
{
 "id": "Aj54oPkx8m",
 "app": {
  "id": "Aj54oPkx8m",
  "name": "Random Google App",
  "vendor": {
   "name": "google"
  },
  "category": null,
  "origin_id": "150079143025-d1lebr0q2pdf3i9vp2o3gb9dhm6nahq1.apps.googleusercontent.com",
  "install_type": "user",
  "is_revokable": true
 },
 "scope_categories": [
  "BINFO"
 ],
 "classification": {
  "reason_id": 4,
  "reason": "Internal reason",
  "updated_at": "2016-01-17T20:43:08.465267+00:00",
  "method": "manual",
  "type": "trusted",
  "other_reason": "Other Custom Reason"
 },
 "detected_at": "2018-04-13T11:54:47.403000+00:00",
 "users_count": 1
}

Get an Application's Access Scopes

[/apps/{id}/access_scopes]
The access_scopes endpoint returns all of the access scopes for a given application (based on the application id).

idintegerThe internal Cloudlock id for the access scope
descriptionstringA verbose description of the access scope. For example: View your email address
friendly_namestringThe name of the access scope (in the UI this is the ˜ACCESS SCOPE in the Access Scopes table). For example: Userinfo - Email
urlstringThe url to the access scope. For example: https://www.googleapis.com/auth/userinfo.email
categoryresourceThe scope category the access scope belongs to. See the scope_categories general resource

List Access Scopes

List all of an application's access scopes [GET]

  • Parameters
  • id (required, string, G8qz0A239V ) ¦ id of the app.
    • Response 200 (application/json)
{
 "limit": 20,
 "offset": 0,
 "total": 7,
 "results": 7,
 "items": [
  {
   "id": "1gk4vvW4Mq",
   "description": "View your email address",
   "friendly_name": "Userinfo - Email",
   "url": "https://www.googleapis.com/auth/userinfo.email",
   "category": {
    "id": "BINFO",
    "title": "Basic Information"
   }
  },
  {
   "id": "eyaznabxYK",
   "description": "View and manage your +1s, posts, friends, pages, and circles.",
   "friendly_name": "Google+",
   "url": "https://www.googleapis.com/auth/plus.me",
   "category": {
    "id": "BINFO",
    "title": "Basic Information"
   }
  },
  {
   "id": "A1MxyBrzBj",
   "description": "Know your basic profile info and list of people in your circles.",
   "friendly_name": "Google+ API: Login Information",
   "url": "https://www.googleapis.com/auth/plus.login",
   "category": {
    "id": "LACES",
    "title": "Limited Access to Data and Files"
   }
  },
  {
   "id": "ZkL4dryz1o",
   "description": "Insert moments to a Google+ profile.",
   "friendly_name": "Google+ API: Moments",
   "url": "https://www.googleapis.com/auth/plus.moments.write",
   "category": {
    "id": "LACES",
    "title": "Limited Access to Data and Files"
   }
  },
  {
   "id": "oLZ48wd3ev",
   "description": "Retrieves the Google+ profile language.",
   "friendly_name": "Google+ API: Profile Language",
   "url": "https://www.googleapis.com/auth/plus.profile.language.read",
   "category": {
    "id": "LACES",
    "title": "Limited Access to Data and Files"
   }
  },
  {
   "id": "ebR4qyy4vA",
   "description": "",
   "friendly_name": "Google+",
   "url": "https://www.googleapis.com/auth/plus.profile.agerange.read",
   "category": {
    "id": "LACES",
    "title": "Limited Access to Data and Files"
   }
  },
  {
   "id": "5LZzKRoxbK",
   "description": "Retrieves the Google+ circle members.",
   "friendly_name": "Google+ API: Circles Read Only",
   "url": "https://www.googleapis.com/auth/plus.circles.members.read",
   "category": {
    "id": "LACES",
    "title": "Limited Access to Data and Files"
   }
  }
 ]
}

Get App Installs

[/apps/{id}/installs]
The installs endpoint returns all of the installs for a given application based on the application id.

Field IDTypeDescription
detection_datetimestampThe time the app was detected, in UTC
statestringState of installation, e.g. "Installed", "Not installed"
domainstringThe domain in which the app was installed, e.g. "http://mycompany.com"
scope_typestringThe scope of the installation, e.g. "user"
scope_valuestringID of the installation owner
given_namestringUser name
family_namestringUser name
scope_idintegerUnique identifier
appApp resourcelist of app resources (see below)

App Resource

Field IDType
idstring
namestring
vendorresource
categorystring
origin_idstring
install_typestring
client_typestring
is_revokableboolean
trust_ratinginteger
risk_levelinteger
access_riskinteger

List Installs

List all of an application's installs [GET]

  • Parameters
  • id (required, string, G8qz0A239V ) ¦ id of the app.
    • Response 200 (application/json)
{
  "limit": 20,
  "offset": 0,
  "total": 1,
  "results": 1,
  "items": [
  {
    "detection_date": "2018-04-07T07:42:11.452682+00:00",
    "state": "not_installed",
    "domain": "cloudlockdemo.com",
    "scope_type": "user",
    "scope_value": "[email protected]",
    "given_name": "Admin",
    "family_name": "Admin",
    "scope_id": 15926475,
    "app": {
      "id": "rNP3DKdzBy",
      "name": "Balsamiq Mockups 3 for Google Drive",
      "vendor": {
        "name": "google"
      },
      "category": null,
      "origin_id": "199991064517-4p9fkqt42jbsg361b4lu8fsuob161vhn.apps.googleusercontent.com",
      "install_type": "user",
      "client_type": "not_native",
      "is_revokable": true,
      "trust_rating": 100,
      "risk_level": 1,
      "access_risk": 2
    }
  }
]
}