Appearance
Interface: AppManifestSpec<C, A>
What an author declares. The host reads it as JSON from the module's manifest export: configSchema and each action's input are serialised with z.toJSONSchema(schema, { io: 'input' }) (defaulted fields optional), each output with { io: 'output' }.
Type Parameters
C
C extends z.ZodType = z.ZodType
A
A extends Record<string, ActionSpec> = Record<string, ActionSpec>
Properties
actions
ts
actions: A;capabilities?
ts
optional capabilities?: string[];Capability tags, e.g. ['sanctions.screen'].
category?
ts
optional category?: string;Where the console's catalogue files the app, e.g. 'Sanctions & PEP'.
configSchema
ts
configSchema: C;The tenant's non-secret configuration; the module parses it with this schema.
description?
ts
optional description?: string;docsUrl?
ts
optional docsUrl?: string;An https address.
handoff?
ts
optional handoff?: "sumsub";The vendor SDK the applicant continues a pending session in.
hosts?
ts
optional hosts?: string[];The hosts the app sends requests to (api.vendor.example, *.vendor.example).
memoryMiB?
ts
optional memoryMiB?: number;The module's memory, 16 to 256 MiB (64 by default).
name
ts
name: string;acme-screening: lower case, digits and dashes.
needs?
ts
optional needs?: "documents"[];pricingNote?
ts
optional pricingNote?: string;How the vendor charges, in one line.
secrets?
ts
optional secrets?: (
| string
| {
description?: string;
name: string;
})[];The secrets a tenant provides when installing; the module names them in requests.
vendor?
ts
optional vendor?: string;Who runs the service the app calls, e.g. 'OpenSanctions'; omit for apps that call no vendor.
version
ts
version: string;1.2.0.
webhookExternalId?
ts
optional webhookExternalId?: WebhookExternalIdSource;How the API finds the external id of a webhook whose URL names none.