Percent API

Percent API as documented publicly: 40 operations. Contract generated from the documentation by API Evangelist (2026-10-24); not the provider's own document.

Operations 40

POST /scim/v2/Bulk Apply up to 100 user operations in a single request. #
GET /scim/v2/ResourceTypes Discovery endpoint listing the supported resource types. #
GET /scim/v2/Schemas Discovery endpoint listing the supported SCIM schemas: the Core User, the Enterprise User extension and the Goodstack User extension. #
GET /scim/v2/Schemas/{id} Retrieve a single schema definition by its URN. #
GET /scim/v2/Users Return a paginated, optionally filtered and sorted list of users that belong to the partner the SCIM key is bound to. #
POST /scim/v2/Users Create a user #
DELETE /scim/v2/Users/{id} Deactivate a user #
GET /scim/v2/Users/{id} Retrieve a single user by id. #
PATCH /scim/v2/Users/{id} Update a user #
PUT /scim/v2/Users/{id} Replace a user #
GET /v1/activity-tags List Activity Tags #
GET /v1/activity-tags/{tagid} Retrieve an Activity Tag #
GET /v1/agent-verifications List Agent Verifications #
GET /v1/categories List Categories #
POST /v1/categories Create a Category #
DELETE /v1/categories/{id} Delete a Category #
GET /v1/categories/{id} Retrieve a Category #
PATCH /v1/categories/{id} Edit a Category #
GET /v1/countries List available Countries #
GET /v1/donation-sessions List Donation Sessions #
GET /v1/donations Retrieve a list of donations. #
POST /v1/donations Creates a new Donation of type direct. #
GET /v1/donations/{id} Retrieve a donation by its ID. #
PATCH /v1/donations/{id} Edit a Donation #
POST /v1/donations/{id}/cancel Cancel a Donation #
GET /v1/fundraisers Get a paginated list of Fundraisers #
GET /v1/giving/campaigns Get a paginated list of Campaigns #
GET /v1/giving/donations List Donations #
GET /v1/grants/data/programs/{programid}/candidates List candidates for a grant program #
POST /v1/grants/programs/{id}/candidate Creates a candidate for an application-type grant program. #
GET /v1/grants/task-assignees Returns the accounts that the task auto-assignment rules of the partner assign tasks to. #
GET /v1/organisations Search for nonprofits. #
GET /v1/organisations/{id} Retrieve an Organisation #
GET /v1/registries List Registries #
GET /v1/registries/{id} Retrieve a Registry #
POST /v1/users Create a User #
GET /v1/users/{id} Retrieve a User #
PUT /v1/users/{id}/organisation Set User to support an Organisation #
GET /v1/validation-requests List Validation Requests #
POST /webhooks/donation-created A new donation record has been successfully created in the system. #

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/poweredbypercent-com:poweredbypercent-com-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

poweredbypercent-com-openapi-generated.yml Raw ↑
openapi: 3.1.0
info:
  title: Percent API
  version: '2026-10-24'
  description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-10-24: 40 operation(s) read from 40 public documentation page(s) (each
    operation names its page in x-source). This is not the provider''s published contract; Percent has published no machine-readable contract
    that the pipeline could find. Engine: local.'
  x-evidence-tiers:
    code-example: 0
    documentation: 40
    pages-with-code: 0
    pages-read: 40
  x-generated-from: documentation
  x-provenance: generated
  x-authored-by: API Evangelist
  x-generated: '2026-10-24'
  x-generator: generate-contract-from-docs.py
  x-engine: local
  x-sources:
  - https://docs.goodstack.io/docs/api/list-users
  - https://docs.goodstack.io/docs/api/create-a-user
  - https://docs.goodstack.io/docs/api/update-a-user
  - https://docs.goodstack.io/docs/api/list-campaigns
  - https://docs.goodstack.io/docs/api/list-donations
  - https://docs.goodstack.io/docs/api/replace-a-user
  - https://docs.goodstack.io/docs/api/bulk-operations
  - https://docs.goodstack.io/docs/api/edit-a-category
  - https://docs.goodstack.io/docs/api/edit-a-donation
  - https://docs.goodstack.io/docs/api/list-categories
  - https://docs.goodstack.io/docs/api/list-registries
  - https://docs.goodstack.io/docs/api/retrieve-a-user
  - https://docs.goodstack.io/docs/api/list-fundraisers
  - https://docs.goodstack.io/docs/api/scim-create-user
  - https://docs.goodstack.io/docs/api/cancel-a-donation
  - https://docs.goodstack.io/docs/api/create-a-category
  - https://docs.goodstack.io/docs/api/create-a-donation
  - https://docs.goodstack.io/docs/api/deactivate-a-user
  - https://docs.goodstack.io/docs/api/delete-a-category
  - https://docs.goodstack.io/docs/api/retrieve-a-schema
  - https://docs.goodstack.io/docs/api/get-task-assignees
  - https://docs.goodstack.io/docs/api/list-activity-tags
  - https://docs.goodstack.io/docs/api/scim-retrieve-user
  - https://docs.goodstack.io/docs/api/list-resource-types
  - https://docs.goodstack.io/docs/api/retrieve-a-category
  - https://docs.goodstack.io/docs/api/retrieve-a-donation
  - https://docs.goodstack.io/docs/api/retrieve-a-registry
  - https://docs.goodstack.io/docs/api/search-organisations
  - https://docs.goodstack.io/docs/api/support-organisation
  - https://docs.goodstack.io/docs/api/list-giving-donations
  - https://docs.goodstack.io/docs/api/get-program-candidates
  - https://docs.goodstack.io/docs/api/list-donation-sessions
  - https://docs.goodstack.io/docs/api/list-supported-schemas
  - https://docs.goodstack.io/docs/api/apply-to-a-grant-program
  - https://docs.goodstack.io/docs/api/list-agent-verifications
  - https://docs.goodstack.io/docs/api/list-available-countries
  - https://docs.goodstack.io/docs/api/list-validation-requests
  - https://docs.goodstack.io/docs/api/retrieve-an-activity-tag
  - https://docs.goodstack.io/docs/api/retrieve-an-organisation
  - https://docs.goodstack.io/docs/api/webhook-donation-created
paths:
  /scim/v2/Bulk:
    post:
      operationId: post_scim_v2_Bulk
      tags:
      - Scim
      summary: Apply up to 100 user operations in a single request.
      x-source: https://docs.goodstack.io/docs/api/bulk-operations
      responses:
        '201':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostScimV2BulkResponse'
      x-evidence:
        kind: documentation
  /scim/v2/ResourceTypes:
    get:
      operationId: get_scim_v2_ResourceTypes
      tags:
      - Scim
      summary: Discovery endpoint listing the supported resource types.
      x-source: https://docs.goodstack.io/docs/api/list-resource-types
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /scim/v2/Schemas:
    get:
      operationId: get_scim_v2_Schemas
      tags:
      - Scim
      summary: 'Discovery endpoint listing the supported SCIM schemas: the Core User, the Enterprise User extension and the Goodstack User extension.'
      x-source: https://docs.goodstack.io/docs/api/list-supported-schemas
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /scim/v2/Schemas/{id}:
    get:
      operationId: get_scim_v2_Schemas_id
      tags:
      - Scim
      summary: Retrieve a single schema definition by its URN.
      x-source: https://docs.goodstack.io/docs/api/retrieve-a-schema
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /scim/v2/Users:
    get:
      operationId: get_scim_v2_Users
      tags:
      - Scim
      summary: Return a paginated, optionally filtered and sorted list of users that belong to the partner the SCIM key is bound to.
      x-source: https://docs.goodstack.io/docs/api/list-users
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
    post:
      operationId: post_scim_v2_Users
      tags:
      - Scim
      summary: Create a user
      description: Provision a new user for the partner the SCIM key is bound to.
      x-source: https://docs.goodstack.io/docs/api/scim-create-user
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /scim/v2/Users/{id}:
    delete:
      operationId: delete_scim_v2_Users_id
      tags:
      - Scim
      summary: Deactivate a user
      x-source: https://docs.goodstack.io/docs/api/deactivate-a-user
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteScimV2UsersIdResponse'
      x-evidence:
        kind: documentation
    get:
      operationId: get_scim_v2_Users_id
      tags:
      - Scim
      summary: Retrieve a single user by id.
      x-source: https://docs.goodstack.io/docs/api/scim-retrieve-user
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
    patch:
      operationId: patch_scim_v2_Users_id
      tags:
      - Scim
      summary: Update a user
      description: Apply a SCIM PATCH operation set to a user.
      x-source: https://docs.goodstack.io/docs/api/update-a-user
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
    put:
      operationId: put_scim_v2_Users_id
      tags:
      - Scim
      summary: Replace a user
      x-source: https://docs.goodstack.io/docs/api/replace-a-user
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/activity-tags:
    get:
      operationId: get_v1_activity_tags
      tags:
      - Activity Tags
      summary: List Activity Tags
      x-source: https://docs.goodstack.io/docs/api/list-activity-tags
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/activity-tags/{tagid}:
    get:
      operationId: get_v1_activity_tags_tagid
      tags:
      - Activity Tags
      summary: Retrieve an Activity Tag
      x-source: https://docs.goodstack.io/docs/api/retrieve-an-activity-tag
      parameters:
      - name: tagid
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/agent-verifications:
    get:
      operationId: get_v1_agent_verifications
      tags:
      - Agent Verifications
      summary: List Agent Verifications
      x-source: https://docs.goodstack.io/docs/api/list-agent-verifications
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/categories:
    get:
      operationId: get_v1_categories
      tags:
      - Categories
      summary: List Categories
      x-source: https://docs.goodstack.io/docs/api/list-categories
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
    post:
      operationId: post_v1_categories
      tags:
      - Categories
      summary: Create a Category
      x-source: https://docs.goodstack.io/docs/api/create-a-category
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/categories/{id}:
    delete:
      operationId: delete_v1_categories_id
      tags:
      - Categories
      summary: Delete a Category
      x-source: https://docs.goodstack.io/docs/api/delete-a-category
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteV1CategoriesIdResponse'
      x-evidence:
        kind: documentation
    get:
      operationId: get_v1_categories_id
      tags:
      - Categories
      summary: Retrieve a Category
      x-source: https://docs.goodstack.io/docs/api/retrieve-a-category
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetV1CategoriesIdResponse'
      x-evidence:
        kind: documentation
    patch:
      operationId: patch_v1_categories_id
      tags:
      - Categories
      summary: Edit a Category
      x-source: https://docs.goodstack.io/docs/api/edit-a-category
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/countries:
    get:
      operationId: get_v1_countries
      tags:
      - Countries
      summary: List available Countries
      x-source: https://docs.goodstack.io/docs/api/list-available-countries
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/donation-sessions:
    get:
      operationId: get_v1_donation_sessions
      tags:
      - Donation Sessions
      summary: List Donation Sessions
      x-source: https://docs.goodstack.io/docs/api/list-donation-sessions
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/donations:
    get:
      operationId: get_v1_donations
      tags:
      - Donations
      summary: Retrieve a list of donations.
      description: PII fields ( firstName , lastName & email ) will be included or excluded depending on your partner settings.
      x-source: https://docs.goodstack.io/docs/api/list-donations
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
    post:
      operationId: post_v1_donations
      tags:
      - Donations
      summary: Creates a new Donation of type direct.
      description: Creates a new Donation of type direct. We will request payment from you for the Donations aggregated over a period. Goodstack
        and our associated foundations will then handle the ongoing safe and efficient disbursement of funds to the nonprofit. Please note that
        if you are creating with a userId and no organisationId the user must be already supporting an organisation.
      x-source: https://docs.goodstack.io/docs/api/create-a-donation
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/donations/{id}:
    get:
      operationId: get_v1_donations_id
      tags:
      - Donations
      summary: Retrieve a donation by its ID.
      x-source: https://docs.goodstack.io/docs/api/retrieve-a-donation
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
    patch:
      operationId: patch_v1_donations_id
      tags:
      - Donations
      summary: Edit a Donation
      description: Update the recipient organisation, metadata of a Donation. The recipient organisation can only be changed for direct type Donations
        created directly through the Create A Donation API that are in an ACTIVE status.
      x-source: https://docs.goodstack.io/docs/api/edit-a-donation
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/donations/{id}/cancel:
    post:
      operationId: post_v1_donations_id_cancel
      tags:
      - Donations
      summary: Cancel a Donation
      x-source: https://docs.goodstack.io/docs/api/cancel-a-donation
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/fundraisers:
    get:
      operationId: get_v1_fundraisers
      tags:
      - Fundraisers
      summary: Get a paginated list of Fundraisers
      x-source: https://docs.goodstack.io/docs/api/list-fundraisers
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/giving/campaigns:
    get:
      operationId: get_v1_giving_campaigns
      tags:
      - Giving
      summary: Get a paginated list of Campaigns
      x-source: https://docs.goodstack.io/docs/api/list-campaigns
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/giving/donations:
    get:
      operationId: get_v1_giving_donations
      tags:
      - Giving
      summary: List Donations
      description: Retrieve a paginated list of donations with optional filtering and organisation expansion.
      x-source: https://docs.goodstack.io/docs/api/list-giving-donations
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/grants/data/programs/{programid}/candidates:
    get:
      operationId: get_v1_grants_data_programs_programid_candidates
      tags:
      - Grants
      summary: List candidates for a grant program
      description: Fetches paginated candidate data for a grant program, enriched with organisation details, state transitions, and form submissions.
        Requires partner secret key authentication and the Grants scope.
      x-source: https://docs.goodstack.io/docs/api/get-program-candidates
      parameters:
      - name: programid
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/grants/programs/{id}/candidate:
    post:
      operationId: post_v1_grants_programs_id_candidate
      tags:
      - Grants
      summary: Creates a candidate for an application-type grant program.
      description: Creates a candidate for an application-type grant program. Needs no credentials. Requests are rate limited per IP address.
      x-source: https://docs.goodstack.io/docs/api/apply-to-a-grant-program
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/grants/task-assignees:
    get:
      operationId: get_v1_grants_task_assignees
      tags:
      - Grants
      summary: Returns the accounts that the task auto-assignment rules of the partner assign tasks to.
      x-source: https://docs.goodstack.io/docs/api/get-task-assignees
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/organisations:
    get:
      operationId: get_v1_organisations
      tags:
      - Organisations
      summary: Search for nonprofits.
      x-source: https://docs.goodstack.io/docs/api/search-organisations
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/organisations/{id}:
    get:
      operationId: get_v1_organisations_id
      tags:
      - Organisations
      summary: Retrieve an Organisation
      x-source: https://docs.goodstack.io/docs/api/retrieve-an-organisation
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/registries:
    get:
      operationId: get_v1_registries
      tags:
      - Registries
      summary: List Registries
      x-source: https://docs.goodstack.io/docs/api/list-registries
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/registries/{id}:
    get:
      operationId: get_v1_registries_id
      tags:
      - Registries
      summary: Retrieve a Registry
      description: Retrieve a Registry
      x-source: https://docs.goodstack.io/docs/api/retrieve-a-registry
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/users:
    post:
      operationId: post_v1_users
      tags:
      - Users
      summary: Create a User
      x-source: https://docs.goodstack.io/docs/api/create-a-user
      responses:
        '201':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostV1UsersResponse'
      x-evidence:
        kind: documentation
  /v1/users/{id}:
    get:
      operationId: get_v1_users_id
      tags:
      - Users
      summary: Retrieve a User
      x-source: https://docs.goodstack.io/docs/api/retrieve-a-user
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetV1UsersIdResponse'
      x-evidence:
        kind: documentation
  /v1/users/{id}/organisation:
    put:
      operationId: put_v1_users_id_organisation
      tags:
      - Users
      summary: Set User to support an Organisation
      x-source: https://docs.goodstack.io/docs/api/support-organisation
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PutV1UsersIdOrganisationResponse'
      x-evidence:
        kind: documentation
  /v1/validation-requests:
    get:
      operationId: get_v1_validation_requests
      tags:
      - Validation Requests
      summary: List Validation Requests
      x-source: https://docs.goodstack.io/docs/api/list-validation-requests
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /webhooks/donation-created:
    post:
      operationId: post_webhooks_donation_created
      tags:
      - Webhooks
      summary: A new donation record has been successfully created in the system.
      x-source: https://docs.goodstack.io/docs/api/webhook-donation-created
      responses:
        '201':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostWebhooksDonationCreatedResponse'
      x-evidence:
        kind: documentation
components:
  schemas:
    PostScimV2BulkResponse:
      type: object
      properties:
        '200':
          type: string
          description: A SCIM bulk response.
        '401':
          type: string
          description: Unauthorized. The SCIM bearer key is missing or invalid, or the key is valid but the partner does not have the scim_api
            scope enabled.
        '413':
          type: string
          description: The number of operations exceeds the maximum (100).
    DeleteScimV2UsersIdResponse:
      type: object
      properties:
        '204':
          type: string
          description: The user was deactivated.
        '401':
          type: string
          description: Unauthorized. The SCIM bearer key is missing or invalid, or the key is valid but the partner does not have the scim_api
            scope enabled.
        '404':
          type: string
          description: Not found. The user does not exist, or exists but belongs to a different partner than the one the key is bound to. An invalid
            account id format also resolves to 404.
    DeleteV1CategoriesIdResponse:
      type: object
      properties:
        '204':
          type: string
          description: Successfully deleted a Category
        '400':
          type: string
          description: Error validating inputs
        '401':
          type: string
          description: Unauthorized
        '403':
          type: string
          description: Forbidden
    GetV1CategoriesIdResponse:
      type: object
      properties:
        '200':
          type: string
          description: Successfully retrieved a Category
        '400':
          type: string
          description: Error validating inputs
        '401':
          type: string
          description: Unauthorized
        '403':
          type: string
          description: Forbidden
        '404':
          type: string
          description: The specified resource was not found
    PostV1UsersResponse:
      type: object
      properties:
        '200':
          type: string
          description: Successfully created a User
        '400':
          type: string
          description: Error validating inputs
        '401':
          type: string
          description: Unauthorized
    GetV1UsersIdResponse:
      type: object
      properties:
        '200':
          type: string
          description: Successfully retrieved a User
        '400':
          type: string
          description: Error validating inputs
        '401':
          type: string
          description: Unauthorized
    PutV1UsersIdOrganisationResponse:
      type: object
      properties:
        '200':
          type: string
          description: Successfully set User to support an Organisation
        '400':
          type: string
          description: Bad request
        '401':
          type: string
          description: Unauthorized
    PostWebhooksDonationCreatedResponse:
      type: object
      properties:
        '200':
          type: string
          description: Webhook received successfully
        '400':
          type: string
          description: Invalid webhook payload or signature verification failed
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
security:
- bearer: []
tags:
- name: Activity Tags
- name: Agent Verifications
- name: Categories
- name: Countries
- name: Donation Sessions
- name: Donations
- name: Fundraisers
- name: Giving
- name: Grants
- name: Organisations
- name: Registries
- name: Scim
- name: Users
- name: Validation Requests
- name: Webhooks