Goodstack Users API
The User object represents a user of your application. It can be used to track Donations that belong to that user.
The User object represents a user of your application. It can be used to track Donations that belong to that user.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/goodstack-users-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
title: Goodstack Services Users API
version: v1
x-logo:
url: https://docs.goodstack.io/img/logo.png
altText: Goodstack logo
x-dark-logo:
url: https://docs.goodstack.io/img/icons/Logo-white.svg
altText: Goodstack logo
contact:
email: engineering-support@goodstack.io
name: Api support
description: '# Introduction
Goodstack API allows you to build good into your product by facilitating charitable donations.'
servers:
- url: https://api.goodstack.io
description: Production server
- url: https://sandbox-api.goodstack.io
description: Sandbox server
tags:
- name: Users
description: The User object represents a user of your application. It can be used to track Donations that belong to that user.
paths:
/v1/users:
post:
security:
- SecretApiKey: []
summary: Create a User
tags:
- Users
responses:
'200':
description: Successfully created a User
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/User'
object:
type: string
example: user
'400':
$ref: '#/components/responses/IncorrectParams'
'401':
$ref: '#/components/responses/Unauthorized'
operationId: postV1Users
x-operation-id-source: derived
/v1/users/{id}:
parameters:
- in: path
name: id
schema:
type: integer
required: true
description: Id of the user
get:
security:
- SecretApiKey: []
summary: Retrieve a User
tags:
- Users
responses:
'200':
description: Successfully retrieved a User
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/User'
object:
type: string
example: user
'400':
$ref: '#/components/responses/IncorrectParams'
'401':
$ref: '#/components/responses/Unauthorized'
operationId: getV1UsersById
x-operation-id-source: derived
/v1/users/{id}/organisation:
parameters:
- in: path
name: id
schema:
type: string
required: true
description: Id of the User.
put:
operationId: SupportOrganisation
security:
- SecretApiKey: []
summary: Set User to support an Organisation
description: For Donations created through the Create A Donation API, A User can be set to donate to a particular Organisation by default using this API. If a Donation is made with a userId, the Donation will be associated with the Organisation the User is supporting at the time of Donation. If the userId is omitted or the User has not been set to donate to an Organisation by default then the organisationId must be included in the body.
tags:
- Users
requestBody:
content:
application/json:
schema:
type: object
properties:
organisationId:
type: string
description: Organisation id to support.
required:
- organisationId
responses:
'200':
description: Successfully set User to support an Organisation
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/UserOrganisation'
object:
type: string
example: UserOrganisation
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
examples:
BadRequest:
$ref: '#/components/examples/BadRequest'
IncorrectParams:
$ref: '#/components/examples/IncorrectParams'
'401':
$ref: '#/components/responses/Unauthorized'
components:
schemas:
UserOrganisation:
type: object
properties:
userId:
type: string
organisationId:
type: string
timestamp:
type: string
format: date-time
example: '2020-10-13T17:46:54.000Z'
Error:
type: object
properties:
error:
type: object
properties:
code:
type: string
title:
type: string
message:
type: string
reasons:
type:
- array
- 'null'
items:
type: string
User:
type: object
properties:
id:
type: string
example: user_xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
createdAt:
type: string
format: date-time
deletedAt:
type: string
format: date-time
examples:
BadRequest:
summary: 400 Bad Request
description: Bad Request
value:
error:
code: bad_request
title: Bad request
message: Something is wrong with your request, please check any parameters and try again
IncorrectParams:
summary: 400 Incorrect Parameters
description: Bad Request - Incorrect parameters
value:
error:
code: bad_request
title: Bad request
message: One or more of the inputs were invalid
reasons:
- pageSize must be greater than or equal to 0
responses:
Unauthorized:
description: Unauthorized
IncorrectParams:
description: Error validating inputs
content:
application/json:
schema:
type: object
properties:
error:
type: object
properties:
code:
type: string
example: bad_request
title:
type: string
example: Bad request
message:
type: string
example: One or more of the inputs were invalid
reasons:
type: array
items:
type: string
example: pageSize must be greater than or equal to 0
securitySchemes:
PublishableApiKey:
type: apiKey
in: header
name: Authorization
description: API key starting with 'pk_' that can be made public
SecretApiKey:
type: apiKey
in: header
description: API key starting with 'sk_' that must be kept secure
name: Authorization
DonationSessionToken:
type: apiKey
in: header
name: donation-session-token
description: Donation session token
x-tagGroups:
- name: NONPROFIT DATA
tags:
- Organisations
- Countries
- Registries
- Categories
- name: NONPROFIT VALIDATIONS
tags:
- Validation Requests
- Validation Request Documents
- Validation Invites
- Validation Submissions
- Validation Submission Documents
- Validation Submission Configuration
- Monitoring Subscriptions
- Eligibility Subscriptions
- Activities
- Agent Verifications
- name: MONETARY DONATIONS
tags:
- Donations
- Donation Sessions
- Users
- Gift Aid
- name: WEBHOOK SUBSCRIPTIONS
tags:
- Webhook Subscriptions