Givebutter Contact Activities API

The Contact Activities API from Givebutter — 5 operation(s) for contact activities. Split by tag from Givebutter's own published OpenAPI at https://givebutter.com/docs/api.json (harvested 2026-09-12).

Operations 5

GET /v1/contacts/{contact}/activities List all contact activities #
POST /v1/contacts/{contact}/activities Create a contact activity #
GET /v1/contacts/{contact}/activities/{activity} Get a contact activity #
PUT /v1/contacts/{contact}/activities/{activity} Update a contact activity #
DELETE /v1/contacts/{contact}/activities/{activity} Delete a contact activity #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/givebutter-contact-activities-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

givebutter-contact-activities-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Givebutter API Documentation Contact Activities API
  version: 1.0.0
  description: Givebutter Public API - Access and manage your campaigns, contacts, transactions, and more.
servers:
- url: https://api.givebutter.com/
security:
- http: []
tags:
- name: Contact Activities
paths:
  /v1/contacts/{contact}/activities:
    get:
      operationId: contacts.activities.index
      summary: List all contact activities
      tags:
      - Contact Activities
      parameters:
      - name: contact
        in: path
        required: true
        description: The contact ID
        schema:
          type: integer
      - name: type
        in: query
        schema:
          $ref: '#/components/schemas/ContactActivityTypeEnum'
      responses:
        '200':
          description: Paginated set of `ContactActivityResource`
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/ContactActivityResource'
                  links:
                    type: object
                    properties:
                      first:
                        type:
                        - string
                        - 'null'
                      last:
                        type:
                        - string
                        - 'null'
                      prev:
                        type:
                        - string
                        - 'null'
                      next:
                        type:
                        - string
                        - 'null'
                    required:
                    - first
                    - last
                    - prev
                    - next
                  meta:
                    type: object
                    properties:
                      current_page:
                        type: integer
                        minimum: 1
                      from:
                        type:
                        - integer
                        - 'null'
                        minimum: 1
                      last_page:
                        type: integer
                        minimum: 1
                      links:
                        type: array
                        description: Generated paginator links.
                        items:
                          type: object
                          properties:
                            url:
                              type:
                              - string
                              - 'null'
                            label:
                              type: string
                            active:
                              type: boolean
                          required:
                          - url
                          - label
                          - active
                      path:
                        type:
                        - string
                        - 'null'
                        description: Base path for paginator generated URLs.
                      per_page:
                        type: integer
                        description: Number of items shown per page.
                        minimum: 0
                      to:
                        type:
                        - integer
                        - 'null'
                        description: Number of the last item in the slice.
                        minimum: 1
                      total:
                        type: integer
                        description: Total number of items being paginated.
                        minimum: 0
                    required:
                    - current_page
                    - from
                    - last_page
                    - links
                    - path
                    - per_page
                    - to
                    - total
                required:
                - data
                - links
                - meta
        '422':
          $ref: '#/components/responses/ValidationException'
        '403':
          $ref: '#/components/responses/AuthorizationException'
        '404':
          $ref: '#/components/responses/ModelNotFoundException'
    post:
      operationId: contacts.activities.store
      summary: Create a contact activity
      tags:
      - Contact Activities
      parameters:
      - name: contact
        in: path
        required: true
        description: The contact ID
        schema:
          type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StoreContactActivityRequest'
      responses:
        '200':
          description: '`ContactActivityResource`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContactActivityResource'
        '403':
          $ref: '#/components/responses/AuthorizationException'
        '422':
          $ref: '#/components/responses/ValidationException'
        '404':
          $ref: '#/components/responses/ModelNotFoundException'
  /v1/contacts/{contact}/activities/{activity}:
    get:
      operationId: contacts.activities.show
      summary: Get a contact activity
      tags:
      - Contact Activities
      parameters:
      - name: contact
        in: path
        required: true
        description: The contact ID
        schema:
          type: integer
      - name: activity
        in: path
        required: true
        description: The activity ID
        schema:
          type: integer
      responses:
        '200':
          description: '`ContactActivityResource`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContactActivityResource'
        '403':
          $ref: '#/components/responses/AuthorizationException'
        '404':
          $ref: '#/components/responses/ModelNotFoundException'
    put:
      operationId: contacts.activities.update
      summary: Update a contact activity
      tags:
      - Contact Activities
      parameters:
      - name: contact
        in: path
        required: true
        description: The contact ID
        schema:
          type: integer
      - name: activity
        in: path
        required: true
        description: The activity ID
        schema:
          type: integer
      responses:
        '200':
          description: '`ContactActivityResource`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContactActivityResource'
        '403':
          $ref: '#/components/responses/AuthorizationException'
        '422':
          $ref: '#/components/responses/ValidationException'
        '404':
          $ref: '#/components/responses/ModelNotFoundException'
    delete:
      operationId: contacts.activities.destroy
      summary: Delete a contact activity
      tags:
      - Contact Activities
      parameters:
      - name: contact
        in: path
        required: true
        description: The contact ID
        schema:
          type: integer
      - name: activity
        in: path
        required: true
        description: The activity ID
        schema:
          type: integer
      responses:
        '204':
          description: No content
        '403':
          $ref: '#/components/responses/AuthorizationException'
        '422':
          $ref: '#/components/responses/ValidationException'
        '404':
          $ref: '#/components/responses/ModelNotFoundException'
components:
  schemas:
    DedicationResource:
      type: object
      properties:
        type:
          type: string
        name:
          type: string
        recipient:
          type: object
          properties:
            name:
              type:
              - string
              - 'null'
            email:
              type:
              - string
              - 'null'
          required:
          - name
          - email
        created_at:
          type: string
        updated_at:
          type: string
      required:
      - type
      - name
      - recipient
      - created_at
      - updated_at
      title: DedicationResource
    RecurringPlanResource:
      type: object
      properties:
        id:
          type: string
        contact_id:
          type: string
        first_name:
          type: string
        last_name:
          type: string
        email:
          type: string
        phone:
          type: string
        frequency:
          type: string
        status:
          type: string
        method:
          type: string
        amount:
          type: string
        fee_covered:
          type: string
        created_at:
          type: string
        updated_at:
          type: string
        start_at:
          type: string
        canceled_at:
          type: string
        next_bill_date:
          type: string
      required:
      - id
      - contact_id
      - first_name
      - last_name
      - email
      - phone
      - frequency
      - status
      - method
      - amount
      - fee_covered
      - created_at
      - updated_at
      - start_at
      - canceled_at
      - next_bill_date
      title: RecurringPlanResource
    GivingSpaceResource:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        amount:
          type: number
        message:
          type: string
        created_at:
          type: string
        updated_at:
          type: string
      required:
      - id
      - name
      - amount
      - message
      - created_at
      - updated_at
      title: GivingSpaceResource
    CustomFieldResponseResource:
      type: object
      properties:
        id:
          type: integer
        field_id:
          type: integer
        title:
          type: string
        description:
          type:
          - string
          - 'null'
        type:
          type: string
        value:
          type: string
        created_at:
          type: string
        updated_at:
          type: string
      required:
      - id
      - field_id
      - title
      - description
      - type
      - value
      - created_at
      - updated_at
      title: CustomFieldResponseResource
    ExternalIdResource:
      type: object
      properties:
        id:
          type: integer
        label:
          type: string
        external_id:
          type: string
        created_at:
          type: string
        updated_at:
          type: string
      required:
      - id
      - label
      - external_id
      - created_at
      - updated_at
      title: ExternalIdResource
    TransactionLineItemResource:
      type: object
      properties:
        type:
          type: string
        subtype:
          type: string
        description:
          type: string
        quantity:
          type: integer
        price:
          type: number
        discount:
          type: number
        total:
          type: number
        created_at:
          type: string
        updated_at:
          type: string
      required:
      - type
      - subtype
      - description
      - quantity
      - price
      - discount
      - total
      - created_at
      - updated_at
      title: TransactionLineItemResource
    TicketResource:
      type: object
      properties:
        id:
          type: string
        id_suffix:
          type: string
        transaction_id:
          type: string
        name:
          type: string
        first_name:
          type: string
        last_name:
          type: string
        email:
          type: string
        phone:
          type: string
        title:
          type: string
        description:
          type: string
        price:
          type: number
        pdf:
          type: string
        checked_in_at:
          type: string
        custom_fields:
          type: array
          items:
            $ref: '#/components/schemas/CustomFieldResponseResource'
        created_at:
          type: string
        updated_at:
          type: string
        retail_price:
          type:
          - string
          - 'null'
      required:
      - id
      - id_suffix
      - transaction_id
      - name
      - first_name
      - last_name
      - email
      - phone
      - title
      - description
      - price
      - pdf
      - checked_in_at
      - custom_fields
      - created_at
      - updated_at
      - retail_price
      title: TicketResource
    PublicUserResource:
      type: object
      properties:
        id:
          type: string
        first_name:
          type: string
        last_name:
          type: string
        email:
          type: string
      required:
      - id
      - first_name
      - last_name
      - email
      title: PublicUserResource
    TransactionResource:
      anyOf:
      - type: object
        properties:
          id:
            type: string
          plan_id:
            type: string
          pledge_id:
            type: string
          amount:
            type: number
          fee:
            type: number
          fee_covered:
            type: number
          donated:
            type: number
          payout:
            type: number
          captured:
            type: string
          captured_at:
            type: string
          timezone:
            type: string
          refunded:
            type: string
          refunded_at:
            type: string
          line_items:
            type: array
            items:
              $ref: '#/components/schemas/TransactionLineItemResource'
          fair_market_value_amount:
            type:
            - string
            - 'null'
          tax_deductible_amount:
            type:
            - string
            - 'null'
          is_recurring:
            type: string
        required:
        - id
        - plan_id
        - pledge_id
        - amount
        - fee
        - fee_covered
        - donated
        - payout
        - captured
        - captured_at
        - timezone
        - refunded
        - refunded_at
        - line_items
        - fair_market_value_amount
        - tax_deductible_amount
        - is_recurring
      - type: object
        properties:
          id:
            type: string
          number:
            type: string
          campaign_id:
            type: string
          campaign_code:
            type: string
          campaign_title:
            type: string
          plan_id:
            type: string
          pledge_id:
            type: string
          team_id:
            type: string
          team_name:
            type: string
          member_id:
            type: string
          member_name:
            type: string
          fund_id:
            type: string
          fund_code:
            type: string
          contact_id:
            type: string
          first_name:
            type: string
          last_name:
            type: string
          company_name:
            type: string
          company:
            type: string
          email:
            type: string
          phone:
            type: string
          address:
            type: string
          status:
            type: string
          payment_method:
            type: string
          method:
            type: string
          is_offline:
            type: string
          check_number:
            anyOf:
            - type: string
            - type: object
          check_deposited_at:
            anyOf:
            - type: string
            - type: object
          internal_note:
            type: string
          amount:
            type: number
          fee:
            type: number
          fee_covered:
            type: number
          donated:
            type: number
          payout:
            type: number
          currency:
            type: string
          transacted_at:
            type: string
          created_at:
            type: string
          updated_at:
            type: string
          timezone:
            type: string
          giving_space:
            anyOf:
            - $ref: '#/components/schemas/GivingSpaceResource'
            - type: 'null'
          dedication:
            anyOf:
            - $ref: '#/components/schemas/DedicationResource'
            - type: 'null'
          transactions:
            type: array
            prefixItems:
            - $ref: '#/components/schemas/TransactionResource'
            minItems: 1
            maxItems: 1
            additionalItems: false
          custom_fields:
            type: array
            items:
              $ref: '#/components/schemas/CustomFieldResponseResource'
          utm_parameters:
            type: string
          external_id:
            anyOf:
            - $ref: '#/components/schemas/ExternalIdResource'
            - type: 'null'
          communication_opt_in:
            type: string
          session_id:
            type: string
          attribution_data:
            type: string
          fair_market_value_amount:
            type:
            - string
            - 'null'
          tax_deductible_amount:
            type:
            - string
            - 'null'
          is_recurring:
            type: string
          payout_id:
            anyOf:
            - type: string
            - type: object
        required:
        - id
        - number
        - campaign_id
        - campaign_code
        - campaign_title
        - plan_id
        - pledge_id
        - team_id
        - team_name
        - member_id
        - member_name
        - fund_id
        - fund_code
        - contact_id
        - first_name
        - last_name
        - company_name
        - company
        - email
        - phone
        - address
        - status
        - payment_method
        - method
        - is_offline
        - check_number
        - check_deposited_at
        - internal_note
        - amount
        - fee
        - fee_covered
        - donated
        - payout
        - currency
        - transacted_at
        - created_at
        - updated_at
        - timezone
        - giving_space
        - dedication
        - transactions
        - custom_fields
        - utm_parameters
        - external_id
        - communication_opt_in
        - session_id
        - attribution_data
        - fair_market_value_amount
        - tax_deductible_amount
        - is_recurring
        - payout_id
      title: TransactionResource
    ContactActivityResource:
      type: object
      properties:
        id:
          type: string
        type:
          type: string
        source:
          type: string
        data:
          type: string
        resource:
          anyOf:
          - $ref: '#/components/schemas/TransactionResource'
          - type: object
            properties:
              id:
                type: string
            required:
            - id
          - type: 'null'
          - $ref: '#/components/schemas/RecurringPlanResource'
          - $ref: '#/components/schemas/TicketResource'
          - $ref: '#/components/schemas/MessageResource'
        resource_type:
          type:
          - string
          - 'null'
          enum:
          - transaction
          - plan
          - ticket
          - message
          - mail_piece
          - soft_credit
          - subscription_log
          - null
        created_by:
          $ref: '#/components/schemas/PublicUserResource'
        occurred_at:
          type: string
        created_at:
          type: string
        updated_at:
          type: string
      required:
      - id
      - type
      - source
      - data
      - resource
      - resource_type
      - occurred_at
      - created_at
      - updated_at
      title: ContactActivityResource
    MessageResource:
      type: object
      properties:
        id:
          type: string
        status:
          type: string
        channel:
          type: string
        internal_name:
          type: string
        subject:
          type: string
        preheader:
          type: string
        body:
          type: string
        recipient_filters:
          type: string
        recipient_count:
          type: string
        sent_at:
          type: string
        sending_at:
          type: string
        created_at:
          type: string
        updated_at:
          type: string
      required:
      - id
      - status
      - channel
      - internal_name
      - body
      - recipient_filters
      - recipient_count
      - sent_at
      - sending_at
      - created_at
      - updated_at
      title: MessageResource
    ContactActivityTypeEnum:
      type: string
      enum:
      - archived
      - campaign.joined
      - email
      - email.subscribed
      - email.unsubscribed
      - letter
      - meeting
      - note
      - phone_call
      - recurring_plan.canceled
      - recurring_plan.created
      - recurring_plan.activated
      - signup_form.submitted
      - sms
      - sms.subscribed
      - sms.unsubscribed
      - subscription_form.submitted
      - completed_task
      - created_task
      - ticket.issued
      - transaction.recieved
      - transaction.succeeded
      - transaction.acknowledged
      - transaction.unacknowledged
      - unarchived
      - volunteer_activity
      - soft_credited
      - tagged
      - untagged
      - custom_field.updated
      - video_message.sent
      - video_message.deleted
      title: ContactActivityTypeEnum
    StoreContactActivityRequest:
      type: object
      properties:
        type:
          type: string
          enum:
          - email
          - meeting
          - note
          - phone_call
          - sms
          - completed_task
          - volunteer_activity
        note:
          type:
          - string
          - 'null'
        subject:
          type:
          - string
          - 'null'
          maxLength: 255
        occurred_at:
          type:
          - string
          - 'null'
          format: date-time
        timezone:
          type:
          - string
          - 'null'
          maxLength: 255
      required:
      - type
      title: StoreContactActivityRequest
  responses:
    AuthorizationException:
      description: Authorization error
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                description: Error overview.
            required:
            - message
    ValidationException:
      description: Validation error
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                description: Errors overview.
              errors:
                type: object
                description: A detailed description of each field that failed validation.
                additionalProperties:
                  type: array
                  items:
                    type: string
            required:
            - message
            - errors
    ModelNotFoundException:
      description: Not found
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                description: Error overview.
            required:
            - message
  securitySchemes:
    http:
      type: http
      scheme: bearer