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: Donately Accounts Campaigns API
description: 'The Donately API is a REST/JSON API for online donation and fundraising management. It exposes accounts, campaigns, donations, recurring subscriptions, people (donors), fundraisers, forms, and webhooks. Base URL https://api.donately.com/v2 (API version 2019-03-15). Requests are authenticated with an API token via HTTP Basic Auth (the token is base64-encoded with a trailing colon); the token is found in the Donately dashboard under Settings -> API. Most endpoints require an account_id parameter identifying which account to operate against. NOTE: Donately''s reference renders as a JavaScript single-page app that could not be fully crawled; endpoints confirmed from documentation and third-party connectors are marked as such, and the remainder are modeled on Donately''s Stripe-style REST conventions - verify exact paths against developer.donately.com/api.'
version: '2019-03-15'
contact:
name: Donately
url: https://developer.donately.com/
servers:
- url: https://api.donately.com/v2
description: Donately API (version 2019-03-15)
security:
- basicAuth: []
tags:
- name: Campaigns
description: Fundraising pages with goals and settings.
paths:
/campaigns:
get:
operationId: listCampaigns
tags:
- Campaigns
summary: List campaigns
description: Returns campaigns for the specified account. CONFIRMED.
parameters:
- $ref: '#/components/parameters/AccountIdParam'
responses:
'200':
description: A list of campaigns.
content:
application/json:
schema:
$ref: '#/components/schemas/ListResponse'
'401':
$ref: '#/components/responses/Unauthorized'
post:
operationId: createCampaign
tags:
- Campaigns
summary: Create a campaign
description: Creates a new campaign. MODELED - verify against the live reference.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CampaignCreate'
responses:
'200':
description: The created campaign.
'400':
$ref: '#/components/responses/BadRequest'
/campaigns/{id}:
get:
operationId: getCampaign
tags:
- Campaigns
summary: Retrieve a campaign
description: Retrieves a single campaign by ID. MODELED - verify against the live reference.
parameters:
- $ref: '#/components/parameters/IdParam'
responses:
'200':
description: A campaign object.
'404':
$ref: '#/components/responses/NotFound'
patch:
operationId: updateCampaign
tags:
- Campaigns
summary: Update a campaign
description: Updates an existing campaign. CONFIRMED.
parameters:
- $ref: '#/components/parameters/IdParam'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CampaignCreate'
responses:
'200':
description: The updated campaign.
'404':
$ref: '#/components/responses/NotFound'
delete:
operationId: deleteCampaign
tags:
- Campaigns
summary: Delete a campaign
description: Deletes a campaign. MODELED - verify against the live reference.
parameters:
- $ref: '#/components/parameters/IdParam'
responses:
'200':
description: Deletion confirmation.
'404':
$ref: '#/components/responses/NotFound'
components:
responses:
Unauthorized:
description: Authentication failed or was not provided.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
NotFound:
description: The requested resource was not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
BadRequest:
description: The request was malformed or missing required parameters.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
schemas:
CampaignCreate:
type: object
required:
- account_id
- title
properties:
account_id:
type: string
title:
type: string
goal_in_cents:
type: integer
description:
type: string
Error:
type: object
properties:
object:
type: string
example: error
error:
type: object
properties:
type:
type: string
message:
type: string
ListResponse:
type: object
description: Standard Donately list envelope.
properties:
object:
type: string
data:
type: array
items:
type: object
summary:
type: object
params:
type: object
parameters:
AccountIdParam:
name: account_id
in: query
required: true
description: The ID of the account to operate against.
schema:
type: string
IdParam:
name: id
in: path
required: true
description: The unique identifier of the resource.
schema:
type: string
securitySchemes:
basicAuth:
type: http
scheme: basic
description: HTTP Basic Auth. Use your Donately API token as the username with an empty password (the token is base64-encoded with a trailing colon). Find the token in the Donately dashboard under Settings -> API.