Mosaic Members API

Team membership / people management

OpenAPI Specification

mosaic-app-members-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Mosaic Open Members API
  version: v1
  description: 'The Mosaic Open API exposes Mosaic''s resource-management, workforce

    planning, and project data so customers can build custom integrations

    beyond Mosaic''s packaged connectors. Authentication uses an API token

    issued by your Mosaic Customer Success Manager along with your unique

    Mosaic Team ID.


    Endpoint structure: `/api/{team_id}/{data_type}` where `{data_type}` is

    one of the documented resources (team_memberships, projects, tasks,

    time_entries, work_plans, etc.). The base host is

    `https://api-server.prod.prod.us-east-1.mosaicapp.com` for multi-tenant

    customers; single-tenant customers get a per-tenant URL.


    Rate limit: 300 requests per 5 minutes (~1 req/sec). All traffic uses

    HTTPS.

    '
  contact:
    name: Mosaic
    url: https://readme.mosaicapp.com/reference/authentication
servers:
- url: https://api-server.prod.prod.us-east-1.mosaicapp.com
  description: Multi-tenant production API
security:
- apiKey: []
tags:
- name: Members
  description: Team membership / people management
paths:
  /api/{team_id}/team_memberships:
    parameters:
    - $ref: '#/components/parameters/TeamId'
    - $ref: '#/components/parameters/XOrigin'
    - $ref: '#/components/parameters/XTenant'
    - $ref: '#/components/parameters/XRealmId'
    get:
      tags:
      - Members
      operationId: listMembers
      summary: Fetches all members.
      responses:
        '200':
          description: Success
        '401':
          description: Unauthorized
        '429':
          description: Rate limited
    post:
      tags:
      - Members
      operationId: createMember
      summary: Creates a member.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        '201':
          description: Created
  /api/{team_id}/team_memberships/{id}:
    parameters:
    - $ref: '#/components/parameters/TeamId'
    - $ref: '#/components/parameters/Id'
    - $ref: '#/components/parameters/XOrigin'
    - $ref: '#/components/parameters/XTenant'
    - $ref: '#/components/parameters/XRealmId'
    get:
      tags:
      - Members
      operationId: getMember
      summary: Fetches a member.
      responses:
        '200':
          description: Success
    patch:
      tags:
      - Members
      operationId: updateMember
      summary: Updates a member.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        '200':
          description: Success
  /api/{team_id}/team_memberships/{id}/archive:
    parameters:
    - $ref: '#/components/parameters/TeamId'
    - $ref: '#/components/parameters/Id'
    - $ref: '#/components/parameters/XOrigin'
    - $ref: '#/components/parameters/XTenant'
    - $ref: '#/components/parameters/XRealmId'
    post:
      tags:
      - Members
      operationId: archiveMember
      summary: Archives a member.
      responses:
        '200':
          description: Success
components:
  parameters:
    TeamId:
      name: team_id
      in: path
      required: true
      description: Mosaic Team ID issued by your CSM.
      schema:
        type: string
    XRealmId:
      name: x-realm-id
      in: header
      required: true
      description: Realm ID (`prod` for multi-tenant customers).
      schema:
        type: string
        default: prod
    XOrigin:
      name: x-origin
      in: header
      required: true
      description: The domain used for making API calls (must match registered origin).
      schema:
        type: string
    XTenant:
      name: x-tenant
      in: header
      required: true
      description: Tenant ID (`prod` for multi-tenant customers).
      schema:
        type: string
        default: prod
    Id:
      name: id
      in: path
      required: true
      schema:
        type: string
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: Authorization
      description: 'API token issued by your Mosaic Customer Success Manager. Send as the

        raw `Authorization` header value (no `Bearer` prefix).

        '