RESTful APIs

Organizations, other than those using with the Starter or Pilot Editions, that wish to access their information can do so via RESTful Application Programming Interfaces (RESTful APIs) after securing an account and attaining their unique identifier (Tenant ID).  If you do not have an account please bother us so we can get started immediately.

This information, herein, assumes familiarity with JavaScript Object Notation (JSON) and how to make web service calls.  In theory you can use any development environment or tool capable of making web service calls and parsing JSON objects.  While we do not advertise training and coaching services on the use of JSON we do offer training on the use of the Lifecycle Sleuth APIs for organizations that want to exploit them.

We are always looking to add value to the Lifecycle Sleuth so do not hesitate to bother us to help integrate your information into your product or a Commercial-Off-The-Shelf (COTS) product.  As well, we are always looking for add to our product so forward your suggestions and if we add it to a future version you will get some cool swag.

The Lifecycle Sleuth APIs!

Below is the current list of APIs to access Lifecycle Sleuth data.  Note that in the future we may need to introduce versioning but as of now existing methods are expected to be enhanced with no data being deprecated or retired.  When we introduce versioning we will maintain backwards compatibility for six (6) months and be here to help in your refactoring efforts.

The endpoint for product API is will be published soon.  The endpoint for the sandbox (demo) APIs is http://clearlyagile.com/ls/api/ls/.  Anything within braces {} is a parameter.  Click on the individual methods to see example JSON results.

Data SetDescriptionMethod
BaseInfoReturns base information used throughout the application / serviceshttp://www.clearlyagilelab.com/ca/api/baseinfo?tenantID=AD84FF5A-F4BD-494B-91E4-40649BF4F5E1
ChangeLogReturns list of changes to activitieshttp://www.clearlyagilelab.com/ca/api/changelog?tenantID=AD84FF5A-F4BD-494B-91E4-40649BF4F5E1&ModelNumber=6&PhaseAbbreviation=PC
DashboardReturns Generic Information for a Product's Dashboardhttp://www.clearlyagilelab.com/ca/api/Dashboard?tenantID=AD84FF5A-F4BD-494B-91E4-40649BF4F5E1&UserID=3&ModelID=11&ProductCode=LS&PartnerView=0
ExportExports a Model's activities to XLSX or PDFhttp://www.clearlyagilelab.com/ca/api/export?tenantID=AD84FF5A-F4BD-494B-91E4-40649BF4F5E1&FileFormat=XLSX&TableName=MODEL&ModelNo=6
Governance FrameworkReturns information pertaining to a single Governance Frameworkhttp://clearlyagilelab.com/ca/api/governanceframework?TenantID=AD84FF5A-F4BD-494B-91E4-40649BF4F5E1&GovernanceFrameworkID=1
Governance FrameworksReturns all Governance Frameworks that a User has access to.http://clearlyagilelab.com/ca/api/governanceframeworks?TenantID=AD84FF5A-F4BD-494B-91E4-40649BF4F5E1&UserID=1
InsightsReturns Insights for a modelhttp://clearlyagilelab.com/ca/api/Insights?tenantID=AD84FF5A-F4BD-494B-91E4-40649BF4F5E1&UserID=3&ModelID=6&ProductCode=LS&PartnerView=0
LatestNewsReturns news relevant to the user.http://www.clearlyagilelab.com/ca/api/latestnews?tenantID=AD84FF5A-F4BD-494B-91E4-40649BF4F5E1
LookupReturns Lookup Tableshttp://www.clearlyagilelab.com/ca/api/lookup?tenantID=AD84FF5A-F4BD-494B-91E4-40649BF4F5E1
ModelReturns information about a specific modelhttp://www.clearlyagilelab.com/ca/api/model?tenantID=AD84FF5A-F4BD-494B-91E4-40649BF4F5E1&ModelNo=6
ModelsReturns a list of models that a User has access tohttp://www.clearlyagilelab.com/ca/api/models?tenantID=AD84FF5A-F4BD-494B-91E4-40649BF4F5E1&UserID=3&ProductCode=LS&Filter=0
OrganizationReturns information about the organizationhttp://www.clearlyagilelab.com/ca/api/organization?tenantID=AD84FF5A-F4BD-494B-91E4-40649BF4F5E1
OrganizationsReturns information about organizations related to a partner or userhttp://www.clearlyagilelab.com/ca/api/organizations?tenantID=AD84FF5A-F4BD-494B-91E4-40649BF4F5E1&UserID=0
TasksReturns tasks associated with a modelhttp://www.clearlyagilelab.com/ca/api/tasks?TenantID=AD84FF5A-F4BD-494B-91E4-40649BF4F5E1&ModelNo=6
UserReturns information pertaining to a specific user.http://www.clearlyagilelab.com/ca/api/user?tenantID=AD84FF5A-F4BD-494B-91E4-40649BF4F5E1&UserName=john.mcpherson@clearlyagile.com
WOREReturns information generated by the WOREhttp://clearlyagilelab.com/ca/api/Wore?TenantID=AD84FF5A-F4BD-494B-91E4-40649BF4F5E1&ModelNo=6
Posting DataAPIs for posting data to our database

Using Lifecycle Sleuth APIs

The first parameter to any call is the TenantID field, which identifies your organization and controls the data you can retrieve.  Besides the data you are seeking to retrieve, all calls will return the following information.

ItemTypeDescription
Success BooleanValue indicating whether the call worked
StatusCodeInteger HTTP response code
CountIntegerNumber of data elements
MessageStringShort description of object
DataObject or CollectionThe actual data object or collection from the API call

To access demo data, simply click on any of the links second table above.  You will be able to utilize all of our APIs but with read only access.

Tip: You should store the TenantID as a parameter to the application, rather than hard-code it into the API calls.

Return Codes

We utilize the same return codes that one would expect with HTTP.  In general, codes in the 2xx range indicate success, codes in the 4xx range indicate an error that failed because of the provided information, and codes in the 5xx range indicate very rare error due to issues within our Microsoft Azure instance.

CodeResultDescription
200OKEverything is working
400Bad RequestThe request was invalid because of a missing or invalid parameter from client-side code
401UnauthorizedThe request requires an user authentication. Likely the client-side code is using the incorrect Tenant ID
403ForbiddenThe server understood the request, but is refusing it or the access is not allowed. Examples: Tenant ID is wrong or not provided.
404Not FoundThe requested resource does not exist
422Unprocessable Entity Should be used if the server cannot process the enitity, e.g. if an image cannot be formatted or mandatory fields are missing in the payload
5xxInternal Server ErrorUnexpected problem on server side (Our Microsoft Azure instance)

Copyright (c) 2018, Clearly Agile Inc. All Rights Reserved.