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.
openapi: 3.2.0
info:
title: Fundraise Up REST Recurring Plans API
description: The Fundraise Up REST API gives programmatic access to fundraising data for a nonprofit's Fundraise Up account.
version: '1.0'
contact:
name: Fundraise Up
url: https://fundraiseup.com
license:
name: Proprietary
url: https://fundraiseup.com/terms/
servers:
- url: https://api.fundraiseup.com/v1
description: Fundraise Up REST API
security:
- bearerAuth: []
tags:
- name: Recurring Plans
description: Recurring donation plans modeling a supporter's ongoing giving.
paths:
/recurring_plans:
get:
operationId: listRecurringPlans
tags:
- Recurring Plans
summary: List recurring plans
description: Retrieves recurring donation plans with cursor-based pagination.
parameters:
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/StartingAfter'
- $ref: '#/components/parameters/EndingBefore'
responses:
'200':
description: A paginated list of recurring plans.
content:
application/json:
schema:
$ref: '#/components/schemas/RecurringPlanList'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/TooManyRequests'
post:
operationId: createRecurringPlan
tags:
- Recurring Plans
summary: Create a recurring plan
description: Creates a recurring donation plan.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/RecurringPlan'
responses:
'200':
description: The created recurring plan.
content:
application/json:
schema:
$ref: '#/components/schemas/RecurringPlan'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/TooManyRequests'
/recurring_plans/{id}:
parameters:
- $ref: '#/components/parameters/Id'
get:
operationId: getRecurringPlan
tags:
- Recurring Plans
summary: Retrieve a recurring plan
description: Retrieves the details of a specific recurring plan by ID.
responses:
'200':
description: The requested recurring plan.
content:
application/json:
schema:
$ref: '#/components/schemas/RecurringPlan'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
post:
operationId: updateRecurringPlan
tags:
- Recurring Plans
summary: Update a recurring plan
description: Updates a recurring plan. Updates are only permitted within 24 hours of the plan's creation.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/RecurringPlan'
responses:
'200':
description: The updated recurring plan.
content:
application/json:
schema:
$ref: '#/components/schemas/RecurringPlan'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
components:
schemas:
Pagination:
type: object
properties:
has_more:
type: boolean
description: Whether more records are available beyond this page.
RecurringPlan:
type: object
description: A recurring donation plan. Field schema to be reconciled against the hosted reference.
properties:
id:
type: string
object:
type: string
example: recurring_plan
additionalProperties: true
RecurringPlanList:
allOf:
- $ref: '#/components/schemas/Pagination'
- type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/RecurringPlan'
parameters:
Limit:
name: limit
in: query
required: false
description: Number of records to return, from 1 to 100.
schema:
type: integer
minimum: 1
maximum: 100
default: 10
Id:
name: id
in: path
required: true
description: The unique identifier of the resource.
schema:
type: string
StartingAfter:
name: starting_after
in: query
required: false
description: A cursor (object ID) to fetch the page of records after it.
schema:
type: string
EndingBefore:
name: ending_before
in: query
required: false
description: A cursor (object ID) to fetch the page of records before it.
schema:
type: string
responses:
NotFound:
description: The requested resource does not exist.
TooManyRequests:
description: Rate limit exceeded (8 requests/second or 128 requests/minute).
Unauthorized:
description: The API key is missing or invalid.
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: API key created in the dashboard under Settings > API keys, sent as a Bearer token.