Showpad Mutual Action Plan API

These are endpoints for managing Mutual Action Plans

Operations 15

POST /mutual-action-plan Create MAP #
GET /mutual-action-plan Get list of MAPs #
DELETE /mutual-action-plan/{mutualActionPlanId} Delete MAP #
GET /mutual-action-plan/{mutualActionPlanId}/participants Get Participants #
GET /mutual-action-plan/{mutualActionPlanId}/participants/self Get current participant #
GET /mutual-action-plan/{mutualActionPlanId}/participants/self/settings Get Participant's Settings #
PATCH /mutual-action-plan/{mutualActionPlanId}/participants/self/settings Update Participant's Settings #
POST /mutual-action-plan/{mutualActionPlanId}/milestones Create Milestone #
DELETE /mutual-action-plan/{mutualActionPlanId}/milestones/{milestoneId} Delete Milestone #
PATCH /mutual-action-plan/{mutualActionPlanId}/milestones/{milestoneId} Update Milestone #
POST /mutual-action-plan/{mutualActionPlanId}/milestones/{milestoneId}/actions Create Action #
DELETE /mutual-action-plan/{mutualActionPlanId}/milestones/{milestoneId}/actions/{actionId} Delete Action #
PATCH /mutual-action-plan/{mutualActionPlanId}/milestones/{milestoneId}/actions/{actionId} Update Action #
POST /mutual-action-plan/{mutualActionPlanId}/milestones/{milestoneId}/actions/{actionId}/assignees Create Assignee #
DELETE /mutual-action-plan/{mutualActionPlanId}/milestones/{milestoneId}/actions/{actionId}/assignees/{assigneeId} Delete Assignee #

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/showpad-mutual-action-plan-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

showpad-mutual-action-plan-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Showpad Mutual Action Plan API
  description: 'This [OAS](https://swagger.io/specification/) document is intended for developers or engineers who will be

    integrating their platform with Showpad API.


    The base URL of this API is patterned as `https://{subdomain}.api.showpad.com/v4` where `{subdomain}` is the

    provided subdomain of the customer, i.e., `https://xyz-org.api.showpad.com/v4` will be the API base URL of a

    customer that has a `xyz-org` subdomain.

    '
  version: '4'
  termsOfService: https://www.showpad.com/terms-of-service
  contact:
    name: Showpad
    email: support@showpad.com
    url: https://help.showpad.com/hc/en-us/requests/new
  x-serviceName: Showpad API
  x-logo:
    url: ./Showpad-logo-vertical-blue.png
    altText: Showpad Developer API
  x-audience: external-partner
servers:
- url: https://{subdomain}.api.showpad.com/v4
  description: Production server
  x-environment: production
  variables:
    subdomain:
      default: customer
      description: Showpad customer subdomain
tags:
- name: mutual-action-plan
  x-displayName: Mutual Action Plan
  description: These are endpoints for managing Mutual Action Plans
paths:
  /mutual-action-plan:
    post:
      operationId: postMap
      summary: Create MAP
      description: 'Create a new Mutual Action Plan (MAP) associated with a specific context, such as a Shared Space or Shared Space Template. A MAP helps structure collaboration by defining shared goals, actions, and timelines between participants.


        Use this endpoint when you need to:

        - Create a MAP for a specific Shared Space or template context

        - Initialize a new MAP based on an existing source MAP

        - Programmatically manage MAP creation as part of a workflow or integration'
      tags:
      - mutual-action-plan
      security:
      - BearerAuth: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                contextType:
                  type: string
                  enum:
                  - SHARED-SPACE
                  - SHARED-SPACE-TEMPLATE
                  description: The type of context the Mutual Action Plan (MAP) is created for. This determines whether the MAP is associated with a Shared Space or a Shared Space Template.
                contextId:
                  type: string
                  description: The unique identifier of the context (Shared Space or Shared Space Template) to which the MAP will be attached.
                sourceMapId:
                  type: string
                  description: Optional identifier of an existing MAP to use as a starting point. When provided, the new MAP is created by copying the structure of the source MAP.
              required:
              - contextType
              - contextId
      responses:
        '201':
          description: Mutual Action Plan created successfully. The response returns the newly created MAP and its associated context.
          content:
            application/json:
              schema:
                type: object
                required:
                - id
                - context
                - createdAt
                - updatedAt
                additionalProperties: false
                properties:
                  id:
                    type: string
                    description: Unique identifier of the Mutual Action Plan (MAP).
                  context:
                    type: object
                    required:
                    - type
                    - id
                    description: Context to which the Mutual Action Plan (MAP) belongs, including its type and identifier.
                    properties:
                      type:
                        type: string
                        enum:
                        - SHARED-SPACE
                        - SHARED-SPACE-TEMPLATE
                        description: The type of context the Mutual Action Plan (MAP) is associated with.
                      id:
                        type: string
                        description: The unique identifier of the context (Shared Space or Shared Space Template).
                  createdAt:
                    type: string
                    description: Timestamp indicating when the Mutual Action Plan (MAP) was created.
                    format: date-time
                  updatedAt:
                    type: string
                    description: Timestamp indicating when the Mutual Action Plan (MAP) was last updated.
                    format: date-time
        default:
          description: An error occurred while processing the request. The response provides structured error details to help identify and resolve the issue.
          content:
            application/problem+json:
              schema:
                type: object
                required:
                - title
                - detail
                - status
                - type
                properties:
                  id:
                    type: string
                    pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
                  title:
                    type: string
                    description: "A short summary of the problem type. Written in English and readable\n        for engineers (usually not suited for non-technical stakeholders and\n        not localized)."
                    example: Invalid payload
                  detail:
                    type: string
                    description: A human readable explanation specific to this occurrence of the problem
                    example: Property value provided is not a valid.
                  status:
                    type: integer
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    format: int32
                    minimum: 400
                    maximum: 599
                    example: 400
                  meta:
                    type: array
                    description: Additional information to support the error
                    items:
                      type: object
                      required:
                      - name
                      - reason
                      - category
                      description: Additional payload to support the encountered error.
                      properties:
                        name:
                          type: string
                          description: The name of the affected resource attribute.
                          example: color
                        reason:
                          type: string
                          description: The explanation of the problem.
                          example: Value must be 'green', 'red' or 'blue'.
                        category:
                          type: string
                          description: The error category.
                          example: propertyRequired
                  type:
                    type: string
                    pattern: ^(\/[a-z]+(-[a-z]+)*)+$
                    description: URI reference of the error.
                    example: /errors/not-found
    get:
      operationId: gesMaps
      summary: Get list of MAPs
      description: 'Retrieve a list of Mutual Action Plans (MAPs) available to the authenticated user. MAPs are returned based on access to their associated context, such as Shared Spaces. Administrators can retrieve all MAPs across the organization.


        Use this endpoint when you need to:

        - List MAPs associated with a specific Shared Space

        - Filter MAPs by context to support targeted workflows

        - Build dashboards or interfaces displaying MAP activity


        Supports filtering by context and is useful for managing collaboration workflows and tracking shared plans across different contexts.'
      tags:
      - mutual-action-plan
      security:
      - BearerAuth: []
      parameters:
      - schema:
          type: string
          enum:
          - SHARED-SPACE
        required: true
        description: Specifies the type of context to filter Mutal Action Plans (MAPs) by. Currently, only Shared Space contexts are supported.
        name: contextType
        in: query
      - schema:
          type: string
        required: false
        description: Optional filter to return only Mutual Action Plans (MAPs) associated with a specific context. When provided, only MAPs linked to this context ID are included in the response.
        name: contextId
        in: query
      responses:
        '200':
          description: OK. The request was successful. Returns the list of Mutual Action Plans (MAPs) accessible to the user based on context permissions.
          content:
            application/json:
              schema:
                type: object
                required:
                - items
                description: A list of Mutual Action Plans (MAPs) matching the request criteria.
                properties:
                  items:
                    type: array
                    items:
                      type: object
                      required:
                      - id
                      - context
                      - createdAt
                      - updatedAt
                      additionalProperties: false
                      properties:
                        id:
                          type: string
                          description: Unique identifier of the Mutual Action Plan (MAP).
                        context:
                          oneOf:
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                - SHARED-SPACE
                              id:
                                type: string
                                description: The unique identifier of the associated context.
                              title:
                                type: string
                                description: The title of the associated Shared Space.
                            required:
                            - type
                            - id
                            - title
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                - SHARED-SPACE-TEMPLATE
                              id:
                                type: string
                            required:
                            - type
                            - id
                          description: The context to which the Mutual Action Plan is associated.
                        createdAt:
                          type: string
                          description: Timestamp indicating when the Mutual Action Plan (MAP) was created.
                          format: date-time
                        updatedAt:
                          type: string
                          description: Timestamp indicating when the Mutual Action Plan (MAP) was last updated.
                          format: date-time
        default:
          description: An error occurred while processing the request. The response provides structured error details to help identify and resolve the issue.
          content:
            application/problem+json:
              schema:
                type: object
                required:
                - title
                - detail
                - status
                - type
                properties:
                  id:
                    type: string
                    pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
                  title:
                    type: string
                    description: "A short summary of the problem type. Written in English and readable\n        for engineers (usually not suited for non-technical stakeholders and\n        not localized)."
                    example: Invalid payload
                  detail:
                    type: string
                    description: A human readable explanation specific to this occurrence of the problem
                    example: Property value provided is not a valid.
                  status:
                    type: integer
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    format: int32
                    minimum: 400
                    maximum: 599
                    example: 400
                  meta:
                    type: array
                    description: Additional information to support the error
                    items:
                      type: object
                      required:
                      - name
                      - reason
                      - category
                      description: Additional payload to support the encountered error.
                      properties:
                        name:
                          type: string
                          description: The name of the affected resource attribute.
                          example: color
                        reason:
                          type: string
                          description: The explanation of the problem.
                          example: Value must be 'green', 'red' or 'blue'.
                        category:
                          type: string
                          description: The error category.
                          example: propertyRequired
                  type:
                    type: string
                    pattern: ^(\/[a-z]+(-[a-z]+)*)+$
                    description: URI reference of the error.
                    example: /errors/not-found
  /mutual-action-plan/{mutualActionPlanId}:
    delete:
      operationId: deleteMap
      summary: Delete MAP
      description: 'Permanently delete a Mutual Action Plan (MAP) by its unique identifier. Once deleted, the MAP and all associated data, including milestones and actions, are permanently removed and cannot be recovered.


        Use this endpoint when you need to:

        - Remove a MAP that is no longer needed

        - Clean up MAPs associated with a specific context

        - Programmatically manage MAP lifecycle as part of a workflow or integration


        This action is irreversible. Ensure the correct MAP identifier is provided before proceeding.'
      tags:
      - mutual-action-plan
      security:
      - BearerAuth: []
      parameters:
      - schema:
          type: string
        required: true
        description: Unique identifier of the Mutual Action Plan (MAP).
        name: mapId
        in: path
      responses:
        '204':
          description: The MAP was successfully deleted and no longer exists in the system. No response body is returned.
        default:
          description: An error occurred while processing the request. The response provides structured error details to help identify and resolve the issue.
          content:
            application/problem+json:
              schema:
                type: object
                required:
                - title
                - detail
                - status
                - type
                properties:
                  id:
                    type: string
                    pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
                  title:
                    type: string
                    description: "A short summary of the problem type. Written in English and readable\n        for engineers (usually not suited for non-technical stakeholders and\n        not localized)."
                    example: Invalid payload
                  detail:
                    type: string
                    description: A human readable explanation specific to this occurrence of the problem
                    example: Property value provided is not a valid.
                  status:
                    type: integer
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    format: int32
                    minimum: 400
                    maximum: 599
                    example: 400
                  meta:
                    type: array
                    description: Additional information to support the error
                    items:
                      type: object
                      required:
                      - name
                      - reason
                      - category
                      description: Additional payload to support the encountered error.
                      properties:
                        name:
                          type: string
                          description: The name of the affected resource attribute.
                          example: color
                        reason:
                          type: string
                          description: The explanation of the problem.
                          example: Value must be 'green', 'red' or 'blue'.
                        category:
                          type: string
                          description: The error category.
                          example: propertyRequired
                  type:
                    type: string
                    pattern: ^(\/[a-z]+(-[a-z]+)*)+$
                    description: URI reference of the error.
                    example: /errors/not-found
  /mutual-action-plan/{mutualActionPlanId}/participants:
    get:
      operationId: getParticipants
      summary: Get Participants
      description: 'Retrieve a list of participants associated with a specific Mutual Action Plan (MAP). Participants are the users who have been granted access to collaborate on the MAP.


        Use this endpoint when you need to:

        - View all participants associated with a specific MAP

        - Identify collaborators and their roles within a MAP

        - Build interfaces that display MAP membership and participation


        Only participants belonging to the specified MAP are returned. Access is limited based on the authenticated user''s permissions.'
      tags:
      - mutual-action-plan
      security:
      - BearerAuth: []
      parameters:
      - schema:
          type: string
        required: true
        description: Unique identifier of the Mutual Action Plan (MAP).
        name: mapId
        in: path
      responses:
        '200':
          description: OK. The request was successful. Returns the list of participants associated with the specified MAP.
          content:
            application/json:
              schema:
                type: object
                required:
                - items
                properties:
                  items:
                    type: array
                    description: A list of participants associated with the specified Mutual Action Plan (MAP).
                    items:
                      type: object
                      required:
                      - id
                      - status
                      - userId
                      - email
                      - avatar
                      - firstName
                      - lastName
                      properties:
                        id:
                          type: string
                          description: Unique identifier of the participant.
                        status:
                          type: string
                          enum:
                          - ACTIVE
                          - INACTIVE
                          description: The current status of the participant within the MAP.
                        userId:
                          type:
                          - string
                          - 'null'
                          description: The unique identifier of the user associated with this participant.
                        email:
                          type: string
                          description: The email address of the participant.
                        avatar:
                          type:
                          - string
                          - 'null'
                          description: URL of the participant's avatar image.
                        firstName:
                          type:
                          - string
                          - 'null'
                          description: The first name of the participant.
                        lastName:
                          type:
                          - string
                          - 'null'
                          description: The last name of the participant.
        default:
          description: An error occurred while processing the request. The response provides structured error details to help identify and resolve the issue.
          content:
            application/problem+json:
              schema:
                type: object
                required:
                - title
                - detail
                - status
                - type
                properties:
                  id:
                    type: string
                    pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
                  title:
                    type: string
                    description: "A short summary of the problem type. Written in English and readable\n        for engineers (usually not suited for non-technical stakeholders and\n        not localized)."
                    example: Invalid payload
                  detail:
                    type: string
                    description: A human readable explanation specific to this occurrence of the problem
                    example: Property value provided is not a valid.
                  status:
                    type: integer
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    format: int32
                    minimum: 400
                    maximum: 599
                    example: 400
                  meta:
                    type: array
                    description: Additional information to support the error
                    items:
                      type: object
                      required:
                      - name
                      - reason
                      - category
                      description: Additional payload to support the encountered error.
                      properties:
                        name:
                          type: string
                          description: The name of the affected resource attribute.
                          example: color
                        reason:
                          type: string
                          description: The explanation of the problem.
                          example: Value must be 'green', 'red' or 'blue'.
                        category:
                          type: string
                          description: The error category.
                          example: propertyRequired
                  type:
                    type: string
                    pattern: ^(\/[a-z]+(-[a-z]+)*)+$
                    description: URI reference of the error.
                    example: /errors/not-found
  /mutual-action-plan/{mutualActionPlanId}/participants/self:
    get:
      operationId: getParticipantSelf
      summary: Get current participant
      description: 'Retrieve the participant profile of the currently authenticated user within a specific Mutual Action Plan (MAP).


        Use this endpoint when you need to:

        - Retrieve your own participant details within a MAP

        - Determine your role and status within a specific MAP

        - Display the current user''s participation information in a MAP interface


        Only the participant record associated with the authenticated user is returned. If the user is not a participant of the specified MAP, an error is returned.'
      tags:
      - mutual-action-plan
      security:
      - BearerAuth: []
      parameters:
      - schema:
          type: string
        required: true
        description: Unique identifier of the Mutual Action Plan (MAP).
        name: mapId
        in: path
      responses:
        '200':
          description: OK. The request was successful. Returns the participant profile of the currently authenticated user within the specified MAP.
          content:
            application/json:
              schema:
                type: object
                required:
                - id
                - status
                - userId
                - email
                - avatar
                - firstName
                - lastName
                properties:
                  id:
                    type: string
                    description: Unique identifier of the participant.
                  status:
                    type: string
                    enum:
                    - ACTIVE
                    - INACTIVE
                    description: The current status of the participant within the MAP.
                  userId:
                    type:
                    - string
                    - 'null'
                    description: The unique identifier of the user associated with this participant.
                  email:
                    type: string
                    description: The email address of the participant.
                  avatar:
                    type:
                    - string
                    - 'null'
                    description: URL of the participant's avatar image.
                  firstName:
                    type:
                    - string
                    - 'null'
                    description: The first name of the participant.
                  lastName:
                    type:
                    - string
                    - 'null'
                    description: The last name of the participant.
        default:
          description: An error occurred while processing the request. The response provides structured error details to help identify and resolve the issue.
          content:
            application/problem+json:
              schema:
                type: object
                required:
                - title
                - detail
                - status
                - type
                properties:
                  id:
                    type: string
                    pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
                  title:
                    type: string
                    description: "A short summary of the problem type. Written in English and readable\n        for engineers (usually not suited for non-technical stakeholders and\n        not localized)."
                    example: Invalid payload
                  detail:
                    type: string
                    description: A human readable explanation specific to this occurrence of the problem
                    example: Property value provided is not a valid.
                  status:
                    type: integer
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    format: int32
                    minimum: 400
                    maximum: 599
                    example: 400
                  meta:
                    type: array
                    description: Additional information to support the error
                    items:
                      type: object
                      required:
                      - name
                      - reason
                      - category
                      description: Additional payload to support the encountered error.
                      properties:
                        name:
                          type: string
                          description: The name of the affected resource attribute.
                          example: color
                        reason:
                          type: string
                          description: The explanation of the problem.
                          example: Value must be 'green', 'red' or 'blue'.
                        category:
                          type: string
                          description: The error category.
                          example: propertyRequired
                  type:
                    type: string
                    pattern: ^(\/[a-z]+(-[a-z]+)*)+$
                    description: URI reference of the error.
                    example: /errors/not-found
  /mutual-action-plan/{mutualActionPlanId}/participants/self/settings:
    get:
      operationId: getParticipantSettings
      summary: Get Participant's Settings
      description: 'Retrieve the notification settings for the currently authenticated user within a specific Mutual Action Plan (MAP).


        Use this endpoint when you need to:

        - Retrieve the current user''s notification preferences for a specific MAP

        - Display notification settings in a user preferences interface

        - Determine which notifications are enabled for the authenticated participant


        Only the settings belonging to the authenticated user are returned. Settings are specific to the MAP identified by the provided identifier.'
      tags:
      - mutual-action-plan
      security:
      - BearerAuth: []
      parameters:
      - schema:
          type: string
        required: true
        description: Unique identifier of the Mutual Action Plan (MAP).
        name: mapId
        in: path
      responses:
        '200':
          description: OK. The request was successful. Returns the notification settings for the currently authenticated user within the specified MAP.
          content:
            application/json:
              schema:
                type: object
                required:
                - assignedActionNotifications
                - completedActionNotifications
                properties:
                  assignedActionNotifications:
                    type: boolean
                    description: Indicates whether the participant receives notifications when an action is assigned to them.
                  completedActionNotifications:
                    type: boolean
                    description: Indicates whether the participant receives notifications when an action is marked as completed.
        default:
          description: An error occurred while processing the request. The response provides structured error details to help identify and resolve the issue.
          content:
            application/problem+json:
              schema:
                type: object
                required:
                - title
                - detail
                - status
                - type
                properties:
                  id:
                    type: string
                    pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
                  title:
                    type: string
                    description: "A short summary of the problem type. Written in English and readable\n        for engineers (usually not suited for non-technical stakeholders and\n        not localized)."
                    example: Invalid payload
                  detail:
                    type: string
                    description: A human readable explanation specific to this occurrence of the problem
                    example: Property value provided is not a valid.
                  status:
                    type: integer
                    description: The HTTP status code generated by the origin server for this occurrence of the problem.
                    format: int32
                    minimum: 400
                    maximum: 599
                    example: 400
                  meta:
                    type: array
                    description: Additio

# --- truncated at 32 KB (78 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/showpad/refs/heads/main/openapi/showpad-mutual-action-plan-api-openapi.yml