openapi: 3.0.3 info: title: YourMembership API description: >- A description of the YourMembership developer API surface. YourMembership is an association management system (AMS) / membership management platform owned by Community Brands (now operating under Momentive Software / the Personify portfolio). This document covers the modern REST API (base https://ws.yourmembership.com, OAuth-authenticated, endpoints under /Ams) and references the separate YMCareers REST API (base https://api.careerwebsite.com/v1). Access is license/partner gated: customers must license the REST API before an integration partner can connect, and the vendor Swagger UI and metadata document return HTTP 403 to anonymous callers. As a result only a subset of paths is publicly confirmed - POST /Ams/Authenticate, the MemberProfile endpoint (ReadContacts) and the People endpoint (ReadContact). The remaining Events, Certifications, Content/Community, and Commerce/Sales operations here are honestly MODELED from documented platform capability and the legacy XML API (v2.00) method groups; they are not copied from a public specification and the exact request/response shapes will differ. Confirm against the licensed Swagger UI at https://ws.yourmembership.com/swagger-ui/ before building. version: '1.0' contact: name: YourMembership (Momentive Software) url: https://www.yourmembership.com/api/ servers: - url: https://ws.yourmembership.com description: YourMembership REST API (YM AMS) - url: https://api.careerwebsite.com/v1 description: YMCareers REST API (job board / career center) security: - oauth2: [] tags: - name: Authentication description: OAuth authentication for the YM REST API. - name: Members description: Member and contact records, profiles, and custom fields (confirmed MemberProfile / People endpoints). - name: Events description: Events, event details, and registrations (YM Events module). Modeled. - name: Certifications description: Member certifications, credentials, and continuing-education credits. Modeled. - name: Content and Community description: Groups, messaging, journals, and community content. Modeled. - name: Commerce and Sales description: YM Store orders, transactions, dues, and donation exports. Modeled. paths: /Ams/Authenticate: post: tags: - Authentication summary: Authenticate and obtain a session/token description: >- Authenticate to the YourMembership REST API. Confirmed endpoint. Returns the session context / token subsequently presented on /Ams requests. Requires that the organization has licensed the REST API. operationId: authenticate requestBody: required: true content: application/json: schema: type: object properties: apiKey: type: string description: Licensed API key issued to the organization. saPasscode: type: string description: System administrator passcode where required. responses: '200': description: Authenticated. Returns a session token. '401': description: Authentication failed or REST API not licensed. /Ams/MemberProfile: get: tags: - Members summary: Read member profiles / contacts (ReadContacts) description: >- Confirmed endpoint. Reads member profiles and contact records, including custom fields, via the MemberProfile resource. Used by integration partners' ReadContacts operation. operationId: readContacts parameters: - name: since in: query required: false schema: type: string format: date-time description: Return records modified since this timestamp. - name: pageSize in: query required: false schema: type: integer responses: '200': description: A list of member profiles / contacts. post: tags: - Members summary: Create or update a member profile description: >- Modeled. Create or update member records and profile data. The public integration guides confirm member create/update capability; the exact request shape is not published. operationId: upsertMemberProfile responses: '200': description: Member profile created or updated. /Ams/People: get: tags: - Members summary: Read an individual contact (ReadContact) description: >- Confirmed endpoint. Reads a single person/contact record via the People resource. Used by integration partners' ReadContact operation. operationId: readContact parameters: - name: id in: query required: false schema: type: string description: Member/contact identifier. responses: '200': description: A single contact record. /Ams/Events: get: tags: - Events summary: List events description: >- Modeled from the documented YM Events module and the legacy XML API Events search capability. Lists events and event details. operationId: listEvents responses: '200': description: A list of events. /Ams/Events/{eventId}/Registrations: get: tags: - Events summary: List registrations for an event description: Modeled. Retrieves registrations for a given event. operationId: listEventRegistrations parameters: - name: eventId in: path required: true schema: type: string responses: '200': description: A list of event registrations. /Ams/Certifications: get: tags: - Certifications summary: List member certifications and CE credits description: >- Modeled. Returns certifications, credentials, and continuing-education credits associated with member records. YourMembership / Community Brands offer certification and learning functionality, but a standalone public certifications API is not separately documented. operationId: listCertifications parameters: - name: memberId in: query required: false schema: type: string responses: '200': description: A list of certifications / CE records. /Ams/Community/Messages: get: tags: - Content and Community summary: List member messages description: >- Modeled. Reads community in-box messaging with read/unread status. The legacy XML API documents sent/received message calls and read status. operationId: listMessages responses: '200': description: A list of member messages. /Ams/Community/Groups: get: tags: - Content and Community summary: List groups / subgroups description: Modeled. Lists community groups and subgroups and their membership. operationId: listGroups responses: '200': description: A list of groups. /Ams/Store/Orders: get: tags: - Commerce and Sales summary: List store orders description: >- Modeled from the legacy XML API store-order calls. Returns YM Store orders filterable by status (open, processed, shipped, closed, cancelled). operationId: listOrders parameters: - name: status in: query required: false schema: type: string enum: [open, processed, shipped, closed, cancelled] responses: '200': description: A list of store orders. /Ams/Store/Orders/{orderId}: get: tags: - Commerce and Sales summary: Get a store order description: Modeled. Returns details for a single store order. operationId: getOrder parameters: - name: orderId in: path required: true schema: type: string responses: '200': description: A single store order. /Ams/Exports/Transactions: get: tags: - Commerce and Sales summary: Export transactions and donations description: >- Modeled from the legacy XML API system-admin (Sa) export calls, which expose donation and transaction exports for finance reconciliation. operationId: exportTransactions responses: '200': description: A transactions / donations export. components: securitySchemes: oauth2: type: oauth2 description: >- OAuth authentication for the YM REST API, established via POST /Ams/Authenticate. The YMCareers API instead uses an API_ACCESS_TOKEN (15-minute) Authorization header or a non-expiring X-API-KEY header. flows: clientCredentials: tokenUrl: https://ws.yourmembership.com/Ams/Authenticate scopes: {}