Skip to content

403 Forbidden when creating pledge via Giving API despite administrator permissions #1432

@nicolasguzca

Description

@nicolasguzca

Affected Product
Giving

Describe the bug
We are attempting to create pledges via the Planning Center Giving API and consistently receive a 403 Forbidden response, even though the authenticated user has administrator permissions in Giving. This behavior appears inconsistent because the same credentials successfully authenticate and can read Giving data, including campaigns and the /giving/v2/me endpoint.

To Reproduce

  1. Authenticate using a Personal Access Token via HTTP Basic Auth
  2. Send a POST request to:
    POST /giving/v2/people/{person_id}/pledges
  3. Include a valid request body with:
    • amount_cents
    • person_id
    • pledge_campaign_id
  4. Observe the response

Expected behavior
The pledge should be successfully created when using a user with Giving administrator permissions.

Screenshots
N/A

Additional Context:

  • Endpoint: POST /giving/v2/people/{person_id}/pledges
  • Language: Node.js (TypeScript)
  • Authentication: Personal Access Token (HTTP Basic Auth)

Additional context
Authentication and read operations work as expected:

  • GET /giving/v2/me returns "administrator" permissions
  • Able to read campaigns and other Giving resources

Tested with:

  • Multiple users with Giving administrator permissions
  • Valid campaign (ID: 18018)
  • Valid person (ID: 109177222)

Error returned:
{
"errors": [
{
"status": "403",
"title": "Forbidden",
"detail": "You do not have access to this resource",
"meta": {
"description": "User cannot create a Pledge."
}
}
]
}

We would like clarification on:

  1. Whether additional organization-level permissions are required to create pledges via API
  2. Whether Giving administrator role is sufficient for pledge creation
  3. Whether there are any limitations or special setup required for this endpoint
  4. Why read operations succeed but create operations fail with the same credentials

I have..

  • Reviewed the documentation found at https://developer.planning.center/docs
  • Searched for previous issues reporting this bug
  • Removed all private information from this issue (credentials, tokens, emails, phone numbers, etc.)
  • Reviewed my issue for completeness

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions