REST integration — Result, Test and Publication
This chapter was written from the product's source code and has not yet been checked by a person on a running Cogneris. If what you see on screen differs, the screen is right — please tell your Cogneris contact so the chapter can be corrected.
The last three tabs of the REST integration: Result decides which output an answer takes, Test makes one real call with the current settings, and Publication decides what the process keeps of the answer.
| Content status | From source; not observed (workflow-fe f88c5c1, workflow-be 6703373, 2026-10-22) |
Result
The tab opens with: This phase has three outputs: Success, Not found and Error. Flows saved with only Success and Error keep working: while Not found is unconnected, a not-found result goes to Error, and never to Success.
| Field | What it does | Required | Format / values | Default | Validation messages |
|---|---|---|---|---|---|
| Not-found status codes (4xx) | A response with one of these statuses goes to the Not found output. Leave the field empty to treat them as errors. | No | Codes between 400 and 499, separated by commas or spaces | 404 | … is not a 4xx status code: not-found codes must be between 400 and 499. |
| Rules on the response body | Rules that read the body of a response whose status is in Success status codes. Checked in order on the body of a success response, before the response schema and the de-para; the first rule that matches decides. Transient is retried like a server error; Permanent goes to Error. With none: No rules: the status code alone decides the output. | No | Up to 20 rules | none | At most … result rules are allowed. |
Each rule, titled Rule 1, Rule 2…:
| Field | What it does | Required | Format / values | Default | Validation messages |
|---|---|---|---|---|---|
| Field in the response | The field of the body the rule reads. The fields of the Response schema are suggested. | Yes | Dotted path; [0] for an item of a list, for example errorWrappers[0].error | — | Rule … needs a field in the response. |
| Operator | How the field is compared. The list shows each operator as a symbol and its name in your language, for example = equals, ≠ does not equal, ∈ is one of. They are the operators of the Conditional: equals, notequals, gt, gte, lt, lte, in, notin, contains, exists, isempty | Yes | One of the list | ? exists | — |
| Value | What the field is compared with. Not shown for exists and isempty. For in and notin: Separate the values with commas. | For the operators that take one | Text. Compared as text, ignoring case; gt, gte, lt, lte compare numbers. | — | Rule … needs a value for its operator. |
| Classify as | What a match means | Yes | Success, Not found, Transient (retry), Permanent (error) | Transient (retry) | — |
Move up changes the order, Remove rule deletes a rule, Add rule adds one at the end.
How the operators treat a field that is not in the body: exists, equals, the comparisons, contains, in and notin are false; isempty and notequals are true. isempty is also true for null, empty text, an empty list and an empty object.
When to use rules: for services that answer 200 with an error inside the body, or with an empty result that means "nothing found". For example, a rule results isempty → Not found, or status equals BUSY → Transient (retry).
A success-status response with an empty body is a Success with no data. A body that is not JSON is an error of kind response_schema.
Checks before the call
The same tab ends with Checks before the call: rules on the request that decide without calling the destination. They are described, with every field, in Overview and VIES tutorial.
Test
Sends one real request with the current settings and the input example, without retries.
| Button | What happens | Reversible? |
|---|---|---|
| Test the call | Asks for confirmation: Confirm the real call — This call will really be made to the target system. Data may be created or changed there. Continue? Reads Calling… while the call runs. | — |
| Call now | Makes the call | No — the destination receives it and may create or change data |
| Cancel | Closes the confirmation without calling | — |
Test the call is disabled — Choose a connection and a valid path before testing. — while there is no connection, the path is empty or absolute, or a header or query parameter has a refused name. Without an Input example: There is no input example: mappings will read an empty input.
The test uses the settings on screen, saved or not, and the Input example as the phase's input — including any $form, $process, $doc or $run it carries. It goes through the same steps as a run — checks before the call, the request schema, the call, the rules on the body, the response schema and the response mapping — but makes one attempt, publishes no fact and generates no certificate.
The result shows three columns:
| Column | Content |
|---|---|
| Sent | The method and the URL (an API key sent in the query shows as ***), and the body. When a check before the call decided, the URL is empty: nothing was sent. |
| Response | Status … and the body, with the connection's secrets removed. — when nothing came back. |
| Phase output | What the phase would pass on, including restCall. node id with ok, found, status, data or error — see REST integration |
| Message | Cause | What to do |
|---|---|---|
| Too many tests in a short time. Wait a minute and try again. | More than 10 tests in a minute for your company | Wait a minute. |
| The test call is not available in this environment yet. | The service does not offer the test here | Test in a process instead. |
| The test could not be run. Check the settings and try again. | The service refused the settings — every check made at publication applies — or the call could not be made | Check the problem list and the settings the editor does not check: see Refused by the service in Messages. |
A test that reached the destination but failed is not a message: it shows in Phase output as error, with its kind and message.
Publication
Publish as a process fact
Saves the mapped result as a document of the run, so cross-checks and later steps can use it by its document type.
| Field | What it does | Required | Format / values | Default | Validation messages |
|---|---|---|---|---|---|
| Publish the result | Turns publication on or off. Off, the answer stays only in the phase's output. | — | On or off | Off | — |
| Document type | The type the fact is published under. A Cross-check role or a document template addresses the fact by this type. Lowercase letters, digits and underscores, starting with a letter (2 to 64 characters), for example kyb_vies. It must not be the type of one of your templates. | Yes, when publishing | a–z, 0–9, _; starts with a letter; 2–64 characters | — | The document type must start with a lowercase letter and use only lowercase letters, digits and underscores (2 to 64 characters). · a type equal to the name of one of your templates (or to its lowercase, accent-free form) is refused at publication |
| Display name (optional) | The name of the fact among the documents of the process. Empty, the document type is shown. | No | Up to 120 characters, one line | — | The display name can have at most … characters. |
| Publish when the result is | The outcomes that publish: Success, Not found, Error. By default only a successful result is published. | At least one | Check boxes | Success | Choose at least one result to publish. |
What is published is the phase's mapped data. Each time the phase runs, the fact follows the latest result: when the result is not one of the chosen outcomes, a fact the phase published earlier in the same process — in a previous correction round, for example — is withdrawn, so an old answer is never read as a current one.
kyb_vies is the one document type allowed to equal an existing type: it is the type the VIES preset publishes on purpose, the same as the former KYB phase.
Proof of the query
Generates a PDF of the query and stores it with the process documents.
| Field | What it does | Required | Format / values | Default | Validation messages |
|---|---|---|---|---|---|
| Generate the PDF proof | Turns the certificate on or off. Its other settings are kept while it is off. | — | On or off | Off | — |
| Layout | None (standard layout): a table of the Fields to print. VIES (VAT check): The VIES layout prints the VAT check exactly as the KYB step did. — it reads data.vies, as the VIES preset produces it. | — | One of the two | None (standard layout) | — |
| Title (optional) | The title printed on the certificate. Empty: Consultation evidence (standard) or VIES VAT registration check (VIES). | No | Up to 120 characters, one line | — | The proof title can have at most … characters. |
| Fields to print (optional) | One path of the result data per line; add a label after a vertical bar, for example vies.name | Nome. Without a label, the path is printed as the label. | No | Up to 30 lines. A path is up to 8 names of letters, digits, _ and - joined by dots; a label up to 80 characters. | — | The proof field "…" is not a valid path (letters, digits, hyphen and underscore, separated by dots) or its label is too long. · The proof can print at most … fields. |
| File name (optional) | The certificate's file name. Letters, digits, dot, hyphen and underscore, plus the placeholders {documentType}, {runId}, {nodeId} and {data.path} (a field of the answer). | No | Up to 120 characters | consulta-{documentType}-{runId} | The file name uses characters or placeholders that are not allowed. |
The certificate is produced only for an answer — Success or Not found — never for an Error, and a certificate from an earlier execution is withdrawn when the phase now ends in Error. It states the connection's name and host, the method, the time of the query (UTC), the number of attempts, the HTTP status, the result, the request identifier (the Idempotency-Key, when sent) and the fields you chose. It never contains request headers, credentials, the query string or the raw response body. A Not found printed with the standard layout says the record was not found instead of listing fields.
The certificate is added to the documents of the process and sent to the document management area when your company has it. Without Publish the result, it is filed under the type rest_call. If the PDF cannot be produced or stored, the phase still completes with its answer; the failure is recorded under restCall. node id .evidence in its output.
Related
- REST integration
- Overview and VIES tutorial — checks before the call
- Schemas and mapping — what
datacontains - Cross-check — use a published fact
- Messages
Last reviewed 2026-10-22 · Version 1.0.0 · Owner: product-documentation