OSS-first docs

These docs teach the open system first: contracts, generated surfaces, runtimes, governance, and incremental adoption. Studio shows up as the operating layer on top, not as the source of truth.

email.postmark

Postmark integration for transactional email delivery.

  • Type: integration (integration)
  • Version: 1.0.0
  • Owners: platform.messaging
  • Tags: email, transactional
  • File: packages/libs/contracts-spec/src/integrations/providers/postmark.ts
  • field.key.label
    email.postmark
    field.version.label
    1.0.0
    field.type.label
    integration (integration)
    field.title.label
    email.postmark
    field.description.label

    Postmark integration for transactional email delivery.

  • Type: integration (integration)
  • Version: 1.0.0
  • Owners: platform.messaging
  • Tags: email, transactional
  • File: packages/libs/contracts-spec/src/integrations/providers/postmark.ts
  • field.tags.label
    email,transactional
    field.owners.label
    platform.messaging
    field.stability.label

    Postmark integration for transactional email delivery.

    Source Definition

    export const postmarkIntegrationSpec = defineIntegration({
      meta: {
        key: 'email.postmark',
        version: '1.0.0',
        category: 'email',
        title: 'Postmark Transactional Email',
        description: 'Postmark integration for transactional email delivery.',
        domain: 'communications',
        owners: ['platform.messaging'],
        tags: ['email', 'transactional'],
        stability: StabilityEnum.Stable,
      },
      supportedModes: ['managed', 'byok'],
      capabilities: {
        provides: [{ key: 'email.transactional', version: '1.0.0' }],
        requires: [
          {
            key: 'platform.webhooks',
            optional: true,
            reason: 'Optional for inbound bounce handling',
          },
        ],
      },
      configSchema: {
        schema: {
          type: 'object',
          properties: {
            messageStream: {
              type: 'string',
              description:
                'Optional message stream identifier (e.g., transactional).',
            },
            fromEmail: {
              type: 'string',
              description: 'Default From address used for outbound messages.',
            },
          },
        },
        example: {
          messageStream: 'outbound',
          fromEmail: 'notifications@example.com',
        },
      },
      secretSchema: {
        schema: {
          type: 'object',
          required: ['serverToken'],
          properties: {
            serverToken: {
              type: 'string',
              description: 'Server token for the Postmark account.',
            },
          },
        },
        example: {
          serverToken: 'server-***',
        },
      },
      healthCheck: {
        method: 'ping',
        timeoutMs: 3000,
      },
      docsUrl: 'https://postmarkapp.com/developer',
      constraints: {
        rateLimit: {
          rpm: 500,
        },
      },
      byokSetup: {
        setupInstructions:
          'Create a Postmark server token with outbound send permissions and configure allowed from addresses.',
      },
    });