Bridgit Projects API

The Projects API from Bridgit — 4 operation(s) for projects.

OpenAPI Specification

bridgit-projects-api-openapi.yml Raw ↑
openapi: 3.0.4
info:
  title: Bench AccountActivities Projects API
  description: "<h2>Versioning</h2>\n<p>\n    The API is currently at version <code>1.0</code>. All API endpoints (other than\n    authentication) require you to specify the API version as part of the path.\n</p>\n\n<h2>URL Paths</h2>\n<p>\n    Authentication requests should be made to <code>/auth/signin</code>,\n    as documented below. All other API requests should be made to\n    sub-paths of <code>/rp/api/1.0/...</code>.\n</p>\n\n<h2>Authentication</h2>\n<p>\n    API requests are authenticated using an OAuth Bearer token.\n    You can get a token by authenticating your user by sending a\n    POST request to <code>/auth/signin</code>, with \"username and \"password\"\n    parameters form-encoded in the body of the request.\n\n    POST /auth/signin HTTP/1.1\n    Content-Type: application/x-www-form-urlencoded\n\n    username=user@example.com&password=some-secret-password\n</p>\n<p>\n    The response will be a JSON object including both\n    <b>\"access_token\"</b> and <b>\"refresh_token\"</b> property.\n    All other requests against the Bench API should include an\n    authorization header: <code>Authorization: Bearer xxxYYYzzz</code>,\n    where <b>xxxYYYzzz</b> is the value of <b>\"access_token\"</b> in the response.\n    <br><br>\n    For example:\n\n    $ curl https://bench.gobridgit.com/auth/signin -H 'Content-Type: application/x-www-form-urlencoded' --data-urlencode 'username=someone@example.com' --data-urlencode 'password=[...snip...]'\n    {\n        \"access_token\": \"...snip...\",\n        \"token_type\": \"Bearer\",\n        \"refresh_token\": \"...snip...\"\n        \"expiry\": \"2020-01-01T00:00:00.413440849Z\"\n    }\n\n</p>\n\n<p>\n    The refresh token can be used to generate new session by request with <code>/auth/token</code> endpoint:\n\n    POST /auth/token HTTP/1.1\n    Content-Type: application/x-www-form-urlencoded\n\n    grant_type=refresh_token&refresh_token=tGzv3JOkF0XG5Qx2TlKWIA\n</p>\n<p>\n    Note that once the refresh token is used, the previous access and refresh token is no longer valid.\n    <br><br>\n    For example:\n\n    $ curl https://bench.gobridgit.com/auth/token -H 'Content-Type: application/x-www-form-urlencoded' --data-urlencode 'grant_type=refresh_token' --data-urlencode 'refresh_token=[...snip...]'\n    {\n        \"access_token\": \"...snip...\",\n        \"token_type\": \"Bearer\",\n        \"refresh_token\": \"...snip...\"\n        \"expiry\": \"2020-01-01T00:00:00.413440849Z\"\n    }\n</p>\n\n<h2>Pagination</h2>\n<p>\n    Several of the API endpoints are paginated. These are denoted by\n    including the <code>offset</code> (zero-based offset) and <code>limit</code> query\n    parameters. For example, to request the <code>10</code> items,\n    set the <code>offset=0</code> to <code>limit=10</code>.\n    <br>\n    NOTE: the result set contains items with index of 0-9\n    <br>\n    To request the next 10 items (starting at index 10),\n    set the <code>offset=10</code> to <code>limit=10</code>\n</p>\n<p>\n    Responses to paginated API endpoints return a JSON array of objects.\n    If there are results beyond the page you have requested, the server\n    will set a <code>query-has-more: true</code> header in the response.\n</p>\n\n<h2>Request Encoding</h2>\n<p>\n    <code>GET</code> and <code>DELETE</code> requests should have parameters encoded as URL query\n    parameters. Boolean values should be encoded as <code>true</code> and\n    <code>false</code>, not as <code>1</code> and <code>0</code>.\n</p>\n\n<h2>Errors</h2>\n<p>\n    Errors are returned for some response codes such as <code>400 Bad Request</code> in the\n    following format:\n\n    {\n      \"errors\": [\n        {\n          \"errorType\": \"ValidationError\",\n          \"description\": \"The value of Name must be a string with a minimum length of 1 and a maximum length of 8 and not whitespace.\",\n          \"field\": \"Name\",\n          \"values\": [\n            null\n          ]\n        }\n      ],\n      \"title\": \"One or more validation errors occurred.\",\n      \"status\": 400,\n      \"instance\": \"api/v1/accounts/0/persons\",\n      \"requestUid\": \"123e4567-e89b-12d3-a456-426614174000\"\n    }\n</p>\n"
  version: '1.0'
servers:
- url: https://bench.gobridgit.com
  description: Bridgit Bench production
security:
- {}
tags:
- name: Projects
paths:
  /rp/api/v1/accounts/{accountId}/Projects:
    get:
      tags:
      - Projects
      summary: Gets all projects in the given account
      description: '<strong>NOTE:</strong> If there are more projects in the account than were returned, there will be a "query-has-more" header that will be set to true.<br/><strong>Permissions</strong><br/>Project: Read<br/>Role: Read<br/>HourlyRole: Read'
      operationId: Projects_Query
      parameters:
      - name: accountId
        in: path
        description: The Account ID
        required: true
        schema:
          type: integer
          format: int32
      - name: relativeDate
        in: query
        description: Optional paramater used to calculate date based properties. If not provided, it is set to today's date in UTC.
        schema:
          type: string
          format: date-time
          example: '2021-01-01'
        example: '2021-01-01'
      - name: offset
        in: query
        description: Offset for pagination
        schema:
          maximum: 2147483647
          minimum: 0
          type: integer
          format: int32
          default: 0
      - name: limit
        in: query
        description: Maximum number of results in this page
        schema:
          maximum: 2147483647
          minimum: 1
          type: integer
          format: int32
          default: 1000
      - name: name
        in: query
        description: 'Name filter that affects whether or not to return projects back with/without the name contains partial match (Default: Empty)'
        schema:
          type: string
      - name: issues
        in: query
        description: 'State filter that affects whether or not to return projects back with/without or any issues (Default: All)'
        schema:
          enum:
          - 0
          - 1
          - 2
          type: integer
          format: int32
          default: 2
      - name: ids
        in: query
        description: Optional comma delimited list of project IDs to filter the result on
        schema:
          type: array
          items:
            type: integer
            format: int64
      - name: projectState
        in: query
        description: Optional comma delimited list for filtering results by project state.
        schema:
          enum:
          - Canceled
          - Upcoming
          - Active
          - Complete
          - Pursuit
          - Lost
          - All
          type: string
          default: All
      - name: includeProjectNumber
        in: query
        description: 'Whether to include the Project Number field in the response (Default: false)'
        schema:
          type: boolean
          default: false
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProjectResponse'
              example:
              - id: 8673
                name: Ahrens Lofts
                colour: '#00FF00'
                startDate: '2019-01-01'
                endDate: '2020-12-31'
                startTime: 08:00:00
                endTime: '17:00:00'
                workDays:
                - 1
                - 2
                - 3
                - 4
                - 5
                state: Active
                winPercent: null
                unfilledRoles: 3
                totalRoles: 16
                unfilledHourlyRoles: 4
                totalHourlyRoles: 7
                totalTasks: 9
                unfilledTaskRoles: 0
                totalTaskRoles: 0
                issuesCount: 5
                lastModifiedOn: '2019-01-01T00:00:00'
                type: Awarded
                currentPhases:
                - name: Precon
                phases: []
                groupings: null
                description: Project Description
                truncatedDescription: Project Desc
                externalId: null
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProjectResponse'
              example:
              - id: 8673
                name: Ahrens Lofts
                colour: '#00FF00'
                startDate: '2019-01-01'
                endDate: '2020-12-31'
                startTime: 08:00:00
                endTime: '17:00:00'
                workDays:
                - 1
                - 2
                - 3
                - 4
                - 5
                state: Active
                winPercent: null
                unfilledRoles: 3
                totalRoles: 16
                unfilledHourlyRoles: 4
                totalHourlyRoles: 7
                totalTasks: 9
                unfilledTaskRoles: 0
                totalTaskRoles: 0
                issuesCount: 5
                lastModifiedOn: '2019-01-01T00:00:00'
                type: Awarded
                currentPhases:
                - name: Precon
                phases: []
                groupings: null
                description: Project Description
                truncatedDescription: Project Desc
                externalId: null
            text/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProjectResponse'
              example:
              - id: 8673
                name: Ahrens Lofts
                colour: '#00FF00'
                startDate: '2019-01-01'
                endDate: '2020-12-31'
                startTime: 08:00:00
                endTime: '17:00:00'
                workDays:
                - 1
                - 2
                - 3
                - 4
                - 5
                state: Active
                winPercent: null
                unfilledRoles: 3
                totalRoles: 16
                unfilledHourlyRoles: 4
                totalHourlyRoles: 7
                totalTasks: 9
                unfilledTaskRoles: 0
                totalTaskRoles: 0
                issuesCount: 5
                lastModifiedOn: '2019-01-01T00:00:00'
                type: Awarded
                currentPhases:
                - name: Precon
                phases: []
                groupings: null
                description: Project Description
                truncatedDescription: Project Desc
                externalId: null
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
    post:
      tags:
      - Projects
      summary: Add a project to the given account
      description: 'If you add a project with a type of Awarded, it will be created with a state based on the date.


        If you add a project with a type of Opportunity, it will be created with a state of Pursuit.


        The <strong>"winPercent"</strong> is associated with an Opportunity, you can create an Opportunity with a winPercent but not for an Awarded project.

        <strong>NOTE:</strong> Opportunities do not count towards allocation statistics so, any roles and allocations set on the project will not cause conflicts, issues, over-allocations etc.<br/><strong>Permissions</strong><br/>Project: Write<br/>Private: Read<br/>Finance: Read'
      operationId: Projects_Post
      parameters:
      - name: accountId
        in: path
        description: The Account ID
        required: true
        schema:
          type: integer
          format: int32
      requestBody:
        description: Details for the project object and any associated custom field values.
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/NewProjectRequest'
            example:
              name: Ahrens Lofts
              colour: '#00FF00'
              startDate: '2019-01-01'
              endDate: '2020-12-31'
              startTime: 08:00:00
              endTime: '17:00:00'
              workDays:
              - 1
              - 2
              - 3
              - 4
              - 5
              type: Awarded
              fields:
              - fieldId: 1394
                values:
                - '5195555555'
              groupings: null
              description: Project Description
              phases: null
          application/json:
            schema:
              $ref: '#/components/schemas/NewProjectRequest'
            example:
              name: Ahrens Lofts
              colour: '#00FF00'
              startDate: '2019-01-01'
              endDate: '2020-12-31'
              startTime: 08:00:00
              endTime: '17:00:00'
              workDays:
              - 1
              - 2
              - 3
              - 4
              - 5
              type: Awarded
              fields:
              - fieldId: 1394
                values:
                - '5195555555'
              groupings: null
              description: Project Description
              phases: null
          text/json:
            schema:
              $ref: '#/components/schemas/NewProjectRequest'
            example:
              name: Ahrens Lofts
              colour: '#00FF00'
              startDate: '2019-01-01'
              endDate: '2020-12-31'
              startTime: 08:00:00
              endTime: '17:00:00'
              workDays:
              - 1
              - 2
              - 3
              - 4
              - 5
              type: Awarded
              fields:
              - fieldId: 1394
                values:
                - '5195555555'
              groupings: null
              description: Project Description
              phases: null
          application/*+json:
            schema:
              $ref: '#/components/schemas/NewProjectRequest'
            example:
              name: Ahrens Lofts
              colour: '#00FF00'
              startDate: '2019-01-01'
              endDate: '2020-12-31'
              startTime: 08:00:00
              endTime: '17:00:00'
              workDays:
              - 1
              - 2
              - 3
              - 4
              - 5
              type: Awarded
              fields:
              - fieldId: 1394
                values:
                - '5195555555'
              groupings: null
              description: Project Description
              phases: null
        required: true
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProjectResponse'
              example:
                id: 8673
                name: Ahrens Lofts
                colour: '#00FF00'
                startDate: '2019-01-01'
                endDate: '2020-12-31'
                startTime: 08:00:00
                endTime: '17:00:00'
                workDays:
                - 1
                - 2
                - 3
                - 4
                - 5
                state: Active
                winPercent: null
                unfilledRoles: 3
                totalRoles: 16
                unfilledHourlyRoles: 4
                totalHourlyRoles: 7
                totalTasks: 9
                unfilledTaskRoles: 0
                totalTaskRoles: 0
                issuesCount: 5
                lastModifiedOn: '2019-01-01T00:00:00'
                type: Awarded
                currentPhases:
                - name: Precon
                phases: []
                groupings: null
                description: Project Description
                truncatedDescription: Project Desc
                externalId: null
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectResponse'
              example:
                id: 8673
                name: Ahrens Lofts
                colour: '#00FF00'
                startDate: '2019-01-01'
                endDate: '2020-12-31'
                startTime: 08:00:00
                endTime: '17:00:00'
                workDays:
                - 1
                - 2
                - 3
                - 4
                - 5
                state: Active
                winPercent: null
                unfilledRoles: 3
                totalRoles: 16
                unfilledHourlyRoles: 4
                totalHourlyRoles: 7
                totalTasks: 9
                unfilledTaskRoles: 0
                totalTaskRoles: 0
                issuesCount: 5
                lastModifiedOn: '2019-01-01T00:00:00'
                type: Awarded
                currentPhases:
                - name: Precon
                phases: []
                groupings: null
                description: Project Description
                truncatedDescription: Project Desc
                externalId: null
            text/json:
              schema:
                $ref: '#/components/schemas/ProjectResponse'
              example:
                id: 8673
                name: Ahrens Lofts
                colour: '#00FF00'
                startDate: '2019-01-01'
                endDate: '2020-12-31'
                startTime: 08:00:00
                endTime: '17:00:00'
                workDays:
                - 1
                - 2
                - 3
                - 4
                - 5
                state: Active
                winPercent: null
                unfilledRoles: 3
                totalRoles: 16
                unfilledHourlyRoles: 4
                totalHourlyRoles: 7
                totalTasks: 9
                unfilledTaskRoles: 0
                totalTaskRoles: 0
                issuesCount: 5
                lastModifiedOn: '2019-01-01T00:00:00'
                type: Awarded
                currentPhases:
                - name: Precon
                phases: []
                groupings: null
                description: Project Description
                truncatedDescription: Project Desc
                externalId: null
        '400':
          description: "Bad Request - Request has missing or invalid values\n\n            Example when trying to add a project with an invalid colour value:\n<code>{<br/>&nbsp;&nbsp;\"errors\":&nbsp;[<br/>&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"errorType\":&nbsp;\"ValidationError\",<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"description\":&nbsp;\"colour&nbsp;must&nbsp;be&nbsp;a&nbsp;six-digit&nbsp;hexadecimal&nbsp;number&nbsp;with&nbsp;a&nbsp;'#'&nbsp;in&nbsp;front&nbsp;of&nbsp;it.&nbsp;Ex:&nbsp;#00FF00\",<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"errorCode\":&nbsp;null,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"field\":&nbsp;\"Colour\",<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"innerException\":&nbsp;null,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"hResult\":&nbsp;-2146233088<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;],<br/>&nbsp;&nbsp;\"title\":&nbsp;\"One&nbsp;or&nbsp;more&nbsp;validation&nbsp;errors&nbsp;occurred.\",<br/>&nbsp;&nbsp;\"status\":&nbsp;400,<br/>&nbsp;&nbsp;\"instance\":&nbsp;\"/api/v1/accounts/2/projects\",<br/>&nbsp;&nbsp;\"requestUid\":&nbsp;\"82a530a1-36b1-4a8a-8bd9-9833de5b0cbd\"<br/>}</code>"
        '401':
          description: Unauthorized
        '403':
          description: Forbidden - User doesn't have permissions on this resource, or the project couldn't be found.
        '409':
          description: "Conflict - A project already exists in the account with the same name.\n\n            Example when trying to add a project that has the same name as an existing one:\n<code>{<br/>&nbsp;&nbsp;\"errors\":&nbsp;[<br/>&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"errorType\":&nbsp;\"Duplicate\",<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"description\":&nbsp;\"A&nbsp;project&nbsp;in&nbsp;the&nbsp;account&nbsp;already&nbsp;exists&nbsp;with&nbsp;the&nbsp;requested&nbsp;name.\",<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"errorCode\":&nbsp;null,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"innerException\":&nbsp;null,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"hResult\":&nbsp;-2146233088<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;],<br/>&nbsp;&nbsp;\"title\":&nbsp;\"One&nbsp;or&nbsp;more&nbsp;validation&nbsp;errors&nbsp;occurred.\",<br/>&nbsp;&nbsp;\"status\":&nbsp;409,<br/>&nbsp;&nbsp;\"instance\":&nbsp;\"/api/v1/accounts/2/projects\",<br/>&nbsp;&nbsp;\"requestUid\":&nbsp;\"8ba8f060-858b-46d9-b3cc-fa1c391ebc66\"<br/>}</code>"
  /rp/api/v1/accounts/{accountId}/Projects/_filter:
    post:
      tags:
      - Projects
      summary: Gets all projects in the given account filter by project ids.
      description: '<strong>NOTE:</strong> If there are more projects in the account than were returned, there will be a "query-has-more" header that will be set to true.<br/><strong>Permissions</strong><br/>Project: Read<br/>Role: Read<br/>HourlyRole: Read'
      operationId: Projects_QueryFilter
      parameters:
      - name: accountId
        in: path
        description: The Account ID
        required: true
        schema:
          type: integer
          format: int32
      requestBody:
        description: Filter object including projectIds, projectState, name, issues, relativeDate, offset and limit
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/ProjectFilterPredicatesFilter'
          application/json:
            schema:
              $ref: '#/components/schemas/ProjectFilterPredicatesFilter'
          text/json:
            schema:
              $ref: '#/components/schemas/ProjectFilterPredicatesFilter'
          application/*+json:
            schema:
              $ref: '#/components/schemas/ProjectFilterPredicatesFilter'
        required: true
      responses:
        '200':
          description: 'Success: List of projects in the account'
          content:
            text/plain:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProjectResponse'
              example:
              - id: 8673
                name: Ahrens Lofts
                colour: '#00FF00'
                startDate: '2019-01-01'
                endDate: '2020-12-31'
                startTime: 08:00:00
                endTime: '17:00:00'
                workDays:
                - 1
                - 2
                - 3
                - 4
                - 5
                state: Active
                winPercent: null
                unfilledRoles: 3
                totalRoles: 16
                unfilledHourlyRoles: 4
                totalHourlyRoles: 7
                totalTasks: 9
                unfilledTaskRoles: 0
                totalTaskRoles: 0
                issuesCount: 5
                lastModifiedOn: '2019-01-01T00:00:00'
                type: Awarded
                currentPhases:
                - name: Precon
                phases: []
                groupings: null
                description: Project Description
                truncatedDescription: Project Desc
                externalId: null
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProjectResponse'
              example:
              - id: 8673
                name: Ahrens Lofts
                colour: '#00FF00'
                startDate: '2019-01-01'
                endDate: '2020-12-31'
                startTime: 08:00:00
                endTime: '17:00:00'
                workDays:
                - 1
                - 2
                - 3
                - 4
                - 5
                state: Active
                winPercent: null
                unfilledRoles: 3
                totalRoles: 16
                unfilledHourlyRoles: 4
                totalHourlyRoles: 7
                totalTasks: 9
                unfilledTaskRoles: 0
                totalTaskRoles: 0
                issuesCount: 5
                lastModifiedOn: '2019-01-01T00:00:00'
                type: Awarded
                currentPhases:
                - name: Precon
                phases: []
                groupings: null
                description: Project Description
                truncatedDescription: Project Desc
                externalId: null
            text/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProjectResponse'
              example:
              - id: 8673
                name: Ahrens Lofts
                colour: '#00FF00'
                startDate: '2019-01-01'
                endDate: '2020-12-31'
                startTime: 08:00:00
                endTime: '17:00:00'
                workDays:
                - 1
                - 2
                - 3
                - 4
                - 5
                state: Active
                winPercent: null
                unfilledRoles: 3
                totalRoles: 16
                unfilledHourlyRoles: 4
                totalHourlyRoles: 7
                totalTasks: 9
                unfilledTaskRoles: 0
                totalTaskRoles: 0
                issuesCount: 5
                lastModifiedOn: '2019-01-01T00:00:00'
                type: Awarded
                currentPhases:
                - name: Precon
                phases: []
                groupings: null
                description: Project Description
                truncatedDescription: Project Desc
                externalId: null
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
  /rp/api/v1/accounts/{accountId}/Projects/{id}/externalId:
    put:
      tags:
      - Projects
      summary: Updates a project to set and externalId that can be referenced by external systems.
      operationId: Projects_PutExternalId
      parameters:
      - name: accountId
        in: path
        description: The Account ID
        required: true
        schema:
          type: integer
          format: int32
      - name: id
        in: path
        description: The Project ID
        required: true
        schema:
          type: integer
          format: int64
      requestBody:
        description: Details for the project object
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/ExternalIdRequest'
          application/json:
            schema:
              $ref: '#/components/schemas/ExternalIdRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/ExternalIdRequest'
          application/*+json:
            schema:
              $ref: '#/components/schemas/ExternalIdRequest'
        required: true
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
  /rp/api/v1/accounts/{accountId}/Projects/{id}:
    get:
      tags:
      - Projects
      summary: Gets details for the given project
      description: '<br/><strong>Permissions</strong><br/>Project: Read<br/>Role: Read<br/>HourlyRole: Read'
      operationId: Projects_Get
      parameters:
      - name: accountId
        in: path
        description: The Account ID
        required: true
        schema:
          type: integer
          format: int32
      - name: id
        in: path
        description: The Project ID
        required: true
        schema:
          type: integer
          format: int64
      - name: relativeDate
        in: query
        description: Optional paramater used to calculate date based properties. If not provided, it is set to today's date in UTC.
        schema:
          type: string
          format: date-time
          example: '2021-01-01'
        example: '2021-01-01'
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProjectResponse'
              example:
                id: 8673
                name: Ahrens Lofts
                colour: '#00FF00'
                startDate: '2019-01-01'
                endDate: '2020-12-31'
                startTime: 08:00:00
                endTime: '17:00:00'
                workDays:
                - 1
                - 2
                - 3
                - 4
                - 5
                state: Active
                winPercent: null
                unfilledRoles: 3
                totalRoles: 16
                unfilledHourlyRoles: 4
                totalHourlyRoles: 7
                totalTasks: 9
                unfilledTaskRoles: 0
                totalTaskRoles: 0
                issuesCount: 5
                lastModifiedOn: '2019-01-01T00:00:00'
                type: Awarded
                currentPhases:
                - name: Precon
                phases: []
                groupings: null
                description: Project Description
                truncatedDescription: Project Desc
                externalId: null
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectResponse'
              example:
                id: 8673
                name: Ahrens Lofts
                colour: '#00FF00'
                startDate: '2019-01-01'
                endDate: '2020-12-31'
                startTime: 08:00:00
                endTime: '17:00:00'
                workDays:
                - 1
                - 2
                - 3
                - 4
                - 5
                state: Active
                winPercent: null
                unfilledRoles: 3
                totalRoles: 16
                unfilledHourlyRoles: 4
                totalHourlyRoles: 7
                totalTasks: 9
                unfilledTaskRoles: 0
                totalTaskRoles: 0
                issuesCount: 5
                lastModifiedOn: '2019-01-01T00:00:00'
                type: Awarded
                currentPhases:
                - name: Precon
                phases: []
                groupings: null
                description: Project Description
                truncatedDescription: Project Desc
                externalId: null
            text/json:
              schema:
                $ref: '#/components/schemas/ProjectResponse'
              example:
                id: 8673
                name: Ahrens Lofts
                colour: '#00FF00'
                startDate: '2019-01-01'
                endDate: '2020-12-31'
                startTime: 08:00:00
                endTime: '17:00:00'
                workDays:
                - 1
                - 2
                - 3
                - 4
                - 5
                state: Active
                winPercent: null
                unfilledRoles: 3
                totalRoles: 16
                unfilledHourlyRoles: 4
                totalHourlyRoles: 7
                totalTasks: 9
                unfilledTaskRoles: 0
                totalTaskRoles: 0
                issuesCount: 5
                lastModifiedOn: '2019-01-01T00:00:00'
                type: Awarded
                currentPhases:
                - name: Precon
                phases: []
                groupings: null
                description: Project Description
                truncatedDescription: Project Desc
                externalId: null
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
    patch:
      tags:
      - Projects
      summary: 'Update a project in the given account. Each of the fields in the request body is optional - only fields that are present in the request will be updated.

        When changing the start or end dates for a project, you can customize how the start and end dates for roles and phases will change in response. See the Model below for details.

        Note that roles or phases whose start and end dates change such that the start date is after the

# --- truncated at 32 KB (55 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/bridgit/refs/heads/main/openapi/bridgit-projects-api-openapi.yml