Mavenlink Organization Memberships API

An Organization Membership represents the connection of a user and project to an organization.

Operations 5

GET /organization_memberships Fetching a list of Organization Memberships #
POST /organization_memberships Creating a new Organization Membership #
GET /organization_memberships/{id} Fetching a single Organization Membership #
PUT /organization_memberships/{id} Updating an existing Organization Membership #
DELETE /organization_memberships/{id} Deleting an existing Organization Membership #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/mavenlink-organization-memberships-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

mavenlink-organization-memberships-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 1.0.0
  title: Kantata OX API Documentation Organization Memberships API
  description: Kantata OX's API provides access to the majority of Kantata OX's data model.
  termsOfService: https://www.kantata.com/terms-of-use
  contact:
    name: Kantata OX Support
    url: https://knowledge.kantata.com/hc/en-us
  license:
    name: COPYRIGHT © 2026 Kantata, Inc.
    url: https://www.kantata.com/terms-of-use
  x-logo:
    url: https://theme.zdassets.com/theme_assets/56104/04e93064d309f75d054b8cee885d1ea51e9be8f7.png
    backgroundColor: '#FFFFFF'
    altText: Kantata OX API Documentation
    href: https://developer.kantata.com
servers:
- url: https://api.mavenlink.com/api/v1
tags:
- name: Organization Memberships
  description: An Organization Membership represents the connection of a user and project to an organization.
paths:
  /organization_memberships:
    get:
      summary: Fetching a list of Organization Memberships
      description: 'This endpoint returns structured Organization Membership objects.

        As with all Kantata OX API endpoints, the returned data will be referenced in sorted order in the `results` array

        and will be indexed by ID in the `organization_memberships` top-level JSON key.

        Please see our Response Format section for more information.'
      operationId: Get Organization Memberships
      tags:
      - Organization Memberships
      parameters:
      - in: query
        name: created_after
        description: Filter for records created after a specified datetime. The datetime must be in [ISO 8601](https://www.w3.org/TR/NOTE-datetime) format.
        schema:
          type: string
          format: date-time
      - in: query
        name: created_before
        description: Filter for records created before a specified datetime. The datetime must be in [ISO 8601](https://www.w3.org/TR/NOTE-datetime) format.
        schema:
          type: string
          format: date-time
      - in: query
        name: department_id
        description: Returns only organization memberships with the specified department ID.
        schema:
          type: integer
          format: int32
      - in: query
        name: geography_id
        description: Returns only organization memberships with the specified geography ID.
        schema:
          type: integer
          format: int32
      - in: query
        name: include
        description: 'Any of the below associations can be included in your request by providing the `include` param, e.g. `include=association1,association2`.

          - `department` (Organization) - The department of the associated member.

          - `geography` (Organization) - The geography of the associated member.'
        schema:
          type: string
      - in: query
        name: member_id
        description: Returns only organization memberships with the specified member ID.
        schema:
          type: integer
          format: int32
      - in: query
        name: member_type
        description: Returns only organization memberships with the specified member type (user or workspace).
        schema:
          type: string
      - in: query
        name: only
        description: 'Allows you to request one or more resources directly by ID. Multiple IDs can be supplied

          in a comma separated list, like `GET /api/v1/workspaces.json?only=5,6,7`.'
        schema:
          type: string
      - in: query
        name: page
        schema:
          type: integer
          format: int32
          default: 1
      - in: query
        name: per_page
        schema:
          type: integer
          format: int32
          default: 20
          maximum: 200
      - in: query
        name: primary
        description: 'Return only the organization membership that is set as the primary for the object (`true`) or only the organization memberships that

          are not the primary (`false`). This filter requires the primary organization feature.'
        schema:
          type: boolean
      - in: query
        name: updated_after
        description: Filter for records updated after a specified datetime. The datetime must be in [ISO 8601](https://www.w3.org/TR/NOTE-datetime) format.
        schema:
          type: string
          format: date-time
      - in: query
        name: updated_before
        description: Filter for records updated before a specified datetime. The datetime must be in [ISO 8601](https://www.w3.org/TR/NOTE-datetime) format.
        schema:
          type: string
          format: date-time
      responses:
        '200':
          description: A list of Organization Memberships have been retrieved.
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: integer
                    format: int32
                  meta:
                    type: object
                    properties:
                      count:
                        type: integer
                        format: int32
                      page_count:
                        type: integer
                        format: int32
                      page_number:
                        type: integer
                        format: int32
                      page_size:
                        type: integer
                        format: int32
                  results:
                    type: array
                    items:
                      type: object
                      properties:
                        key:
                          type: string
                        id:
                          type: string
                  organization_memberships:
                    type: object
                    additionalProperties:
                      $ref: '#/components/schemas/OrganizationMembership'
                  organizations:
                    type: object
                    additionalProperties:
                      $ref: '#/components/schemas/Organization'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
        '401':
          description: Unauthorized request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
        '403':
          description: Forbidden request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
        '404':
          description: Page Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
        '503':
          description: Service is unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
    post:
      summary: Creating a new Organization Membership
      description: 'Applies an organization to a workspace (project) or user.


        **Bulk Create**


        This endpoint supports bulk creating up to 100 objects. In the request body, set the top-level key to its plural form and place the objects in an array. Example:


        ```

        {

        "organization_memberships": [

        {

        "geography_id": 123,

        "department_id": 456,

        "member_id": 111,

        "member_type": "User"

        },

        {

        "geography_id": 123,

        "department_id": 456,

        "member_id": 222,

        "member_type": "User"

        }

        ]

        }

        ```


        This endpoint returns structured Organization Membership objects.

        As with all Kantata OX API endpoints, the returned data will be referenced in sorted order in the `results` array

        and will be indexed by ID in the `organization_memberships` top-level JSON key.

        Please see our Response Format section for more information.'
      operationId: Create Organization Membership
      tags:
      - Organization Memberships
      parameters:
      - in: query
        name: include
        description: 'Any of the below associations can be included in your request by providing the `include` param, e.g. `include=association1,association2`.

          - `department` (Organization) - The department of the associated member.

          - `geography` (Organization) - The geography of the associated member.'
        schema:
          type: string
      responses:
        '200':
          description: Organization Membership has been created.
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: integer
                    format: int32
                  meta:
                    type: object
                    properties:
                      count:
                        type: integer
                        format: int32
                      page_count:
                        type: integer
                        format: int32
                      page_number:
                        type: integer
                        format: int32
                      page_size:
                        type: integer
                        format: int32
                  results:
                    type: array
                    items:
                      type: object
                      properties:
                        key:
                          type: string
                        id:
                          type: string
                  organization_memberships:
                    type: object
                    additionalProperties:
                      $ref: '#/components/schemas/OrganizationMembership'
                  organizations:
                    type: object
                    additionalProperties:
                      $ref: '#/components/schemas/Organization'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
        '401':
          description: Unauthorized request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
        '403':
          description: Forbidden request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
        '404':
          description: Page Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
        '503':
          description: Service is unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                organization_membership:
                  type: object
                  properties:
                    geography_id:
                      type: integer
                      format: int32
                      description: The ID of the membership's geography.
                    department_id:
                      type: integer
                      format: int32
                      description: The ID of the membership's department.
                    member_id:
                      type: integer
                      format: int32
                      description: The ID of the project or user.
                    member_type:
                      type: string
                      description: The type of object that describes the member (workspace or user).
                  required:
                  - geography_id
                  - department_id
                  - member_id
                  - member_type
        required: true
  /organization_memberships/{id}:
    get:
      summary: Fetching a single Organization Membership
      description: 'This endpoint returns structured Organization Membership objects.

        As with all Kantata OX API endpoints, the returned data will be referenced in sorted order in the `results` array

        and will be indexed by ID in the `organization_memberships` top-level JSON key.

        Please see our Response Format section for more information.'
      operationId: Get Organization Membership
      tags:
      - Organization Memberships
      parameters:
      - in: path
        name: id
        required: true
        description: The ID of the Model.
        schema:
          type: integer
      - in: query
        name: include
        description: 'Any of the below associations can be included in your request by providing the `include` param, e.g. `include=association1,association2`.

          - `department` (Organization) - The department of the associated member.

          - `geography` (Organization) - The geography of the associated member.'
        schema:
          type: string
      responses:
        '200':
          description: The Organization Membership has been retrieved.
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: integer
                    format: int32
                  meta:
                    type: object
                    properties:
                      count:
                        type: integer
                        format: int32
                      page_count:
                        type: integer
                        format: int32
                      page_number:
                        type: integer
                        format: int32
                      page_size:
                        type: integer
                        format: int32
                  results:
                    type: array
                    items:
                      type: object
                      properties:
                        key:
                          type: string
                        id:
                          type: string
                  organization_memberships:
                    type: object
                    additionalProperties:
                      $ref: '#/components/schemas/OrganizationMembership'
                  organizations:
                    type: object
                    additionalProperties:
                      $ref: '#/components/schemas/Organization'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
        '401':
          description: Unauthorized request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
        '403':
          description: Forbidden request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
        '404':
          description: Page Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
        '503':
          description: Service is unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
    put:
      summary: Updating an existing Organization Membership
      description: 'This endpoint returns structured Organization Membership objects.

        As with all Kantata OX API endpoints, the returned data will be referenced in sorted order in the `results` array

        and will be indexed by ID in the `organization_memberships` top-level JSON key.

        Please see our Response Format section for more information.'
      operationId: Update Organization Membership
      tags:
      - Organization Memberships
      parameters:
      - in: path
        name: id
        required: true
        description: The ID of the Model.
        schema:
          type: integer
      - in: query
        name: include
        description: 'Any of the below associations can be included in your request by providing the `include` param, e.g. `include=association1,association2`.

          - `department` (Organization) - The department of the associated member.

          - `geography` (Organization) - The geography of the associated member.'
        schema:
          type: string
      responses:
        '200':
          description: Organization Membership has been updated.
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: integer
                    format: int32
                  meta:
                    type: object
                    properties:
                      count:
                        type: integer
                        format: int32
                      page_count:
                        type: integer
                        format: int32
                      page_number:
                        type: integer
                        format: int32
                      page_size:
                        type: integer
                        format: int32
                  results:
                    type: array
                    items:
                      type: object
                      properties:
                        key:
                          type: string
                        id:
                          type: string
                  organization_memberships:
                    type: object
                    additionalProperties:
                      $ref: '#/components/schemas/OrganizationMembership'
                  organizations:
                    type: object
                    additionalProperties:
                      $ref: '#/components/schemas/Organization'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
        '401':
          description: Unauthorized request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
        '403':
          description: Forbidden request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
        '404':
          description: Page Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
        '503':
          description: Service is unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                organization_membership:
                  type: object
                  properties:
                    geography_id:
                      type: integer
                      format: int32
                      description: The ID of the membership's geography.
                    department_id:
                      type: integer
                      format: int32
                      description: The ID of the membership's department.
        required: true
    delete:
      summary: Deleting an existing Organization Membership
      description: 'The response will contain no content and an HTTP 204 status code if the request was

        successful, or a standard Kantata OX error message explaining why the object could not be deleted.'
      operationId: Delete Organization Membership
      tags:
      - Organization Memberships
      parameters:
      - in: path
        name: id
        required: true
        description: The ID of the Model.
        schema:
          type: integer
      responses:
        '204':
          description: Organization Membership has been deleted.
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
        '401':
          description: Unauthorized request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
        '403':
          description: Forbidden request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
        '404':
          description: Page Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
        '503':
          description: Service is unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
components:
  schemas:
    Organization:
      title: Organization
      description: 'An Organization allows you to structure and group your projects and account members by

        departments and geographies.'
      type: object
      properties:
        ancestor_ids:
          type: array
          items:
            type: string
          description: The ids of all ancestors of the organization.
        created_at:
          type: string
          format: date-time
        name:
          type: string
          description: The unique name of the organization.
        parent_id:
          type: string
          description: The id of the parent organization.
        type:
          type: string
          description: The type of the organization, either 'Geography' or 'Department'.
        updated_at:
          type: string
          format: date-time
    Errors:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Error'
    OrganizationMembership:
      title: Organization Membership
      description: An Organization Membership represents the connection of a user and project to an organization.
      type: object
      properties:
        created_at:
          type: string
          format: date-time
        department_id:
          type: string
          description: '`department_id` will only be included in the response if `department` is in the list of included associations. See <a href=''#section/Includes''>include</a> section for usage.'
        geography_id:
          type: string
          description: '`geography_id` will only be included in the response if `geography` is in the list of included associations. See <a href=''#section/Includes''>include</a> section for usage.'
        member_id:
          type: string
          description: The ID of the project or user.
        member_type:
          type: string
          description: The type of object that describes the member (workspace or user).
        primary:
          type: boolean
          description: 'Indicates whether this is the primary organization for the member (user or workspace).

            Visible when the primary organization feature is enabled.'
        updated_at:
          type: string
          format: date-time
    Error:
      type: object
      properties:
        type:
          type: string
        message:
          type: string
  securitySchemes:
    BearerToken:
      type: apiKey
      name: Bearer
      in: header
    OauthSecurity:
      type: oauth2
      flows:
        authorizationCode:
          scopes: {}
          authorizationUrl: https://app.mavenlink.com/oauth/authorize
          tokenUrl: https://app.mavenlink.com/oauth/token
x-tagGroups:
- name: '# Subscribed Events'
  tags:
  - Event Types
  - Events
- name: Account Locations
  tags:
  - Account Locations
- name: Account Settings & Members
  tags:
  - Access Group Memberships
  - Account Colors
  - Account Invitations
  - Account Memberships
  - Backup Approver Associations
  - Billable Utilizations
  - Cost Rates
  - Custom Branding
  - Organization Memberships
  - Organizations
  - Roles
  - Skill Categories
  - Skill Memberships
  - Skills
  - Task Status Sets
  - Task Statuses
  - User Group Memberships
  - Users
- name: Currencies
  tags:
  - Currencies
- name: Custom Fields
  tags:
  - Custom Field Choices
  - Custom Field Sets
  - Custom Field Values
  - Custom Fields
- name: Data Exporter
  tags:
  - Data Export Schema
  - Data Exports
- name: Estimates
  tags:
  - Estimate Scenario Resource Allocations
  - Estimate Scenario Resources
  - Estimate Scenarios
  - Estimates
- name: Expense Budgets
  tags:
  - Expense Budgets
- name: Expense Tracking
  tags:
  - Attachments
  - Expense Categories
  - Expense Report Submissions
  - Expenses
  - Vendors
- name: External References
  tags:
  - External References
- name: Financials
  tags:
  - Billing Milestones
  - Revenue Recognition Methods
- name: Foreign Exchange
  tags:
  - Exchange Tables
- name: Insights & Analytics
  tags:
  - Insights Access Group Memberships
  - Insights Dynamic Dashboards
  - Insights Report Exports
  - Insights Reports
- name: Invoices
  tags:
  - Client Invoice Defaults
  - External Payments
  - Invoices
  - Workspace Invoice Preferences
- name: Personal Settings
  tags:
  - Users
- name: Posts & Replies
  tags:
  - Attachments
  - Posts
  - User File Associations
- name: Project Snapshots
  tags:
  - Project Snapshots
- name: Project Templates
  tags:
  - Project Template Additional Tabs
  - Project Template Assignments
  - Project Template Expense Budgets
  - Project Templates
- name: Projects
  tags:
  - Participations
  - Project Accounting Records
  - Status Reports
  - Workspace Allocations
  - Workspace Baselines
  - Workspace Groups
  - Workspace Invoice Preferences
  - Workspace Resource Skills
  - Workspace Resources
  - Workspace Status Changes
  - Workspace Task Status Sets
  - Workspaces
- name: Rate Cards
  tags:
  - Activations
  - Rate Card Role (Rate for a Role)
  - Rate Card Set Version (Effective version by Date)
  - Rate Card Sets (Group of Rate Cards)
  - Rate Card Table Rows
  - Rate Card Versions
  - Rate Cards (Multiple Currencies)
- name: Recommendations
  tags:
  - Recommendations
- name: Resource Requests
  tags:
  - Resource Requests
- name: Scheduling
  tags:
  - Holiday Calendar Associations
  - Holiday Calendar Memberships
  - Holiday Calendars
  - Holidays
  - Time Off Entries
  - Workweek Memberships
  - Workweeks
- name: Surveys (Legacy)
  tags:
  - Survey Answers (Legacy)
  - Survey Questions (Legacy)
  - Survey Templates (Legacy)
  - Surveys Responses (Legacy)
- name: Tasks
  tags:
  - Assignments
  - Daily Scheduled Hours (Story Allocation Days)
  - Followers
  - Stories
  - Story Dependencies
  - Story State Changes
  - Story Tasks
- name: Time Tracking
  tags:
  - Line Item Locks
  - Time Entries
  - Timesheet Approvals
  - Timesheet Cancellations
  - Timesheet Rejections
  - Timesheet Submissions