Givebutter Contacts API

The Contacts API from Givebutter — 2 operation(s) for contacts.

OpenAPI Specification

givebutter-contacts-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Givebutter Campaigns Contacts API
  version: 1.0.0
  description: 'Best-effort OpenAPI 3.1 description of the Givebutter REST API covering

    campaigns, contacts, transactions, funds, households, tickets, plans,

    payouts, pledges, webhooks, and discount codes. Authentication uses

    Bearer-token authentication with an API key. Sourced from

    https://docs.givebutter.com/.

    '
  contact:
    name: Givebutter API Docs
    url: https://docs.givebutter.com/reference/reference-getting-started
servers:
- url: https://api.givebutter.com/v1
  description: Production
security:
- bearerAuth: []
tags:
- name: Contacts
paths:
  /contacts:
    get:
      summary: List contacts
      operationId: listContacts
      tags:
      - Contacts
      parameters:
      - $ref: '#/components/parameters/PerPage'
      - $ref: '#/components/parameters/Page'
      - in: query
        name: email
        schema:
          type: string
          format: email
      responses:
        '200':
          description: Contacts
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Contact'
    post:
      summary: Create a contact
      operationId: createContact
      tags:
      - Contacts
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Contact'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Contact'
  /contacts/{id}:
    parameters:
    - $ref: '#/components/parameters/IdInt'
    get:
      summary: Retrieve a contact
      operationId: getContact
      tags:
      - Contacts
      responses:
        '200':
          description: Contact
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Contact'
    patch:
      summary: Update a contact
      operationId: updateContact
      tags:
      - Contacts
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Contact'
      responses:
        '200':
          description: Updated
    delete:
      summary: Archive (soft delete) a contact
      operationId: deleteContact
      tags:
      - Contacts
      responses:
        '204':
          description: Archived
components:
  parameters:
    Page:
      in: query
      name: page
      schema:
        type: integer
        minimum: 1
        default: 1
    PerPage:
      in: query
      name: per_page
      schema:
        type: integer
        minimum: 1
        maximum: 100
        default: 20
    IdInt:
      in: path
      name: id
      required: true
      schema:
        type: integer
  schemas:
    Contact:
      type: object
      properties:
        id:
          type: integer
        first_name:
          type: string
        last_name:
          type: string
        emails:
          type: array
          items:
            type: object
            properties:
              type:
                type: string
              value:
                type: string
                format: email
        phones:
          type: array
          items:
            type: object
            properties:
              type:
                type: string
              value:
                type: string
        addresses:
          type: array
          items:
            type: object
        tags:
          type: array
          items:
            type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: Bearer token authentication using a personal API key.