Get project

GET /projects/{projectId}

Manage a specific project belonging to your organization.

Path parameters

  • projectId string Required

    The project's unique document ID.

Query parameters

  • expand array[string]

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

    Values are client, planItems, departments, people, or people.person.

Responses

  • 200 application/json

    Successful response

    Hide response attributes Show response attributes object
    • archived boolean

      Indicates whether the document has been archived.

    • _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.

    • description string

      A description of your project.

    • projectCode string

      A custom identifier for your project.

    • projectStatus string

      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.

    • revenueType string

      The project's billing scope.

      Values are milestones or timeAndMaterials.

    • budget number(float)

      The total project budget.

      Minimum value is 0.

    • timeTrackingEnabled boolean

      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.

    • projectType string

      Determines the type of project. Cannot be changed later.

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

    • usageStorage number

      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.

      • value

        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.

      • description string

        Optional additional information about this property.

    • people array[object]

      The project's list of people.

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

        The unique document ID.

      • permission string

        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 object
        Hide person attributes Show person attributes object
        • _id string(ObjectId)

          The unique document ID.

        • firstName string

          The person's first name.

        • lastName string

          The person's last name.

        • avatar string

          The person's profile picture.

        • city string

          The person's residing city.

        • country string

          The person's residing country.

        • state string

          The person's residing state.

        • timezone string

          The person's timezone in the IANA time zone database format, e.g. America/Toronto.

      • role string

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

      • roleTitle string

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

      • email string(email)

        The person's email in the project.

      • isProjectManager boolean

        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/{projectId}
curl \
 --request GET 'https://open.api.missionx.ai/v2/projects/{projectId}' \
 --header "Authorization: Bearer $ACCESS_TOKEN"
Response examples (200)
{
  "archived": true,
  "_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": {
        "_id": "string",
        "firstName": "string",
        "lastName": "string",
        "avatar": "string",
        "city": "string",
        "country": "string",
        "state": "string",
        "timezone": "string"
      },
      "role": "string",
      "roleTitle": "string",
      "email": "hello@example.com",
      "isProjectManager": false,
      "rate": 42.0,
      "rateTime": "oneTime",
      "invitePendingSince": 42.0,
      "praise": 42.0
    }
  ]
}