Skip to content

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.

Released under the Apache-2.0 License.