Skip to main content

Developers · Reference

Funding Rounds

The Organisation’s funding rounds. 2 operations: parameters, request body and answers, with examples.

GET /api/v2/funding_rounds

List funding rounds.

Every funding round of the Organisation in ascending id order, at most 50 a page.

  • Operation ID: listFundingRounds
  • Authentication: A Bearer token from a credential holding the read scope.
  • Also served at /funding_system/api/v2/funding_rounds, the documented product’s alias path.
Example request
curl "https://your-org.backed.giving/api/v2/funding_rounds" \
  -H "Authorization: Bearer $BACKED_TOKEN"

Parameters

Parameters of GET /api/v2/funding_rounds
NameInRequiredTypeDescription
limitqueryNointegerResults per page (default 50, at most 50; a larger value is read as 50). Not an integer, or below 1: 400. Example: 50.
gtqueryNointegerReturn records with an id greater than this value. Page forward by passing the last id you received. Example: 1287.
ltqueryNointegerReturn records with an id less than this value.

200 response

A JSON array of funding rounds.

Fields of FundingRound
FieldTypeRequiredNotes
idintegerYes
created_atstringYes
updated_atstringYes
namestringYes
descriptionstring | nullYes
start_datestring | nullYes
ent_datestring | nullYes
total_fundingstring | nullYes
funding_amount_per_applicationstring | nullYes
categorystring | nullYes
round_numberinteger | nullYes
phasestring | nullYes
phase_parent_idinteger | nullYes
is_privatebooleanYes
is_continuousbooleanYes
archivedbooleanYes
published_atstring | nullYes
board_hui_datestring | nullYes
board_notificationsstring | nullYes
letter_of_offer_deadline_datestring | nullYes
grace_period_in_minutesinteger | nullYes
cloned_from_idinteger | nullYes
groupobjectYes
funding_categoryobject | nullYes
programmeobject | nullYes
Example 200 response
[
  {
    "id": 42,
    "created_at": "2026-03-02T21:15:04.000Z",
    "updated_at": "2026-06-18T03:40:11.000Z",
    "name": "Community Grants 2026 Round 1",
    "description": "Grants of up to $25,000 for community-led projects.",
    "start_date": "2026-04-01T00:00:00.000Z",
    "ent_date": "2026-05-31T11:59:00.000Z",
    "total_funding": "500000.0",
    "funding_amount_per_application": "25000.0",
    "category": "Community",
    "round_number": 1,
    "phase": null,
    "phase_parent_id": null,
    "is_private": false,
    "is_continuous": false,
    "archived": false,
    "published_at": "2026-03-20T22:00:00.000Z",
    "board_hui_date": "2026-07-14T00:00:00.000Z",
    "board_notifications": null,
    "letter_of_offer_deadline_date": null,
    "grace_period_in_minutes": 15,
    "cloned_from_id": null,
    "group": {
      "id": 3,
      "name": "Community Grants"
    },
    "funding_category": {
      "id": 7,
      "name": "Community"
    },
    "programme": {
      "id": 2,
      "name": "Community Investment"
    }
  }
]

400 response

A query parameter is invalid, or a write’s body is not a JSON object.

Example 400 response
{
  "error": "invalid_request",
  "error_description": "limit is invalid"
}

401 response

The token is missing, invalid, expired or revoked, of another Organisation, or API access is not Full. Ask for a new token.

Headers: WWW-Authenticate.

Example 401 response
{
  "error": "invalid_token",
  "error_description": "The access token is invalid or has expired"
}

403 response

The request was sent over plain HTTP and was not processed.

Example 403 response
{
  "error": "https_required"
}

404 response

An unknown host or path, or an id that is unknown, deleted or of another Organisation.

Example 404 response
{
  "error": "not_found"
}

429 response

A rate limit was exceeded: 120 requests a minute per credential, 30 token requests a minute per client_id.

Headers: Retry-After.

Example 429 response
{
  "error": "rate_limited",
  "error_description": "Too many requests"
}

500 response

An unexpected server error.

Example 500 response
{
  "error": "server_error"
}

503 response

The Organisation’s API access cannot be determined, or a dependency is unavailable. Retry after the given seconds.

Headers: Retry-After.

Example 503 response
{
  "error": "temporarily_unavailable"
}

GET /api/v2/funding_rounds/{id}

Get one funding round.

The same object as the list item.

  • Operation ID: getFundingRound
  • Authentication: A Bearer token from a credential holding the read scope.
  • Also served at /funding_system/api/v2/funding_rounds/{id}, the documented product’s alias path.
Example request
curl "https://your-org.backed.giving/api/v2/funding_rounds/42" \
  -H "Authorization: Bearer $BACKED_TOKEN"

Parameters

Parameters of GET /api/v2/funding_rounds/{id}
NameInRequiredTypeDescription
idpathYesintegerThe record id. Anything but a positive integer is 404. Example: 42.

200 response

The funding round.

Fields of FundingRound
FieldTypeRequiredNotes
idintegerYes
created_atstringYes
updated_atstringYes
namestringYes
descriptionstring | nullYes
start_datestring | nullYes
ent_datestring | nullYes
total_fundingstring | nullYes
funding_amount_per_applicationstring | nullYes
categorystring | nullYes
round_numberinteger | nullYes
phasestring | nullYes
phase_parent_idinteger | nullYes
is_privatebooleanYes
is_continuousbooleanYes
archivedbooleanYes
published_atstring | nullYes
board_hui_datestring | nullYes
board_notificationsstring | nullYes
letter_of_offer_deadline_datestring | nullYes
grace_period_in_minutesinteger | nullYes
cloned_from_idinteger | nullYes
groupobjectYes
funding_categoryobject | nullYes
programmeobject | nullYes
Example 200 response
{
  "id": 42,
  "created_at": "2026-03-02T21:15:04.000Z",
  "updated_at": "2026-06-18T03:40:11.000Z",
  "name": "Community Grants 2026 Round 1",
  "description": "Grants of up to $25,000 for community-led projects.",
  "start_date": "2026-04-01T00:00:00.000Z",
  "ent_date": "2026-05-31T11:59:00.000Z",
  "total_funding": "500000.0",
  "funding_amount_per_application": "25000.0",
  "category": "Community",
  "round_number": 1,
  "phase": null,
  "phase_parent_id": null,
  "is_private": false,
  "is_continuous": false,
  "archived": false,
  "published_at": "2026-03-20T22:00:00.000Z",
  "board_hui_date": "2026-07-14T00:00:00.000Z",
  "board_notifications": null,
  "letter_of_offer_deadline_date": null,
  "grace_period_in_minutes": 15,
  "cloned_from_id": null,
  "group": {
    "id": 3,
    "name": "Community Grants"
  },
  "funding_category": {
    "id": 7,
    "name": "Community"
  },
  "programme": {
    "id": 2,
    "name": "Community Investment"
  }
}

401 response

The token is missing, invalid, expired or revoked, of another Organisation, or API access is not Full. Ask for a new token.

Headers: WWW-Authenticate.

Example 401 response
{
  "error": "invalid_token",
  "error_description": "The access token is invalid or has expired"
}

403 response

The request was sent over plain HTTP and was not processed.

Example 403 response
{
  "error": "https_required"
}

404 response

An unknown host or path, or an id that is unknown, deleted or of another Organisation.

Example 404 response
{
  "error": "not_found"
}

429 response

A rate limit was exceeded: 120 requests a minute per credential, 30 token requests a minute per client_id.

Headers: Retry-After.

Example 429 response
{
  "error": "rate_limited",
  "error_description": "Too many requests"
}

500 response

An unexpected server error.

Example 500 response
{
  "error": "server_error"
}

503 response

The Organisation’s API access cannot be determined, or a dependency is unavailable. Retry after the given seconds.

Headers: Retry-After.

Example 503 response
{
  "error": "temporarily_unavailable"
}