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:
![](Images/Querying_The_API_1.png)
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
![](Images/arrowup.gif)
See Also
What is the ABACUS Analytics Engine | Command Line Options
© 2001-2024 Avolution Pty Ltd, related entities and/or licensors. All rights reserved.
|