Device42 Application Groups API

The Application Groups API from Device42 — 5 operation(s) for application groups.

Operations 9

GET /api/2.0/app_group_calc_template/ Get all AG Calculation Templates #
POST /api/2.0/app_group_calc_template/ Create/update Calculation Template #
GET /api/2.0/app_group_calc_template/{id}/ Get a single Calculation Template #
DELETE /api/2.0/app_group_calc_template/{id}/ Delete Calculation Template #
GET /api/2.0/application_group/{id}/items Get Application Group items #
GET /api/2.0/app_group_calc_rule/ Get all Application Group Calculation Rules #
POST /api/2.0/app_group_calc_rule/ Create/update Application Goup Calculation Rule #
GET /api/2.0/app_group_calc_rule/{id}/ Get a single Application Group Calculation Rule #
DELETE /api/2.0/app_group_calc_rule/{id}/ Delete Application Group Calculation Rule #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/device42:device42-application-groups-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

device42-application-groups-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Device42 Application Groups API
  version: '2.0'
  description: 'API Overview


    RESTful APIs are supported in Device42 as one of the primary methods of entering, editing and retrieving data.'
  contact:
    name: Device42
    email: support@device42.com
servers:
- url: https://<host>
security:
- basicAuth: []
- bearerAuth: []
tags:
- name: Application Groups
paths:
  /api/2.0/app_group_calc_template/:
    get:
      operationId: getappgroupcalctemplate
      description: This call will get all Application Group Calculation Templates
      summary: Get all AG Calculation Templates
      tags:
      - Application Groups
      parameters:
      - name: name
        in: query
        description: Full or partial name of Application Group Calculation Templates
        schema:
          type: string
      responses:
        '200':
          description: 'The above command returns results like this:'
          content:
            application/json:
              schema:
                properties:
                  total_count:
                    example: 1
                  limit:
                    example: 1000
                  templates:
                    type: array
                    items:
                      $ref: '#/components/schemas/AppGroupCalcTemplateGet'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
    post:
      operationId: postappgroupcalctemplate
      description: This call creates or updates an Application Group Calculation Templates
      summary: Create/update Calculation Template
      tags:
      - Application Groups
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AppGroupCalcTemplate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/AppGroupCalcTemplate'
        description: Application Group Calculation Templates to create
        required: true
      responses:
        '200':
          description: 'The above command returns results like this:'
          content:
            application/json:
              schema:
                properties:
                  msg:
                    example:
                    - Application Group Calculation Logic Template added/updated
                    - 11
                    - AG Template
                    - true
                    - true
                  code:
                    example: 0
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
  /api/2.0/app_group_calc_template/{id}/:
    get:
      operationId: getappgroupcalctemplate_by_id
      description: This call will get a Application Group Calculation Templates by ID
      summary: Get a single Calculation Template
      tags:
      - Application Groups
      parameters:
      - name: id
        in: path
        description: Application Group Calculation Template id
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: 'The above command returns results like this:'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppGroupCalcTemplateGet'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
    delete:
      operationId: deleteappgroupcalctemplate_by_id
      summary: Delete Calculation Template
      description: This API is used to delete the Application Group Calculation Template with the template id supplied as the required argument
      tags:
      - Application Groups
      parameters:
      - name: id
        in: path
        description: Application Group Calculation Template id
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: 'The above command returns results like this:'
          content:
            application/json:
              schema:
                properties:
                  deleted:
                    example: 'true'
                  id:
                    example: '114'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
  /api/2.0/application_group/{id}/items:
    get:
      operationId: getappgroupitems
      description: This call will get the items associated with the provided Application Group ID
      summary: Get Application Group items
      tags:
      - Application Groups
      parameters:
      - name: id
        in: path
        required: true
        description: ID of the Application Group
        schema:
          type: integer
      responses:
        '200':
          description: 'The above command returns results like this:'
          content:
            application/json:
              schema:
                type: object
                properties:
                  devices:
                    $ref: '#/components/schemas/groupItemDevice'
                  resources:
                    $ref: '#/components/schemas/groupItemResource'
                  appcomponents:
                    $ref: '#/components/schemas/groupItemappcomponents'
                  services:
                    $ref: '#/components/schemas/groupItemServices'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
  /api/2.0/app_group_calc_rule/:
    get:
      operationId: getappgroupcalcrule
      description: This call will get all Application Group Calculation Rules
      summary: Get all Application Group Calculation Rules
      tags:
      - Application Groups
      parameters:
      - name: name
        in: query
        description: Full or partial name of Application Group Calculation Rules
        schema:
          type: string
      responses:
        '200':
          description: 'The above command returns results like this:'
          content:
            application/json:
              schema:
                properties:
                  total_count:
                    example: 1
                  limit:
                    example: 1000
                  rules:
                    type: array
                    items:
                      $ref: '#/components/schemas/AppGroupCalcRuleGet'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
    post:
      operationId: postappgroupcalcrule
      description: This call creates or updates an Application Group Calculation Rule
      summary: Create/update Application Goup Calculation Rule
      tags:
      - Application Groups
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AppGroupCalcRulePost'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/AppGroupCalcRulePost'
        description: Application Group Calculation Rule to create/update
        required: true
      responses:
        '200':
          description: 'The above command returns results like this:'
          content:
            application/json:
              schema:
                properties:
                  msg:
                    example:
                    - Application Group Calculation Rule added/updated
                    - 11
                    - AG Rule
                    - true
                    - true
                  code:
                    example: 0
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
  /api/2.0/app_group_calc_rule/{id}/:
    get:
      operationId: getappgroupcalcrule_by_id
      description: This call will get a Application Group Calculation Rule by ID
      summary: Get a single Application Group Calculation Rule
      tags:
      - Application Groups
      parameters:
      - name: id
        in: path
        description: Application Group Calculation Rule id
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: 'The above command returns results like this:'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppGroupCalcRuleGet'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
    delete:
      operationId: deleteappgroupcalcrule_by_id
      summary: Delete Application Group Calculation Rule
      description: This API is used to delete the Application Group Calculation Rule with the rule id supplied as the required argument
      tags:
      - Application Groups
      parameters:
      - name: id
        in: path
        description: Application Group Calculation Rule id
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: 'The above command returns results like this:'
          content:
            application/json:
              schema:
                properties:
                  deleted:
                    example: 'true'
                  id:
                    example: '114'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
components:
  responses:
    Forbidden:
      description: Forbidden (The resource requested is hidden)
      content:
        application/json:
          example:
            errors:
            - code: 403
              reason: Forbidden
              title: Forbidden
              detail: The resource requested is hidden
    BadRequest:
      description: Bad Request (A validation exception has occurred.)
      content:
        application/json:
          example:
            errors:
            - code: 400
              reason: BAD_REQUEST
              title: The error response code title.
              detail: Details of the error response.
    Unauthorized:
      description: Unauthorized (Invalid credentials.)
      content:
        application/json:
          example:
            errors:
            - code: 401
              reason: Unauthorized
              title: Unauthorized
              detail: Invalid credentials.
    NotFound:
      description: Not Found (The specified resource could not be found)
      content:
        application/json:
          example:
            errors:
            - code: 404
              reason: Not Found
              title: Not Found
              detail: The specified resource could not be found.
    InternalServerError:
      description: Internal Server Error (A required parameter is missing or there is an issue with the server. Check the returned 'msg' field from the call.)
      content:
        application/json:
          example:
            errors:
            - code: 500
              reason: Internal Server Error
              title: Internal Server Error
              detail: A required parameter is missing or there is an issue with the server. Check the returned 'msg' field from the call.
    ServiceUnavailable:
      description: Service Unavailable (Please check if your Device42 instance is working normally.)
      content:
        application/json:
          example:
            errors:
            - code: 503
              reason: Service Unavailable
              title: Service Unavailable
              detail: Please check if your Device42 instance is working normally.
  schemas:
    AppGroupCalcRulePost:
      allOf:
      - $ref: '#/components/schemas/AppGroupCalcRuleBase'
      - type: object
        properties:
          remove_starting_point_device_ids:
            type: string
            example: 1,2,3
            description: Comma separated list of device IDs to remove from the fixed starting point
          remove_starting_point_resource_ids:
            type: string
            example: 1,2,3
            description: Comma separated list of resource IDs to remove from the fixed starting point
          remove_starting_point_application_component_ids:
            type: string
            example: 1,2,3
            description: Comma separated list of application component IDs to remove from the fixed starting point
          remove_starting_point_service_instance_ids:
            type: string
            example: 1,2,3
            description: Comma separated list of service instance IDs to remove from the fixed starting point
          starting_point_device_ids:
            type: string
            example: 1,2,3
            description: Comma separated list of device IDs to set as the fixed starting point
          starting_point_resource_ids:
            type: string
            example: 1,2,3
            description: Comma separated list of resource IDs to set as the fixed starting point
          starting_point_application_component_ids:
            type: string
            example: 1,2,3
            description: Comma separated list of application component IDs to set as the fixed starting point
          starting_point_service_instance_ids:
            type: string
            example: 1,2,3
            description: Comma separated list of service instance IDs to set as the fixed starting point
    groupItemResource:
      type: object
      properties:
        cresourceid_9:
          type: object
          properties:
            category:
              example: Device
            zones:
              example: usa-east-2a
            identifier:
              example: i-0d90158f3cf3e7e19
            tags:
              example: ''
            name:
              example: d42-internal
            notes:
              example: oracle cloud
            last_changed:
              example: '2024-01-01T00:00:00.000Z'
            subtype:
              example: []
            cloud_infra_id:
              example: 2
            region:
              example: usa-east-2
            root_resource_id:
              example: 2
            root_resource:
              example: wbd42pstgr1
            last_edited:
              example: '2024-01-01T00:00:00.000Z'
            first_added:
              example: '2024-01-01T00:00:00.000Z'
            id:
              example: 3
            resource_storage:
              example: []
    AppGroupCalcTemplate:
      type: object
      properties:
        id:
          type: integer
          example: 1
          description: ID of an existing Application Group Calculation Templates. Do not enter an ID if you are creating a new template.
        name:
          type: string
          example: Custom Template Name
          description: Name of the Application Group Calculation Templates.  Either name or id is required.
        calculation_format:
          type: string
          example: DOQL
          enum:
          - Form
          - DOQL
          description: Whether the template is defined using DOQL or using predefined form fields. Required for new templates.
        doql_query:
          type: string
          example: 'SELECT servicecommunication_pk FROM view_servicecommunication_v2 where date_part(''day'', now() :: timestamp - last_updated :: timestamp) <= 30'
          description: DOQL query to use for template. Required for new templates with DOQL calculation format.
        connection_limit:
          type: integer
          example: 10
          description: How many connections are allowed for a single node in application group before it stops traversing
        time_period:
          type: integer
          example: 30
          description: Number of days to look back for connections
        exclude_local_host:
          type: string
          example: 'yes'
          enum:
          - 'yes'
          - 'no'
          description: Exclude any connections that are to the local host
        exclude_unmapped_clients:
          type: string
          example: 'yes'
          enum:
          - 'yes'
          - 'no'
          description: Exclude any connections that are client only
        exclude_client_os:
          type: string
          example: 'yes'
          enum:
          - 'yes'
          - 'no'
          description: Exclude devices with client operating systems
        end_at_vip:
          type: string
          example: 'yes'
          enum:
          - 'yes'
          - 'no'
          description: Stop traversing at VIPs
        end_at_db:
          type: string
          example: 'yes'
          enum:
          - 'yes'
          - 'no'
          description: Stop traversing at databases
        depth_level:
          type: integer
          example: 20
          description: How many levels deep to traverse
        exclude_udl:
          type: string
          example: 'yes'
          enum:
          - 'yes'
          - 'no'
          description: Exclude any connections that are to Undiscovered Listeners
        inclusions:
          description: JSON array of inclusion criteria
          type: array
          items:
            properties:
              criteria:
                type: string
                example: type="virtual"
                description: Advanced query filtering as specified in list page for selected ci type.
              ci_type:
                type: string
                enum:
                - device
                - resource
                description: Type of CI to include - currently supporting device and resources
        exclusions:
          description: JSON array of exclusion criteria
          type: array
          items:
            properties:
              criteria:
                type: string
                example: category = "Database"
                description: Advanced query filtering as specified in list page for selected ci type.
              ci_type:
                type: string
                enum:
                - application_component
                - device
                - resource
                - serviceportremoteip
                - servicedetail
                description: Type of CI to include - currently supporting application_component, device, resource, serviceportremoteip, and servicedetail
    AppGroupCalcRuleGet:
      allOf:
      - $ref: '#/components/schemas/AppGroupCalcRuleBase'
      - type: object
        properties:
          is_system:
            type: string
            example: 'no'
            enum:
            - 'yes'
            - 'no'
            description: Whether the rule is a system rule or a custom rule.
          starting_point_devices:
            description: JSON array of devices in the fixed starting point
            type: array
            items:
              properties:
                device_id:
                  type: integer
                  example: 1
                  description: ID of the device to use as a starting point
                name:
                  type: string
                  example: Device Name
                  description: Name of the device to use as a starting point
          starting_point_resources:
            description: JSON array of resources in the fixed starting point
            type: array
            items:
              properties:
                resource_id:
                  type: integer
                  example: 1
                  description: ID of the resource to use as a starting point
                name:
                  type: string
                  example: Resource Name
                  description: Name of the resource to use as a starting point
          starting_point_application_components:
            description: JSON array of application components in the fixed starting point
            type: array
            items:
              properties:
                application_component_id:
                  type: integer
                  example: 1
                  description: ID of the application component to use as a starting point
                name:
                  type: string
                  example: Application Component Name
                  description: Name of the application component to use as a starting point
          starting_point_service_instances:
            description: JSON array of service instances in the fixed starting point
            type: array
            items:
              properties:
                service_detail_id:
                  type: integer
                  example: 1
                  description: ID of the service instance to use as a starting point
                service_display_name:
                  type: string
                  example: Service Display Name
                  description: Display name of the service of service instance to use as a starting point
          last_processed:
            type: string
            example: '2024-09-09T10:42:47.241286Z'
            description: Date and time the rule was last processed
          processing_status:
            type: string
            example: Completed
            enum:
            - Processing
            - Completed
            - Warnings
            - Failed
            description: Status of the rule processing
          processing_logs:
            type: string
            example: Cannot process disabled Calculation Rules
            description: Logs from the last processing of the rule
          first_added:
            type: string
            example: '2024-09-09T10:42:47.241286Z'
            description: Date and time the rule was added to the database
          last_updated:
            type: string
            example: '2024-09-09T10:42:47.241286Z'
            description: Date and time the rule record in the database was saved, regardless if any properties were changed or not
    AppGroupCalcRuleBase:
      type: object
      properties:
        id:
          type: integer
          example: 1
          description: ID of an existing Application Group Calculation Rule. Do not enter an ID if you are creating a new rule.
        name:
          type: string
          example: Custom Rule Name
          description: Name of the Application Group Calculation Rule. Either name or id is required.
        enabled:
          type: string
          example: 'yes'
          enum:
          - 'yes'
          - 'no'
          description: Whether the rule is enabled or disabled.
        outcome:
          type: string
          example: Auto-Create
          enum:
          - Auto-Create
          - Suggest
          description: Whather the rule produces Application Groups or Application Group Suggestions when processing.
        starting_point_type:
          type: string
          example: Criteria
          enum:
          - Criteria
          - Fixed
          description: Whether the Application Groups start with a fixed starting point or a criteria based starting point.
        starting_point_criteria:
          description: JSON array of starting point criteria
          type: array
          items:
            properties:
              criteria:
                type: string
                example: type="virtual"
                description: Advanced query filtering as specified in list page for selected ci type.
              ci_type:
                type: string
                enum:
                - application_component
                - device
                - resource
                - servicedetail
                example: device
                description: Type of CI to include - currently supporting application_component, device, resource, and servicedetail
              required:
                type: string
                enum:
                - 'yes'
                - 'no'
                example: 'yes'
                description: Whether the starting point is required for the rule.
        group_by:
          type: array
          items:
            type: string
            example: Name
          description: How to group starting points for Application Groups when processing the rule. Available options depend on the CIs in the starting point.
        group_by_tags_like:
          type: string
          example: App-%
          description: Tag pattern to group by. Use '%'' as a wildcard. For example, to group on tags like 'App-1', 'App-2', use 'App-%'. Either group_by or group_by_tags_like is required for criteria based starting points.
        application_group_calc_template:
          type: string
          example: D42 Default Template
          description: Name of the Application Group Calculation Template to use for processing the rule. The default template is 'D42 Default Template'.
        application_group_calc_template_id:
          type: integer
          example: 1
          description: ID of the Application Group Calculation Template to use for processing the rule.
        levels_of_depth:
          type: integer
          example: 20
          description: Default levels of depth to display on Application Groups. Leave blank to fully expand.
        store_connection_metadata:
          type: string
          example: 'yes'
          enum:
          - 'yes'
          - 'no'
          description: Whether to store and display connection metadata.
    groupItemDevice:
      type: object
      properties:
        cdeviceid_6:
          type: object
          properties:
            name:
              example: Device_Name
            type_id:
              example: 2
            serial_no:
              example: FOC1252W6EW
            asset_no:
              example: '123456'
            device_url:
              example: /api/2.0/devices/64/
            device_id:
              example: '64'
            type:
              example: physical
            uuid:
              example: ''
    groupItemappcomponents:
      type: object
      properties:
        cppcomponents_1:
          type: object
          properties:
            traverse_subdirectories:
              example: 'yes'
            config_file_location:
              example: /opt/atlassian/jira/conf/
            id:
              example: 13
            application_category_id:
              example: 2
            what:
              example: Services
            rule_type_id:
              example: 1
            rule_type:
              example: Windows
            application_category_name:
              example: Application Layer
            related_services_ids:
              example: 55,
            service_listening_port:
              example: 8080
            app_name_pattern:
              example: '%(device_name)s - %(app_template_name)s'
            customer:
              example: ABC LLC
            name:
              example: App-Comp-Template-T2
            enabled:
              example: 'yes'
            service_cmd_arg_match:
              example: service
            match_type:
              example: Text
            match_type_id:
              example: 0
    AppGroupCalcTemplateGet:
      allOf:
      - $ref: '#/components/schemas/AppGroupCalcTemplate'
      - type: object
        properties:
          last_processed:
            type: string
            example: '2024-09-09T10:42:47.241286Z'
            description: Date and time the template was last processed
          processing_status:
            type: string
            example: Completed
            enum:
            - Processing
            - Completed
            - Warnings
            - Failed
            description: Status of the template processing
          processing_logs:
            type: string
            example: Error preparing data for Application Group Calculation Template.
            description: Logs from the last processing of the template
          first_added:
            type: string
            example: '2024-09-09T10:42:47.241286Z'
            description: Date and time the template was added to the database
          last_updated:
            type: string
            example: '2024-09-09T10:42:47.241286Z'
            description: Date and time the template record in the database was saved, regardless if any properties were changed or not
    groupItemServices:
      type: object
      properties:
        cservices_1:
          type: object
          properties:
            name:
              example: Device_Name
            type_id:
              example: 2
            serial_no:
              example: FOC1252W6EW
            asset_no:
              example: '123456'
            device_url:
              example: /api/2.0/devices/64/
            device_id:
              example: '64'
            type:
              example: physical
            uuid:
              example: ''
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: Basic authentication using a Device42 user's username and password.
    bearerAuth:
      type: http
      scheme: bearer
      description: Bearer token obtained from POST /tauth/1.0/token/ using an API Client's key/secret as Basic auth credentials.