openapi: 3.0.3
info:
title: Bloomerang REST API v2 Constituents Custom Fields API
description: The Bloomerang REST API v2 is a private-key, server-to-server API for reading and writing data in a Bloomerang donor management CRM account - constituents, transactions (donations, pledges, recurring donations), interactions, notes, relationships, and webhook subscriptions. Requests are authenticated with either a private API key sent in the X-Api-Key header (generated by an Administrator user under User Settings) or an OAuth 2.0 access token for third-party applications. Bloomerang does not offer a sandbox environment - all requests operate against production data. Endpoints for Constituents, Transactions, and Interactions are directly confirmed in Bloomerang's public documentation and third-party integration guides; endpoints for Households, Notes, Relationships, Custom Fields, Webhooks, Users, Funds, Campaigns, and Appeals are modeled from Bloomerang's REST API v1 resource parity, community client libraries, and CRM feature documentation, since Bloomerang does not publish a complete, versioned OpenAPI/Swagger document for v2. See review.yml in this repository for the endpointsConfirmed vs endpointsModeled breakdown.
version: '2.0'
contact:
name: Bloomerang
url: https://bloomerang.com/api/rest-api
servers:
- url: https://api.bloomerang.co/v2
description: Bloomerang REST API v2 (production - no sandbox is offered)
security:
- apiKeyAuth: []
- oauth2Bearer: []
tags:
- name: Custom Fields
description: Account-specific custom field definitions by object type.
paths:
/customFields/{type}:
parameters:
- name: type
in: path
required: true
description: The object type to fetch custom field definitions for, e.g. Constituent, Transaction, Interaction, or Note.
schema:
type: string
enum:
- Constituent
- Transaction
- Interaction
- Note
get:
operationId: listCustomFields
tags:
- Custom Fields
summary: List custom field definitions
description: Lists the custom field definitions configured for a given object type.
responses:
'200':
description: A list of custom field definitions.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CustomFieldDefinition'
'401':
$ref: '#/components/responses/Unauthorized'
components:
responses:
Unauthorized:
description: Missing or invalid API key / access token.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
schemas:
Error:
type: object
properties:
Message:
type: string
Errors:
type: array
items:
type: string
CustomFieldDefinition:
type: object
properties:
Id:
type: integer
Name:
type: string
FieldType:
type: string
enum:
- Text
- Number
- Date
- PickList
- MultiSelectPickList
PossibleValues:
type: array
items:
type: string
securitySchemes:
apiKeyAuth:
type: apiKey
in: header
name: X-Api-Key
description: Private API key generated by an Administrator user in Bloomerang under User Settings > Edit My User. Grants full read/write access - keep it secret.
oauth2Bearer:
type: oauth2
description: 'OAuth 2.0 access token for third-party applications, presented as `Authorization: Bearer {access_token}`.'
flows:
authorizationCode:
authorizationUrl: https://crm.bloomerang.co/oauth/authorize
tokenUrl: https://api.bloomerang.co/v2/oauth/token
scopes:
api: Full read/write access to account data.