GoFundMe Transaction API
Transactions have three types of attributes relating to Passport: raw, charged, and normalized. Raw attributes reflect the donor/purchaser's intent when creating the Transaction. The only attribute directly specified on the Transaction is `raw_currency_code` - the other visible attributes (`raw_total_gross_amount`, `raw_donation_gross_amount`, and `raw_overhead_net_amount`) are all derived from the raw values set on the transaction's items. Charged attributes reflect the values that are actually charged when the payment is processed. Since the potential values for a Transaction's `charged_currency_code` should be limited to those available to an Organization for processing, this value can differ from the Transaction's `raw_currency_code`. The amount that is charged is reflected in `charged_total_gross_amount`, while the fees are expressed in `charged_classy_fees_amount` and `charged_pp_fees_amount` (`charged_fees_amount` attribute is the sum of these two attributes). There is additionally a `charged_at` timestamp that is used for normalization. Normalized attributes reflect a conversion from raw and/or charged attributes into the Transaction's `currency_code`, which is the same for all Passport-enabled entities associated with the Transaction's Organization. This normalization occurs to allow for a constant basis of comparison across each of these entities. These normalized values are all converted from the associated raw or charged attributes, preferring the charged attribute over the raw attribute if available. For example, `charged_total_gross_amount` will be used instead of `raw_total_gross_amount` if both `charged_total_gross_amount` and `charged_currency_code` are present. If `charged_at` is also present, the exchange rate between `charged_currency_code` and `currency_code` at that time will be used if/when the Transaction is renormalized. It should be noted that there is no notion of raw fees, as these are calculated at the time that a Transaction is charged and therefore only reflected as charged attributes. If a transaction is flagged as 'fee-on-top', this will be reflected by an increase in the `charged_total_gross_amount` that will not be visible in `raw_total_gross_amount`. Transactions may be in a number of different states: success, incomplete, canceled, refunded, cb_initiated, cb_lost, test, pending, failed An additional transaction attribute relating to Passport is the `tax_entity_id`. Tax entities indicate that an Organization is tax compliant within a certain country. A single organization may have more than one tax entity. The `tax_entity_id` listed on the Transaction indicates which of the Organization's tax entities indicates the tax compliance of the Transaction. Transactions may have an associated 'context' attribute which provides data about the Transaction's original Campaign (this does not change between hard credit transfers) and whether or not the transaction is considered to incorporate Passport functionality. This attribute can be used for filtering and/or sorting when using index endpoints.
Documentation
Specifications
Other Resources
openapi: 3.2.0
info:
title: GoFundMe Pro Transaction API
description: "<h1>GoFundMe Pro API</h1>\n<p>Welcome to the GoFundMe Pro API (2.0.0), a powerful toolset that empowers innovative and creative minds to engineer the world for good. This documentation walks through the API’s latest endpoints.</p>\n<p>GoFundMe Pro APIs are crafted around REST and the REST architectural style to provide developers with a stateless and language-agnostic interface. The GoFundMe Pro API leverages HTTP verbs and response codes, OAuth2 authentication, and resource-oriented URLs.</p>\n<p>Currently, the GoFundMe Pro API only supports JSON. All POST/PUT requests required a valid JSON object for the request body.</p>\n<h2>Errors</h2>\n<p>The GoFundMe Pro API leverages standard HTTP response status codes for it’s error responses. Error codes are:</p>\n<p><br /></p>\n<table border='1'>\n<tr>\n<th width='100px'>Error Code</th>\n<th>Meaning</th>\n</tr>\n<tr>\n<td>400</td>\n<td>Bad Request: The request was malformed or provided incorrect/incomplete/conflicting parameters. Check the response for more detailed messaging about why the request was incorrect. Do not repeat request.</td>\n</tr>\n<tr>\n<td>401</td>\n<td>Unauthorized: The API does not recognize the request as authorized. API access token may be missing or invalid.</td>\n</tr>\n<tr>\n<td>403</td>\n<td>Forbidden: The API recognizes the authorized API user, but the API user does not have correct permissions to satisfy the request.</td>\n</tr>\n<tr>\n<td>404</td>\n<td>Not Found: The resource requested does not exist or was not found.</td>\n</tr>\n<tr>\n<td>405</td>\n<td>Method Not Allowed: Some REST endpoints only accept a subset of valid REST HTTP verbs. This error is sent when an unsupported verb is requested.</td>\n</tr>\n<tr>\n<td>429</td>\n<td>Too Many Requests: The rate limit has been exceeded. See the <a href=\"#rate-limiting\">Rate Limiting</a> section for details on rate limits and response headers.</td>\n</tr>\n<tr>\n<td>500</td>\n<td>Error: The request was valid, but something failed on the server. Additional messages may be available.</td>\n</tr>\n<tr>\n<td>503</td>\n<td>Service Unavailable: The service is temporarily unavailable.</td>\n</tr>\n</table>\n<h2>Requests</h2>\n<h3>Authenticating Requests</h3>\n<p>Most API requests will need to be signed with an Access Token.</p>\n<p>Refer to the <a href=\"https://developers.gofundme.com/pro/overview/authentication\" target=\"_blank\" rel=\"noopener noreferrer\">Resource Documentation</a> for the specific call you are making to see if an access token is required for your request. See <a href=\"https://developers.gofundme.com/pro/tutorials/samples\" target=\"_blank\" rel=\"noopener noreferrer\">this page</a> for a demonstration of usage through a sample app. \n<h3>Filters</h3>\n<p>We can filter a collection based on a set of input parameters. To do so, we can modify the query string using the parameters listed below.</p>\n\n<table border='1'>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Default</th>\n<th>Description</th>\n</tr>\n\n<tr>\n<td>with</td>\n<td>string</td>\n<td>N/A</td>\n<td>This allows you to include nested related resource. For example, you could request a campaign along with the organization it belongs to and the designation it was allocated to. In this case, <code>with=organization,designation.</code></td>\n</tr>\n\n<tr>\n<td>per_page</td>\n<td>integer</td>\n<td>20</td>\n<td>Set the total number of resources returned per page (Maximum: 100).</td>\n</tr>\n\n<tr>\n<td>page</td>\n<td>integer</td>\n<td>1</td>\n<td>Page to return.</td>\n</tr>\n\n<tr>\n<td>sort</td>\n<td>string</td>\n<td>Depends on endpoint</td>\n<td>\nOrder the resources depending upon their attributes. Examples:\n<ul>\n<li><strong>created_at</strong>: oldest resource will come first</li>\n<li><strong>created_at:desc</strong>: newest resource will come first</li>\n<li><strong>last_name:asc,first_name:asc</strong>: order resources by last_name in alphabetical order. If same last_name, order by first_name in alphabetical order.</li>\n</ul>\n</td>\n</tr>\n\n<tr>\n<td>fields</td>\n<td>string</td>\n<td>Depends on endpoint</td>\n<td>List of resources attributes separated with comma. Narrow the list of attributes returned for each resource.</td>\n</tr>\n\n<tr>\n<td>filter</td>\n<td>string</td>\n<td>NULL</td>\n<td>\nAllow to filter the list of resources returned. Format is: <code>{association}.{attribute1}{operand}{value}</code> where: <ul>\n<li>association is the association if this is a nested filter (optional)</li>\n<li>operand is one of the following: <code><=, >=, <>, !=, =, <, or ></code>. Operand must be url encoded. (Note: if you are filtering on a boolean value, <code>true</code> can be expressed with <code>true</code> or <code>1</code>. Additionally, false can be expressed with <code>false</code> or <code>0</code>).</li>\n<li>If filtering on an association, ensure you include the nested resource using the ‘with’ parameter. with | string | NULL | This allows you to include a nested related resource. For example, you could request a collection of campaigns along with the organization they belong to and the designation they were allocated to. In this case, <code>with=organization,designation</code>.</li>\n</ul>\n</td>\n</tr>\n</table>\n\n<p>When filtering, the operand should be one of the following:</p>\n<p><code><=, >=, <>, !=, =, <, or ></code>. Operand must be url encoded. (Note: if you are filtering on a boolean value, <code>true</code> can be expressed with <code>true</code> or <code>1</code>. Additionally, <code>false</code> can be expressed with <code>false</code> or <code>0</code>).</p>\n<p>If filtering on an association, ensure you include the nested resource using the ‘with’ parameter. This allows you to include a nested related resource. For example, you could request a collection of campaigns along with the organization they belong to and the designation they were allocated to. In this case, <code>with=organization,designation</code>.</p>\n<p>Refer to the sample documentation for the specific call you are making to see which related resource can be fetched.</p>\n\n<h3>Date and Time Filtering</h3>\n<p>Unless otherwise noted, all Datetime attributes in API responses will be returned in an ISO8601 compliant format:</p>\n<><code>YYYY-MM-DDTHH:mm:ss.sssZ</code> (e.g. <code>2024-10-05T14:48:00.000Z</code>).</p>\n<h2 id=\"rate-limiting\">Rate Limiting</h2>\n<p>The GoFundMe Pro API implements rate limiting to ensure fair usage and maintain service quality for all users. Rate limits are applied on a per-application and per-user basis.</p>\n<h3>When Rate Limiting Applies</h3>\n<p>Rate limiting is applied to requests that meet the following conditions:</p>\n<ul>\n<li>The API application is <strong>not internal</strong> (external/third-party applications)</li>\n<li>The API application is associated to an Organization</li>\n</ul>\n<p>Internal applications are not subject to rate limiting.</p>\n<h3>Rate Limit Details</h3>\n<p>By default, the rate limit is:</p>\n<ul>\n<li><strong>1800 requests per minute</strong> per application</li>\n</ul>\n<p>Rate limits may be adjusted dynamically via flags for specific applications or users.</p>\n<h3>Rate Limit Headers</h3>\n<p>All API responses include the following headers to help you track your rate limit status:</p>\n<table border='1'>\n<tr>\n<th width='200px'>Header</th>\n<th>Description</th>\n</tr>\n<tr>\n<td><code>X-RateLimit-Limit</code></td>\n<td>The maximum number of requests allowed in the current time window</td>\n</tr>\n<tr>\n<td><code>X-RateLimit-Remaining</code></td>\n<td>The number of requests remaining in the current time window</td>\n</tr>\n<tr>\n<td><code>X-RateLimit-Reset</code></td>\n<td>Unix timestamp indicating when the rate limit window resets (only included when limit is exceeded)</td>\n</tr>\n<tr>\n<td><code>Retry-After</code></td>\n<td>Number of seconds to wait before retrying (only included in 429 responses)</td>\n</tr>\n</table>\n<h3>Handling Rate Limit Errors</h3>\n<p>When you exceed the rate limit, the API will return a <code>429 Too Many Requests</code> response with the following structure:</p>\n<pre><code>{\n \"message\": \"Too Many Attempts.\",\n \"retry_after\": 42\n}</code></pre>\n<p>The response will include the <code>Retry-After</code> header indicating how many seconds you should wait before making another request.</p>\n<h3>Best Practices</h3>\n<ul>\n<li>Monitor the <code>X-RateLimit-Remaining</code> header to track your usage</li>\n<li>Implement exponential backoff when you receive a 429 response</li>\n<li>Respect the <code>Retry-After</code> header value before retrying</li>\n<li>Cache responses when possible to reduce API calls</li>\n<li>Batch operations when the API supports it</li>\n</ul>"
version: 2.0.0
servers:
- url: https://pro.gofundme.com/api/2.0
security:
- OAuth2Application: []
- OAuth2Member: []
tags:
- name: Transaction
description: 'Transactions have three types of attributes relating to Passport: raw, charged, and normalized.
Raw attributes reflect the donor/purchaser''s intent when creating the Transaction. The only attribute directly specified on the Transaction is `raw_currency_code` - the other visible attributes (`raw_total_gross_amount`, `raw_donation_gross_amount`, and `raw_overhead_net_amount`) are all derived from the raw values set on the transaction''s items.
Charged attributes reflect the values that are actually charged when the payment is processed. Since the potential values for a Transaction''s `charged_currency_code` should be limited to those available to an Organization for processing, this value can differ from the Transaction''s `raw_currency_code`. The amount that is charged is reflected in `charged_total_gross_amount`, while the fees are expressed in `charged_classy_fees_amount` and `charged_pp_fees_amount` (`charged_fees_amount` attribute is the sum of these two attributes). There is additionally a `charged_at` timestamp that is used for normalization.
Normalized attributes reflect a conversion from raw and/or charged attributes into the Transaction''s `currency_code`, which is the same for all Passport-enabled entities associated with the Transaction''s Organization. This normalization occurs to allow for a constant basis of comparison across each of these entities. These normalized values are all converted from the associated raw or charged attributes, preferring the charged attribute over the raw attribute if available. For example, `charged_total_gross_amount` will be used instead of `raw_total_gross_amount` if both `charged_total_gross_amount` and `charged_currency_code` are present. If `charged_at` is also present, the exchange rate between `charged_currency_code` and `currency_code` at that time will be used if/when the Transaction is renormalized.
It should be noted that there is no notion of raw fees, as these are calculated at the time that a Transaction is charged and therefore only reflected as charged attributes. If a transaction is flagged as ''fee-on-top'', this will be reflected by an increase in the `charged_total_gross_amount` that will not be visible in `raw_total_gross_amount`.
Transactions may be in a number of different states: success, incomplete, canceled, refunded, cb_initiated, cb_lost, test, pending, failed
An additional transaction attribute relating to Passport is the `tax_entity_id`. Tax entities indicate that an Organization is tax compliant within a certain country. A single organization may have more than one tax entity. The `tax_entity_id` listed on the Transaction indicates which of the Organization''s tax entities indicates the tax compliance of the Transaction.
Transactions may have an associated ''context'' attribute which provides data about the Transaction''s original Campaign (this does not change between hard credit transfers) and whether or not the transaction is considered to incorporate Passport functionality. This attribute can be used for filtering and/or sorting when using index endpoints.
'
paths:
/transactions/{transaction}:
get:
tags:
- Transaction
summary: fetchTransaction
description: Retrieves a Transaction from the ID
operationId: fetchTransaction
parameters:
- name: transaction
in: path
description: The specified Transaction ID
required: true
schema:
type: integer
example: 8734
- name: with
in: query
description: Request specific relationships to be returned with the Transaction
required: false
schema:
type: array
items:
type: string
enum:
- answers
- campaign
- channel_transaction
- dedication
- decline_reason
- fundraising_page
- fundraising_team
- items
- member
- offline_payment_info
- organization
- receipt_serial
- recurring_donation_plan
- reprocess_attempt_info
- reprocess_history
- source_tracking_codes
- supporter
- order_donation_match
example: campaign
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/Transaction'
'403':
description: Requester is not authorized to perform action
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenResponse'
'404':
description: Transaction not found
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceNotFoundResponse'
put:
tags:
- Transaction
summary: updateTransaction
description: Update an existing Transaction
operationId: updateTransaction
parameters:
- name: transaction
in: path
description: The specified Transaction ID
required: true
schema:
type: integer
example: 8734
requestBody:
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/TransactionFillable'
- properties:
answers:
description: Collection of Answers
type: array
items:
$ref: '#/components/schemas/Answer'
type: object
- properties:
items:
description: Collection of Transaction Items
type: array
items:
$ref: '#/components/schemas/TransactionItemFillable'
type: object
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/Transaction'
'403':
description: Requester is not authorized to perform action
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenResponse'
'404':
description: Transaction not found
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceNotFoundResponse'
security:
- OAuth2Member: []
/campaigns/{campaign}/transactions:
get:
tags:
- Transaction
summary: listCampaignTransactions
description: List Campaign Transactions
operationId: listCampaignTransactions
parameters:
- name: campaign
in: path
description: ID of Campaign
required: true
schema:
type: integer
example: 227362
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/per_page'
- name: with
in: query
description: Request specific relationships to be returned with the Transaction
required: false
schema:
type: array
items:
type: string
enum:
- items
- member
- offline_payment_info
- channel_transaction
- dedication
- reprocess_status
- recurring_donation_plan
- receipt_serial
- supporter
- order_donation_match
- source_tracking_codes
example: items
- name: fields
in: query
description: Comma-separated list of fields to be returned
schema:
type: string
enum:
- acknowledgements_count
- adjustment_amount
- applied_application_fee_percent
- applied_processor_fee_percent
- applied_raw_processor_fee_flat
- applied_flex_rate_percent
- applied_fot_percent
- billing_address1
- billing_address2
- billing_city
- billing_country
- billing_first_name
- billing_last_name
- billing_postal_code
- billing_state
- browser_info
- campaign_id
- card_expiration
- card_last_four
- card_type
- charged_at
- charged_classy_fees_amount
- charged_currency_code
- charged_fees_amount
- charged_pp_fees_amount
- charged_total_gross_amount
- classy_fees_amount
- comment
- company_name
- context
- created_at
- currency_code
- designation_id
- donation_gross_amount
- donation_matching_plan_id
- donation_net_amount
- fee_on_top
- fees_amount
- frequency
- fundraising_page_id
- fundraising_team_id
- hide_amount
- id
- in_honor_of
- is_anonymous
- is_donor_covered_fee
- is_gift_aid
- is_reprocess
- member_country
- member_email_address
- member_id
- member_name
- member_phone
- member_cell_phone
- metadata
- organization_id
- overhead_net_amount
- parent_transaction_id
- payment_gateway
- payment_method
- payment_source
- payment_type
- pp_fees_amount
- pp_reference_id
- pp_response
- pp_transaction_id
- processor_decline_code
- promo_code_code
- purchased_at
- raw_currency_code
- raw_donation_gross_amount
- raw_initial_gross_amount
- opted_into_payment_sync
- initial_gross_amount
- raw_adjustment_amount
- raw_overhead_net_amount
- raw_total_gross_amount
- raw_flex_rate_amount
- flex_rate_amount
- raw_application_fee_amount
- application_fee_amount
- raw_processor_fee_amount
- processor_fee_amount
- receipt_serial
- recurring_donation_plan_id
- refunded_at
- reprocess_attempts
- reprocess_attempt_info
- status
- supporter_id
- tax_entity_id
- total_gross_amount
- updated_at
- account_number
- account_type
- institution
example: id
responses:
'200':
description: Success
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/PaginatedResponse'
- properties:
data:
description: Collection of Transactions
type: array
items:
$ref: '#/components/schemas/Transaction'
first_page_url:
example: '{host}/campaigns/227362/transactions?page=1'
last_page_url:
example: '{host}/campaigns/227362/transactions?page=1'
path:
example: '{host}/campaigns/227362/transactions'
type: object
'403':
description: Requester is not authorized to perform action
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenResponse'
'404':
description: Campaign not found
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceNotFoundResponse'
post:
tags:
- Transaction
summary: createCampaignTransaction
description: "For external requests this creates an “offline” transaction record for the specified campaign. An offline transaction represents funds collected outside of the GoFundMe Pro platform, but accounted for in GoFundMe Pro reporting, activity feeds, etc. Adding an offline transaction record does not charge any credit cards, nor credit any GoFundMe Pro accounts.\n\n An array of TransactionItems must be included along with the basic Transaction information via the items attribute. Please view the Transaction Item documentation for formatting pertaining to this attribute.\n\n NOTE: requests must include one of the following:\n billing_first_name AND billing_last_name\n OR member_email_address\n OR company_name\n\n Requests may contain all three. Please note that if an offline transaction only contains a company_name and is therefore a transaction by a company and not a person then answers will not be created for that transaction."
operationId: createCampaignTransaction
parameters:
- name: campaign
in: path
description: The specified Campaign ID
required: true
schema:
type: integer
example: 227362
requestBody:
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/CampaignTransactionFillable'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/Transaction'
'403':
description: Requester is not authorized to perform action
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenResponse'
'404':
description: Campaign not found
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceNotFoundResponse'
security:
- OAuth2Member: []
/organizations/{organization}/transactions:
get:
tags:
- Transaction
summary: listOrganizationTransactions
description: List Organization Transactions
operationId: listOrganizationTransactions
parameters:
- name: organization
in: path
description: ID of Organization
required: true
schema:
type: integer
example: 82364
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/per_page'
- name: with
in: query
description: Request specific relationships to be returned with the Transaction
required: false
schema:
type: array
items:
type: string
enum:
- items
- member
- offline_payment_info
- channel_transaction
- dedication
- reprocess_status
- recurring_donation_plan
- receipt_serial
- supporter
- order_donation_match
- source_tracking_codes
example: items
responses:
'200':
description: Success
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/PaginatedResponse'
- properties:
data:
description: Collection of Transactions
type: array
items:
$ref: '#/components/schemas/Transaction'
first_page_url:
example: '{host}/organizations/82364/transactions?page=1'
last_page_url:
example: '{host}/organizations/82364/transactions?page=1'
path:
example: '{host}/organizations/82364/transactions'
type: object
'403':
description: Requester is not authorized to perform action
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenResponse'
'404':
description: Organization not found
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceNotFoundResponse'
/recurring-donation-plans/{recurring_donation_plan}/transactions:
get:
tags:
- Transaction
summary: listRecurringDonationPlanTransactions
description: List Recurring Donation Plan Transactions
operationId: listRecurringDonationPlanTransactions
parameters:
- name: recurring_donation_plan
in: path
description: ID of Recurring Donation Plan
required: true
schema:
type: integer
example: 85456
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/per_page'
responses:
'200':
description: Success
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/PaginatedResponse'
- properties:
data:
description: Collection of Transactions
type: array
items:
$ref: '#/components/schemas/Transaction'
first_page_url:
example: '{host}/recurring-donation-plans/{recurring_donation_plan_id/transactions?page=1'
last_page_url:
example: '{host}/recurring-donation-plans/{recurring_donation_plan_id/transactions?page=1'
path:
example: '{host}/recurring-donation-plans/{recurring_donation_plan_id/transactions'
type: object
'403':
description: Requester is not authorized to perform action
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenResponse'
'404':
description: Recurring Donation Plan not found
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceNotFoundResponse'
/recurring-donation-plans/{id}/transactions/{transaction_id}/reprocess:
post:
tags:
- Transaction
summary: reprocessRecurringDonationPlanTransaction
description: Reprocess a Transactions for a Recurring Donation Plan
operationId: reprocessRecurringDonationPlanTransaction
parameters:
- name: id
in: path
description: The specified Recurring Donation Plan ID
required: true
schema:
type: integer
example: 85456
- name: transaction_id
in: path
description: The specified Transaction ID
required: true
schema:
type: integer
example: 8734
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TransactionFillable'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ReprocessAttemptInfo'
'403':
description: Requester is not authorized to perform action
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenResponse'
'404':
description: Recurring Donation Plan or Transaction not found
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceNotFoundResponse'
security:
- OAuth2Member: []
/reprocess-attempt-info/{reprocess_attempt_info}:
put:
tags:
- Transaction
summary: updateReprocessAttemptInfo
description: Update a Reprocess Attempt Info Record
operationId: updateReprocessAttemptInfo
parameters:
- name: reprocess_attempt_info
in: path
description: The specified Reprocess Transaction ID
required: true
schema:
type: integer
example: 34672
requestBody:
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ReprocessAttemptInfoFillable'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ReprocessAttemptInfo'
'403':
description: Requester is not authorized to perform action
content:
application/json:
schema:
$ref: '#/components/schemas/ForbiddenResponse'
'404':
description: Reprocess Attempt Info record not found
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceNotFoundResponse'
components:
schemas:
CampaignTransactionFillable:
title: Campaign Transaction Fillable
properties:
answers:
description: Answers for transaction questions
type:
- array
- 'null'
items:
allOf:
- $ref: '#/components/schemas/AnswerFillable'
- properties:
question_id:
description: Primary identifier of associated Question
type: integer
example: 45678
type: object
billing_address1:
description: Line one of Billing address
type:
- string
- 'null'
example: 533 F Street
billing_address2:
description: Line two of Billing address
type:
- string
- 'null'
example: 533 F Street
billing_city:
description: Billing city
type:
- string
- 'null'
example: San Diego
billing_country:
description: Billing country. Must be a valid ISO 3166-1 alpha-2 country code
type:
- string
- 'null'
example: US
billing_first_name:
description: Billing first name
type:
- string
- 'null'
example: GoFundMe Pro
billing_last_name:
description: Billing last name
type:
- string
- 'null'
example: Member
billing_postal_code:
description: Billing zip/postal code
type:
- string
- 'null'
example: '92101'
billing_state:
description: Billing state/province
type:
- string
- 'null'
example: CA
browser_info:
description: Browser information
type:
- string
- 'null'
example: information
comment:
description: Organization comment
type:
- string
- 'null'
example: This is a comment
company_name:
description: Name of company this Transaction has ties to
type:
- string
- 'null'
example: GoFundMe Pro
designation_id:
description: ID of the Designation this Transaction is allocated to
type:
- integer
- 'null'
example: 564856
fundraising_page_id:
description: ID of the fundraising page
# --- truncated at 32 KB (74 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/gofundme/refs/heads/main/openapi/gofundme-transaction-api-openapi.yml