GoFundMe Ticket Type API

A Ticket Type defines the available ticket(s) for a ticketed Campaign. For example, ‘General Admission’ or ‘VIP’ * This defines what types of tickets are available. It is NOT an instance of a specific ticket or purchase history of a ticket. E.g. 'General Admission', quantity 1,000. This is NOT a specific instance of a ticket or purchase history of a ticket. It defines what types of tickets are available.

Operations 6

GET /campaigns/{campaign}/ticket-types listCampaignTicketTypes #
POST /campaigns/{campaign}/ticket-types createTicketType #
GET /organizations/{organization}/ticket-types listOrganizationTicketTypes #
GET /promo-codes/{promo_code}/ticket-types listPromoCodeTicketTypes #
GET /ticket-types/{ticket_type} fetchTicketType #
PUT /ticket-types/{ticket_type} updateTicketType #

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/gofundme-ticket-type-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

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.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

gofundme-ticket-type-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: GoFundMe Pro Ticket Type API
  description: 'GoFundMe Pro API


    Welcome to the GoFundMe Pro API (2.0.0), a powerful toolset that empowers innovative and creative minds to engineer the world for good.'
  version: 2.0.0
servers:
- url: https://pro.gofundme.com/api/2.0
security:
- OAuth2Application: []
- OAuth2Member: []
tags:
- name: Ticket Type
  description: 'A Ticket Type defines the available ticket(s) for a ticketed Campaign. For example, ‘General Admission’ or ‘VIP’

    *

    This defines what types of tickets are available. It is NOT an instance of a specific ticket or purchase history of a ticket.


    E.g. ''General Admission'', quantity 1,000.


    This is NOT a specific instance of a ticket or purchase history of a ticket. It defines what types of tickets are available.'
paths:
  /campaigns/{campaign}/ticket-types:
    get:
      tags:
      - Ticket Type
      summary: listCampaignTicketTypes
      description: Get Ticket Types for a given Campaign.
      operationId: listCampaignTicketTypes
      parameters:
      - name: campaign
        in: path
        description: Primary identifier of Campaign
        required: true
        schema:
          type: integer
          example: 227362
      - $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 Ticket Type
                      type: array
                      items:
                        $ref: '#/components/schemas/TicketType'
                    first_page_url:
                      example: '{host}/campaigns/{campaign}/ticket-types?page=1'
                    last_page_url:
                      example: '{host}/campaigns/{campaign}/ticket-types?page=1'
                    path:
                      example: '{host}/campaigns/{campaign}/ticket-types'
                  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:
      - Ticket Type
      summary: createTicketType
      description: Create a Ticket Type for a given Campaign.
      operationId: createTicketType
      parameters:
      - name: campaign
        in: path
        description: Primary identifier of Campaign
        required: true
        schema:
          type: integer
          example: 227362
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TicketTypeFillable'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TicketType'
        '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}/ticket-types:
    get:
      tags:
      - Ticket Type
      summary: listOrganizationTicketTypes
      description: Retrieve a list of all the Ticket Types for the given Organization.
      operationId: listOrganizationTicketTypes
      parameters:
      - name: organization
        in: path
        description: Primary identifier of Organization
        required: true
        schema:
          type: integer
          example: 82364
      - $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 Ticket Type
                      type: array
                      items:
                        $ref: '#/components/schemas/TicketType'
                    first_page_url:
                      example: '{host}/organizations/{organization}/ticket-types?page=1'
                    last_page_url:
                      example: '{host}/organizations/{organization}/ticket-types?page=1'
                    path:
                      example: '{host}/organizations/{organization}/ticket-types'
                  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'
  /promo-codes/{promo_code}/ticket-types:
    get:
      tags:
      - Ticket Type
      summary: listPromoCodeTicketTypes
      description: List all Ticket Types configured to work with the specified Promo Code
      operationId: listPromoCodeTicketTypes
      parameters:
      - name: promo_code
        in: path
        description: Primary identifier of Promo Code
        required: true
        schema:
          type: integer
          example: 8273
      - $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 Ticket Type
                      type: array
                      items:
                        $ref: '#/components/schemas/TicketType'
                      deprecated: true
                    first_page_url:
                      example: '{host}/promo-codes/{promo_code_id}/ticket-types?page=1'
                      deprecated: true
                    last_page_url:
                      example: '{host}/promo-codes/{promo_code_id}/ticket-types?page=1'
                      deprecated: true
                    path:
                      example: '{host}/promo-codes/{promo_code_id}/ticket-types'
                      deprecated: true
                  type: object
        '403':
          description: Requester is not authorized to perform action
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenResponse'
        '404':
          description: Promo Code not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundResponse'
      deprecated: true
  /ticket-types/{ticket_type}:
    get:
      tags:
      - Ticket Type
      summary: fetchTicketType
      description: Fetch a single Ticket Type resource.
      operationId: fetchTicketType
      parameters:
      - name: ticket_type
        in: path
        description: Primary identifier of Ticket Type
        required: true
        schema:
          type: integer
          example: 9978
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TicketType'
        '403':
          description: Requester is not authorized to perform action
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenResponse'
        '404':
          description: Ticket Type not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundResponse'
    put:
      tags:
      - Ticket Type
      summary: updateTicketType
      description: Update a single Ticket Type resource.
      operationId: updateTicketType
      parameters:
      - name: ticket_type
        in: path
        description: Primary identifier of Ticket Type
        required: true
        schema:
          type: integer
          example: 9978
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TicketTypeFillable'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TicketType'
        '403':
          description: Requester is not authorized to perform action
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenResponse'
        '404':
          description: Ticket Type not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundResponse'
      security:
      - OAuth2Member: []
components:
  schemas:
    PaginatedResponse:
      title: Paginated Response
      properties:
        current_page:
          description: Index of current page
          type: integer
          example: 1
        data:
          description: Collection of results
          type: array
          items:
            type: object
        first_page_url:
          description: URL of first page of results
          type:
          - string
          - 'null'
          example: https://pro.gofundme.com/api/2.0/resource?page=1
        from:
          description: Index of first displayed result within total result set
          type:
          - integer
          - 'null'
          example: 1
        last_page:
          description: Index of last page in result set
          type: integer
          example: 1
        last_page_url:
          description: URL of last page of results
          type:
          - string
          - 'null'
          example: https://pro.gofundme.com/api/2.0/resource?page=1
        next_page_url:
          description: URL of next page of results
          type:
          - string
          - 'null'
          example: https://pro.gofundme.com/api/2.0/resource?page=2
        path:
          description: URL of current page of results
          type:
          - string
          - 'null'
          example: https://pro.gofundme.com/api/2.0/resource
        per_page:
          description: Maximum number of records returned per page of results
          type: integer
          example: 20
        prev_page_url:
          description: URL of previous page of results
          type:
          - string
          - 'null'
          example: https://pro.gofundme.com/api/2.0/resource?page=1
        links:
          description: Collection of objects representing pages {label, URL, active} that can be used to request the associated page of records.
          type: array
          items:
            $ref: '#/components/schemas/PaginationLink'
        to:
          description: Index of last displayed result within total result set
          type:
          - integer
          - 'null'
          example: 1
        total:
          description: Total count of records in result set
          type: integer
          example: 1
      type: object
    ResourceNotFoundResponse:
      title: Resource Not Found Response
      properties:
        error:
          description: Description of detected errors in request
          type: string
      type: object
    TicketTypeFillable:
      title: TicketTypeFillable
      properties:
        commitment:
          description: A Commitment defines an agreement by a Supporter to raise a specified amount, or meet a certain condition, within a specific timeframe when ticket having commitment is purchased.
          properties:
            deadline:
              description: Deadline for Commitment agreement
              type: string
              format: date-time
              example: 2016-02-01T00:00:00+0000
            value:
              description: Commitment amount
              type: number
              format: double
              minimum: 1
              example: 100
          type:
          - object
          - 'null'
        description:
          description: Description of Ticket Type
          type:
          - string
          - 'null'
          maxLength: 900
          example: Ticket Type description
        ended_at:
          description: Date when Ticket Type is no longer available
          type:
          - string
          - 'null'
          format: date-time
          example: '2019-04-23T10:25:03Z'
        entries_per_ticket:
          description: How many entries a Ticket of this type grants to a purchaser
          type: integer
          minimum: 1
          example: 3
        is_active:
          description: Whether Ticket Type is available to purchase
          type: boolean
          default: true
          example: true
        max_per_transaction:
          description: The most Tickets of this type that be purchased in a single transaction
          type: integer
          minimum: 1
          example: 1
        name:
          description: The name of the TicketType
          type: string
          maxLength: 100
          example: General Admission
        org_percent:
          description: Use deductible_percent
          type:
          - number
          - 'null'
          format: double
          example: 100
          deprecated: true
        deductible_amount:
          description: Amount of ticket price that is considered donation to campaign (May only specify deductible_percent OR deductible_amount)
          type:
          - number
          - 'null'
          format: double
          example: 5
        deductible_percent:
          description: Percentage of ticket price that is considered donation to campaign (May only specify deductible_percent OR deductible_amount)
          type:
          - number
          - 'null'
          format: double
          example: 100
        price:
          description: Price of a single Ticket of this type.
          type: number
          format: double
          minimum: 0
          example: 10
        quantity_available:
          description: Quantity of Tickets available for purchase. Use 'null' for unlimited tickets.
          type:
          - integer
          - 'null'
          minimum: -1
          example: 2
        started_at:
          description: Date when Ticket Type can start being purchased
          type:
          - string
          - 'null'
          format: date-time
          example: 2016-01-01T12:00:00+0000
        weight:
          description: Display order
          type:
          - integer
          - 'null'
          minimum: 0
          example: 1
      type: object
    TicketType:
      title: TicketType
      type: object
      allOf:
      - $ref: '#/components/schemas/TicketTypeFillable'
      - properties:
          campaign_id:
            description: The ID of the Campaign the Ticket Type belongs to
            type: integer
            example: 227362
          commitment_id:
            description: The ID of the Commitment associated to the TicketType
            type:
            - integer
            - 'null'
            example: 98374
            deprecated: true
          created_at:
            description: Timestamp from when TicketType was created
            type: string
            format: date-time
            example: 2016-01-01T12:00:00+0000
          id:
            description: Primary identifier of record
            type: integer
            example: 9978
          is_classy_mode:
            description: Whether TicketType is fees on top.
            type: boolean
            example: false
            deprecated: true
          min_per_transaction:
            description: The min Tickets of this type that be purchased in a single transaction
            type:
            - integer
            - 'null'
            example: 1
          quantity_reserved:
            description: Quantity of Tickets that are reserved awaiting checkout/payment. Only available for FRS campaigns.
            type: integer
            example: 1
          quantity_sold:
            description: Quantity of Tickets that have been sold. Only available for FRS campaigns.
            type: integer
            example: 1
          updated_at:
            description: Date when Tickets of this type was last updated
            type: string
            format: date-time
            example: 2016-01-01T12:00:00+0000
        type: object
    PaginationLink:
      description: Object referencing a page for the resource queried that can be used to fetch that page.
      properties:
        label:
          description: Identifier of the page.
          type: string
          example: '1'
        url:
          description: URL that can be used to fetch associated page of records.
          type:
          - string
          - 'null'
          example: '{host}/{resource}?page=1'
        active:
          description: Identifies whether the previously requested page matches the page this link object references.
          type: boolean
          example: true
      type: object
    ForbiddenResponse:
      title: Forbidden Response
      properties:
        error:
          description: Description of detected error in request
          type: string
          example: This action is unauthorized.
      type: object
  parameters:
    per_page:
      name: per_page
      in: query
      description: Number of entries to return in each page of results
      required: false
      schema:
        type: integer
        example: 20
    page:
      name: page
      in: query
      description: Indicator of which page of results to return
      required: false
      schema:
        type: integer
        example: 1
  securitySchemes:
    OAuth2Application:
      type: oauth2
      description: OAuth bearer token for client application
      flows:
        clientCredentials:
          tokenUrl: /oauth2/auth
          refreshUrl: /oauth2/auth
          scopes:
            read: Read access
            write: Write access
    OAuth2Member:
      type: oauth2
      description: OAuth bearer token for client application with additional member context
      flows:
        password:
          tokenUrl: /oauth2/auth
          refreshUrl: /oauth2/auth
          scopes:
            read: Read access
            write: Write access