Required tenant selector. Trimmed and resolved case-insensitively to a canonical configured tenant before FGA authorization; missing, blank, or unknown values return 400.
Match pattern:^[A-Za-z]{3,4}$
>= 3 characters<= 4 characters
Example:ABCD
Returns active canonical tenant product types, sorted by name, using FGA read authorization. X-Client-Code is required. Names are trimmed and matched case-insensitively by write operations; an unknown/inactive name returns field-specific 400, while duplicate active names return 503 and are logged as a configuration defect. A lookup rename is an API compatibility change.
Required tenant selector. Trimmed and resolved case-insensitively to a canonical configured tenant before FGA authorization; missing, blank, or unknown values return 400.
Match pattern:^[A-Za-z]{3,4}$
>= 3 characters<= 4 characters
Example:ABCD
OK
Tenant-scoped active lookup values using canonical compatibility-stable names.
Canonical tenant code selected by X-Client-Code.
Active values sorted by name.
Searches call records and returns a paginated collection of complete CallEntry objects. Filters can narrow the results by company, contract, caller, call type, transaction type, or date.
Use X-Client-Code to search within one company. The clientCode query parameter remains available for backward compatibility and takes precedence if both values are supplied. If neither is supplied, Orion searches across every company the caller is authorized to read.
Selects one company. Takes precedence over X-Client-Code if both are supplied. If neither is supplied, search includes every company the caller is authorized to read; get-by-ID requires at least one tenant selector.
Example:ABCD
Matches a contract number associated with the call entry. Also searches the entry’s stored contract list and, when that list is absent, its reference value.
Match pattern:^[A-Za-z0-9,-]+$
>= 1 characters<= 200 characters
Example:C-10001
Matches the call entry’s caller-type ID.
Matches the call entry’s caller-type name.
Match pattern:^[A-Za-z0-9 &'/-]+$
>= 1 characters<= 50 characters
Example:Owner
Matches the caller name exactly unless usePartialCallerNameMatch is true.
Match pattern:^[A-Za-z ,.'-]+$
>= 1 characters<= 500 characters
Example:Jane
When true, callerName may occur anywhere within the stored caller name. When false, the names must match exactly. Defaults to false.
Matches a call-type ID assigned directly to the call entry or to one of its contracts.
Matches a call-type name assigned directly to the call entry or to one of its contracts.
Match pattern:^[A-Za-z0-9 &'/-]+$
>= 1 characters<= 50 characters
Example:Billing
Matches the call entry’s transaction-type ID.
Matches the call entry’s transaction-type name.
Match pattern:^[A-Za-z0-9 &'/-]+$
>= 1 characters<= 50 characters
Example:Payment
Includes entries created at or after this date and time.
Includes entries created at or before this date and time.
Includes entries last updated at or after this date and time.
Includes entries last updated at or before this date and time.
Number of results to skip. Defaults to 0; negative values are treated as 0.
Example:0
Maximum number of results to return. Defaults to 50; values above 500 are limited to 500, and non-positive values use the default.
Example:50
Preferred tenant selector for new consumers. Optional only for legacy GET compatibility. If query clientCode is also supplied and conflicts after normalization, the query value wins and the conflict is logged.
Match pattern:^[A-Za-z]{3,4}$
>= 3 characters<= 4 characters
Example:ABCD
OK
Creates a call record for the company identified by X-Client-Code and returns the complete created CallEntry. The request must include callerName and a valid active callerType.
callType, transactionType, and productType are matched without regard to letter casing and resolved to the company’s active canonical lookup values.
A call without contracts must provide a top-level callType. When contracts are provided, the top-level callType becomes the default for any contract that does not provide its own callTypes. Contract-specific values override that default. If no top-level callType is supplied, every contract must provide at least one call type.
Orion determines the acting user from the configured token identity claims. If none of these claims is present, Orion uses the trimmed userName from the request body to identify the caller in machine-to-machine scenarios.
X-Correlation-Id makes the request idempotent for at least 24 hours. The first successful request returns 201 Created. A completed identical replay returns the original record with 200 OK and X-Idempotent-Replay: true, without processing the creation again. Reusing the ID for different content or while the original request is still running returns 409 Conflict.
Required tenant selector. Trimmed and resolved case-insensitively to a canonical configured tenant before FGA authorization; missing, blank, or unknown values return 400.
Match pattern:^[A-Za-z]{3,4}$
>= 3 characters<= 4 characters
Example:ABCD
Required trimmed, nonblank idempotency key, maximum 100 characters. Scoped by canonical tenant, operation, and resource identity; clients must generate operation-unique values.
Match pattern:^[A-Za-z0-9._:-]+$
>= 1 characters<= 100 characters
Example:call-entry-create-123
Full-field name-based create payload. Unknown JSON properties retain permissive framework handling. userName is conditionally required only for interim M2M tokens with no configured username claim.
Full-field name-based request shared by POST and PUT. Tenant selection and authorization never use payload userName.
Conditional interim M2M actor. Ignored when a configured token username claim exists; otherwise trimmed, opaque, required, and limited to 255 characters.
Match pattern:^[^\u0000-\u001F\u007F]+$
>= 1 characters<= 254 characters
Optional contracts; missing, null, and empty are equivalent. Contract and call-type order is non-semantic for idempotency.
Required active caller-type name, trimmed and matched case-insensitively to its canonical tenant value.
Match pattern:^[A-Za-z0-9 &'/-]+$
>= 1 characters<= 50 characters
Canonical root call-type name. Required without contracts; otherwise supplies an inheritable default. If absent, every contract must supply at least one call type.
Match pattern:^[A-Za-z0-9 &'/-]+$
>= 1 characters<= 50 characters
Optional active product-type name resolved to its canonical tenant value.
Match pattern:^[A-Za-z0-9 &'/-]+$
>= 1 characters<= 50 characters
>= 0<= 255
Match pattern:^[A-Za-z0-9 &'/-]+$
>= 1 characters<= 7000 characters
Allowed values:Not OfferedTakenNot Taken
Match pattern:^[A-Za-z0-9 &'/-]+$
>= 1 characters<= 10 characters
Required caller identity. Trimmed and limited to 500 characters.
Match pattern:^[A-Za-z ,.'-]+$
>= 1 characters<= 500 characters
Match pattern:^\+?[0-9() .-]+$
>= 1 characters<= 20 characters
Match pattern:^[A-Za-z0-9,-]+$
>= 1 characters<= 200 characters
Optional active transaction-type name resolved to its canonical tenant value.
Match pattern:^[A-Za-z0-9 &'/-]+$
>= 1 characters<= 50 characters
Match pattern:^[A-Za-z0-9._:-]+$
>= 1 characters<= 50 characters
Match pattern:^[A-Za-z0-9 &'/-]+$
>= 1 characters<= 7000 characters
Match pattern:^[A-Za-z0-9,-]+$
>= 1 characters<= 50 characters
Match pattern:^[A-Za-z0-9._:/-]+$
>= 1 characters<= 50 characters
OK. Identical completed create replay; returns the original full CallEntry without processing the creation again.
>= 1 characters
>= 1 characters
Completely replaces the writable contents of an existing call record for the company identified by X-Client-Code. This is a full replacement, not a partial update: omitted nullable fields are cleared, and the submitted contracts replace all stored contract relationships. Orion returns 404 Not Found when the specified record does not exist.
The request must include callerName and a valid active callerType. Lookup values and contract call types follow the same resolution and defaulting rules described for creation.
Orion determines the acting user from the configured token identity claims. If none of these claims is present, Orion uses the trimmed userName from the request body to identify the caller in machine-to-machine scenarios.
X-Correlation-Id makes the replacement idempotent for at least 24 hours. A successful replacement or completed identical replay returns 200 OK; replays also include X-Idempotent-Replay: true and do not apply the replacement again. Reusing the ID for different content or while the original request is still running returns 409 Conflict.
This operation does not support PATCH, ETags, If-Match, or optimistic concurrency.
Required tenant selector. Trimmed and resolved case-insensitively to a canonical configured tenant before FGA authorization; missing, blank, or unknown values return 400.
Match pattern:^[A-Za-z]{3,4}$
>= 3 characters<= 4 characters
Example:ABCD
Required trimmed, nonblank idempotency key, maximum 100 characters. Scoped by canonical tenant, operation, and resource identity; clients must generate operation-unique values.
Match pattern:^[A-Za-z0-9._:-]+$
>= 1 characters<= 100 characters
Example:call-entry-create-123
Full replacement payload. Omitted nullable fields are cleared; contracts replace the stored collection. Unknown JSON properties remain permissive.
Full-field name-based request shared by POST and PUT. Tenant selection and authorization never use payload userName.
Conditional interim M2M actor. Ignored when a configured token username claim exists; otherwise trimmed, opaque, required, and limited to 255 characters.
Match pattern:^[^\u0000-\u001F\u007F]+$
>= 1 characters<= 254 characters
Optional contracts; missing, null, and empty are equivalent. Contract and call-type order is non-semantic for idempotency.
Required active caller-type name, trimmed and matched case-insensitively to its canonical tenant value.
Match pattern:^[A-Za-z0-9 &'/-]+$
>= 1 characters<= 50 characters
Canonical root call-type name. Required without contracts; otherwise supplies an inheritable default. If absent, every contract must supply at least one call type.
Match pattern:^[A-Za-z0-9 &'/-]+$
>= 1 characters<= 50 characters
Optional active product-type name resolved to its canonical tenant value.
Match pattern:^[A-Za-z0-9 &'/-]+$
>= 1 characters<= 50 characters
>= 0<= 255
Match pattern:^[A-Za-z0-9 &'/-]+$
>= 1 characters<= 7000 characters
Allowed values:Not OfferedTakenNot Taken
Match pattern:^[A-Za-z0-9 &'/-]+$
>= 1 characters<= 10 characters
Required caller identity. Trimmed and limited to 500 characters.
Match pattern:^[A-Za-z ,.'-]+$
>= 1 characters<= 500 characters
Match pattern:^\+?[0-9() .-]+$
>= 1 characters<= 20 characters
Match pattern:^[A-Za-z0-9,-]+$
>= 1 characters<= 200 characters
Optional active transaction-type name resolved to its canonical tenant value.
Match pattern:^[A-Za-z0-9 &'/-]+$
>= 1 characters<= 50 characters
Match pattern:^[A-Za-z0-9._:-]+$
>= 1 characters<= 50 characters
Match pattern:^[A-Za-z0-9 &'/-]+$
>= 1 characters<= 7000 characters
Match pattern:^[A-Za-z0-9,-]+$
>= 1 characters<= 50 characters
Match pattern:^[A-Za-z0-9._:/-]+$
>= 1 characters<= 50 characters
OK. First full replacement or identical completed replay; a replay does not apply the replacement again.
>= 1 characters
>= 1 characters
Retrieves one complete CallEntry by its ID. The caller must have read access to the company that owns the record.
Identify the company with X-Client-Code or the backward-compatible clientCode query parameter. At least one is required. If both are supplied with different values, the query parameter takes precedence. Orion returns 404 Not Found when the record does not exist in the selected company.
Selects one company. Takes precedence over X-Client-Code if both are supplied. If neither is supplied, search includes every company the caller is authorized to read; get-by-ID requires at least one tenant selector.
Example:ABCD
Preferred tenant selector for new consumers. Optional only for legacy GET compatibility. If query clientCode is also supplied and conflicts after normalization, the query value wins and the conflict is logged.
Match pattern:^[A-Za-z]{3,4}$
>= 3 characters<= 4 characters
Example:ABCD
OK
>= 1 characters
>= 1 characters