Navigation: ABACUS Analytics Engine >

Querying the API

 

 

 

 

Depending on the application you are trying to access the ABACUS API from, you may need to write custom code or use a special API configuration tool that is built into the application. Before setting this up, you may prefer to test the queries exposed by ABACUS using an API development tool, such as Postman. The ABACUS API uses OData for querying and filtering data, which is a common standard that makes defining queries much simpler.

While it is possible to construct OData queries and parse responses with ad-hoc code, there exist many OData client libraries and tools for several languages (including .NET, Java, JavaScript and C++) which make querying ABACUS API endpoints from code much more straightforward. See the following page for a list of officially recommended client libraries:
http://www.odata.org/libraries/

After running your ABACUS.Console.exe against your project, you can access further information about the endpoints and using GET/POST HTTP methods through your relevant URL, or if locally hosted as http://localhost:8080/docs. For information about the basic operation of the ABACUS REST API, please refer to the ABACUS Integration Guide which is located in the Manuals directory of your ABACUS installation.

An OData API request to ABACUS Analytics Engine is structured as follows:

The following endpoints can be used in the API. Each of these endpoints must be accessed using the GET HTTP method.

Endpoint name

Description

Fields

About

Returns information about the ABACUS and OData versions used.

 

AllArchitectures

Returns all of the architectures in a model, regardless of their hierarchical position. The EEID of a specific architecture may be provided as a parameter if only the results for one specific architecture are desired.

Name (String)

Created (DateTimeOffset)

CreatedBy (String)

SyncWithServiceNow (Boolean)

SyncWithTechnopedia (Boolean)

FlagCost (Boolean)

FlagReliability (Boolean)

FlagModularity (Boolean)

FlagOpeness (Boolean)

FlagPerformance (Boolean)

Properties (DataServiceCollection<CProperty>)

Description (String)

EEID (Int64)

IsDeleted (Boolean)

Components

Connections

Catalogues 

Matrices

Charts

Architectures

TwoDVisualisations

ThreeDVisualisations

Standards

Architectures

Returns architectures that are at the root level of a model (e.g. not nested evolutions). The EEID of a specific architecture may be provided as a parameter if only the results for one specific architecture are desired.

Name (String)

Created (DateTimeOffset)

CreatedBy (String)

SyncWithServiceNow (Boolean)

SyncWithTechnopedia (Boolean)

FlagCost (Boolean)

FlagReliability (Boolean)

FlagModularity (Boolean)

FlagOpeness (Boolean)

FlagPerformance (Boolean)

Properties (DataServiceCollection<CProperty>)

Description (String)

EEID (Int64)

IsDeleted (Boolean)

Components

Connections

Catalogues 

Matrices

Charts

Architectures

TwoDVisualisations

ThreeDVisualisations

Standards

Catalogues

Returns a list of all catalogues across all architectures. The EEID of a specific catalogue may be provided as a parameter if only the results for one specific catalogue are desired.

Name (String)

Created (DateTimeOffset)

CreatedBy (String)

ElementTypes (DataServiceCollection<CElementType>)

Properties (DataServiceCollection<CProperty>)

Description (String)

EEID (Int64)

IsDeleted (Boolean)

Charts

Returns a list of all charts across all architectures. The EEID of a specific chart may be provided as a parameter if only the results for one specific chart are desired.

Name (String)

Created (DateTimeOffset)

CreatedBy (String)

Properties (DataServiceColelction<CProperty>)

Description (string)

EEID (Int64)

IsDeleted (Boolean)

ChartType

Components

Connections

ComponentConstraints

Returns a list of all component constraints (i.e. “Child must have parent” constraints and “Parent must have child” constraints). The EEID of a specific constraint may be provided as a parameter if only the results for one specific constraint are desired.

Name (String)

EEID (Int64)

ISDeleted (Boolean)

EnforcementMode

Components

Returns a list of all components instances across all architectures. The EEID of a specific component may be provided as a parameter if only the results for one specific component are desired.

Name (String)

BaselineElementEEID (Int64)

Created (DateTimeOffset)

CreatedBy (String)

Properties (DataServiceCollection<CElementProperty>)

Description (String)

EEID (Int64)

IsDeleted (Boolean)

ComponentType

Architecture

Components

InConnections

OutConnections

AllConnections

Standards

ComponentsAttachedTo

Returns all of the components attached to a connection or another component, which is specified by passing its EEID as a parameter. An EEID must be passed as a parameter for this endpoint to work.

Name (String)

BaselineElementEEID (Int64)

Created (DateTimeOffset)

CeratedBy (String)

Properties (DataServiceCollection<CElementProperty>)

Description (String)

EEID (Int64)

IsDeleted (Boolean)

Component Type

Architecture

Components

InConnections

OutConnections

AllConnections

Standards

ComponentTypes

Returns a list of all component types in the metamodel. The EEID of a specific component type may be provided as a parameter if only the results for one specific component type are desired.

Name (String)

DefaultHierarchyPath (ObservableCollection<String>)

Properties (DataServiceCollection<CProperty>)

Description (String)

EEID (Int64)

IsDeleted (Boolean)

SuperType

Standards

ConnectionConstraints

Returns a list of all connection or “topological” constraints (i.e. “component must be connected” constraints and “connection must be attached” constraints). The EEID of a specific constraint may be provided as a parameter if only the results for one specific constraint are desired.

Name (String)

EEID (Int64)

IsDeleted (Boolean)

EnforcementMode

Connections

Returns a list of all connections across all architectures. For useful results, it is usually necessary to expand the SourceComponent and SinkComponent navigation properties. The EEID of a specific connection may be provided as a parameter if only the results for one specific connection are desired.

Name (string)

BaselineElementEEID (Int64)

Created (DateTimeOffset)

CreatedBy (String)

Properties (DataServiceCollection<CElementProperty>)

Description (String)

EEID (Int64)

IsDeleted (Boolean)

ConnectionType

Architecture

SourceComponent

SinkComponent

Standards
 

ConnectionTypes

Returns a list of all connection types in the metamodel. The EEID of a specific connection type may be provided as a parameter if only the results for one specific connection type are desired.

Name (String)

DefaultHierarchyPath (ObservableCollection<String>)

Properties (DataScienceCollection<CProperty>)

Description (String)

EEID (Int64)

IsDeleted (Boolean)

SuperType

Standards
 

Diagrams

Returns a list of all diagrams across all architectures. The EEID of a specific diagram may be provided as a parameter if only the results for one specific diagram are desired.

 

Matrices

Returns a list of all matrices across all architectures. The EEID of a specific matrix may be provided as a parameter if only the results for one specific matrix are desired.

Name (string)

Created (DateTimeOffset)

CreatedBy (String)

ClassicMode (Boolean)

Properties (DataServiceCollection<CProperty>)

Description (String)

EEID (Int64)

IsDeleted (Boolean)

SinkComponentTypes

SourceComponentTypes

ObjectModel

Returns details about the project’s object model.

FileName (String)

ChangesMade (Boolean)

ReadOnly (Boolean)

AnonymousAccess (Boolean)

UseWindowsUsernameLogin (Boolean)

MaxID (Int64)

OpenTime (DateTimeOffset)

DefaultGroupingName (String)

CostFlagged (Boolean)

ModularityFlagged (Boolean)

PerformanceFlagged (Boolean)

OpenessFlagged (Boolean)

ReliabiltyFlagged (Boolean)

ReliabilityDuration (Int32)

ReliabilityUnit (string)

ReliabilityRecoveryTimeUnit (String)

ReliabilityRunOnServer (Boolean)

FinancialYears (Int32)

FinancialCalculatePerYear (Boolean)

FinancialRunOnServer (Boolean)

ComplexityCalculatePropertiesPerType (Boolean)

ComplexityRunOnServer (Boolean)

TechnopediaImportStrategy (Boolean)

TechnopediaImportTypeEEID (Int64)

TechnopediaServerSyncFrequency (Int64)

TechnopediaServerSyncTime (TimeSpan)

Shapes (dataServiceCollection<CShape>)

SharePointMAppings (DataServiceCollection<CSharePointMapping>)

ServiceNowTableMappings (DataServiceCollection<ke>)

Goals (DataServiceCollection<CGoal>)

EEID (Int64)

IsDeleted (Boolean)

Version

Standards

ComponentTypes

ConnectionTypes

Architectures

Standards

Returns a list of all standards in the metamodel section of the project. The EEID of a specific standard may be provided as a parameter if only the results for one specific standard are desired.

Name (String)

Properties (DataServiceCollection<CProperty>)

Description (String)

EEID (Int64)

IsDeleted (Boolean)

ThreeDViews

Returns a list of all 3D views across all architectures. The EEID of a specific 3D view may be provided as a parameter if only the results for one specific 3D view are desired.

Name (string)

Created (DateTimeOffset)

CreatedBy (String)

Components (DataServiceCollection<C3DComponent>)

Connections (DataServiceCollection<C3DConnection>)

Properties (DataServiceCollection<CProperty>)

Description (String)

EEID (Int64)

IsDeleted (Boolean)

TwoDViews

Returns a list of all diagrams across all architectures. The EEID of a specific diagram may be provided as a parameter if only the results for one specific diagram are desired.

Create (DateTimeOffset)

CreatedBy (string)

ScrollX (Int32)

ScrollY (Int32)

Zoom (Int32)

TwoDComponents (DataServiceCollection<CTwoDComponent>)

TwoDConnections (DataServiceCollection<CTwoConnection>)

Name (String)

ComponentStencilTypeMappings (DataServiceCollection <CTwoComponentStencilTypeMapping>)

ConnectionStencilTypeMappings (DataServiceCollection <CTwoComponentStencilTypeMapping>)

Properties (DataSerivceCollection<CProperty>)

Description (String)

EEID (Int64)

IsDeleted (Boolean)

Because the ABACUS REST API uses OData, standard options such as filters can be made to the URI being called to change the results that are received. There are extensive resources available online for expressions in OData APIs. Below are a number of examples using various options

The number of diagrams in a project:

https://192.0.0.1:443/Diagrams/$count

Return all architectures, only showing the name field:

https://192.0.0.1:443/AllArchitectures?$select=Name

Any architectures that contain “Production” in their name:

https://192.0.0.1:443/AllArchitectures?$filter=contains(Name, 'Production')

Return all applications from the ‘Production (As-Is)’ architecture:

https://192.0.0.1:443/Components?$filter=Architecture/Name eq 'Production (As-Is)' and ComponentType/Name eq 'Application'

The first three components in the ‘Production (As-Is)’ architecture

https://192.0.0.1:443/Components?$top=3&$filter=Architecture/Name eq 'Production (As-Is)'

Show all components with any incoming or outgoing attachments:

https://192.0.0.1:443/Components?$expand=InConnections($expand=SourceComponent),OutConnections($expand=SinkComponent)

Return all component types that are a subtype of another component type and show the name of the supertype:

https://192.0.0.1:443/ComponentTypes?$expand=SuperType($select=Name)&$filter=SuperType ne null

Return all applications from the ‘Production (As-Is)’ architecture that are recommended for retirement (show the property) and order the result by the application name:

https://192.0.0.1:443/Components?$expand=Properties($select=Type,Name,Value;$filter=Name eq 'Recommendation')&$filter= Architecture/Name eq 'Production (As-Is)' and ComponentType/Name eq 'Application' and Properties/any(Property: Property/Value eq 'Retire / Eliminate')&$orderby=Name


See Also

What is the ABACUS Analytics Engine | Command Line Options

 


© 2001-2024 Avolution Pty Ltd, related entities and/or licensors. All rights reserved.