OutSystems ODC Asset Configurations API

REST endpoints to get and update global environment settings and to manage configuration for individual agents and applications.

OpenAPI Specification

outsystems-asset-configurations-api-v1-openapi.json Raw ↑
{
  "openapi": "3.0.1",
  "info": {
    "title": "Asset Configurations API",
    "description": "REST endpoints to get and update global environment settings and to manage configuration for individual agents and applications.\n",
    "version": "v1"
  },
  "servers": [
    {
      "url": "https://ODC_PORTAL_DOMAIN/api/asset-configurations/v1",
      "description": "Replace ODC_PORTAL_DOMAIN with the domain of your organization."
    },
    {
      "url": "https://{odc-portal-domain}/api/asset-configurations/v1",
      "description": "Replace {odc-portal-domain} with the domain of your organization.",
      "variables": {
        "odc-portal-domain": {
          "default": "ODC_PORTAL_DOMAIN",
          "description": "The domain of your organization"
        }
      }
    }
  ],
  "security": [{
    "bearerAuth": []
  }],
  "paths": {
    "/environments/{environmentKey}/agents/{agentKey}/revisions/deployed/configurations": {
      "get": {
        "tags": [],
        "summary": "Gets the configurations of an agent.",
        "description": "Returns the agent configurations for the deployed revision.\n\nAPI Client needs the **Configuration management > View configurations** permission for the target environment (stage).",
        "operationId": "AssetConfiguration_GetAgentDeployedConfiguration",
        "parameters": [
          {
            "name": "environmentKey",
            "in": "path",
            "description": "The environment's key.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "agentKey",
            "in": "path",
            "description": "The agent's key.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "description": "Comma-separated list of fields to include. Allowed values: systemConfigurations, settings, timers, integrations, libraries.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "showBinaryValues",
            "in": "query",
            "description": "Specifies whether to return the binary values.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentConfigResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "x-os-permissions": "API Client needs the **Configuration management > View configurations** permission for the target environment (stage)."
      }
    },
    "/environments/{environmentKey}/agents/{agentKey}/revisions/{baselineRevision}/configurations": {
      "get": {
        "tags": [],
        "summary": "Gets the configurations of an agent revision.",
        "description": "Returns the configurations for a specific revision of an agent.\n\nAPI Client needs the **Configuration management > View configurations** permission for the target environment (stage).",
        "operationId": "AssetConfiguration_GetAgentRevisionConfiguration",
        "parameters": [
          {
            "name": "environmentKey",
            "in": "path",
            "description": "The environment's key.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "agentKey",
            "in": "path",
            "description": "The agent's key.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "description": "Comma-separated list of fields to include. Allowed values: systemConfigurations, settings, timers, integrations, libraries.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "baselineRevision",
            "in": "path",
            "description": "The agent revision.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "showBinaryValues",
            "in": "query",
            "description": "Specifies whether to return the binary values.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentConfigResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "x-os-permissions": "API Client needs the **Configuration management > View configurations** permission for the target environment (stage)."
      }
    },
    "/environments/{environmentKey}/applications/{applicationKey}/revisions/deployed/configurations": {
      "get": {
        "tags": [],
        "summary": "Gets the configurations of an app.",
        "description": "Returns the app configurations for the deployed revision.\n\nAPI Client needs the **Configuration management > View configurations** permission for the target environment (stage).",
        "operationId": "AssetConfiguration_GetApplicationDeployedConfiguration",
        "parameters": [
          {
            "name": "environmentKey",
            "in": "path",
            "description": "The environment's key.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "applicationKey",
            "in": "path",
            "description": "The app's key.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "description": "Comma-separated list of fields to include. Allowed values: systemConfigurations, settings, timers, integrations, libraries.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "showBinaryValues",
            "in": "query",
            "description": "Specifies whether to return the binary values.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplicationConfigResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "x-os-permissions": "API Client needs the **Configuration management > View configurations** permission for the target environment (stage)."
      }
    },
    "/environments/{environmentKey}/applications/{applicationKey}/revisions/{baselineRevision}/configurations": {
      "get": {
        "tags": [],
        "summary": "Gets the configurations of an app revision.",
        "description": "Returns the app configurations for a given revision.\n\nAPI Client needs the **Configuration management > View configurations** permission for the target environment (stage).",
        "operationId": "AssetConfiguration_GetApplicationRevisionConfiguration",
        "parameters": [
          {
            "name": "environmentKey",
            "in": "path",
            "description": "The environment's key.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "applicationKey",
            "in": "path",
            "description": "The app's key.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "description": "Comma-separated list of fields to include. Allowed values: systemConfigurations, settings, timers, integrations, libraries.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "baselineRevision",
            "in": "path",
            "description": "The app revision.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "showBinaryValues",
            "in": "query",
            "description": "Specifies whether to return the binary values.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplicationConfigResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "x-os-permissions": "API Client needs the **Configuration management > View configurations** permission for the target environment (stage)."
      }
    },
    "/environments/{environmentKey}/agents/{agentKey}/configurations": {
      "patch": {
        "tags": [],
        "summary": "Updates the configurations of an agent.",
        "description": "Updates the configuration values for an agent. Only the provided elements are changed.\n\nAPI Client needs the **Configuration management > Edit configurations** permission for the target environment (stage).",
        "operationId": "AssetConfiguration_PatchAgent",
        "parameters": [
          {
            "name": "environmentKey",
            "in": "path",
            "description": "The environment's key.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "agentKey",
            "in": "path",
            "description": "The agent's key.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Configurations to patch in",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/AgentConfigPatch"
                  }
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/AgentConfigPatch"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "x-os-permissions": "API Client needs the **Configuration management > Edit configurations** permission for the target environment (stage)."
      }
    },
    "/environments/{environmentKey}/applications/{applicationKey}/configurations": {
      "patch": {
        "tags": [],
        "summary": "Updates the configurations of an app.",
        "description": "Updates the configuration values for an app. Only the provided elements are changed.\n\nAPI Client needs the **Configuration management > Edit configurations** permission for the target environment (stage).",
        "operationId": "AssetConfiguration_PatchApplication",
        "parameters": [
          {
            "name": "environmentKey",
            "in": "path",
            "description": "The environment's key.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "applicationKey",
            "in": "path",
            "description": "The app's key.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Configurations to patch in",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ApplicationConfigPatch"
                  }
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ApplicationConfigPatch"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "x-os-permissions": "API Client needs the **Configuration management > Edit configurations** permission for the target environment (stage)."
      }
    },
    "/environments/{environmentKey}/default-system-configurations": {
      "get": {
        "tags": [],
        "summary": "Gets the default system configurations for an environment (stage)",
        "description": "Returns the default system configurations for an environment (stage).\n\nAPI Client needs the **Configuration management > View configurations** permission for the target environment (stage).",
        "operationId": "EnvironmentConfiguration_Get",
        "parameters": [
          {
            "name": "environmentKey",
            "in": "path",
            "description": "The environment's key.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EnvironmentConfigResult"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "x-os-permissions": "API Client needs the **Configuration management > View configurations** permission for the target environment (stage)."
      },
      "patch": {
        "tags": [],
        "summary": "Updates the default system configurations of an environment (stage).",
        "description": "Updates the default system configuration values for an environment. Only the provided elements are changed.\n\nTo update configurations, API Client needs the **Configuration management > Edit configurations** permission for the target environment (stage).\n\nTo update email configurations, API Client needs the **Configuration management > Manage Email SMTP configuration** permission for the target environment (stage).",
        "operationId": "EnvironmentConfiguration_Patch",
        "parameters": [
          {
            "name": "environmentKey",
            "in": "path",
            "description": "The environment's key.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Environment configurations to be changed",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/EnvironmentConfigPatch"
                  }
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/EnvironmentConfigPatch"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "x-os-permissions": "To update configurations, API Client needs the **Configuration management > Edit configurations** permission for the target environment (stage).\n\nTo update email configurations, API Client needs the **Configuration management > Manage Email SMTP configuration** permission for the target environment (stage)."
      }
    }
  },
  "components": {
    "schemas": {
      "AgentConfigPatch": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "description": "The key identifier of the configuration",
            "nullable": true
          },
          "revisionBaseline": {
            "type": "integer",
            "description": "The asset's revision.",
            "format": "int32",
            "nullable": true
          },
          "settings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GenericConfigPatch"
            },
            "description": "The asset's settings.",
            "nullable": true
          },
          "timers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TimerPatch"
            },
            "description": "Timer configurations",
            "nullable": true
          },
          "integrations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IntegrationPatch"
            },
            "description": "Integration configurations",
            "nullable": true
          },
          "libraries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LibraryConfigPatch"
            },
            "description": "Libraries configurations",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AgentConfigResult": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "description": "The key identifier of the configuration",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "The name of the configuration",
            "nullable": true
          },
          "revisionBaseline": {
            "type": "integer",
            "description": "Revision of the application",
            "format": "int32",
            "nullable": true
          },
          "revisionDeployed": {
            "type": "integer",
            "description": "Revision deployed of the application",
            "format": "int32",
            "nullable": true
          },
          "settings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GenericConfigResult"
            },
            "description": "Settings of the application",
            "nullable": true
          },
          "timers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TimerResult"
            },
            "description": "Timer configurations",
            "nullable": true
          },
          "integrations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IntegrationResult"
            },
            "description": "Integration configurations",
            "nullable": true
          },
          "libraries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LibraryConfigResult"
            },
            "description": "Libraries configurations",
            "nullable": true
          },
          "deployedAt": {
            "type": "string",
            "description": "Date of the last deployment of the configuration",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ApplicationConfigPatch": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "description": "The key identifier of the configuration",
            "nullable": true
          },
          "revisionBaseline": {
            "type": "integer",
            "description": "The asset's revision.",
            "format": "int32",
            "nullable": true
          },
          "settings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GenericConfigPatch"
            },
            "description": "The asset's settings.",
            "nullable": true
          },
          "timers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TimerPatch"
            },
            "description": "Timer configurations",
            "nullable": true
          },
          "integrations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IntegrationPatch"
            },
            "description": "Integration configurations",
            "nullable": true
          },
          "libraries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LibraryConfigPatch"
            },
            "description": "Libraries configurations",
            "nullable": true
          },
          "systemConfigurations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GenericConfigPatch"
            },
            "description": "System Configurations for the Environment configurations",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ApplicationConfigResult": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "description": "The key identifier of the configuration",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "The name of the configuration",
            "nullable": true
          },
          "revisionBaseline": {
            "type": "integer",
            "description": "Revision of the application",
            "format": "int32",
            "nullable": true
          },
          "revisionDeployed": {
            "type": "integer",
            "description": "Revision deployed of the application",
            "format": "int32",
            "nullable": true
          },
          "settings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GenericConfigResult"
            },
            "description": "Settings of the application",
            "nullable": true
          },
          "timers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TimerResult"
            },
            "description": "Timer configurations",
            "nullable": true
          },
          "integrations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IntegrationResult"
            },
            "description": "Integration configurations",
            "nullable": true
          },
          "libraries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LibraryConfigResult"
            },
            "description": "Libraries configurations",
            "nullable": true
          },
          "deployedAt": {
            "type": "string",
            "description": "Date of the last deployment of the configuration",
            "format": "date-time",
            "nullable": true
          },
          "systemConfigurations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GenericConfigResult"
            },
            "description": "System Configurations for the Environment configurations",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DataType": {
        "enum": [
          "Text",
          "Integer",
          "LongInteger",
          "Decimal",
          "Boolean",
          "DateTime",
          "Date",
          "Time",
          "PhoneNumber",
          "Email",
          "Currency",
          "EntityIdentifierType",
          "BinaryUrl"
        ],
        "type": "string"
      },
      "EnvironmentConfigPatch": {
        "type": "object",
        "properties": {
          "systemConfigurations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GenericConfigPatch"
            },
            "description": "System Configurations for the Environment configurations",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "EnvironmentConfigResult": {
        "type": "object",
        "properties": {
          "systemConfigurations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GenericConfigResult"
            },
            "description": "System Configurations for the Environment configurations",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GenericConfigPatch": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "description": "The key of the value being changed",
            "nullable": true
          },
          "value": {
            "type": "string",
            "description": "The new value",
            "nullable": true
          },
 

# --- truncated at 32 KB (42 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/outsystems/refs/heads/main/openapi/outsystems-asset-configurations-api-v1-openapi.json