API Endpoint Integration

Endpoint target address is as found in the decision management portal.

image-20241202-104431.png

HTTP MethodRequest Content-TypeResponse Content-TypeCharset
POSTapplication/jsonapplication/jsonUTF-8

Request headers

HeaderValue
X-API-KEY:__YOUR_ENDPOINT_API_KEY__
Content-Type:application/json

Optional GET parameters

ParameterTypeDescription
record_lineageintegerRecords the lineage of data transformations during execution.
Level 0 (or false): No lineage recording
Level 1 (or true): Basic lineage with step name, state, and delta
Level 2: Enhanced lineage including step types
Useful for audit trails and debugging.
record_stepsintegerRecords execution steps for the decision process.
Level 0 (or false): No step recording
Level 1 (or true): Basic step recording
Level 2: Detailed tracing with granular visibility into decision logic flow

Examples:

POST https://your-endpoint.decisimo.com/endpoint_name?record_lineage=1&record_steps=1
POST https://your-endpoint.decisimo.com/endpoint_name?record_lineage=2&record_steps=2
POST https://your-endpoint.decisimo.com/endpoint_name?record_lineage=true&record_steps=true

HTTP Response codes

Response Code
200 OKProcessed successfully
400 Bad requestMalformed JSON
401 UnauthorizedMissing API Key
404 Not foundThe endpoint was not found on the platform.
429 Too Many RequestsRate limit reached. The body is {"error": "rate_limited"}. See Rate Limits below.
500 Internal Server ErrorSome problem on Decisimo side.

Execution Time Limit
Each request has a max execution time of 300s. Longer executions are terminated.

This is especially relevant when calling LLM services, long-running models, or using external data for enrichment.

Rate Limits

On shared endpoints, each endpoint accepts up to 50 requests per second and runs up to 10 requests at the same time, unless your contract sets different limits. A request over either limit gets 429 Too Many Requests with a Retry-After: 1 header and the error code rate_limited. A refused request does not run the decision flow and is not billed. Wait the number of seconds in Retry-After, then send it again.

  1. Generate payload - Data object
  2. Store prepared payload in database
  3. Call decision engine
  4. Store response payload in the database
  5. Continue in business process according to the decision

Payload limitations

Decisimo has two limitations on the payload

  • must be valid JSON object;
  • cannot be larger than 1MB.