{
  "openapi": "3.1.1",
  "info": {
    "title": "EquipmentService1",
    "version": "1.0.0"
  },
  "servers": [
    {
      "url": "https://{rootHost}/{servicesPrefix}",
      "variables": {
        "rootHost": {
          "default": "swimlane.replicon.com"
        },
        "servicesPrefix": {
          "default": "services"
        }
      }
    }
  ],
  "paths": {
    "/EquipmentService1.svc/PutEquipment": {
      "post": {
        "description": "Create or update an equipment. If the target name is specified and the equipment does not exist, it will be created.",
        "operationId": "PutEquipment",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "equipment"
                ],
                "properties": {
                  "equipment": {
                    "description": "",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/EquipmentParameter1"
                      }
                    ]
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "d"
                  ],
                  "properties": {
                    "d": {
                      "$ref": "#/components/schemas/EquipmentReference1"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/EquipmentService1.svc/Enable": {
      "post": {
        "description": "Enable an equipment item.",
        "operationId": "Enable",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "equipmentUri"
                ],
                "properties": {
                  "equipmentUri": {
                    "description": "",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Uri"
                      }
                    ]
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "d"
                  ],
                  "properties": {
                    "d": {
                      "$ref": "#/components/schemas/Void"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/EquipmentService1.svc/Disable": {
      "post": {
        "description": "Disable an equipment item.",
        "operationId": "Disable",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "equipmentUri"
                ],
                "properties": {
                  "equipmentUri": {
                    "description": "",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Uri"
                      }
                    ]
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "d"
                  ],
                  "properties": {
                    "d": {
                      "$ref": "#/components/schemas/Void"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/EquipmentService1.svc/Delete": {
      "post": {
        "description": "Delete an equipment item.",
        "operationId": "Delete",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "equipmentUri"
                ],
                "properties": {
                  "equipmentUri": {
                    "description": "",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Uri"
                      }
                    ]
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "d"
                  ],
                  "properties": {
                    "d": {
                      "$ref": "#/components/schemas/Void"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/EquipmentService1.svc/BulkDelete": {
      "post": {
        "description": "Delete multiple equipment items. Items not found are treated as successfully deleted.",
        "operationId": "BulkDelete",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "equipmentUris"
                ],
                "properties": {
                  "equipmentUris": {
                    "description": "",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/UriArray"
                      }
                    ]
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "d"
                  ],
                  "properties": {
                    "d": {
                      "$ref": "#/components/schemas/EquipmentBulkDeleteResults1"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/EquipmentService1.svc/GetEquipmentDetails": {
      "post": {
        "description": "Retrieve equipment details from an equipment URI.",
        "operationId": "GetEquipmentDetails",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "equipmentUri"
                ],
                "properties": {
                  "equipmentUri": {
                    "description": "",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Uri"
                      }
                    ]
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "d"
                  ],
                  "properties": {
                    "d": {
                      "$ref": "#/components/schemas/EquipmentDetails1"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/EquipmentService1.svc/GetPageOfEquipmentByTextSearch": {
      "post": {
        "description": "Search for equipment matching a given text search parameter.",
        "operationId": "GetPageOfEquipmentByTextSearch",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "page",
                  "pageSize"
                ],
                "properties": {
                  "page": {
                    "description": "",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Int32"
                      }
                    ]
                  },
                  "pageSize": {
                    "description": "",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Int32"
                      }
                    ]
                  },
                  "textSearch": {
                    "description": "",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/EquipmentTextSearchParameter1"
                      }
                    ]
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "d"
                  ],
                  "properties": {
                    "d": {
                      "$ref": "#/components/schemas/EquipmentSearchResult1Array"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/EquipmentService1.svc/BulkGetEquipmentDetails": {
      "post": {
        "description": "Bulk get equipment details from their URI. If a URI is not found, it will be omitted from the results.",
        "operationId": "BulkGetEquipmentDetails",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "equipmentUris"
                ],
                "properties": {
                  "equipmentUris": {
                    "description": "",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/UriArray"
                      }
                    ]
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "d"
                  ],
                  "properties": {
                    "d": {
                      "$ref": "#/components/schemas/EquipmentDetails1Array"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/EquipmentService1.svc/AddEquipmentField": {
      "post": {
        "description": "Add a new field to an equipment item.",
        "operationId": "AddEquipmentField",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "equipmentUri",
                  "field"
                ],
                "properties": {
                  "equipmentUri": {
                    "description": "",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Uri"
                      }
                    ]
                  },
                  "field": {
                    "description": "",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/EquipmentFieldParameter1"
                      }
                    ]
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "d"
                  ],
                  "properties": {
                    "d": {
                      "$ref": "#/components/schemas/Uri"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/EquipmentService1.svc/UpdateEquipmentField": {
      "post": {
        "description": "Update the properties of an equipment field.",
        "operationId": "UpdateEquipmentField",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "fieldUri",
                  "field"
                ],
                "properties": {
                  "fieldUri": {
                    "description": "",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Uri"
                      }
                    ]
                  },
                  "field": {
                    "description": "",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/EquipmentFieldParameter1"
                      }
                    ]
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "d"
                  ],
                  "properties": {
                    "d": {
                      "$ref": "#/components/schemas/Void"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/EquipmentService1.svc/RemoveEquipmentField": {
      "post": {
        "description": "Remove a field from an equipment item.",
        "operationId": "RemoveEquipmentField",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "fieldUri"
                ],
                "properties": {
                  "fieldUri": {
                    "description": "",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Uri"
                      }
                    ]
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "d"
                  ],
                  "properties": {
                    "d": {
                      "$ref": "#/components/schemas/Void"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/EquipmentService1.svc/EnableEquipmentField": {
      "post": {
        "description": "Enable an equipment field.",
        "operationId": "EnableEquipmentField",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "fieldUri"
                ],
                "properties": {
                  "fieldUri": {
                    "description": "",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Uri"
                      }
                    ]
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "d"
                  ],
                  "properties": {
                    "d": {
                      "$ref": "#/components/schemas/Void"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/EquipmentService1.svc/DisableEquipmentField": {
      "post": {
        "description": "Disable an equipment field.",
        "operationId": "DisableEquipmentField",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "fieldUri"
                ],
                "properties": {
                  "fieldUri": {
                    "description": "",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Uri"
                      }
                    ]
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "d"
                  ],
                  "properties": {
                    "d": {
                      "$ref": "#/components/schemas/Void"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/EquipmentService1.svc/PutEquipmentFields": {
      "post": {
        "description": "Replace all fields on an equipment item. Existing fields are updated or removed; new entries are added.",
        "operationId": "PutEquipmentFields",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "equipmentUri",
                  "fields"
                ],
                "properties": {
                  "equipmentUri": {
                    "description": "",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Uri"
                      }
                    ]
                  },
                  "fields": {
                    "description": "",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/PutEquipmentFieldParameter1Array"
                      }
                    ]
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "d"
                  ],
                  "properties": {
                    "d": {
                      "$ref": "#/components/schemas/Void"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/EquipmentService1.svc/GetEquipmentFields": {
      "post": {
        "description": "Get fields configured for an equipment item.",
        "operationId": "GetEquipmentFields",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "equipmentUri"
                ],
                "properties": {
                  "equipmentUri": {
                    "description": "",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Uri"
                      }
                    ]
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "d"
                  ],
                  "properties": {
                    "d": {
                      "$ref": "#/components/schemas/EquipmentFieldDetails1Array"
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "EquipmentParameter1": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "target": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/EquipmentTargetParameter1"
              }
            ]
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "code": {
            "type": "string",
            "nullable": true
          },
          "isEnabled": {
            "type": "boolean",
            "nullable": true
          },
          "categoryName": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "EquipmentTargetParameter1": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "uri": {
            "type": "string",
            "format": "uri",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "EquipmentReference1": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "uri": {
            "type": "string",
            "format": "uri",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "displayText": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "Uri": {
        "type": "string",
        "format": "uri"
      },
      "Void": {
        "type": "null"
      },
      "UriArray": {
        "type": "array",
        "items": {
          "type": "string",
          "format": "uri"
        }
      },
      "EquipmentBulkDeleteResults1": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "deletedUris": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string",
              "format": "uri"
            }
          },
          "errors": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/EquipmentDeleteError1"
            }
          }
        }
      },
      "EquipmentDeleteError1": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "equipment": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/EquipmentReference1"
              }
            ]
          },
          "displayText": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "EquipmentDetails1": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "uri": {
            "type": "string",
            "format": "uri",
            "nullable": true
          },
          "displayText": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "code": {
            "type": "string",
            "nullable": true
          },
          "isEnabled": {
            "type": "boolean"
          },
          "categoryName": {
            "type": "string",
            "nullable": true
          },
          "fields": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/EquipmentFieldDetails1"
            }
          }
        }
      },
      "EquipmentFieldDetails1": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "uri": {
            "type": "string",
            "format": "uri",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "isEnabled": {
            "type": "boolean"
          },
          "rates": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/EquipmentFieldRateDetails1"
            }
          }
        }
      },
      "EquipmentFieldRateDetails1": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "effectiveDate": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Date1"
              }
            ]
          },
          "rateMultiple": {
            "type": "number",
            "format": "decimal",
            "nullable": true
          },
          "costRate": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/MoneyDetails1"
              }
            ]
          }
        }
      },
      "Date1": {
        "type": "object",
        "description": "Represents a calendar date without time information.",
        "additionalProperties": false,
        "properties": {
          "year": {
            "type": "integer",
            "description": "The year component of the date.",
            "format": "int32"
          },
          "month": {
            "type": "integer",
            "description": "The month component of the date (1-12).",
            "format": "int32"
          },
          "day": {
            "type": "integer",
            "description": "The day component of the date (1-31).",
            "format": "int32"
          }
        }
      },
      "MoneyDetails1": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "amount": {
            "type": "number",
            "format": "decimal"
          },
          "currency": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/CurrencyReference1"
              }
            ]
          }
        }
      },
      "CurrencyReference1": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "uri": {
            "type": "string",
            "format": "uri",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "symbol": {
            "type": "string",
            "nullable": true
          },
          "displayText": {
            "type": "string",
            "nullable": true
          },
          "isoCode": {
            "type": "string",
            "nullable": true
          },
          "isoName": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "Int32": {
        "type": "integer",
        "format": "int32"
      },
      "EquipmentTextSearchParameter1": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "searchText": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "EquipmentSearchResult1": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "equipment": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/EquipmentReference1"
              }
            ]
          },
          "isEnabled": {
            "type": "boolean"
          }
        }
      },
      "EquipmentSearchResult1Array": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/EquipmentSearchResult1"
        }
      },
      "EquipmentDetails1Array": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/EquipmentDetails1"
        }
      },
      "EquipmentFieldParameter1": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "isEnabled": {
            "type": "boolean",
            "nullable": true
          },
          "rates": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/EquipmentFieldRateParameter1"
            }
          }
        }
      },
      "EquipmentFieldRateParameter1": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "effectiveDate": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Date1"
              }
            ]
          },
          "rateMultiple": {
            "type": "number",
            "format": "decimal",
            "nullable": true
          },
          "costRate": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/MoneyParameter1"
              }
            ]
          }
        }
      },
      "MoneyParameter1": {
        "type": "object",
        "description": "Represents a monetary value with its associated currency.",
        "additionalProperties": false,
        "required": [
          "amount",
          "currencyUri"
        ],
        "properties": {
          "amount": {
            "type": "number",
            "description": "The numerical value of the monetary amount.",
            "format": "decimal"
          },
          "currencyUri": {
            "type": "string",
            "description": "URI reference to the currency for this monetary amount.",
            "format": "uri",
            "nullable": true
          }
        }
      },
      "PutEquipmentFieldParameter1": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "uri": {
            "type": "string",
            "format": "uri",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "isEnabled": {
            "type": "boolean",
            "nullable": true
          },
          "rates": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/EquipmentFieldRateParameter1"
            }
          }
        }
      },
      "PutEquipmentFieldParameter1Array": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/PutEquipmentFieldParameter1"
        }
      },
      "EquipmentFieldDetails1Array": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/EquipmentFieldDetails1"
        }
      }
    },
    "securitySchemes": {
      "bearer": {
        "type": "http",
        "scheme": "bearer"
      }
    }
  },
  "security": [
    {
      "bearer": []
    }
  ]
}