Skip to content

Variable: AppDetails ​

ts
const AppDetails: ZodObject<{
  entry: ZodObject<{
     installs: ZodArray<ZodObject<{
        aliases: ZodArray<ZodString>;
        appName: ZodString;
        autoUpgrade: ZodEnum<{
           compatible: "compatible";
           off: "off";
        }>;
        circuit: ZodObject<{
           defaults: ZodObject<{
              failureThreshold: ...;
              openSeconds: ...;
           }, $strip>;
           failures: ZodNumber;
           settings: ZodObject<{
              failureThreshold: ...;
              openSeconds: ...;
           }, $strip>;
           since: ZodNullable<ZodCoercedDate<...>>;
           state: ZodEnum<{
              closed: ...;
              half_open: ...;
              open: ...;
           }>;
        }, $strip>;
        config: ZodRecord<ZodString, ZodUnknown>;
        createdAt: ZodCoercedDate<unknown>;
        enabled: ZodBoolean;
        hosts: ZodArray<ZodString>;
        id: ZodGUID;
        missingSecrets: ZodArray<ZodString>;
        name: ZodString;
        pendingChange: ZodNullable<ZodObject<{
           approvalSettings: ZodObject<..., ...>;
           comment: ZodNullable<...>;
           config: ZodRecord<..., ...>;
           decidedAt: ZodNullable<...>;
           decidedBy: ZodNullable<...>;
           decision: ZodNullable<...>;
           decisionComment: ZodNullable<...>;
           enabled: ZodBoolean;
           handlesAdded: ZodArray<...>;
           hosts: ZodArray<...>;
           hostsAdded: ZodArray<...>;
           id: ZodGUID;
           installId: ZodGUID;
           installName: ZodString;
           installUpdatedAt: ZodCoercedDate<...>;
           needsAdded: ZodArray<...>;
           newInstall: ZodBoolean;
           origin: ZodEnum<...>;
           requestedAt: ZodCoercedDate<...>;
           requestedBy: ZodString;
           tenantId: ZodGUID;
           versionId: ZodGUID;
        }, $strip>>;
        requiredSecrets: ZodArray<ZodString>;
        storedSecrets: ZodArray<ZodString>;
        tenantId: ZodGUID;
        updateAvailable: ZodBoolean;
        updatedAt: ZodCoercedDate<unknown>;
        upgrade: ZodNullable<ZodObject<{
           actions: ZodArray<...>;
           changeId: ZodNullable<...>;
           handlesAdded: ZodArray<...>;
           hostsAdded: ZodArray<...>;
           issues: ZodArray<...>;
           missingSecrets: ZodArray<...>;
           needsAdded: ZodArray<...>;
           rollback: ZodBoolean;
           target: ZodObject<..., ...>;
           waitingFor: ZodNullable<...>;
        }, $strip>>;
        upgradedFromVersionId: ZodNullable<ZodGUID>;
        version: ZodObject<{
           actions: ZodArray<ZodObject<..., ...>>;
           capabilities: ZodArray<ZodString>;
           category: ZodOptional<ZodString>;
           configSchema: ZodRecord<ZodString, ZodUnknown>;
           createdAt: ZodCoercedDate<unknown>;
           description: ZodOptional<ZodString>;
           docsUrl: ZodOptional<ZodString>;
           documentsFromConfig: ZodOptional<ZodString>;
           handles: ZodObject<{
              handoff: ...;
              webhook: ...;
              webhookExternalId: ...;
              webhookExternalIdFromConfig: ...;
           }, $strip>;
           hosts: ZodArray<ZodString>;
           hostsFromConfig: ZodArray<ZodString>;
           id: ZodGUID;
           memoryMiB: ZodNumber;
           name: ZodString;
           needs: ZodArray<ZodEnum<...>>;
           platformSource: ZodNullable<ZodEnum<...>>;
           pricingNote: ZodOptional<ZodString>;
           provenance: ZodNullable<ZodObject<..., ...>>;
           publishedAt: ZodNullable<ZodCoercedDate<...>>;
           publisher: ZodEnum<{
              platform: ...;
              tenant: ...;
           }>;
           review: ZodNullable<ZodObject<..., ...>>;
           secrets: ZodArray<ZodObject<..., ...>>;
           secretsFromConfig: ZodOptional<ZodString>;
           sha256: ZodString;
           sizeBytes: ZodNumber;
           status: ZodEnum<{
              published: ...;
              uploaded: ...;
              withdrawn: ...;
           }>;
           title: ZodOptional<ZodString>;
           vendor: ZodOptional<ZodString>;
           version: ZodString;
        }, $strip>;
        versionId: ZodGUID;
        webhookUrl: ZodNullable<ZodURL>;
     }, $strip>>;
     latest: ZodObject<{
        actions: ZodArray<ZodObject<{
           callbackTimeoutSeconds: ZodOptional<ZodNumber>;
           description: ZodOptional<ZodString>;
           idempotent: ZodBoolean;
           inputSchema: ZodRecord<ZodString, ZodUnknown>;
           mappable: ZodOptional<ZodArray<...>>;
           name: ZodString;
           outputFromInput: ZodOptional<ZodArray<...>>;
           outputSchema: ZodRecord<ZodString, ZodUnknown>;
           retry: ZodOptional<ZodObject<..., ...>>;
           timeoutMs: ZodNumber;
        }, $strip>>;
        capabilities: ZodArray<ZodString>;
        category: ZodOptional<ZodString>;
        configSchema: ZodRecord<ZodString, ZodUnknown>;
        createdAt: ZodCoercedDate<unknown>;
        description: ZodOptional<ZodString>;
        docsUrl: ZodOptional<ZodString>;
        documentsFromConfig: ZodOptional<ZodString>;
        handles: ZodObject<{
           handoff: ZodOptional<ZodBoolean>;
           webhook: ZodDefault<ZodBoolean>;
           webhookExternalId: ZodOptional<ZodUnion<readonly [..., ..., ...]>>;
           webhookExternalIdFromConfig: ZodOptional<ZodString>;
        }, $strip>;
        hosts: ZodArray<ZodString>;
        hostsFromConfig: ZodArray<ZodString>;
        id: ZodGUID;
        memoryMiB: ZodNumber;
        name: ZodString;
        needs: ZodArray<ZodEnum<{
           documents: "documents";
        }>>;
        platformSource: ZodNullable<ZodEnum<{
           operator: "operator";
           release: "release";
        }>>;
        pricingNote: ZodOptional<ZodString>;
        provenance: ZodNullable<ZodObject<{
           kind: ZodEnum<{
              attestation: ...;
              release: ...;
              signature: ...;
           }>;
           recordedBy: ZodString;
           signedAt: ZodNullable<ZodCoercedDate<...>>;
           signer: ZodNullable<ZodDiscriminatedUnion<..., ...>>;
           source: ZodObject<{
              commit: ...;
              ref: ...;
              repository: ...;
           }, $strip>;
           transparencyLogIndex: ZodNullable<ZodNumber>;
           trusted: ZodBoolean;
           trustedSigner: ZodNullable<ZodString>;
           verifiedAt: ZodCoercedDate<unknown>;
        }, $strip>>;
        publishedAt: ZodNullable<ZodCoercedDate<unknown>>;
        publisher: ZodEnum<{
           platform: "platform";
           tenant: "tenant";
        }>;
        review: ZodNullable<ZodObject<{
           comment: ZodNullable<ZodString>;
           decidedAt: ZodNullable<ZodCoercedDate<...>>;
           decidedBy: ZodNullable<ZodString>;
           id: ZodGUID;
           requestedAt: ZodCoercedDate<unknown>;
           requestedBy: ZodString;
           status: ZodEnum<{
              approved: ...;
              pending: ...;
              rejected: ...;
              withdrawn: ...;
           }>;
           tenantId: ZodGUID;
           versionId: ZodGUID;
        }, $strip>>;
        secrets: ZodArray<ZodObject<{
           description: ZodOptional<ZodString>;
           name: ZodString;
           requiredWhen: ZodOptional<ZodArray<...>>;
        }, $strip>>;
        secretsFromConfig: ZodOptional<ZodString>;
        sha256: ZodString;
        sizeBytes: ZodNumber;
        status: ZodEnum<{
           published: "published";
           uploaded: "uploaded";
           withdrawn: "withdrawn";
        }>;
        title: ZodOptional<ZodString>;
        vendor: ZodOptional<ZodString>;
        version: ZodString;
     }, $strip>;
     name: ZodString;
     publisher: ZodEnum<{
        platform: "platform";
        tenant: "tenant";
     }>;
     versions: ZodNumber;
  }, $strip>;
  signatures: ZodEnum<{
     off: "off";
     optional: "optional";
     required: "required";
  }>;
  versions: ZodArray<ZodObject<{
     actions: ZodArray<ZodObject<{
        callbackTimeoutSeconds: ZodOptional<ZodNumber>;
        description: ZodOptional<ZodString>;
        idempotent: ZodBoolean;
        inputSchema: ZodRecord<ZodString, ZodUnknown>;
        mappable: ZodOptional<ZodArray<ZodString>>;
        name: ZodString;
        outputFromInput: ZodOptional<ZodArray<ZodDiscriminatedUnion<..., ...>>>;
        outputSchema: ZodRecord<ZodString, ZodUnknown>;
        retry: ZodOptional<ZodObject<{
           backoffMs: ...;
           maxAttempts: ...;
        }, $strip>>;
        timeoutMs: ZodNumber;
     }, $strip>>;
     capabilities: ZodArray<ZodString>;
     category: ZodOptional<ZodString>;
     configSchema: ZodRecord<ZodString, ZodUnknown>;
     createdAt: ZodCoercedDate<unknown>;
     description: ZodOptional<ZodString>;
     docsUrl: ZodOptional<ZodString>;
     documentsFromConfig: ZodOptional<ZodString>;
     handles: ZodObject<{
        handoff: ZodOptional<ZodBoolean>;
        webhook: ZodDefault<ZodBoolean>;
        webhookExternalId: ZodOptional<ZodUnion<readonly [ZodObject<..., ...>, ZodObject<..., ...>, ZodObject<..., ...>]>>;
        webhookExternalIdFromConfig: ZodOptional<ZodString>;
     }, $strip>;
     hosts: ZodArray<ZodString>;
     hostsFromConfig: ZodArray<ZodString>;
     id: ZodGUID;
     memoryMiB: ZodNumber;
     name: ZodString;
     needs: ZodArray<ZodEnum<{
        documents: "documents";
     }>>;
     platformSource: ZodNullable<ZodEnum<{
        operator: "operator";
        release: "release";
     }>>;
     pricingNote: ZodOptional<ZodString>;
     provenance: ZodNullable<ZodObject<{
        kind: ZodEnum<{
           attestation: "attestation";
           release: "release";
           signature: "signature";
        }>;
        recordedBy: ZodString;
        signedAt: ZodNullable<ZodCoercedDate<unknown>>;
        signer: ZodNullable<ZodDiscriminatedUnion<[..., ...], "type">>;
        source: ZodObject<{
           commit: ZodNullable<...>;
           ref: ZodNullable<...>;
           repository: ZodNullable<...>;
        }, $strip>;
        transparencyLogIndex: ZodNullable<ZodNumber>;
        trusted: ZodBoolean;
        trustedSigner: ZodNullable<ZodString>;
        verifiedAt: ZodCoercedDate<unknown>;
     }, $strip>>;
     publishedAt: ZodNullable<ZodCoercedDate<unknown>>;
     publisher: ZodEnum<{
        platform: "platform";
        tenant: "tenant";
     }>;
     review: ZodNullable<ZodObject<{
        comment: ZodNullable<ZodString>;
        decidedAt: ZodNullable<ZodCoercedDate<unknown>>;
        decidedBy: ZodNullable<ZodString>;
        id: ZodGUID;
        requestedAt: ZodCoercedDate<unknown>;
        requestedBy: ZodString;
        status: ZodEnum<{
           approved: "approved";
           pending: "pending";
           rejected: "rejected";
           withdrawn: "withdrawn";
        }>;
        tenantId: ZodGUID;
        versionId: ZodGUID;
     }, $strip>>;
     secrets: ZodArray<ZodObject<{
        description: ZodOptional<ZodString>;
        name: ZodString;
        requiredWhen: ZodOptional<ZodArray<ZodObject<..., ...>>>;
     }, $strip>>;
     secretsFromConfig: ZodOptional<ZodString>;
     sha256: ZodString;
     sizeBytes: ZodNumber;
     status: ZodEnum<{
        published: "published";
        uploaded: "uploaded";
        withdrawn: "withdrawn";
     }>;
     title: ZodOptional<ZodString>;
     vendor: ZodOptional<ZodString>;
     version: ZodString;
  }, $strip>>;
}, $strip>;

GET /apps/:name: the catalogue entry and every version the tenant sees, the highest number first, with the deployment's signature mode (signatures: off takes no provenance, required publishes, installs and upgrades to a tenant's version only once a trusted signer signed it).

Released under the Apache-2.0 License.