GoFundMe Fundraising Team API

Represents a group of donors consisting of a team lead fundraising together to reach a fundraising goal.

Documentation

Specifications

Other Resources

OpenAPI Specification

gofundme-fundraising-team-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: GoFundMe Pro Fundraising Team 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: Fundraising Team
  description: Represents a group of donors consisting of a team lead fundraising together to reach a fundraising goal.
paths:
  /campaigns/{campaign}/fundraising-teams:
    get:
      tags:
      - Fundraising Team
      summary: listCampaignFundraisingTeams
      description: Retrieves a list of all Fundraising Teams for the specified Campaign
      operationId: listCampaignFundraisingTeams
      parameters:
      - name: campaign
        in: path
        description: Primary identifier of specified Campaign
        required: true
        schema:
          type: integer
          example: 227362
      - name: with
        in: query
        description: Request specific relationships to be returned with the FundraisingTeam
        required: false
        schema:
          type: array
          items:
            type: string
            enum:
            - campaign
            - cover_photo
            - logo
            - team_lead
            - team_policy
            example: campaign
      - name: fields
        in: query
        description: Comma-separated list of fields to be returned.
        required: false
        schema:
          type: string
          enum:
          - campaign_id
          - city
          - country
          - cover_photo_id
          - cover_photo_url
          - created_at
          - currency_code
          - description
          - goal
          - id
          - logo_id
          - logo_url
          - name
          - organization_id
          - parent_id
          - postal_code
          - raw_currency_code
          - raw_goal
          - root_id
          - state
          - status
          - team_lead_id
          - team_lead_supporter_id
          - thank_you_text
          - updated_at
          - canonical_url
          - designation_id
          - team_policy_id
          example: id
      - $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 Fundraising Teams
                      type: array
                      items:
                        $ref: '#/components/schemas/FundraisingTeam'
                    first_page_url:
                      example: '{host}/campaigns/227362/fundraising-teams?page=1'
                    last_page_url:
                      description: '{host}/campaigns/227362/fundraising-teams?page=1'
                    path:
                      description: '{host}/campaigns/227362/fundraising-teams'
                  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:
      - Fundraising Team
      summary: createCampaignFundraisingTeam
      description: Create a Fundraising Team for the specified Campaign
      operationId: createCampaignFundraisingTeam
      parameters:
      - name: campaign
        in: path
        description: Primary identifier of specified Campaign
        required: true
        schema:
          type: integer
          example: 227362
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FundraisingTeamFillable'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FundraisingTeam'
        '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: []
  /fundraising-teams/{fundraising_team}:
    get:
      tags:
      - Fundraising Team
      summary: fetchFundraisingTeam
      description: Retrieves a specified Fundraising Team
      operationId: fetchFundraisingTeam
      parameters:
      - name: fundraising_team
        in: path
        description: Primary identifier of specified Fundraising Team
        required: true
        schema:
          type: integer
          example: 209745
      - name: aggregates
        in: query
        description: Request FundraisingTeam Aggregates to be returned
        required: false
        schema:
          type: boolean
          example: true
      - name: with
        in: query
        description: Request specific relationships to be returned with the FundraisingTeam
        required: false
        schema:
          type: array
          items:
            type: string
            enum:
            - campaign
            - cover_photo
            - logo
            - team_lead
            - team_policy
            example: campaign
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FundraisingTeam'
        '403':
          description: Requester is not authorized to perform action
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenResponse'
        '404':
          description: Fundraising Team not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundResponse'
    put:
      tags:
      - Fundraising Team
      summary: updateFundraisingTeam
      description: Update a Fundraising Team
      operationId: updateFundraisingTeam
      parameters:
      - name: fundraising_team
        in: path
        description: Primary identifier of Fundraising Team
        required: true
        schema:
          type: integer
          example: 209745
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FundraisingTeamFillable'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FundraisingTeam'
        '403':
          description: Requester is not authorized to perform action
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenResponse'
        '404':
          description: Fundraising Team not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundResponse'
      security:
      - OAuth2Member: []
    delete:
      tags:
      - Fundraising Team
      summary: deleteFundraisingTeam
      description: Delete a Fundraising Team
      operationId: deleteFundraisingTeam
      parameters:
      - name: fundraising_team
        in: path
        description: Primary identifier of Fundraising Team
        required: true
        schema:
          type: integer
          example: 209745
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmptyResponse'
        '403':
          description: Requester is not authorized to perform action
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenResponse'
        '404':
          description: Fundraising Team not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundResponse'
      security:
      - OAuth2Member: []
  /fundraising-teams/{id}/subteams:
    get:
      tags:
      - Fundraising Team
      summary: listSubteams
      description: Retrieves a list of all SubTeams for specified Fundraising Teams
      operationId: listSubteams
      parameters:
      - name: id
        in: path
        description: Primary identifier of Fundraising Team
        required: true
        schema:
          type: integer
          example: 209745
      - $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 Fundraising Teams
                      type: array
                      items:
                        allOf:
                        - $ref: '#/components/schemas/FundraisingTeam'
                        - properties:
                            id:
                              type: integer
                              example: 542
                            parent_id:
                              type: integer
                              example: 209745
                          type: object
                    first_page_url:
                      example: '{host}/fundraising-teams/209745/subteams?page=1'
                    last_page_url:
                      description: '{host}/fundraising-teams/209745/subteams?page=1'
                    path:
                      description: '{host}/fundraising-teams/209745/subteams'
                  type: object
        '403':
          description: Requester is not authorized to perform action
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenResponse'
        '404':
          description: Fundraising Team not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundResponse'
  /fundraising-teams/{fundraising_team}/overview:
    get:
      tags:
      - Fundraising Team
      summary: fetchFundraisingTeamOverview
      description: Retrieves aggregate records for the Fundraising Page's transactions.
      operationId: fetchFundraisingTeamOverview
      parameters:
      - name: fundraising_team
        in: path
        description: The specified Fundraising Team ID
        required: true
        schema:
          type: integer
          example: 209745
      - name: interval
        in: query
        description: Interval period of Fundraising Page overview
        required: false
        schema:
          type: string
          enum:
          - daily
          - weekly
          example: weekly
      - name: start_date
        in: query
        description: The date from which aggregation results will start. This is translated into a start_time, which is the beginning of the date presented in the timezone of the team's Campaign. If the Fundraising Team's Campaign has no associated timezone, this timezone will default to UTC.
        required: false
        schema:
          type: string
          example: '2020-02-02 12:00:45'
      - name: end_date
        in: query
        description: The date at which aggregation results will end. This is translated into a end_time, which is the end of the date presented in the timezone of the team's Campaign. If the Fundraising Team's Campaign has no associated timezone, this timezone will default to UTC.
        required: false
        schema:
          type: string
          example: '2020-02-02 12:00:45'
      - name: timezone
        in: query
        description: Timezone for start_date and end_date.
        required: false
        schema:
          type: string
          example: America/Los_Angeles
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                properties:
                  end_time:
                    description: The end time used to filter results represented in aggregation
                    type:
                    - string
                    - 'null'
                    format: date-time
                    example: 2016-02-11T08:00:00+0000
                  start_time:
                    description: The start time used to filter results represented in aggregation
                    type:
                    - string
                    - 'null'
                    format: date-time
                    example: 2016-02-11T08:00:00+0000
                  timezone:
                    description: The timezone used to establish date ranges and start/end times for aggregation
                    type:
                    - string
                    - 'null'
                    example: America/Los_Angeles
                  metrics:
                    description: The metrics of Fundraising Team overview
                    properties:
                      soft_credits_amount:
                        description: Amount of soft credits
                        type: number
                        format: double
                        example: 50
                      start_date:
                        description: The date from which aggregation results started.
                        type:
                        - string
                        - 'null'
                        format: date-time
                        example: '2020-02-02 12:00:45'
                      donations_amount:
                        description: The gross amount raised from donations
                        type: number
                        format: double
                        example: 1439.2
                      donors_count:
                        description: The number of unique Members who transacted with the Fundraising Team
                        type: integer
                        example: 20
                      fees_amount:
                        description: The total fees incurred by Fundraising Team Transactions
                        type: number
                        format: double
                        example: 5.4
                      gross_amount:
                        description: The gross amount transacted for the Fundraising Team
                        type: number
                        format: double
                        example: 65
                      net_amount:
                        description: The net amount transacted for the fundraising Team (gross_amount - fees_amount)
                        type: number
                        format: double
                        example: 59.6
                      percent_to_goal:
                        description: The percentage of money transacted to the goal amount. (100 * gross_amount/goal)
                        type: number
                        format: double
                        example: 1
                      registrations_amount:
                        description: The gross amount raised from Tickets and Registrations
                        type: number
                        format: double
                        example: 560.2
                      transactions_count:
                        description: The number of discrete Transactions made for the Fundraising Team
                        type: integer
                        example: 20
                      progress_bar_amount:
                        description: The total amount displayed on the progress bar
                        type:
                        - number
                        - 'null'
                        format: double
                        example: 65
                    type: object
                type: object
        '403':
          description: Requester is not authorized to perform action
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenResponse'
        '404':
          description: Fundraising Team not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundResponse'
  /members/{member_id}/fundraising-teams:
    get:
      tags:
      - Fundraising Team
      summary: listMemberFundraisingTeams
      description: Retrieves a list of all Fundraising Teams for the specified Member
      operationId: listMemberFundraisingTeams
      parameters:
      - name: member_id
        in: path
        description: Primary identifier of specified Member
        required: true
        schema:
          type: integer
          example: 2012
      - name: with
        in: query
        description: Request specific relationships to be returned with the Fundraising Team
        required: false
        schema:
          type: array
          items:
            type: string
            enum:
            - campaign
            - cover_photo
            - logo
            - team_lead
            - team_policy
            example: campaign
      - $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 Fundraising Teams
                      type: array
                      items:
                        $ref: '#/components/schemas/FundraisingTeam'
                      deprecated: true
                    first_page_url:
                      example: '{host}/members/2012/fundraising-teams?page=1'
                      deprecated: true
                    last_page_url:
                      description: '{host}/members/2012/fundraising-teams?page=1'
                      deprecated: true
                    path:
                      description: '{host}/members/2012/fundraising-teams'
                      deprecated: true
                  type: object
        '403':
          description: Requester is not authorized to perform action
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenResponse'
        '404':
          description: Member not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundResponse'
      deprecated: true
  /members/{member_id}/leading-fundraising-teams:
    get:
      tags:
      - Fundraising Team
      summary: listMemberLeadingFundraisingTeams
      description: Retrieves a list of all Fundraising Teams for which the specified Member is the team lead
      operationId: listMemberLeadingFundraisingTeams
      parameters:
      - name: member_id
        in: path
        description: Primary identifier of specified Member
        required: true
        schema:
          type: integer
          example: 2012
      - name: with
        in: query
        description: Request specific relationships to be returned with the Fundraising Team
        required: false
        schema:
          type: array
          items:
            type: string
            enum:
            - campaign
            - cover_photo
            - logo
            - team_lead
            - team_policy
            example: campaign
      - $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 Fundraising Teams
                      type: array
                      items:
                        $ref: '#/components/schemas/FundraisingTeam'
                      deprecated: true
                    first_page_url:
                      example: '{host}/members/2012/fundraising-teams?page=1'
                      deprecated: true
                    last_page_url:
                      description: '{host}/members/2012/fundraising-teams?page=1'
                      deprecated: true
                    path:
                      description: '{host}/members/2012/fundraising-teams'
                      deprecated: true
                  type: object
        '403':
          description: Requester is not authorized to perform action
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenResponse'
        '404':
          description: Member not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundResponse'
      deprecated: true
  /organizations/{organization}/fundraising-teams:
    get:
      tags:
      - Fundraising Team
      summary: listOrganizationFundraisingTeams
      description: Retrieves a list of all Fundraising Teams for the specified Organization
      operationId: listOrganizationFundraisingTeams
      parameters:
      - name: organization
        in: path
        description: Primary identifier of specified Organization
        required: true
        schema:
          type: integer
          example: 82364
      - name: with
        in: query
        description: Request specific relationships to be returned with the Fundraising Team
        required: false
        schema:
          type: array
          items:
            type: string
            enum:
            - campaign
            - cover_photo
            - logo
            - team_lead
            - team_policy
            example: campaign
      - $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 Fundraising Teams
                      type: array
                      items:
                        $ref: '#/components/schemas/FundraisingTeam'
                    first_page_url:
                      example: '{host}/organizations/82364/fundraising-teams?page=1'
                    last_page_url:
                      description: '{host}/organizations/82364/fundraising-teams?page=1'
                    path:
                      description: '{host}/organizations/82364/fundraising-teams'
                  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: '

# --- truncated at 32 KB (44 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/gofundme/refs/heads/main/openapi/gofundme-fundraising-team-api-openapi.yml