Settings Storage API (v1.0)

http://localhost

Table of contents

Settings Storage API

Storage for inventory settings

/inventory-settings

GET /inventory-settings/{key}

Retrieves the setting by the specified key.

GET /inventory-settings/{key}
URI Parameters
  • key: required (string)

    The key of the setting to retrieve or update.

    Example:

    inventory.optimize-updates.enabled

Response 200

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "Setting object schema",
  "javaType": "org.folio.rest.jaxrs.model.Setting",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "key",
    "value",
    "type",
    "centralManaged"
  ],
  "properties": {
    "id": {
      "description": "Unique identifier of the setting record (UUID).",
      "type": "string",
      "format": "uuid"
    },
    "key": {
      "description": "Unique key of the setting.",
      "type": "string"
    },
    "value": {
      "description": "Value of the setting.",
      "type": "string"
    },
    "type": {
      "description": "Type of the setting.",
      "type": "string",
      "enum": [
        "BOOLEAN",
        "INTEGER",
        "STRING"
      ]
    },
    "centralManaged": {
      "description": "Indicates if the setting is centrally managed.",
      "type": "boolean"
    },
    "description": {
      "description": "Human-readable description of the setting.",
      "type": "string"
    },
    "createdDate": {
      "description": "Timestamp when the setting was created.",
      "type": "string",
      "format": "date-time"
    },
    "createdByUserId": {
      "description": "ID of the user who created the setting.",
      "type": "string",
      "format": "uuid"
    },
    "updatedDate": {
      "description": "Timestamp when the setting was last updated.",
      "type": "string",
      "format": "date-time"
    },
    "updatedByUserId": {
      "description": "ID of the user who last updated the setting.",
      "type": "string",
      "format": "uuid"
    }
  }
}

Response 404

Setting not found.

Body

Media type: text/plain

Type: any

Example:

Setting not found

PATCH /inventory-settings/{key}

Updates the value of the specified setting.

PATCH /inventory-settings/{key}
URI Parameters
  • key: required (string)

    The key of the setting to retrieve or update.

    Example:

    inventory.optimize-updates.enabled
Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "title": "Setting Update",
  "description": "Request body for updating a setting.",
  "javaType": "org.folio.rest.jaxrs.model.SettingUpdateRequest",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "value"
  ],
  "properties": {
    "value": {
      "description": "New value of the setting."
    }
  }
}

Response 204

Setting updated successfully

Response 400

Bad request, e.g. malformed request body

Body

Media type: text/plain

Type: any

Example:

invalid request

Response 404

Setting not found

Body

Media type: text/plain

Type: any

Example:

Setting not found

Response 422

Validation error

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "id": "errors.schema",
  "description": "A set of errors",
  "type": "object",
  "properties": {
    "errors": {
      "description": "List of errors",
      "id": "errors",
      "type": "array",
      "items": {
        "type": "object",
        "$schema": "http://json-schema.org/draft-04/schema#",
        "id": "error.schema",
        "description": "An error",
        "properties": {
          "message": {
            "type": "string",
            "description": "Error message text"
          },
          "type": {
            "type": "string",
            "description": "Error message type"
          },
          "code": {
            "type": "string",
            "description": "Error message code"
          },
          "parameters": {
            "description": "Error message parameters",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "id": "parameters.schema",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "required": [
          "message"
        ]
      }
    },
    "total_records": {
      "description": "Total number of errors",
      "type": "integer"
    }
  }
}

Example:

{
  "errors": [
    {
      "message": "may not be null",
      "type": "1",
      "code": "-1",
      "parameters": [
        {
          "key": "moduleTo",
          "value": "null"
        }
      ]
    }
  ]
}

Response 500

Internal server error

Body

Media type: text/plain

Type: any

Example:

Internal server error