Tool reference

All 185 tools

87 read and 98 change data, in 22 groups. Each page shows the name to call, the arguments to send and what comes back.

Authentication

Platform sign-in, signup and session management

ToolWhat it does
get_auth_meThe calling principal, with freshly re-hydrated permissionsRead
get_auth_me_onboardingThe first-time tours and popups the signed-in user has already seenRead
put_auth_me_onboarding_by_topicRecord that the signed-in user has seen a first-time tour or popupChanges data

Users

User management operations

ToolWhat it does
get_usersList the users of the caller's organizationsRead
post_usersCreate a user directly, into a named organizationChanges data
put_users_by_idUpdate a user's profileChanges data
delete_users_by_idFlag a user as deletedChanges data
post_users_by_id_resend_invitationRe-send the sign-in invitation email to a user who has not acceptedChanges data
delete_users_by_id_sessionsForce-logout a user — end every session they holdChanges data

Organizations

Organization management operations

ToolWhat it does
get_orgsList organizations the caller is entitled to seeRead
post_orgsCreate an organization together with its one ownerChanges data
patch_orgs_bulkApply the same field changes to several organizationsChanges data
delete_orgs_bulkSoft-delete several organizations as one all-or-nothing deletion, or preview itChanges data
post_orgs_joinRequest membership of an organizationChanges data
get_orgs_summaryOrganization counts for the dashboard header, over the orgs the caller may viewRead
get_orgs_treeGet the organization hierarchy the caller may seeRead
get_orgs_typesList the organization types the platform recognisesRead
get_orgs_by_idGet one organizationRead
patch_orgs_by_idUpdate an organization's DAL-backed fieldsChanges data
delete_orgs_by_idSoft-delete one organization, cascading, and report what was removedChanges data
post_orgs_by_id_approveApprove an organizationChanges data
post_orgs_by_id_connectOnboard the organization's Stripe Connect accountChanges data
get_orgs_by_id_deletion_previewWhat deleting this organization would remove, deactivate and keep — without deleting itRead
post_orgs_by_id_suspendSuspend an organizationChanges data

Groups

Groups and group membership

ToolWhat it does
get_groupsList groups, scoped to the caller's organizationsRead
post_groupsCreate a group inside exactly one organizationChanges data
get_groups_by_idGet one groupRead
put_groups_by_idUpdate a group, without moving it between organizationsChanges data
delete_groups_by_idArchive (soft-delete) a groupChanges data
get_groups_by_id_membersList a group's membershipsRead
post_groups_by_id_membersAdd a user to a groupChanges data
delete_groups_by_id_members_by_useridRemove a user from a groupChanges data

Roles

Roles and permission assignment

ToolWhat it does
get_rolesList the roles the caller may viewRead
post_rolesCreate a roleChanges data
get_roles_by_idGet one roleRead
put_roles_by_idUpdate a roleChanges data
delete_roles_by_idArchive a role (soft delete)Changes data
get_roles_by_id_permissionsGet a role's permissions, grouped by categoryRead
post_roles_by_id_permissionsGrant permissions to a roleChanges data
delete_roles_by_id_permissionsRevoke permissions from a roleChanges data

Organization Administration

Owner delegation: an organization's roles, groups, members and direct grants, decided by the DAL with the caller's own principal

ToolWhat it does
patch_org_admin_groups_by_groupidRename a group of the organization, or change its descriptionChanges data
delete_org_admin_groups_by_groupidDelete a group of the organizationChanges data
post_org_admin_groups_by_groupid_membersPut a person in a group — an existing account by email, or a new accountChanges data
delete_org_admin_groups_by_groupid_members_by_useridRemove a person from a group of the organizationChanges data
put_org_admin_groups_by_groupid_rolesSet exactly which of the organization's roles a group carriesChanges data
post_org_admin_members_by_userid_permissionsGrant one of the organization's permissions to one member directlyChanges data
delete_org_admin_members_by_userid_permissions_by_orgpermissionidRevoke a member's direct grant of one of the organization's permissionsChanges data
patch_org_admin_roles_by_roleidRename an organization role, or set exactly which of its organization's permissions it grantsChanges data
delete_org_admin_roles_by_roleidDelete an organization roleChanges data
get_org_admin_by_orgidWhat an organization can grant, and what the caller holds thereRead
get_org_admin_by_orgid_groupsThe organization's groups, their roles and rostersRead
post_org_admin_by_orgid_groupsCreate a group in the organizationChanges data
delete_org_admin_by_orgid_invitations_by_useridTake back an invitation the organization sent and the invitee has not answeredChanges data
post_org_admin_by_orgid_join_requests_by_userid_approveApprove a request to join the organizationChanges data
post_org_admin_by_orgid_join_requests_by_userid_declineDecline a request to join the organizationChanges data
get_org_admin_by_orgid_membersThe organization's members, what each holds there, and where it comes fromRead
get_org_admin_by_orgid_pendingThe organization's unanswered invitations and undecided join requestsRead
get_org_admin_by_orgid_rolesThe organization's roles and what each grantsRead
post_org_admin_by_orgid_rolesCreate a role in the organization, granting some of its permissionsChanges data
get_org_self_delete_parent_by_parentorgid_requestsChild organizations' deletion requests awaiting this parentRead
get_org_self_delete_by_orgidThe caller's view of deleting an organizationRead
post_org_self_delete_by_orgidAsk to delete an organizationChanges data
post_org_self_delete_by_orgid_by_requestid_cancelWithdraw a deletion requestChanges data
post_org_self_delete_by_orgid_by_requestid_confirmConfirm deleting an organization with the emailed codeChanges data
post_org_self_delete_by_orgid_by_requestid_decisionApprove or decline deleting a child organizationChanges data
get_ownership_transfers_by_orgidThe caller's view of an organization's ownershipRead
post_ownership_transfers_by_orgidStart transferring an organization to one of its membersChanges data
post_ownership_transfers_by_orgid_by_transferid_cancelCancel a pending ownership transferChanges data
post_ownership_transfers_by_orgid_by_transferid_verifyConfirm the caller's own side of an ownership transfer with their codeChanges data

Vouchers

Voucher inventory, issuance and the claim lifecycle

ToolWhat it does
get_vouchersList vouchers, org-scoped unless the caller is platform staffRead
get_vouchers_batch_requestsVoucher-batch requests awaiting a PFF decisionRead
post_vouchers_batch_requestsAsk PFF for a batch of vouchersChanges data
post_vouchers_batch_requests_by_id_decideApprove or deny a voucher-batch requestChanges data
get_vouchers_batchesInventory batches, org-scoped unless the caller is platform staffRead
post_vouchers_batchesMint a batch of vouchers (voucher-pool and allocation gated)Changes data
get_vouchers_batches_capacityWho may hold a new voucher batch, and the most vouchers each can be mintedRead
patch_vouchers_batches_by_idResize a voucher batch through its holder's allocationChanges data
delete_vouchers_batches_by_idDelete a voucher batch, releasing its vouchers firstChanges data
post_vouchers_batches_by_id_assignAssign an existing batch to an organizationChanges data
post_vouchers_batches_by_id_printPrint a physical voucher batch from its id aloneChanges data
get_vouchers_batches_by_id_print_sheetWhat a print of this physical batch would send nowRead
get_vouchers_batches_by_id_reprintWhat reprinting this physical batch would do nowRead
post_vouchers_batches_by_id_reprintReprint every reprintable voucher of a physical batchChanges data
post_vouchers_batches_by_id_resendPrint the same codes again, voiding nothingChanges data
get_vouchers_batches_by_id_vouchersOne batch's vouchers, a page at a time, searchable by code or idRead
get_vouchers_claim_statsVoucher/claim aggregation for the dashboardRead
get_vouchers_pending_claimsThe PFF approval queue — vouchers sitting in CLAIMEDRead
get_vouchers_procedure_catalogProcedure-catalog reference rows and their distinct dimension valuesRead
get_vouchers_scanLook a voucher up by its scanned codeRead
get_vouchers_by_idGet one voucher by id, org-scopedRead
post_vouchers_by_id_claimClaim step 3 — submit the claimChanges data
post_vouchers_by_id_expireExpire a voucher ahead of its dateChanges data
post_vouchers_by_id_invalidateInvalidate a voucherChanges data
post_vouchers_by_id_issueIssue a voucher to a beneficiary and email its QR codeChanges data
post_vouchers_by_id_performClaim step 2 — mark the procedure performedChanges data
get_vouchers_by_id_receiptA short-lived link to the invoice PDF a claim is paid onRead
post_vouchers_by_id_reprintReprint one physical voucher — a new code replaces it, and is printedChanges data
post_vouchers_by_id_verifyClaim step 1 — take a scanned voucher for the caller's clinicChanges data
post_vouchers_by_id_voidVoid a voucherChanges data

Claims

Claim queue and PFF approve-and-credit

ToolWhat it does
get_claimsThe claim queueRead
get_claims_auto_approvalClaim auto-approval — the switch, the trusted clinics and the rulesRead
put_claims_auto_approval_clinics_by_orgidTrust a clinic's claims to the auto-approval rules, or stop trusting themChanges data
put_claims_auto_approval_modeSwitch claim auto-approval OFF, SHADOW or ENFORCEChanges data
get_claims_recentThe 20 most recent claimsRead
post_claims_by_id_approveApprove a claimed voucher and credit the clinic (deferred EFT)Changes data

Finance

Ledger reads, allocations and payouts

ToolWhat it does
get_allocationsEvery organization's voucher budget, and what the pool has left to giveRead
post_allocationsGrant an organization a standing voucher budgetChanges data
get_allocations_by_orgid_ledgerOne organization's allocation as ledger lines, with the running balanceRead
get_allocations_by_orgid_lotsOne organization's allocation as lots, oldest firstRead
post_allocations_by_orgid_revokeTake back part of an organization's unspent voucher budgetChanges data
get_finance_allocationsThe voucher-pool credit for each donationRead
get_finance_clawbacksThe payout clawback review queue (platform staff)Read
post_finance_clawbacksFile a payout clawback — a clinic for a voucher it took, or platform staffChanges data
get_finance_clawbacks_voucherLook a voucher up by code before filing a clawback of it (platform staff)Read
get_finance_clawbacks_by_idOne payout clawback with its recovery legs (platform staff)Read
post_finance_clawbacks_by_id_decideApprove or deny a REQUESTED payout clawback (platform staff)Changes data
post_finance_clawbacks_by_id_executeSend an approved clawback's notice if it has not been, then execute it (platform staff)Changes data
put_finance_clawbacks_by_id_fee_liabilityChange who pays processing on a clawback being collected (platform staff)Changes data
post_finance_clawbacks_by_id_offsets_by_payouttransactionid_releaseReturn an offset whose Stripe transfer failed to the clinic's balance (platform staff)Changes data
post_finance_clawbacks_by_id_recoveriesRecord a repayment received outside Stripe (platform staff)Changes data
post_finance_clawbacks_by_id_write_offWrite an approved clawback off (platform staff)Changes data
get_finance_donationsEvery live donation, as the finance dashboard's table reads themRead
post_finance_eft_onboardMake an organization payout-readyChanges data
get_finance_ledger_verifyVerify the ledger journal's hash chain and latest checkpoint (platform staff)Read
get_finance_metricsEverything /summary reports except currency, plus a six-month revenue trendRead
post_finance_payout_accounts_by_orgid_resume_payoutsResume a service provider's payouts after a clawback closed without all of its cash (platform staff)Changes data
get_finance_payoutsA service provider's payouts, newest first (platform staff)Read
post_finance_payouts_reconcileReconcile settled payouts against Stripe (platform staff)Changes data
post_finance_payouts_runSettle one organization's accrued balance and pay it outChanges data
get_finance_payouts_by_payoutid_vouchersThe vouchers one payout settled (platform staff)Read
post_finance_payouts_by_transactionid_resend_transferSend the Stripe transfer of a settled payout that Stripe never received (platform staff)Changes data
get_finance_summaryLedger totals for the finance dashboard headerRead
get_finance_transfersEvery internal transfer between PFF's two Stripe accounts, newest first, and what operations owes the pool (platform staff)Read
post_finance_transfersMove PFF's money between its two Stripe accounts (platform staff)Changes data
get_payee_reports_by_yearWhat Pawsitive Future paid each clinic in a calendar yearRead
get_payee_reports_year_csvThe payee report as CSVRead
get_payout_accounts_by_orgidA service provider's payout accountRead
get_payout_accounts_by_orgid_annual_statementThe organization's annual payment statement, as a PDFRead
get_payout_accounts_by_orgid_clawbacksA service provider's payout clawbacks, and the payouts it may reportRead
post_payout_accounts_by_orgid_clawbacks_by_clawbackid_paymentStart repaying one of the organization's clawbacks, by bank account or cardChanges data
post_payout_accounts_by_orgid_eft_remediationOpen Stripe's page for documents this app cannot collectChanges data
post_payout_accounts_by_orgid_payoutsPay out the organization's balance nowChanges data
post_payout_accounts_by_orgid_tax_detailsAdd the full SSN or EIN a payout account was set up withoutChanges data

Donations

Checkout sessions and donation reads

ToolWhat it does
get_donationsList donations across every organizationRead
post_donations_create_checkout_sessionCreate a Stripe Checkout session for a public giftChanges data
post_donations_org_checkout_sessionCreate a Stripe Checkout session for a gift made on behalf of the caller's organizationChanges data
get_donations_session_by_idRead a Stripe Checkout session for the thank-you pageRead
post_donations_session_by_id_donor_emailCorrect, once, the email the gift of a Checkout session was recorded underChanges data
get_donations_session_by_id_receiptDownload link for the receipt of the gift a Checkout session paid forRead
get_donations_statsPlatform-wide donation aggregatesRead
get_donations_by_idFetch one donation by idRead

Analytics

Aggregations and reporting endpoints

ToolWhat it does
get_analytics_dashboardDashboard KPIs aggregated in the graphRead
get_analytics_money_positionWhere the money is — the voucher pool over time, clawbacks, operations transfers and StripeRead
get_analytics_service_providerA service provider's voucher intake and payouts receivedRead
get_analytics_timeseriesDaily donations, allocations and payouts over a rangeRead

Approvals

Organization signup approval queue

ToolWhat it does
get_approvals_role_requestsRole-change request queue (stub)Read
get_approvals_signupsPending organization signup queueRead
post_approvals_signups_by_id_approveApprove a pending organization signupChanges data
post_approvals_signups_by_id_rejectReject a pending organization signupChanges data
get_approvals_statsApproval queue summary countsRead
post_auth_approveApprove a pending organization signup by contact emailChanges data

Audit

Platform-staff audit trail

ToolWhat it does
get_audit_logsList audit entries, newest firstRead
get_audit_logs_by_idFetch a single audit entryRead

Admin

Destructive/operator platform administration

ToolWhat it does
post_admin_stripe_backfillImport historical Stripe charges the ledger never sawChanges data

Impersonation

Support impersonation sessions

ToolWhat it does
get_impersonation_audit_by_sessionidAudit trail recorded against one session idRead
get_impersonation_usersList accounts that may be impersonatedRead

Support

Support cases

ToolWhat it does
get_supportList support casesRead
post_supportCreate a support caseChanges data
get_support_by_idFetch one support caseRead
patch_support_by_idUpdate a support case, or drive it through a status transitionChanges data
delete_support_by_idArchive a support case (soft delete)Changes data

Console omnibox

ToolWhat it does
get_searchConsole omnibox - search organizations, users and vouchers in one callRead

Donor Portal

Donor OTP sign-in and donor-scoped self-service

ToolWhat it does
get_me_certificatesThe donor's thank-you certificatesRead
get_me_certificates_by_id_downloadMint a short-lived download URL for one of the donor's certificate PDFsRead
get_me_donationsThe donor's own donation historyRead
get_me_summaryLifetime giving totals and the donor's current recurring giftRead

Public

Unauthenticated endpoints the marketing site calls

ToolWhat it does
get_donations_recentRecent completed gifts for the marketing site's homepage feedRead
get_impactPublic headline impact numbers for the marketing siteRead
get_public_vouchers_by_code_availabilityPublic voucher availability by code (the voucher QR's landing page)Read

Webhooks

Provider callbacks — signature-verified, root-mounted

ToolWhat it does
get_webhooks_healthPer-receiver signature-verification postureRead
post_webhooks_stripe_by_eventid_retryReplay a Stripe event through the ledger by idChanges data

Memberships

ToolWhat it does
get_memberships_invitationsThe signed-in user's own pending invitationsRead
post_memberships_invitations_by_orgid_acceptAccept the signed-in user's invitation from an organizationChanges data
post_memberships_invitations_by_orgid_declineDecline the signed-in user's invitation from an organizationChanges data

Notifications

ToolWhat it does
get_notificationsThe signed-in user's actionable notificationsRead