openapi: 3.0.3 info: title: WildApricot Admin Accounts Donation.CustomFields API description: The WildApricot Admin API provides programmatic access to membership management features including contacts, events, event registrations, membership levels, invoices, payments, donations, email campaigns, and store orders. Authentication uses OAuth2 with client credentials or authorization code flow. version: 7.24.0 contact: name: WildApricot Support url: https://gethelp.wildapricot.com/ license: name: Proprietary x-generated-from: documentation servers: - url: https://api.wildapricot.org/v2.2 description: WildApricot Admin API v2.2 tags: - name: Donation.CustomFields paths: /accounts/{accountId}/donationfields: get: operationId: '' summary: WildApricot List of Custom Fields Related to Donations. description: "\nThis list contains a list of fields of 2 different types.\n - System fields are defined by Wild Apricot system and could not be removed.\n - Custom fields could be defined by administrator to store some data specific to your account.\n" tags: - Donation.CustomFields parameters: - name: '' in: query required: false description: '' schema: type: string - name: showSectionDividers in: query required: false description: Default value is false. Specifies whether section dividers also should be presented in the response. schema: type: boolean responses: '200': description: An array of donation field descriptions content: application/json: schema: type: array items: $ref: '#/components/schemas/EntityFieldDescription' '401': description: '' '429': description: '' security: - OAuth2: - auto post: operationId: '' summary: WildApricot Creates a New Donation Field description: '' tags: - Donation.CustomFields requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateEntityFieldParams' parameters: - name: '' in: query required: false description: '' schema: type: string responses: '200': description: created field identifier content: application/json: schema: type: integer '400': description: '' '401': description: '' '429': description: '' security: - OAuth2: - auto /accounts/{accountId}/donationfields/{donationFieldId}: put: operationId: '' summary: WildApricot Updates an Existing Donation Field description: 'Limitations: field type can not be changed' tags: - Donation.CustomFields requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/EditEntityFieldParams' parameters: - name: '' in: query required: false description: '' schema: type: string - name: donationFieldId in: path required: true description: donation field identifier schema: type: integer responses: '200': description: return true if field was updated successfully content: application/json: schema: type: boolean '400': description: '' '401': description: '' '404': description: '' '429': description: '' security: - OAuth2: - auto delete: operationId: '' summary: WildApricot Removes Existing Field by Id description: removes existing field by id tags: - Donation.CustomFields parameters: - name: '' in: query required: false description: '' schema: type: string - name: donationFieldId in: path required: true description: donation field identifier schema: type: integer responses: '200': description: return true if field was removed successfully content: application/json: schema: type: boolean '401': description: '' '404': description: '' '429': description: '' security: - OAuth2: - auto components: schemas: EntityFieldDescription: type: object required: - FieldName - Description - AdminOnly properties: FieldName: type: string description: Field name title, could be displayed in user interface. Field name could be changed by account administrator. SystemCode: type: string description: System-defined code associated with field. It does not change even if FieldName is edited in admin backend. DisplayType: type: string description: Optional hint, which tells how to display and edit field. It appears for String and Choice fields. IsSystem: type: boolean description: Field is system-defined and could not be deleted. However, field name could be changed by account administrator. Description: type: string description: System-defined description of the field. Empty for custom fields. FieldInstructions: type: string description: Admin-defined comment for the field. Shown as a tip when members or visitors fill in forms. AllowedValues: type: array description: If field value is limited to set of predefined values, this contains list of allowed values. Normally, AllowedValues appear for MultipleChoice and Choice fields. items: $ref: '#/components/schemas/OptionsListItem' Order: type: integer description: Sorting order to display the field in UI RulesAndTermsInfo: $ref: '#/components/schemas/RulesAndTermsInfo' OptionsListItem: type: object properties: Id: type: integer description: Item identifier unique in the list Label: type: string description: Human-readable text label. Position: type: integer description: Option position among other options. SelectedByDefault: type: boolean description: Indicates whether this option would be selected on form if user did not select another option. ExtraCost: type: number format: decimal description: Extra price for selecting this option. Used only by fields with an associated cost. CustomFieldType: type: string enum: - String - DateTime - Boolean - Choice - MultipleChoice - Number - SectionDivider - CalculatedExtraCharge - Picture description: Custom field data type. EditEntityFieldParams: allOf: - $ref: '#/components/schemas/EntityFieldDescription' - type: object required: - FieldType properties: FieldType: $ref: '#/components/schemas/CustomFieldType' CreateEntityFieldParams: allOf: - $ref: '#/components/schemas/EntityFieldDescription' - type: object required: - FieldType properties: FieldType: $ref: '#/components/schemas/CustomFieldType' RulesAndTermsInfo: type: object description: Additional info for fields with rules / terms conditions. Not present for other field types. properties: Text: type: string description: Terms of use label. Link: type: string description: Url of the rules and terms document. securitySchemes: OAuth2: type: oauth2 description: OAuth2 authentication for WildApricot API flows: clientCredentials: tokenUrl: https://oauth.wildapricot.org/auth/token scopes: auto: Full API access