Decisiv Operations API

The Operations API from Decisiv — 1 operation(s) for operations.

Operations 1

GET /service_management/{srm_account_id}/v1/cases/{case_id}/applicable_operations List all applicable operations for a specific case in the requested account

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/decisiv-operations-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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

decisiv-operations-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 0.48.24
  termsOfService: https://www.decisiv.com/terms-of-use
  contact:
    name: Decisiv Support
    email: support@decisiv.com
    url: https://www.decisiv.com
  title: Service Management Operations API
  description: The **Decisiv SRM Gateway** `Service Management` module provides the API functionality for managing an asset's case lifecycle from a Service Providers perspective.
  license:
    name: Proprietary
    identifier: proprietary
    url: https://www.decisiv.com/terms-of-use/
servers:
- url: https://srm-api.staging.decisivapps.com
- url: https://srm-api.decisivapps.com
security:
- OAuth2AuthorizationCode: []
  AccessToken: []
- OAuth2Password: []
  AccessToken: []
tags:
- name: Operations
paths:
  /service_management/{srm_account_id}/v1/cases/{case_id}/applicable_operations:
    get:
      summary: List all applicable operations for a specific case in the requested account
      tags:
      - Operations
      parameters:
      - name: srm_account_id
        in: path
        description: The account ID for SRM
        required: true
        schema:
          type: string
      - name: case_id
        in: path
        schema:
          type: string
          format: uuid
        description: The case UUID
        required: true
      - name: filter[opcode]
        in: query
        required: true
        schema:
          type: string
          minLength: 3
        description: Filters operations for the given opcode, using exact matching search
      - name: page[number]
        in: query
        required: false
        schema:
          type: integer
          default: 1
          minimum: 1
        description: Sets the desired `page` when encountering larger result sets
      - name: page[size]
        in: query
        required: false
        schema:
          type: integer
          default: 25
          minimum: 1
        description: Sets the desired maximum number of results per page
      responses:
        '200':
          description: Returns list of Applicable Operations for a case
          content:
            application/vnd.api+json:
              example:
                data:
                - id: T3789-0-04
                  type: applicable_operations
                  attributes:
                    name: All Engines All Years All Models All Makes for Air Dryer Cartridge, Replacement
                    description: Default variation for Air Dryer Cartridge, Replacement
                    opcode: T3789-0-04
                    notes: A note added to the operation
                    pricing:
                      estimated_total: '100.0'
                      fixed_total: null
                      labor:
                        estimated_total: '50.0'
                      parts:
                        estimated_total: 50
                        fixed_total: null
                    labor:
                      time: '2.0'
                      skill_level: A
                    vmrs:
                      code_key: '33'
                      code_key_name: Component Code
                      code: 001-001-000
                      description: Component Code description
                    parts:
                    - number: AB1098
                      name: Replacement for Air Dryer Cartridge
                      quantity: 1
                      unit_price: '353.28'
                    price_code: SR37TYP
              schema:
                $ref: '#/components/schemas/applicable_operations'
        '400':
          description: This response may occur when an invalid request has been provided to the server.  The request may be corrected by the consumer and resubmitted.
          content:
            application/vnd.api+json:
              example:
                errors:
                - title: Filter not allowed
                  detail: '''{{filter_name}}'' is not allowed. Valid filters: {{filters_list}}'
                  code: decisiv:filters:001
                  status: '400'
                  source:
                    parameter: filter[filter_name]
              schema:
                $ref: '#/components/schemas/errors_response'
        '401':
          description: This response may occur when the access token provided within the Authorization token has expired.
          content:
            application/vnd.api+json:
              example:
                errors:
                - title: Access unauthorized
                  detail: Access unauthorized
                  code: decisiv::access_token:001
                  status: '401'
              schema:
                $ref: '#/components/schemas/errors_response'
        '403':
          description: This response may occur when the authenticated user embedded within the Authorization header does not have access to the requested resource.
          content:
            application/vnd.api+json:
              example:
                errors:
                - title: Forbidden
                  detail: User does not have permission to perform this action on the requested resource(s)
                  code: decisiv:access:001
                  status: '403'
              schema:
                $ref: '#/components/schemas/errors_response'
        '404':
          description: This response may occur when the requested resource is not found.
          content:
            application/vnd.api+json:
              example:
                errors:
                - title: Record not found
                  detail: The requested record or one of its relationships could not be found
                  code: '404'
                  status: '404'
              schema:
                $ref: '#/components/schemas/errors_response'
        '424':
          description: This response may occur when there is an unresolved data dependency or configuration required inside of the Decisiv Platform preventing access to the requested action.
          content:
            application/vnd.api+json:
              example:
                errors:
                - title: Failed Dependency
                  detail: Failed Dependency
                  code: '424'
                  status: '424'
              schema:
                $ref: '#/components/schemas/errors_response'
        '504':
          description: This response may occur when there is an unexpected system timeout.
          content:
            application/vnd.api+json:
              example:
                errors:
                - code: '504'
                  detail: Gateway timeout error
                  status: '504'
                  title: Gateway timeout error
              schema:
                $ref: '#/components/schemas/errors_response'
components:
  schemas:
    applicable_operations:
      type: object
      required:
      - data
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/applicable_operation'
        meta:
          type: object
    errors_response:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/error_response'
      required:
      - errors
    error_response:
      type: object
      properties:
        status:
          type: string
        title:
          type: string
        detail:
          type:
          - string
          - 'null'
        code:
          type:
          - string
          - 'null'
        source:
          type: object
          properties:
            parameter:
              type:
              - string
              - 'null'
            pointer:
              type:
              - string
              - 'null'
        links:
          type: object
          description: Links related to this error (e.g. documentation reference).
          additionalProperties:
            type: string
            format: uri
      required:
      - status
      - title
    applicable_operation:
      type: object
      required:
      - data
      properties:
        data:
          type: object
          properties:
            id:
              type: string
              format: uuid
            type:
              type: string
            attributes:
              type: object
              properties:
                name:
                  type: string
                  description: Name of the applicable operation
                description:
                  type: string
                  description: Description of the applicable operation
                opcode:
                  type: string
                  description: Unique operation code
                price_code:
                  type: string
                  description: Price code information
                notes:
                  type: string
                  description: Notes added to the operation
                pricing:
                  type: object
                  description: Pricing information and estimates for the operation
                  properties:
                    estimated_total:
                      type:
                      - string
                      - 'null'
                      format: decimal
                      description: Estimated total for the operation (parts costs + labor costs). Null when the operation has a fixed price — `fixed_total` is populated instead.
                    fixed_total:
                      type:
                      - number
                      - 'null'
                      description: Fixed total when the operation has a fixed price. Null when the operation is estimated — `estimated_total` is populated instead.
                    parts:
                      type: object
                      description: Pricing information and estimates for the operation parts
                      properties:
                        estimated_total:
                          type:
                          - number
                          - 'null'
                          description: Estimated total for the operation parts. Null when the parts have a fixed price — `parts.fixed_total` is populated instead.
                        fixed_total:
                          type:
                          - number
                          - 'null'
                          description: Fixed total when the parts have a fixed price. Null when the parts are estimated — `parts.estimated_total` is populated instead.
                labor:
                  type: object
                  description: Information and estimates for the operation labor
                  properties:
                    estimated_total:
                      type: string
                      description: Estimated total for the operation labor. The skill level times the quantity of hours
                    time:
                      type: string
                      description: The value in hours of the operation
                    skill_level:
                      type: string
                      description: The value of the hour for the labor
                vmrs:
                  type: object
                  description: VMRS Code Keys for the operation
                  properties:
                    code_key:
                      type: string
                      description: The VMRS Code Key
                    code_key_name:
                      type: string
                      description: The VMRS Code Key name
                    code:
                      type: string
                      description: VMRS Code Key 33 coding for the operation
                    description:
                      type: string
                      description: The VMRS Code Key description
                parts:
                  type: array
                  description: List of parts associated with applicable operation
                  items:
                    type: object
                    properties:
                      number:
                        type: string
                        description: Part number of material associated with applicable operation
                      name:
                        type: string
                        description: Part name of materials associated with applicable operation
                      quantity:
                        type: integer
                        description: Count of specific parts associated with applicable operation
                      unit_price:
                        type: string
                        description: Unit cost of each part associated with the applicable operation
                additional_charges:
                  type:
                  - array
                  - 'null'
                  description: Additional charges associated with the operation; null when none are present.
                  items:
                    type: object
                    properties:
                      category:
                        type:
                        - string
                        - 'null'
                        description: Category of the additional charge
                      code:
                        type:
                        - string
                        - 'null'
                        description: Code of the additional charge
                      description:
                        type:
                        - string
                        - 'null'
                        description: Description of the additional charge
                      amount:
                        type:
                        - string
                        - 'null'
                        format: decimal
                        description: Amount of the additional charge
              required:
              - name
              - opcode
          required:
          - attributes
          - type
          - id
  securitySchemes:
    AccessToken:
      type: http
      scheme: bearer
      bearerFormat: JWT
    OAuth2AuthorizationCode:
      type: oauth2
      description: OAuth 2.0 Authorization Code flow. This is the required flow for new integrations. See https://api-docs.decisiv.net/docs/api/oauth/
      flows:
        authorizationCode:
          authorizationUrl: https://login.decisiv.net/auth/api_gateway
          tokenUrl: https://login.decisiv.net/oauth/token
          refreshUrl: https://login.decisiv.net/oauth/token
          scopes: {}
    OAuth2Password:
      type: oauth2
      description: '**Deprecated.** OAuth 2.0 Password flow. New integrations must use the Authorization Code flow (`OAuth2AuthorizationCode`); this flow remains available only during the migration window and will be removed in a future release. See https://api-docs.decisiv.net/docs/api/oauth/'
      flows:
        password:
          tokenUrl: https://login.decisiv.net/oauth/token
          scopes: {}