{
  "openapi": "3.0.3",
  "info": {
    "title": "DrillPlan Dynamic Display Items API",
    "version": "1.1.0",
    "x-product-id": "DrillPlan-DDI-API",
    "description": "Provides access to DrillPlan dynamic display items.\n```plain {% title=\"Client ID\" %}\nfwk-drillplan.slbservice.com\n```   \n"
  },
  "tags": [
    {
      "name": "Display Items",
      "description": "Service endpoints to access DrillPlan display items."
    },
    {
      "name": "Key Parameters",
      "description": "Service endpoints to access DrillPlan key parameters."
    },
    {
      "name": "Tasks",
      "description": "Service endpoints to access asynchronous tasks."
    }
  ],
  "security": [
    {
      "bearer": [],
      "appkey": []
    }
  ],
  "paths": {
    "/v1/key-parameters": {
      "parameters": [
        {
          "$ref": "#/components/parameters/DataPartition"
        }
      ],
      "get": {
        "tags": [
          "Key Parameters"
        ],
        "summary": "Get DrillPlan key parameters.",
        "description": "Returns a collection of DrillPlan key parameters.  \n",
        "operationId": "GetKeyParametersV1",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/KeyParameterList"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          },
          "default": {
            "$ref": "#/components/responses/UnexpectedError"
          }
        }
      }
    },
    "/v1/projects/{projectId}/key-parameters/content/requests": {
      "parameters": [
        {
          "$ref": "#/components/parameters/ProjectId"
        },
        {
          "$ref": "#/components/parameters/DataPartition"
        }
      ],
      "post": {
        "tags": [
          "Key Parameters"
        ],
        "summary": "Create a task for requesting key parameters content.",
        "description": "Creates a new instance of the asynchronous task for requesting key parameters content. \nThe user must be a member of the project to be able to request key parameters content.\n",
        "operationId": "CreateKeyParametersContentRequestTaskV1",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateKeyParametersContentRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Task"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "423": {
            "$ref": "#/components/responses/Locked"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          },
          "default": {
            "$ref": "#/components/responses/UnexpectedError"
          }
        }
      }
    },
    "/v1/projects/{projectId}/key-parameters/content/{contentId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/ProjectId"
        },
        {
          "$ref": "#/components/parameters/ContentId"
        },
        {
          "$ref": "#/components/parameters/DataPartition"
        }
      ],
      "get": {
        "tags": [
          "Key Parameters"
        ],
        "summary": "Get a result of a key parameters content requesting task.",
        "description": "Results of key parameters content request operations are transient and get deleted after one minute after the corresponding task gets completed.\nTo get the results, the user must be a member of the project to which the task belongs.\n",
        "operationId": "GetKeyParametersContentV1",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/KeyParametersContent"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          },
          "default": {
            "$ref": "#/components/responses/UnexpectedError"
          }
        }
      }
    },
    "/v1/display-items": {
      "parameters": [
        {
          "$ref": "#/components/parameters/DataPartition"
        }
      ],
      "get": {
        "tags": [
          "Display Items"
        ],
        "summary": "Get DrillPlan display items.",
        "description": "Returns a collection of DrillPlan display items.  \n",
        "operationId": "GetDisplayItemsV1",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DisplayItemList"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          },
          "default": {
            "$ref": "#/components/responses/UnexpectedError"
          }
        }
      }
    },
    "/v1/projects/{projectId}/display-items/content/requests": {
      "parameters": [
        {
          "$ref": "#/components/parameters/ProjectId"
        },
        {
          "$ref": "#/components/parameters/DataPartition"
        }
      ],
      "post": {
        "tags": [
          "Display Items"
        ],
        "summary": "Create a task for requesting display items content.",
        "description": "Creates a new instance of the asynchronous task for requesting display items content. \nThe user must be a member of the project to be able to request display items content.\n",
        "operationId": "CreateDisplayItemsContentRequestTaskV1",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateDisplayItemsContentRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Task"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "423": {
            "$ref": "#/components/responses/Locked"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          },
          "default": {
            "$ref": "#/components/responses/UnexpectedError"
          }
        }
      }
    },
    "/v1/projects/{projectId}/display-items/content/{contentId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/ProjectId"
        },
        {
          "$ref": "#/components/parameters/ContentId"
        },
        {
          "$ref": "#/components/parameters/DataPartition"
        }
      ],
      "get": {
        "tags": [
          "Display Items"
        ],
        "summary": "Get a result of a display items content requesting task.",
        "description": "Results of display items content request operations are transient and get deleted after one minute after the corresponding task gets completed.\nTo get the results, the user must be a member of the project to which the task belongs.\n",
        "operationId": "GetDisplayItemsContentV1",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DisplayItemsContent"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          },
          "default": {
            "$ref": "#/components/responses/UnexpectedError"
          }
        }
      }
    },
    "/v1/projects/{projectId}/display-items/content-parts/{contentPartId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/ProjectId"
        },
        {
          "$ref": "#/components/parameters/ContentPartId"
        },
        {
          "$ref": "#/components/parameters/DataPartition"
        }
      ],
      "get": {
        "tags": [
          "Display Items"
        ],
        "summary": "Get a content part as a result of a display items content requesting task.",
        "description": "Results of display items content request operations are transient and get deleted after one minute after the corresponding task gets completed.\nTo get the results, the user must be a member of the project to which the task belongs.\n",
        "operationId": "GetDisplayItemsContentPartV1",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "image/*": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "application/*": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "text/table+html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          },
          "default": {
            "$ref": "#/components/responses/UnexpectedError"
          }
        }
      }
    },
    "/v2/projects/{projectId}/tasks/{taskId}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/ProjectId"
        },
        {
          "$ref": "#/components/parameters/TaskId"
        },
        {
          "$ref": "#/components/parameters/DataPartition"
        }
      ],
      "get": {
        "tags": [
          "Tasks"
        ],
        "summary": "Get a task.",
        "description": "Allows to get a specific asynchronous task details using its ID.   \nThis end-point can be used to monitor the state of an asynchronous task.  \nTo get the task details, the user must be a member of the project to which the task belongs. \n",
        "operationId": "GetTaskV2",
        "responses": {
          "200": {
            "description": "Task status",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Task"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          },
          "default": {
            "$ref": "#/components/responses/UnexpectedError"
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "appkey": {
        "description": "Application key.",
        "in": "header",
        "name": "appkey",
        "type": "apiKey"
      },
      "bearer": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "description": "User Token from SLB Authenticator Service"
      }
    },
    "parameters": {
      "ProjectId": {
        "name": "projectId",
        "in": "path",
        "description": "Identifier of the project.",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "ContentId": {
        "name": "contentId",
        "in": "path",
        "description": "Identifier of the content.",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "ContentPartId": {
        "name": "contentPartId",
        "in": "path",
        "description": "Identifier of the content part.",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "TaskId": {
        "name": "taskId",
        "in": "path",
        "description": "Identifier of the task.",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "DataPartition": {
        "description": "Data partition ID.",
        "in": "header",
        "name": "slb-data-partition-id",
        "required": true,
        "schema": {
          "type": "string"
        }
      }
    },
    "responses": {
      "NotFound": {
        "description": "Resource not found.",
        "content": {
          "application/problem+json": {
            "schema": {
              "$ref": "#/components/schemas/ProblemDetails"
            },
            "example": {
              "type": "https://tools.ietf.org/html/rfc7231#section-6.5.4",
              "title": "Not Found",
              "detail": "Resource is not found"
            }
          }
        }
      },
      "Unauthorized": {
        "description": "User is not authorized.",
        "content": {
          "application/problem+json": {
            "schema": {
              "$ref": "#/components/schemas/ProblemDetails"
            },
            "example": {
              "type": "https://www.rfc-editor.org/rfc/rfc7235#section-3.1",
              "title": "Unauthorized",
              "detail": "User alice@example.com is not authorized."
            }
          }
        }
      },
      "BadRequest": {
        "description": "Bad request.",
        "content": {
          "application/problem+json": {
            "schema": {
              "$ref": "#/components/schemas/ProblemDetails"
            },
            "example": {
              "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
              "title": "Bad Request",
              "detail": "The request parameter failed to validate."
            }
          }
        }
      },
      "Locked": {
        "description": "Locked.",
        "content": {
          "application/problem+json": {
            "schema": {
              "$ref": "#/components/schemas/ProblemDetails"
            },
            "example": {
              "type": "https://datatracker.ietf.org/doc/html/rfc4918#section-11.3",
              "title": "Locked",
              "detail": "The report is locked for an update."
            }
          }
        }
      },
      "InternalServerError": {
        "description": "Internal server error.",
        "content": {
          "application/problem+json": {
            "schema": {
              "$ref": "#/components/schemas/ProblemDetails"
            },
            "example": {
              "type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
              "title": "Internal Server Error",
              "detail": "Server encountered an internal error that prevented it from fulfilling this request."
            }
          }
        }
      },
      "UnexpectedError": {
        "description": "Unexpected error.",
        "content": {
          "application/problem+json": {
            "schema": {
              "$ref": "#/components/schemas/ProblemDetails"
            },
            "example": {
              "type": "https://tools.ietf.org/html/rfc7231#section-6.5.13",
              "title": "Unsupported Media Type",
              "detail": "Media type 'application/xml' is not supported."
            }
          }
        }
      }
    },
    "schemas": {
      "KeyParameterList": {
        "type": "object",
        "description": "The list of DrillPlan key parameters.",
        "required": [
          "key_parameters"
        ],
        "properties": {
          "key_parameters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KeyParameter"
            }
          }
        }
      },
      "KeyParameter": {
        "type": "object",
        "description": "The key parameter.",
        "required": [
          "id",
          "name",
          "supported_levels"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "The key parameter ID."
          },
          "name": {
            "type": "string",
            "description": "The name."
          },
          "description": {
            "type": "string",
            "description": "The description."
          },
          "supported_levels": {
            "type": "array",
            "description": "The supported levels of the key parameter.",
            "items": {
              "$ref": "#/components/schemas/LevelType"
            }
          }
        },
        "example": {
          "id": "section-rig-name",
          "name": "Rig Name",
          "description": "The name of rig from the rig set which is linked to the section specified.",
          "supported_levels": [
            "Section"
          ]
        }
      },
      "LevelType": {
        "type": "string",
        "description": "The type of the level of details.",
        "x-csharp-value-type": true,
        "enum": [
          "Well",
          "Wellbore",
          "Section",
          "Activity"
        ]
      },
      "CreateKeyParametersContentRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/AsyncTaskRequest"
          },
          {
            "type": "object",
            "description": "The request for creating a key parameters content.",
            "required": [
              "plan_id",
              "key_parameters"
            ],
            "properties": {
              "plan_id": {
                "type": "string",
                "description": "The plan query."
              },
              "language": {
                "type": "string",
                "description": "The language tag according to [BCP47 standard](https://www.rfc-editor.org/rfc/bcp/bcp47.txt). Project language is used if it is not specified."
              },
              "unit_system": {
                "type": "string",
                "description": "The unit system. Project unit system is used if it is not specified."
              },
              "key_parameters": {
                "type": "array",
                "description": "The list of the requested key parameters.",
                "items": {
                  "$ref": "#/components/schemas/RequestedKeyParameter"
                }
              }
            },
            "example": {
              "plan_id": "c40a4a24176a7f6ea7edd",
              "language": "En-en",
              "unit-system": "English",
              "key_parameters": [
                {
                  "key_parameter_id": "well-name",
                  "level_id": "d973c00e4d64f5ddb1231"
                }
              ],
              "callback": {
                "uri": "https://example.com/callback",
                "headers": {
                  "Authorization": "Bearer your_token_here",
                  "Custom-Header": "custom_value"
                }
              }
            }
          }
        ]
      },
      "RequestedKeyParameter": {
        "type": "object",
        "description": "The key parameter for which content was requested.",
        "required": [
          "key_parameter_id",
          "level_id"
        ],
        "properties": {
          "key_parameter_id": {
            "type": "string",
            "description": "The key parameter ID."
          },
          "level_id": {
            "type": "string",
            "description": "The content level ID specified as a container ID of the plan referenced in the request."
          }
        }
      },
      "KeyParametersContent": {
        "type": "object",
        "description": "Key parameters content.",
        "required": [
          "key_parameters"
        ],
        "properties": {
          "key_parameters": {
            "type": "array",
            "description": "The list of key parameters.",
            "items": {
              "$ref": "#/components/schemas/KeyParameterContent"
            }
          }
        },
        "example": {
          "key_parameters": [
            {
              "key_parameter_id": "well-name",
              "level_id": "d973c00e4d64f5ddb1231",
              "value": "Well A1 (producer)"
            }
          ]
        }
      },
      "KeyParameterContent": {
        "type": "object",
        "description": "Key parameter content.",
        "required": [
          "key_parameter_id",
          "level_id"
        ],
        "properties": {
          "key_parameter_id": {
            "type": "string",
            "description": "The key parameter ID."
          },
          "level_id": {
            "type": "string",
            "description": "The content level ID specified as a plan node ID of the plan referenced in the request."
          },
          "value": {
            "type": "string",
            "description": "The value of the key parameter."
          },
          "problem": {
            "$ref": "#/components/schemas/ProblemDetails"
          }
        }
      },
      "DisplayItemList": {
        "type": "object",
        "description": "The list of DrillPlan display items.",
        "required": [
          "display_items"
        ],
        "properties": {
          "display_items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DisplayItem"
            }
          }
        }
      },
      "DisplayItem": {
        "type": "object",
        "description": "The display item.",
        "required": [
          "id",
          "name",
          "supported_levels"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "The display item ID."
          },
          "name": {
            "type": "string",
            "description": "The name."
          },
          "description": {
            "type": "string",
            "description": "The description."
          },
          "supported_levels": {
            "type": "array",
            "description": "The supported levels of the display item.",
            "items": {
              "$ref": "#/components/schemas/LevelType"
            }
          }
        },
        "example": {
          "id": "pressure-aea-card-results",
          "name": "Pressure AEA Card Results",
          "description": "Pressure AEA Card Results (Casing Design Coherency Pressure Aea Agent).",
          "supported_levels": [
            "Well",
            "Wellbore"
          ]
        }
      },
      "CreateDisplayItemsContentRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/AsyncTaskRequest"
          },
          {
            "type": "object",
            "description": "The request for creating a display items content.",
            "required": [
              "plan_id",
              "display_items"
            ],
            "properties": {
              "plan_id": {
                "type": "string",
                "description": "The plan query."
              },
              "language": {
                "type": "string",
                "description": "The language tag according to [BCP47 standard](https://www.rfc-editor.org/rfc/bcp/bcp47.txt). Project language is used if it is not specified."
              },
              "unit_system": {
                "type": "string",
                "description": "The unit system. Project unit system is used if it is not specified."
              },
              "display_items": {
                "type": "array",
                "description": "The list of the requested display items.",
                "items": {
                  "$ref": "#/components/schemas/RequestedDisplayItem"
                }
              }
            },
            "example": {
              "plan_id": "c40a4a24176a7f6ea7edd",
              "language": "En-en",
              "unit-system": "English",
              "display_items": [
                {
                  "display_item_id": "pressure-aea-card-results",
                  "level_id": "d973c00e4d64f5ddb1231"
                }
              ],
              "callback": {
                "uri": "https://example.com/callback",
                "headers": {
                  "Authorization": "Bearer your_token_here",
                  "Custom-Header": "custom_value"
                }
              }
            }
          }
        ]
      },
      "RequestedDisplayItem": {
        "type": "object",
        "description": "The display item for which content was requested.",
        "required": [
          "display_item_id",
          "level_id"
        ],
        "properties": {
          "display_item_id": {
            "type": "string",
            "description": "The display item ID."
          },
          "level_id": {
            "type": "string",
            "description": "The content level ID specified as a container ID of the plan referenced in the request."
          }
        }
      },
      "DisplayItemsContent": {
        "type": "object",
        "description": "Display items content.",
        "required": [
          "display_items"
        ],
        "properties": {
          "display_items": {
            "type": "array",
            "description": "The list of display items.",
            "items": {
              "$ref": "#/components/schemas/DisplayItemContent"
            }
          }
        },
        "example": {
          "display_items": [
            {
              "display_item_id": "pressure-aea-card-results",
              "level_id": "d973c00e4d64f5ddb1231",
              "content_parts": [
                {
                  "content_part_id": "d1231c00e4d45461231",
                  "title": "AEA Result"
                }
              ]
            }
          ]
        }
      },
      "DisplayItemContent": {
        "type": "object",
        "description": "Display item content.",
        "required": [
          "display_item_id",
          "level_id"
        ],
        "properties": {
          "display_item_id": {
            "type": "string",
            "description": "The display item ID."
          },
          "level_id": {
            "type": "string",
            "description": "The content level ID specified as a plan node ID of the plan referenced in the request."
          },
          "content_parts": {
            "type": "array",
            "description": "The collection of content parts.",
            "items": {
              "$ref": "#/components/schemas/DisplayItemContentPart"
            }
          },
          "problem": {
            "$ref": "#/components/schemas/ProblemDetails"
          }
        }
      },
      "DisplayItemContentPart": {
        "type": "object",
        "description": "Display item content part.",
        "required": [
          "title"
        ],
        "properties": {
          "title": {
            "type": "string",
            "description": "The title of the content part."
          },
          "content_part_id": {
            "type": "string",
            "description": "The content part ID."
          },
          "problem": {
            "$ref": "#/components/schemas/ProblemDetails"
          }
        }
      },
      "Task": {
        "type": "object",
        "description": "The asynchronous task.",
        "required": [
          "id",
          "status",
          "is_completed"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "The task ID."
          },
          "project_id": {
            "type": "string",
            "description": "The project ID."
          },
          "status": {
            "$ref": "#/components/schemas/TaskStatus"
          },
          "is_completed": {
            "type": "boolean",
            "description": "Indicates whether the task has completed."
          },
          "problem": {
            "$ref": "#/components/schemas/ProblemDetails"
          },
          "artifacts": {
            "type": "object",
            "description": "Artifacts of the task.",
            "additionalProperties": {
              "type": "string"
            }
          }
        },
        "example": {
          "id": "c40a4a24176a7f6ea7edd",
          "project_id": "21322abc123def12001ef",
          "status": "succeeded",
          "is_completed": true,
          "artifacts": {
            "export_id": "d973c00e4d64f5ddb"
          }
        }
      },
      "TaskStatus": {
        "type": "string",
        "description": "Represents the current stage in the lifecycle of a Task.",
        "x-csharp-value-type": true,
        "enum": [
          "Created",
          "Published",
          "Running",
          "Succeeded",
          "Canceled",
          "Faulted"
        ]
      },
      "AsyncTaskRequest": {
        "type": "object",
        "description": "A request to create an asynchronous task.",
        "properties": {
          "callback": {
            "$ref": "#/components/schemas/Callback"
          }
        }
      },
      "Callback": {
        "type": "object",
        "description": "The callback definition.",
        "required": [
          "uri"
        ],
        "properties": {
          "uri": {
            "type": "string",
            "description": "The callback URI."
          },
          "headers": {
            "type": "object",
            "description": "The collection of headers.",
            "additionalProperties": {
              "type": "string"
            }
          }
        },
        "example": {
          "uri": "https://example.com/callback",
          "headers": {
            "Authorization": "Bearer your_token_here",
            "Custom-Header": "custom_value"
          }
        }
      },
      "CallbackData": {
        "type": "object",
        "description": "The data provided in callback calls.",
        "required": [
          "id",
          "status"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "The ID of the task the callback is related to."
          },
          "project_id": {
            "type": "string",
            "description": "The project ID."
          },
          "status": {
            "$ref": "#/components/schemas/TaskStatus"
          },
          "artifacts": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "Type specific task artifact created as the result of the task execution."
          },
          "problem": {
            "description": "A problem associated with the task.",
            "$ref": "#/components/schemas/ProblemDetails"
          }
        }
      },
      "ProblemDetails": {
        "type": "object",
        "description": "Problem details according to RFC7807.",
        "required": [
          "type",
          "title"
        ],
        "properties": {
          "type": {
            "type": "string",
            "description": "A reference that uniquely identifies the problem type."
          },
          "title": {
            "type": "string",
            "description": "A short, human-readable summary of the problem type."
          },
          "detail": {
            "type": "string",
            "description": "A human-readable explanation specific to this occurrence of the problem."
          },
          "severity": {
            "$ref": "#/components/schemas/ProblemDetailsSeverity"
          }
        }
      },
      "ProblemDetailsSeverity": {
        "type": "string",
        "description": "The severity of the problem type.",
        "enum": [
          "Error",
          "Warning"
        ],
        "default": "Error"
      }
    }
  },
  "servers": [
    {
      "url": "https://eu-api.delfi.slb.com/drillplan/ddis",
      "description": "ProdEU"
    },
    {
      "url": "https://api.delfi.slb.com/drillplan/ddis",
      "description": "ProdUS"
    }
  ]
}