List projects

GET /projects

Manage your projects.

Query parameters

  • expand array[string]

    One or more references to expand. Any of client, planItems, departments

    Values are client, planItems, or departments.

  • project array[string]

    One or more project IDs to filter the results by. This is the _id value of the project.

  • projectStatus array[string]

    One or more project statuses to filter the results by.

  • program array[string]

    One or more project programs to filter the results by.

  • A date query to filter the results by the last updatedAt field. Format is [operation] [date], e.g. updatedAt=gt 2025-02-24T00:00:00.000Z. Acceptable operations are lt = lower than, lte = lower than or equal, gt = greater than, gte = greater than or equal. The date is in ISOString.

  • A start date query to filter the results by. Format is [operation] [date], e.g. startDate=gt 2025-02-24T00:00:00.000Z. Acceptable operations are lt = lower than, lte = lower than or equal, gt = greater than, gte = greater than or equal. The date is in ISOString.

  • endDate string

    An end date query to filter the results by. Format is [operation] [date], e.g. endDate=gt 2025-02-24T00:00:00.000Z. Acceptable operations are lt = lower than, lte = lower than or equal, gt = greater than, gte = greater than or equal. The date is in ISOString.

  • select array[string]

    One or more properties to be included in the response, instead of the full payload. E.g. select=endDate,projectStatus

Responses

  • 200 application/json

    Successful response

    Hide response attribute Show response attribute object
    • value array[object]
      Hide value attributes Show value attributes object
      • _id string(ObjectId)

        The unique document ID.

      • createdBy string(ObjectId)

        The creator's unique document ID.

      • createdAt string(date-time)

        The date the document was created in ISOString format. See .toISOString().

      • updatedAt string(date-time)

        The date the document was last updated in ISOString format. See .toISOString().

      • org string(ObjectId)

        The organization's unique document ID.

      • startDate string(date-time)

        The start date in ISOString format. See .toISOString().

      • endDate string(date-time)

        The end date in ISOString format. See .toISOString().

      • client string(ObjectId)

        expandable The client's (or vendor, account, etc.) unique document ID referencing the organization's client, i.e. org.clients[]._id.

      • customId string

        A custom identifier for internal reference by your system (not used by missionX).

      • title string

        The title of your project.

      • A description of your project.

      • A custom identifier for your project.

      • The status of the project.

        Values are open, completed, or cancelled. Default value is open.

      • departments array[string(ObjectId)]

        References the organization's departments, i.e. org.departments[]._id.

      • offices array[string(ObjectId)]

        References the organization's offices, i.e. org.offices[]._id.

      • The project's billing scope.

        Values are milestones or timeAndMaterials.

      • budget number(float)

        The total project budget.

        Minimum value is 0.

      • If true, time tracking features will be enabled for this project.

        Default value is false.

      • currency string(currency)

        The project's default currency in ISO 4217 format. E.g. EUR, CAD, USD, etc. If not provided, inherits from the organization.

      • inviteDomains array[string]

        Restricts invites to the project only to these email domains, e.g. ['missionx.ai']. If not provided, defaults to a single value of ['ANY'] where any email domain can be invited to the project.

      • Determines the type of project. Cannot be changed later.

        Values are smart-simple, modern-kanban, mx-gantt, or structured-agile.

      • The project's total file storage usage in bytes.

        Default value is 0.

      • planItems array[string(ObjectId)]

        The project's list of plan items.

      • customProperties array[object]

        Display custom properties on the project's information page that are not supported by missionX out of the box.

        Hide customProperties attributes Show customProperties attributes object
        • name string

          The custom property name.

        • The custom property value. It can be of any type.

        • canView string

          The minimum role that is allowed to view this property. E.g. If set to manager, both a manager and an admin can view it, but not a member.

          Values are member, manager, or admin.

        • Optional additional information about this property.

      • people array[object]

        Key people on the project only. For the full list of people on the project, fetch the individual project.

        Hide people attributes Show people attributes object
        • _id string(ObjectId)

          The unique document ID.

        • Determines the person's permissions within the project. A member can do basic work on the project, a manager has additional control over the project, like managing basic settings, project duration, people rates, etc. and an admin has full control over the project. The observer can view everything, but not change anything.

          Values are member, manager, admin, or observer.

        • person string

          expandable The person's unique document ID.

        • role string

          Reference to an org role, i.e. org.roles[]._id

        • The title of the role. E.g. Director of Sales

        • email string(email)

          The person's email in the project.

        • If true, this person can act as a project manager. A project manager can assign resources to roles, approve leave requests, etc.

          Default value is false.

        • rate number(float)

          The person's charge rate.

          Minimum value is 0.

        • rateTime string

          The person's charge rate time.

          Values are oneTime, recurring, hourly, daily, weekly, monthly, or yearly.

        • invitePendingSince number(integer)

          The timestamp the person was invited to the project. If this field is defined, it means that the invitation is still pending.

        • praise number(integer)

          The number of praises this person has received.

          Minimum value is 0.

GET /projects
curl \
 --request GET 'https://open.api.missionx.ai/v1/projects' \
 --header "Authorization: Bearer $ACCESS_TOKEN"
Response examples (200)
{
  "value": [
    {
      "_id": "string",
      "createdBy": "string",
      "createdAt": "2025-05-04T09:42:00Z",
      "updatedAt": "2025-05-04T09:42:00Z",
      "org": "string",
      "startDate": "2025-05-04T09:42:00Z",
      "endDate": "2025-05-04T09:42:00Z",
      "client": "string",
      "customId": "string",
      "title": "string",
      "description": "string",
      "projectCode": "string",
      "projectStatus": "open",
      "departments": [
        "string"
      ],
      "offices": [
        "string"
      ],
      "revenueType": "milestones",
      "budget": 42.0,
      "timeTrackingEnabled": false,
      "currency": "string",
      "inviteDomains": [
        "string"
      ],
      "projectType": "smart-simple",
      "usageStorage": 0,
      "planItems": [
        "string"
      ],
      "customProperties": [
        {
          "name": "string",
          "canView": "member",
          "description": "string"
        }
      ],
      "people": [
        {
          "_id": "string",
          "permission": "member",
          "person": "string",
          "role": "string",
          "roleTitle": "string",
          "email": "hello@example.com",
          "isProjectManager": false,
          "rate": 42.0,
          "rateTime": "oneTime",
          "invitePendingSince": 42.0,
          "praise": 42.0
        }
      ]
    }
  ]
}