Givebutter Contact Tags API
The Contact Tags API from Givebutter — 3 operation(s) for contact tags. Split by tag from Givebutter's own published OpenAPI at https://givebutter.com/docs/api.json (harvested 2026-09-12).
The Contact Tags API from Givebutter — 3 operation(s) for contact tags. Split by tag from Givebutter's own published OpenAPI at https://givebutter.com/docs/api.json (harvested 2026-09-12).
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/givebutter-contact-tags-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
title: Givebutter API Documentation Contact Tags 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 Tags
paths:
/v1/contacts/{contact}/tags/add:
post:
operationId: contactTag.store
summary: Add tags to a contact
tags:
- Contact Tags
parameters:
- name: contact
in: path
required: true
description: The contact ID
schema:
type: integer
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
tags:
type: array
items:
type: string
maxLength: 64
minItems: 1
required:
- tags
responses:
'200':
description: '`ContactResource`'
content:
application/json:
schema:
$ref: '#/components/schemas/ContactResource'
'422':
$ref: '#/components/responses/ValidationException'
'404':
$ref: '#/components/responses/ModelNotFoundException'
'403':
$ref: '#/components/responses/AuthorizationException'
/v1/contacts/{contact}/tags/remove:
post:
operationId: contactTag.destroy
summary: Remove tags from a contact
tags:
- Contact Tags
parameters:
- name: contact
in: path
required: true
description: The contact ID
schema:
type: integer
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
tags:
type: array
items:
type: string
maxLength: 64
minItems: 1
required:
- tags
responses:
'200':
description: '`ContactResource`'
content:
application/json:
schema:
$ref: '#/components/schemas/ContactResource'
'422':
$ref: '#/components/responses/ValidationException'
'404':
$ref: '#/components/responses/ModelNotFoundException'
'403':
$ref: '#/components/responses/AuthorizationException'
/v1/contacts/{contact}/tags/sync:
post:
operationId: contactTag.sync
summary: Sync tags for a contact
tags:
- Contact Tags
parameters:
- name: contact
in: path
required: true
description: The contact ID
schema:
type: integer
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
tags:
type: array
items:
type: string
maxLength: 64
minItems: 1
required:
- tags
responses:
'200':
description: '`ContactResource`'
content:
application/json:
schema:
$ref: '#/components/schemas/ContactResource'
'422':
$ref: '#/components/responses/ValidationException'
'404':
$ref: '#/components/responses/ModelNotFoundException'
'403':
$ref: '#/components/responses/AuthorizationException'
components:
schemas:
AssociatedCompanyResource:
type: object
properties:
id:
type: string
type:
type: string
company_name:
type: string
name_display:
type: string
title:
type: string
twitter_url:
type: string
linkedin_url:
type: string
facebook_url:
type: string
tiktok_url:
type: string
instagram_url:
type: string
website_url:
type: string
image_url:
type:
- string
- 'null'
emails:
type: object
additionalProperties: {}
phones:
type: object
additionalProperties: {}
primary_email:
type: string
primary_phone:
type: string
is_email_subscribed:
type: string
is_phone_subscribed:
type: string
is_address_subscribed:
type: string
address_unsubscribed_at:
type: string
note:
type: string
addresses:
type: array
items:
$ref: '#/components/schemas/AddressResource'
primary_address:
$ref: '#/components/schemas/AddressResource'
archived_at:
type: string
created_at:
type: string
updated_at:
type: string
first_time_supporter_at:
type: string
required:
- id
- type
- company_name
- name_display
- title
- twitter_url
- linkedin_url
- facebook_url
- tiktok_url
- instagram_url
- website_url
- image_url
- emails
- phones
- primary_email
- primary_phone
- is_email_subscribed
- is_phone_subscribed
- is_address_subscribed
- address_unsubscribed_at
- note
- addresses
- primary_address
- archived_at
- created_at
- updated_at
- first_time_supporter_at
title: AssociatedCompanyResource
EmailResource:
type: object
properties:
type:
type:
- string
- 'null'
value:
type:
- string
- 'null'
required:
- type
- value
title: EmailResource
ContactResource:
type: object
properties:
id:
type: string
external_id:
type: string
contact_since:
type: string
type:
type: string
prefix:
type: string
first_name:
type: string
preferred_name:
type: string
middle_name:
type: string
last_name:
type: string
suffix:
type: string
gender:
type: string
pronouns:
type: string
dob:
type: string
company:
type: string
employer:
type: string
company_name:
type: string
point_of_contact:
anyOf:
- $ref: '#/components/schemas/PointOfContactResource'
- type: 'null'
associated_companies:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/AssociatedCompanyResource'
title:
type: string
website_url:
type: string
twitter_url:
type: string
linkedin_url:
type: string
facebook_url:
type: string
tiktok_url:
type: string
instagram_url:
type: string
emails:
type: array
items:
$ref: '#/components/schemas/EmailResource'
phones:
type: array
items:
$ref: '#/components/schemas/PhoneResource'
primary_email:
type: string
primary_phone:
type: string
note:
type: string
addresses:
type: array
items:
$ref: '#/components/schemas/App.Http.Resources.API.AddressResource'
primary_address:
anyOf:
- $ref: '#/components/schemas/App.Http.Resources.API.AddressResource'
- type: 'null'
last_donation_amount:
type: string
stats:
type: object
properties:
total_contributions:
type: string
recurring_contributions:
type: string
required:
- total_contributions
- recurring_contributions
tags:
type: string
custom_fields:
type: array
items: {}
external_ids:
type: array
items:
$ref: '#/components/schemas/ExternalIdResource'
is_email_subscribed:
type: string
is_phone_subscribed:
type: string
is_address_subscribed:
type: string
email_opt_in:
type: string
sms_opt_in:
type: string
address_unsubscribed_at:
type: string
archived_at:
type: string
created_at:
type: string
updated_at:
type: string
salutation_name:
type: string
required:
- id
- external_id
- contact_since
- type
- prefix
- first_name
- preferred_name
- middle_name
- last_name
- suffix
- gender
- pronouns
- dob
- company
- employer
- company_name
- title
- website_url
- twitter_url
- linkedin_url
- facebook_url
- tiktok_url
- instagram_url
- emails
- phones
- primary_email
- primary_phone
- note
- addresses
- primary_address
- last_donation_amount
- stats
- tags
- custom_fields
- external_ids
- is_email_subscribed
- is_phone_subscribed
- is_address_subscribed
- email_opt_in
- sms_opt_in
- address_unsubscribed_at
- archived_at
- created_at
- updated_at
- salutation_name
title: ContactResource
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
AddressResource:
type: object
properties:
id:
type: integer
account_id:
type:
- integer
- 'null'
name:
type:
- string
- 'null'
address_1:
type: string
address_2:
type:
- string
- 'null'
city:
type: string
state:
type:
- string
- 'null'
zipcode:
type:
- string
- 'null'
country:
type: string
type:
type: string
is_primary:
type: boolean
created_at:
type:
- string
- 'null'
format: date-time
updated_at:
type:
- string
- 'null'
format: date-time
required:
- id
- account_id
- name
- address_1
- address_2
- city
- state
- zipcode
- country
- type
- is_primary
- created_at
- updated_at
title: AddressResource
App.Http.Resources.API.AddressResource:
type: object
properties:
address_1:
type: string
address_2:
type:
- string
- 'null'
city:
type: string
state:
type:
- string
- 'null'
zipcode:
type:
- string
- 'null'
country:
type: string
type:
type: string
is_primary:
type: boolean
created_at:
type:
- string
- 'null'
format: date-time
updated_at:
type:
- string
- 'null'
format: date-time
required:
- address_1
- address_2
- city
- state
- zipcode
- country
- type
- is_primary
- created_at
- updated_at
title: App.Http.Resources.API.AddressResource
PhoneResource:
type: object
properties:
type:
type:
- string
- 'null'
value:
type:
- string
- 'null'
required:
- type
- value
title: PhoneResource
PointOfContactResource:
type: object
properties:
id:
type: string
type:
type: string
prefix:
type: string
first_name:
type: string
middle_name:
type: string
last_name:
type: string
suffix:
type: string
gender:
type: string
pronouns:
type: string
dob:
type: string
employer:
type: string
title:
type: string
twitter_url:
type: string
linkedin_url:
type: string
facebook_url:
type: string
tiktok_url:
type: string
instagram_url:
type: string
website_url:
type: string
emails:
type: object
additionalProperties: {}
phones:
type: object
additionalProperties: {}
primary_email:
type: string
primary_phone:
type: string
is_email_subscribed:
type: string
is_phone_subscribed:
type: string
is_address_subscribed:
type: string
address_unsubscribed_at:
type: string
archived_at:
type: string
created_at:
type: string
updated_at:
type: string
first_time_supporter_at:
type: string
required:
- id
- type
- prefix
- first_name
- middle_name
- last_name
- suffix
- gender
- pronouns
- dob
- employer
- title
- twitter_url
- linkedin_url
- facebook_url
- tiktok_url
- instagram_url
- website_url
- emails
- phones
- primary_email
- primary_phone
- is_email_subscribed
- is_phone_subscribed
- is_address_subscribed
- address_unsubscribed_at
- archived_at
- created_at
- updated_at
- first_time_supporter_at
title: PointOfContactResource
responses:
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
AuthorizationException:
description: Authorization error
content:
application/json:
schema:
type: object
properties:
message:
type: string
description: Error overview.
required:
- message
securitySchemes:
http:
type: http
scheme: bearer