Malbek (platform)
Malbek is a contract lifecycle management platform: agreements with configurable metadata fields, contract types and templates, clauses, obligations and approval workflows, plus Konnect connectors into CRM, procurement and e-signature systems. Its REST API is provided to customers but has no public endpoint reference, so the API posture here is indicative until confirmed at onboarding. composerID creates the services contract record (a Statement of Work or a managed service agreement) of the tenant's contract type and stamps the Intent ID into a client-defined field on that contract, reading status back by polling.
The public API facts composerID's adapter relies on. Tenant-specific details (custom fields, picklists, approval chains) are confirmed during connection and folded into the MappingProfile.
| Authentication | Tenant-issued API credentials provisioned by Malbek for the customer's instance (API key or OAuth 2.0 client credentials; the grant type is indicative until confirmed at onboarding). User sign-in federates to the customer's IdP via SAML SSO. |
|---|---|
| API style | REST, JSON (customer-gated reference; no public OpenAPI) |
| Base URL | Tenant-specific API host supplied by Malbek at provisioning; no public base URL is published |
| Objects | Contracts (agreements) with contract type, status, dates, value and client-defined custom fields; contract types and templates; counterparties (companies, contacts); clauses and clause library; obligations; workflow and approval tasks; documents and e-signature envelopes via connectors |
| Events / webhooks | Konnect connectors push contract data into configured systems (CRM, procurement, e-signature) and workflow rules send notifications, but a general outbound webhook subscription API is not publicly documented. Treat as poll-first: read the contract back on a schedule. |
| Rate limits | Not publicly published; confirm per tenant at onboarding and back off on 429. |
No developer portal evident. We could not find a public self-service developer portal or endpoint reference for this platform; the API posture above is drawn from the vendor's own integration material and is confirmed at onboarding.
“Docs confidence” describes how deterministic our mapping templates can be before we connect to a tenant. Even with public docs, implementations vary, especially around custom fields, approval flows and object extensions.
Deterministic mapping
Common Workforce Model fields map to known API fields. Best for standard objects (requisitions, assignments, timesheets, POs).
Tenant discovery
composerID can scan tenant configuration (custom fields, picklists, required fields) where the platform permits it, then generate a tenant‑specific MappingProfile.
Enrichment loop
If the target platform requires a field the Intent record doesn't yet have, composerID emits an enrichment_request back to the intake layer.
An opinionated baseline. The platform adapter enforces additional requirements via preflight. “Tenant required” fields are discovered during connection and added to the MappingProfile.
| Object | Canonical fields | Platform target | Required status | Notes |
|---|---|---|---|---|
| Contract record Create the services agreement |
contract_type (SOW or MSA), title, counterparty, service_category, effective_date, end_date, value, cost_center | Malbek REST API: create Contract | Required | Contract types and their fields are tenant-configured; fetch the type's field definitions first. Operation name and path indicative until confirmed at onboarding. |
| Intent ID correlation Carry the Intent ID |
intent_id -> custom_fields.intent_id (client-defined text field on the contract type) | Contract custom (client-defined) field | Required | An admin adds a text field named for the composerID reference to the SOW / MSA contract type; it is then searchable in contract lists. If the tenant will not add a field, fall back to link mode and composerID records the Malbek contract identifier on its side. Deep link https://{tenant_host}/contracts/{external_id} (illustrative). |
| Compliance File Attach the evidence pack |
defence_file_ref -> contract document / attachment | Contract document (attachment) | Recommended | Attach as a supporting document on the contract, not as the executable paper. |
| Contract status read-back Close the loop |
status, executed_date, signed document reference | Malbek REST API: read Contract / list Contracts filtered on the custom field | Read scope only | Polled on a schedule; Konnect pushes are tenant-configured and not relied on. |
Idempotency & drift: publish + reconcileExpand
Publish operations are idempotent using a deterministic key {intent_id}-{intent_version}-{target_system}. Because humans can change records inside the platform, composerID supports reconciliation: it compares the platform record snapshot to the canonical intent and flags drift.
Real deployments rely on program-specific custom fields (for compliance, approvals, GL coding, rate rules or supplier constraints). composerID is designed to generate tenant‑specific mappings rather than forcing you to redesign your intake.
How scanning works
High-level flow
What gets produced
Portable artefacts
Important: where this platform is tenant-definedExpand
Malbek's API reference is available to customers and partners, not on a public developer portal, so every endpoint, auth grant and limit above is indicative until confirmed with the tenant's Malbek team at onboarding. Contract types, their custom fields and the approval workflows are configured per tenant: the Intent ID field must be added to the SOW / MSA contract type before the first publish, and its filterability in contract search should be verified in the tenant. Konnect connectors (for example to e-signature or procurement) are licensed and configured separately.
Use this page alongside the API + Schemas docs to implement: destination connection, preflight validation, publish, webhook back-sync and reconciliation.