@cfxlabsinc/b2b-services
    Preparing search index...

    Hookdeck Outpost, one customer at a time: a customer's Outpost tenant id is its external id (cust_…). Our key is an admin key that can read every tenant, so every call passes customerId as the tenant.

    What Outpost refuses is returned: TENANT_NOT_FOUND, INVALID_*_SEARCH and HOOKDECK_OUTPOST_ERROR for any other 4xx; a get reads its 404 as null. A fault (network, 401/403, 429, 5xx) throws a plain Error.

    Index
    instance: (...args: []) => HookdeckOutpostClient = ...

    The process client, reading the hookdeck-outpost namespace at each call.

    • Re-sends an event to a subscription that already has a delivery of it. Outpost's retry takes no tenant, so ownership is proved first with a tenant-scoped read of the deliveries: an event or subscription of another customer, or one never delivered, has none and returns null without calling Outpost's retry.

      Parameters

      • __namedParameters: { customerId: string; eventId: string; subscriptionId: string }

      Returns Promise<
          | { ok: true; value: true
          | null }
          | {
              error:
                  | HookdeckOutpostDeliverySearchError
                  | HookdeckOutpostRetryNotAllowedError;
              ok: false;
          },
      >

    • Outpost's attempts, newest first, each with its event summary. GET /attempts is admin-only and spans every tenant unless tenant_id is set.

      Parameters

      • __namedParameters: {
            createdAfter?: string;
            createdBefore?: string;
            cursor?: string;
            customerId: string;
            eventId?: string;
            pageSize?: number;
            status?: "SUCCEEDED" | "FAILED";
            subscriptionId?: string;
            topic?: string;
        }
        • OptionalcreatedAfter?: string

          RFC 3339, inclusive

        • OptionalcreatedBefore?: string

          RFC 3339, inclusive

        • Optionalcursor?: string
        • customerId: string
        • OptionaleventId?: string
        • OptionalpageSize?: number
        • Optionalstatus?: "SUCCEEDED" | "FAILED"
        • OptionalsubscriptionId?: string
        • Optionaltopic?: string

      Returns Promise<
          | {
              ok: true;
              value: { hasNext: boolean; items: Delivery[]; nextCursor: string
              | null };
          }
          | { error: HookdeckOutpostDeliverySearchError; ok: false },
      >

    • Newest first, cursor-paginated: Outpost returns no total. GET /events is admin-only and spans every tenant unless tenant_id is set.

      Parameters

      • __namedParameters: { cursor?: string; customerId: string; pageSize?: number; topic?: string }

      Returns Promise<
          | {
              ok: true;
              value: {
                  hasNext: boolean;
                  items: PublishedEvent[];
                  nextCursor: string
                  | null;
              };
          }
          | { error: HookdeckOutpostEventSearchError; ok: false },
      >

    • Parameters

      • __namedParameters: { customerId: string }

      Returns Promise<
          | {
              ok: true;
              value: | {
                  created_at?: string;
                  destinations_count?: number;
                  id?: string;
                  metadata?: { [key: string]: string }
                  | null;
                  topics?: string[];
                  updated_at?: string;
              }
              | undefined;
          }
          | { error: HookdeckOutpostError; ok: false },
      >