openapi: 3.0.3 info: title: GrowthZone REST Certifications Groups & Directory API description: 'Programmatic access to a GrowthZone association management (AMS) database - contacts (members and organizations), memberships, groups and directories, scheduled billing, certifications, and events. GrowthZone is a REST-based, JSON API served per customer database at https://{subdomain}.growthzoneapp.com/api, where {subdomain} is the customer database sub-domain visible in the application URL (some databases are served from app.memberzone.org). The API is customer/partner-gated: an account must have API Access enabled, and an API Key is issued by GrowthZone WebSupport (websupport@growthzone.com). Authenticate by sending an `Authorization: ApiKey {API_Key}` header (Server authentication); OAuth 2.0 / OpenID Connect is also supported for user (SSO) flows. Endpoint status: paths marked "Confirmed" appear in GrowthZone''s public integration documentation and Curated API reference. Paths marked "Modeled" are honestly inferred to round out standard CRUD or reflect the ChamberMaster/MemberZone (MicroNet) event feed; verify exact shapes against the gated full reference at documentation.growthzoneapp.com.' version: '1.0' contact: name: GrowthZone WebSupport url: https://integration.growthzone.com email: websupport@growthzone.com license: name: Proprietary url: https://www.growthzone.com servers: - url: https://{subdomain}.growthzoneapp.com/api description: GrowthZone customer database (replace {subdomain} with your database sub-domain) variables: subdomain: default: app description: The customer database sub-domain from your GrowthZone application URL. - url: https://app.memberzone.org/api description: MemberZone-hosted GrowthZone databases security: - apiKeyAuth: [] tags: - name: Groups & Directory description: Groups, categories, and directory listings. paths: /GroupsApi_GetGroupsByCategories: post: operationId: getGroupsByCategories tags: - Groups & Directory summary: Get groups by categories (Confirmed) description: Resolves groups for one or more categories to build a filtered directory. requestBody: required: true content: application/json: schema: type: object properties: CategoryIds: type: array items: type: integer responses: '200': description: Groups matching the supplied categories. content: application/json: schema: type: array items: $ref: '#/components/schemas/Group' '401': $ref: '#/components/responses/Unauthorized' /groups/{groupId}/members: get: operationId: listGroupMembers tags: - Groups & Directory summary: List members of a group (Modeled) description: Modeled. Lists the member contacts belonging to a group, for directory rendering. Exact path and shape are behind the gated reference. parameters: - name: groupId in: path required: true schema: type: string responses: '200': description: Group members. content: application/json: schema: type: array items: $ref: '#/components/schemas/Contact' '401': $ref: '#/components/responses/Unauthorized' components: responses: Unauthorized: description: Missing or invalid API key. content: application/json: schema: $ref: '#/components/schemas/Error' schemas: Contact: type: object properties: ContactId: type: string Name: type: string ContactType: type: string enum: - Individual - Organization MembershipStatusTypeId: type: integer description: Status code - 1 Prospective, 2 Active, 4 Courtesy, 8 NonMember, 16 Inactive, 32 Deleted. Balance: type: number ImageUrl: type: string format: uri Group: type: object properties: GroupId: type: string Name: type: string CategoryId: type: integer Error: type: object properties: Message: type: string Code: type: string securitySchemes: apiKeyAuth: type: apiKey in: header name: Authorization description: 'Server authentication. Send `Authorization: ApiKey {API_Key}` where the API Key is issued per application by GrowthZone WebSupport. OAuth 2.0 / OpenID Connect (authorize/token/userinfo at growthzoneapp.com) is used for user SSO flows.'