Givebutter · OpenAPI Overlay 1.0.0

API Evangelist enhancements for the Givebutter API

8 actions 8 updates documentation extends ../openapi/_original/givebutter-docs-api.json
Generated by API Evangelist Written by API Evangelist tooling for Givebutter's API. It is a proposal applied on top of the contract, not a document Givebutter publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

summaryx-reversalcontactx-documentationx-llms-txtx-status-pagex-agent-cardx-mcp-server

Targets 8

$.info
$.servers
$.components.securitySchemes.http
$
$.paths['/sso/v1/account'].get
$.paths['/sso/v1/campaigns/{campaign}'].get
$.paths['/v1/transactions'].post
$.paths['/v1/contacts/{contact}'].delete

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enhancements for the Givebutter API
  version: 1.0.0
x-generated: '2026-09-12'
x-method: generated
x-source: openapi/_original/givebutter-docs-api.json (https://givebutter.com/docs/api.json, harvested 2026-09-12)
x-description: >-
  Non-destructive enhancements to Givebutter's published OpenAPI, expressed as an OpenAPI Overlay so
  the provider's document is never mutated. Every value added here is sourced from a Givebutter
  documentation page or a Givebutter discovery document, not invented. Apply with any Overlay 1.0.0
  processor against the harvested spec.
extends: ../openapi/_original/givebutter-docs-api.json
actions:
- target: $.info
  description: Add the contact, licence and documentation links Givebutter publishes but the spec omits.
  update:
    contact:
      name: Givebutter API Documentation
      url: https://docs.givebutter.com/api-reference/authentication
    x-documentation: https://docs.givebutter.com/
    x-llms-txt: https://docs.givebutter.com/llms.txt
    x-status-page: https://status.givebutter.com/
    x-agent-card: https://docs.givebutter.com/.well-known/agent-card.json
    x-mcp-server: https://mcp.givebutter.com/mcp
- target: $.servers
  description: Annotate the single production server with the base path the documentation actually tells
    developers to call.
  update:
  - url: https://api.givebutter.com/
    description: Production. The documented base URL including the version prefix is
      https://api.givebutter.com/v1/.
- target: $.components.securitySchemes.http
  description: Name and describe the bearer scheme, which the spec declares with no description.
  update:
    description: >-
      Account-level API key issued in the Givebutter dashboard under Settings / Integrations / API
      Keys and sent as 'Authorization: Bearer <API key>'. The key is unscoped — it carries every
      permission the account has — has no published expiry, and is displayed only once at creation.
    bearerFormat: API key
    x-docs: https://docs.givebutter.com/api-reference/authentication
- target: $
  description: Record the platform-wide runtime semantics that are documented but absent from the contract.
  update:
    x-rate-limits:
      limit: 500
      window: minute
      scope: account
      status: 429
      headers:
      - Retry-After
      docs: https://docs.givebutter.com/api-reference/rate-limits
    x-pagination:
      style: page-number
      params:
        page:
          default: 1
        per_page:
          default: 20
          max: 100
      response:
        data: array
        links:
        - first
        - last
        - prev
        - next
        meta:
        - current_page
        - from
        - to
        - last_page
        - per_page
        - total
        - path
      docs: https://docs.givebutter.com/api-reference/pagination
    x-error-envelope:
      message: string
      errors: object of field -> array of validation strings (422)
      rfc9457: false
      docs: https://docs.givebutter.com/api-reference/errors
    x-idempotency:
      supported: false
      note: No idempotency or replay-protection mechanism is published for any mutating operation,
        including POST /v1/transactions.
- target: $.paths['/sso/v1/account'].get
  description: The two SSO operations ship with an empty summary in the published spec; give them one
    drawn from their own path and response schema.
  update:
    summary: Get the SSO account
- target: $.paths['/sso/v1/campaigns/{campaign}'].get
  update:
    summary: Get an SSO campaign
- target: $.paths['/v1/transactions'].post
  description: Flag the one operation that moves money and has no published reversal.
  update:
    x-consequence: irreversible-through-api
    x-reversal: none — no refund, void or reverse operation is published; refunds occur outside the
      API and surface only as a refund.created webhook event
- target: $.paths['/v1/contacts/{contact}'].delete
  update:
    x-reversal:
      operationId: contact.restore
      binding: PATCH /v1/contacts/{contact}/restore
      window: not published