Classy Transactions API
Donations, ticket, and merchandise order transactions.
Donations, ticket, and merchandise order transactions.
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/classy-org-transactions-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: Classy API (GoFundMe Pro) Transactions API
description: The Classy API is a resource-oriented REST API for the Classy online fundraising platform (rebranding to GoFundMe Pro).
version: '2.0'
contact:
name: Classy (GoFundMe Pro)
url: https://www.classy.org
servers:
- url: https://api.classy.org/2.0
description: Classy / GoFundMe Pro production API
security:
- bearerAuth: []
tags:
- name: Transactions
description: Donations, ticket, and merchandise order transactions.
paths:
/transactions/{id}:
parameters:
- $ref: '#/components/parameters/Id'
- $ref: '#/components/parameters/With'
get:
operationId: getTransaction
tags:
- Transactions
summary: Retrieve a transaction
description: Supports ?with=items and ?with=source_tracking_codes, confirmed against the official classy-org/postman-collections "Fetch Multi-Item Order" and "Fetch Source Codes" examples.
responses:
'200':
description: The requested transaction.
content:
application/json:
schema:
$ref: '#/components/schemas/Transaction'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
put:
operationId: updateTransaction
tags:
- Transactions
summary: Update a transaction
requestBody:
required: true
content:
application/json:
schema:
type: object
additionalProperties: true
responses:
'200':
description: The updated transaction.
content:
application/json:
schema:
$ref: '#/components/schemas/Transaction'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
'422':
$ref: '#/components/responses/ValidationError'
/transactions/{id}/items:
parameters:
- $ref: '#/components/parameters/Id'
get:
operationId: listTransactionItems
tags:
- Transactions
summary: List a transaction's line items
responses:
'200':
description: A list of transaction items.
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/TransactionItem'
'401':
$ref: '#/components/responses/Unauthorized'
/transactions/{id}/acknowledgements:
parameters:
- $ref: '#/components/parameters/Id'
get:
operationId: listTransactionAcknowledgements
tags:
- Transactions
summary: List a transaction's acknowledgements
responses:
'200':
description: A list of acknowledgements sent for the transaction.
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
type: object
additionalProperties: true
'401':
$ref: '#/components/responses/Unauthorized'
post:
operationId: createTransactionAcknowledgement
tags:
- Transactions
summary: Send an acknowledgement for a transaction
requestBody:
required: true
content:
application/json:
schema:
type: object
additionalProperties: true
responses:
'200':
description: The created acknowledgement.
content:
application/json:
schema:
type: object
additionalProperties: true
'401':
$ref: '#/components/responses/Unauthorized'
components:
responses:
NotFound:
description: The requested resource was not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
ValidationError:
description: The request payload failed validation.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Unauthorized:
description: Missing, invalid, or expired Bearer token.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
parameters:
With:
name: with
in: query
required: false
description: Comma-separated list of related sub-resources to eager-load, e.g. items, source_tracking_codes, organization, member.
schema:
type: string
Id:
name: id
in: path
required: true
description: The numeric ID of the resource.
schema:
type: integer
schemas:
Transaction:
type: object
description: Field names confirmed against the official "Fetch Multi-Item Order" Postman collection example response.
properties:
id:
type: integer
campaign_id:
type: integer
organization_id:
type: integer
fundraising_page_id:
type:
- integer
- 'null'
fundraising_team_id:
type:
- integer
- 'null'
supporter_id:
type: integer
status:
type: string
enum:
- success
- pending
- failed
- refunded
billing_first_name:
type: string
billing_last_name:
type: string
billing_address1:
type: string
billing_city:
type: string
billing_state:
type: string
billing_postal_code:
type: string
billing_country:
type: string
card_type:
type: string
card_last_four:
type: integer
charged_at:
type: string
format: date-time
charged_currency_code:
type: string
charged_total_gross_amount:
type: number
classy_fees_amount:
type: number
total_gross_amount:
type: number
comment:
type: string
acknowledgements_count:
type: integer
items:
type: array
items:
$ref: '#/components/schemas/TransactionItem'
updated_at:
type: string
format: date-time
additionalProperties: true
Error:
type: object
properties:
error:
type: string
error_description:
type: string
permissions:
type: array
items:
type: object
properties:
action:
type: string
entity:
type: string
TransactionItem:
type: object
properties:
id:
type: integer
transaction_id:
type: integer
type:
type: string
description: e.g. donation, ticket, merchandise, fee.
donation_gross_amount:
type: number
donation_net_amount:
type: number
campaign_id:
type: integer
fundraising_page_id:
type:
- integer
- 'null'
organization_id:
type: integer
raw_final_price:
type: number
currency_code:
type: string
promo_code_id:
type:
- integer
- 'null'
additionalProperties: true
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: 'OAuth2 client_credentials access token obtained from POST /oauth2/auth. Passed as `Authorization: Bearer {access_token}`.'