Este conteúdo não está disponível no idioma selecionado.

Chapter 12. The REST API for Decision Server


You can communicate with the Decision Server through the REST API.

  • The base URL for sending requests is the endpoint defined earlier, for example http://SERVER:PORT/kie-server/services/rest/server/.
  • All requests require basic HTTP Authentication or token-based authentication for the role kie-server.

Following methods support three formats of the requests: JSON, JAXB, and XSTREAM. You must provide following HTTP headers:

  • Accept: set to application/json or application/xml.

    When specifying more than one accepted content type in the Accept header, be sure to include the qualifiers of preference (qvalues as defined in the HTML 1.1 standard). If you do not, unexpected behavior can occur. This is an example of a well-formed header with multiple accepted content types:

    Accept: application/xml; q=0.5, application/json; q=0.9
    Copy to Clipboard Toggle word wrap
  • X-KIE-ContentType is required when using the XSTREAM marshaller. In such case, set the header to XSTREAM. Values JSON and JAXB are allowed, but not required. When you set the Content-type to application/xml, the JAXB value is used by default.
  • Content-type: set to application/json or application/xml. This header corresponds with the format of your payload.
  • --data: your payload. If the payload is in a file, start the name with an ampersand @. For example:

    --data @commandsRequest.json
    Copy to Clipboard Toggle word wrap

To ensure both the request and the response are in the same format, always specify both the Content-Type and Accept HTTP headers in your application’s requests. Otherwise, you can receive a marshalling-related error from the server.

The examples use the Curl utility. You can use any REST client. Curl commands use the following parameters:

  • -u: specifies username:password for the Decision Server authentication.
  • -H: specifies HTTP headers.
  • -X: specifies the HTTP method of the request, that is [GET], [POST], [PUT], or [DELETE].
Note

Red Hat Decision Manager commands will work only if your Decision Server has Red Hat Decision Manager capability. The rest of the endpoints will work only if your Decision Server has Red Hat Business Automation capabilities. Check the following URI for capabilities of your Decision Server : http://SERVER:PORT/kie-server/services/rest/server.

12.1. Red Hat Decision Manager commands

[POST] /containers/instances/CONTAINER_ID
Request Type
A single org.kie.api.command.Command command or multiples commands in BatchExecutionCommand wrapper.
Response Type
org.kie.server.api.model.ServiceResponse<String>
Description
Executes the commands sent to the specified CONTAINER_ID and returns the commands execution results. For more information, see the supported commands below.

List of supported commands:

  • AgendaGroupSetFocusCommand
  • ClearActivationGroupCommand
  • ClearAgendaCommand
  • ClearAgendaGroupCommand
  • ClearRuleFlowGroupCommand
  • DeleteCommand
  • InsertObjectCommand
  • ModifyCommand
  • GetObjectCommand
  • InsertElementsCommand
  • FireAllRulesCommand
  • QueryCommand
  • SetGlobalCommand
  • GetGlobalCommand
  • GetObjectsCommand
  • BatchExecutionCommand
  • DisposeCommand

For more information about the commands, see the org.drools.core.command.runtime package.

[POST] Drools Commands Execution

  1. Change into a directory of your choice and create commandsRequest.json :

    {
          "lookup" : null,
          "commands" : [ {
            "insert" : {
              "object" : "testing",
              "disconnected" : false,
              "out-identifier" : null,
              "return-object" : true,
              "entry-point" : "DEFAULT"
            }
    
          }, {
            "fire-all-rules" : { }
          } ]
        }
    Copy to Clipboard Toggle word wrap
  2. Execute the following command:

    $ curl -X POST -H 'X-KIE-ContentType: JSON' -H 'Content-type: application/json' -u 'kieserver:kieserver1!' --data @commandsRequest.json http://localhost:8080/kie-server/services/rest/server/containers/instances/myContainer
    Copy to Clipboard Toggle word wrap

    The command generates a request that sends the Insert Object and Fire All Rules commands to the server. Lookup specifies a ksession configured in your kjar. If you use a null lookup value, the default KIE session will be used.

An example response:

    {
      "type" : "SUCCESS",
      "msg" : "Container hello successfully called.",
      "result" : "{\n  \"results\" : [ ],\n  \"facts\" : [ ]\n}"
    }
Copy to Clipboard Toggle word wrap
Voltar ao topo
Red Hat logoGithubredditYoutubeTwitter

Aprender

Experimente, compre e venda

Comunidades

Sobre a documentação da Red Hat

Ajudamos os usuários da Red Hat a inovar e atingir seus objetivos com nossos produtos e serviços com conteúdo em que podem confiar. Explore nossas atualizações recentes.

Tornando o open source mais inclusivo

A Red Hat está comprometida em substituir a linguagem problemática em nosso código, documentação e propriedades da web. Para mais detalhes veja o Blog da Red Hat.

Sobre a Red Hat

Fornecemos soluções robustas que facilitam o trabalho das empresas em plataformas e ambientes, desde o data center principal até a borda da rede.

Theme

© 2025 Red Hat