> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fluid.app/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> For new direct REST integrations, use the v2026-04 surfaces. The @fluid-app FairShare SDK continues to use its own published public-v2025-06 contract.
> Authenticate with the header Authorization: Bearer <token>; public storefront read endpoints require no auth.
> Lists use cursor pagination via the page[cursor] and page[limit] query params; follow meta.pagination.next_cursor until it is null.
> Never use /api/company/v1 or /api/v1 paths, page/per_page params, or offset pagination — they are legacy.
> The OpenAPI specs under api-reference/ are the authoritative contracts; prefer them over prose when in doubt. api-reference/storefront-v2026-04.yaml covers the v2026-04 storefront surface (/api/v202604/... paths); api-reference/auth-v0.yaml covers the unversioned auth surface (/api/... paths — authentication, MFA, social auth, and token exchange); api-reference/checkout-v2026-04.yaml covers the v2026-04 checkout surface (/api/checkout/v2026-04/... paths — carts, cart auth, discounts, items, subscriptions, orders, enrollments, and store config); api-reference/public-v2025-06.yaml covers the Public SDK surface used by the @fluid-app FairShare SDK, including its parallel cart lifecycle, browser integrations, versioned payment callbacks, unversioned public utilities, and the cart price-override operation; api-reference/payment-v2026-04.yaml covers the v2026-04 payment gateway admin surface (/api/payment/v2026-04/... paths, bearer-authenticated — gateway CRUD, gateway purchase/authorize/$0-verify, transaction list/show and capture/void/credit, and merchant payment configuration); api-reference/payments-v2026-04.yaml covers the v2026-04 cart payment surface (/api/payments/v2026-04/carts/{cart_token}/... paths, authenticated by the cart token in the path with no bearer — payment-method selection, VGS card tokenization, 3D Secure verification, and PayPal/Braintree/Klarna/Apple Pay flows); api-reference/commerce-v2026-04.yaml covers the v2026-04 commerce order-editing surface (/api/v202604/orders/{order_id}/edits paths, bearer-authenticated — post-checkout order edits that atomically insert items and add adjustments/discounts, with an optional dry-run preview); api-reference/webhooks-v0.yaml covers the unversioned webhooks surface (/api/... paths — webhook registration, delivery payloads, callback registrations, company events, and webhook/callback schemas).
> Successful responses wrap the resource payload alongside a top-level integer status and a meta object.

# Get webhook events for a resource

> Returns the most recent delivered event for `resource_name` as the same envelope
Fluid POSTs to your endpoint (the event `id`, `identifier`, `name`, `timestamp`,
and the enriched `payload`) — use it to confirm what Fluid last sent. Read-only.
Pass a resource the company has actually registered; an unknown or unregistered
`resource_name` returns `404` with a `{message, status}` body. Requires a company
Bearer token (`401` otherwise).




## OpenAPI

````yaml /api-reference/webhooks-v0.yaml get /api/company/webhooks/resources/{resource_name}
openapi: 3.1.0
info:
  title: Fluid Webhooks API
  description: >-
    Webhook subscriptions, callback registrations, webhook/callback schemas, and
    company events.
  version: v0
  contact:
    email: support@fluid.app
  license:
    name: Proprietary
    identifier: LicenseRef-Proprietary
servers:
  - url: https://api.fluid.app
  - url: https://{company}.fluid.app
    description: Production server with company subdomain
    variables:
      company:
        default: myco
        description: Company subdomain
security: []
tags:
  - name: webhooks
    description: >-
      Webhook subscriptions — create, list, update, delete, and inspect the most
      recent delivered event per resource.
  - name: webhooks-resources
    description: The catalog of resources (and their events) a webhook may subscribe to.
  - name: webhook-schemas
    description: >-
      Published JSON payload schemas for webhook events, keyed by event
      identifier.
  - name: callback-registrations
    description: >-
      Synchronous callback registrations that let a company or droplet respond
      to Fluid callbacks (e.g. tax, shipping).
  - name: callback-definitions
    description: The catalog of callback definitions a registration can target.
  - name: callback-schemas
    description: Request/response schemas for each callback definition.
  - name: company-events
    description: >-
      Company calendar events surfaced to members, with optional country-scoped
      notifications.
paths:
  /api/company/webhooks/resources/{resource_name}:
    get:
      tags:
        - webhooks
      summary: Get webhook events for a resource
      description: >
        Returns the most recent delivered event for `resource_name` as the same
        envelope

        Fluid POSTs to your endpoint (the event `id`, `identifier`, `name`,
        `timestamp`,

        and the enriched `payload`) — use it to confirm what Fluid last sent.
        Read-only.

        Pass a resource the company has actually registered; an unknown or
        unregistered

        `resource_name` returns `404` with a `{message, status}` body. Requires
        a company

        Bearer token (`401` otherwise).
      operationId: webhooks_v0_webhook_resource_events
      parameters:
        - name: resource_name
          in: path
          required: true
          description: >
            The resource whose most recent delivered event to return, e.g.
            `order`,

            `cart`, or `member`. Must be a resource the company has registered;
            an unknown

            or unregistered value returns `404`.
          schema:
            type: string
      responses:
        '200':
          description: Resource events listed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookResourceEventEnvelope'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponse'
        '404':
          description: >-
            The resource name is not registered — a JSON body of `{message,
            status}`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardErrorResponse'
      security:
        - bearer_auth: []
components:
  schemas:
    WebhookResourceEventEnvelope:
      description: >-
        The full event envelope returned by the resource events endpoint. The
        enriched inner payload is nested under `payload` (never a generic `data`
        key), alongside the event id, a generated identifier token, the event
        name, and a timestamp.
      type: object
      required:
        - id
        - identifier
        - name
        - payload
        - timestamp
      properties:
        id:
          type: integer
          description: Numeric identifier of the stored event.
        identifier:
          type: string
          description: >-
            The event's generated identifier token, not the company or event
            name.
        name:
          type: string
          description: Event identifier, e.g. "member_sponsorships_reassigned".
        timestamp:
          type: string
          format: date-time
          description: ISO 8601 event timestamp.
        payload:
          $ref: '#/components/schemas/WebhookResourceEventPayload'
    UnauthorizedResponse:
      type: object
      properties:
        message:
          type: string
      required:
        - message
    StandardErrorResponse:
      description: >-
        Common legacy error response envelope. Older endpoints may return one or
        more of these fields depending on the controller path.
      type: object
      properties:
        message:
          type: string
        error:
          $ref: '#/components/schemas/ErrorMessage'
        error_message:
          $ref: '#/components/schemas/ErrorMessage'
        errors:
          $ref: '#/components/schemas/ErrorBag'
        meta:
          $ref: '#/components/schemas/Meta'
      additionalProperties:
        $ref: '#/components/schemas/JsonValue'
    WebhookResourceEventPayload:
      description: >-
        The enriched inner payload: the resource data merged with the seven
        metadata fields (event_name, schema_version, schema_hash, company_id,
        resource_name, resource, event). Each resource keys its data under its
        own name — a member payload carries `member`, a cart payload carries
        `cart`, an order payload carries `order`, and so on — never a generic
        `data` key. The oneOf documents the member and cart branches explicitly
        and covers every other resource with an open fallback branch.
      type: object
      additionalProperties: true
      properties:
        event_name:
          type: string
          description: >
            The event's identifier, e.g. `order_created` — matches the
            envelope's `name`.
        schema_version:
          type: string
          description: Version of the payload schema this delivery conforms to.
        schema_hash:
          type: string
          description: >
            Hash of the payload schema version; use it to detect when a
            generated type

            is stale.
        company_id:
          type: integer
          description: Id of the company the event belongs to.
        resource_name:
          type: string
          description: >
            Internal type identifier for the resource, which may be namespaced.
            Do not

            use it to index the payload — read the resource data from the key
            named for

            the resource in lowercase (`order`, `cart`, `member`).
        resource:
          type: string
          description: >
            The resource the event is about (e.g. `order`), matching the
            subscription's

            `resource`.
        event:
          type: string
          description: >
            The event that fired (e.g. `created`), matching the subscription's
            `event`.
      oneOf:
        - $ref: '#/components/schemas/WebhookMemberResourceData'
        - $ref: '#/components/schemas/WebhookCartResourceData'
        - $ref: '#/components/schemas/WebhookGenericResourceData'
    ErrorMessage:
      description: An API error message represented as text or structured JSON.
      anyOf:
        - type: string
        - $ref: '#/components/schemas/ErrorBag'
        - type: 'null'
    ErrorBag:
      description: >-
        Validation errors keyed by field, a list of errors, a single error
        message, or null when no structured error details are available.
      anyOf:
        - type: string
        - type: array
          items:
            $ref: '#/components/schemas/ErrorValue'
        - type: object
          additionalProperties:
            $ref: '#/components/schemas/ErrorValue'
        - type: 'null'
    Meta:
      type: object
      properties:
        request_id:
          type:
            - string
            - 'null'
        timestamp:
          type: string
          format: date-time
    JsonValue:
      description: >-
        Any valid JSON value for provider, integration, theme, metadata, or
        other dynamic payloads whose keys are not fixed by the API contract.
      anyOf:
        - type: string
        - type: number
        - type: boolean
        - type: 'null'
        - type: array
          items:
            $ref: '#/components/schemas/JsonValue'
        - type: object
          additionalProperties:
            $ref: '#/components/schemas/JsonValue'
    WebhookMemberResourceData:
      description: >-
        Member branch of the enriched payload: the member object is keyed under
        a `member` key. The inner member object is open (additionalProperties:
        true); only a representative subset is documented. The required `member`
        key makes this branch mutually exclusive with the cart branch under
        oneOf (a cart payload has no `member`, so it fails this branch).
      type: object
      additionalProperties: true
      required:
        - member
      properties:
        member:
          type: object
          additionalProperties: true
          required:
            - id
          properties:
            id:
              type: string
              description: Member UUID.
            email:
              type: string
            name:
              type: string
            member_type:
              type: object
              additionalProperties: true
              properties:
                id:
                  type: string
                name:
                  type: string
                slug:
                  type: string
    WebhookCartResourceData:
      description: >-
        Cart branch of the enriched payload: the cart object is keyed under a
        `cart` key. The inner cart object is open (additionalProperties: true);
        its fields are not fixed by this contract and only a representative
        subset is documented. The required `cart` key makes this branch mutually
        exclusive with the member branch under oneOf (a member payload has no
        `cart`, so it fails this branch).
      type: object
      additionalProperties: true
      required:
        - cart
      properties:
        cart:
          description: The cart resource payload.
          type: object
          additionalProperties: true
    WebhookGenericResourceData:
      description: >-
        Fallback branch for the resources whose payload keys under their own
        resource name — order, product, subscription, discount, form, and the
        rest of the available topics — rather than `member` or `cart`. It is an
        open object carrying that resource data plus the seven metadata fields.
        Mutually exclusive with the member and cart branches under oneOf: the
        `not` clause makes it match only payloads that carry neither `member`
        nor `cart`, so exactly one branch validates.
      type: object
      additionalProperties: true
      not:
        anyOf:
          - required:
              - member
          - required:
              - cart
    ErrorValue:
      description: A validation or API error value.
      anyOf:
        - type: string
        - type: array
          items:
            type: string
        - type: object
          additionalProperties:
            $ref: '#/components/schemas/JsonValue'
  securitySchemes:
    bearer_auth:
      type: http
      scheme: bearer
      description: Bearer token authentication

````