Bridgit ProjectsPhases API

The ProjectsPhases API from Bridgit — 3 operation(s) for projectsphases.

Operations 7

GET /rp/api/v1/accounts/{accountId}/projects/{projectId}/phases Gets all phases on the given project #
POST /rp/api/v1/accounts/{accountId}/projects/{projectId}/phases Adds a phase to the given project #
DELETE /rp/api/v1/accounts/{accountId}/projects/{projectId}/phases Deletes phases from the given project #
POST /rp/api/v1/accounts/{accountId}/projects/{projectId}/phases/bulk Adds phases to the given project #
PUT /rp/api/v1/accounts/{accountId}/projects/{projectId}/phases/bulk Updates multiple phases on the given project #
PUT /rp/api/v1/accounts/{accountId}/projects/{projectId}/phases/{phaseId} Updates a phase on the given project #
DELETE /rp/api/v1/accounts/{accountId}/projects/{projectId}/phases/{phaseId} Deletes a phase from the given project #

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/bridgit-projectsphases-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

bridgit-projectsphases-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Bench AccountActivities Projects Phases 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: ProjectsPhases
paths:
  /rp/api/v1/accounts/{accountId}/projects/{projectId}/phases:
    get:
      tags:
      - ProjectsPhases
      summary: Gets all phases on the given project
      description: '<br/><strong>Permissions</strong><br/>Project: Read'
      operationId: ProjectsPhases_Query
      parameters:
      - name: accountId
        in: path
        description: The Account ID
        required: true
        schema:
          type: integer
          format: int32
      - name: projectId
        in: path
        description: The Project ID
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProjectPhaseResponse'
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProjectPhaseResponse'
            text/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProjectPhaseResponse'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
    post:
      tags:
      - ProjectsPhases
      summary: Adds a phase to the given project
      description: 'You must specify "id", "startDate" and "endDate" of any phase for this endpoint.<br/><strong>Permissions</strong><br/>Project: Write'
      operationId: ProjectsPhases_Add
      parameters:
      - name: accountId
        in: path
        description: The Account ID
        required: true
        schema:
          type: integer
          format: int32
      - name: projectId
        in: path
        description: The Project ID
        required: true
        schema:
          type: integer
          format: int64
      requestBody:
        description: Phases to be added to the account
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/ProjectPhaseRequest'
          application/json:
            schema:
              $ref: '#/components/schemas/ProjectPhaseRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/ProjectPhaseRequest'
          application/*+json:
            schema:
              $ref: '#/components/schemas/ProjectPhaseRequest'
        required: true
      responses:
        '201':
          description: Created
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProjectPhaseResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectPhaseResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ProjectPhaseResponse'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '409':
          description: Conflict - Phase already exists on the project
        '422':
          description: Unprocessable Entity - Phase start or end dates outside of project start or end date
    delete:
      tags:
      - ProjectsPhases
      summary: Deletes phases from the given project
      operationId: ProjectsPhases_BulkDelete
      parameters:
      - name: accountId
        in: path
        description: The Account ID
        required: true
        schema:
          type: integer
          format: int32
      - name: projectId
        in: path
        description: The Project ID
        required: true
        schema:
          type: integer
          format: int64
      requestBody:
        description: The Phase IDs
        content:
          application/json-patch+json:
            schema:
              minItems: 1
              type: array
              items:
                type: integer
                format: int64
          application/json:
            schema:
              minItems: 1
              type: array
              items:
                type: integer
                format: int64
          text/json:
            schema:
              minItems: 1
              type: array
              items:
                type: integer
                format: int64
          application/*+json:
            schema:
              minItems: 1
              type: array
              items:
                type: integer
                format: int64
        required: true
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
  /rp/api/v1/accounts/{accountId}/projects/{projectId}/phases/bulk:
    post:
      tags:
      - ProjectsPhases
      summary: Adds phases to the given project
      description: 'You must specify "id", "startDate" and "endDate" of any phase for this endpoint.<br/><strong>Permissions</strong><br/>Project: Write'
      operationId: ProjectsPhases_BulkAdd
      parameters:
      - name: accountId
        in: path
        description: The Account ID
        required: true
        schema:
          type: integer
          format: int32
      - name: projectId
        in: path
        description: The Project ID
        required: true
        schema:
          type: integer
          format: int64
      requestBody:
        description: Array of phases to be added to the account
        content:
          application/json-patch+json:
            schema:
              minItems: 1
              type: array
              items:
                $ref: '#/components/schemas/ProjectPhaseRequest'
          application/json:
            schema:
              minItems: 1
              type: array
              items:
                $ref: '#/components/schemas/ProjectPhaseRequest'
          text/json:
            schema:
              minItems: 1
              type: array
              items:
                $ref: '#/components/schemas/ProjectPhaseRequest'
          application/*+json:
            schema:
              minItems: 1
              type: array
              items:
                $ref: '#/components/schemas/ProjectPhaseRequest'
        required: true
      responses:
        '201':
          description: Created
          content:
            text/plain:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProjectPhaseResponse'
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProjectPhaseResponse'
            text/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProjectPhaseResponse'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '409':
          description: Conflict - Phase already exists on the project
        '422':
          description: Unprocessable Entity - Phase start or end dates outside of project start or end date
    put:
      tags:
      - ProjectsPhases
      summary: Updates multiple phases on the given project
      description: "This endpoint will only update the fields that are present in the request.\n\nYou must specify \"id\", \"startDate\" and/or \"endDate\" of the phases for this endpoint.\n\n            \nIf the <strong>\"shiftDates\"</strong> property is true and you specify a changed phase start or end date in this request,\nthen the phase's start and end dates will be adjusted by the same amount.\nIf this property is set to true, then you must only send EITHER startDate OR endDate - only startDate is considered when both dates are set.\n<br/><strong>Permissions</strong><br/>Project: Write"
      operationId: ProjectsPhases_BulkUpdate
      parameters:
      - name: accountId
        in: path
        description: The Account ID
        required: true
        schema:
          type: integer
          format: int32
      - name: projectId
        in: path
        description: The Project ID
        required: true
        schema:
          type: integer
          format: int64
      requestBody:
        description: New start and end date for the phase from the request body
        content:
          application/json-patch+json:
            schema:
              minItems: 1
              type: array
              items:
                $ref: '#/components/schemas/ProjectPhaseUpdateRequest'
          application/json:
            schema:
              minItems: 1
              type: array
              items:
                $ref: '#/components/schemas/ProjectPhaseUpdateRequest'
          text/json:
            schema:
              minItems: 1
              type: array
              items:
                $ref: '#/components/schemas/ProjectPhaseUpdateRequest'
          application/*+json:
            schema:
              minItems: 1
              type: array
              items:
                $ref: '#/components/schemas/ProjectPhaseUpdateRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProjectPhaseResponse'
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProjectPhaseResponse'
            text/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProjectPhaseResponse'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '422':
          description: Unprocessable Entity - Phase start or end dates outside of project start or end date
  /rp/api/v1/accounts/{accountId}/projects/{projectId}/phases/{phaseId}:
    put:
      tags:
      - ProjectsPhases
      summary: Updates a phase on the given project
      description: "This endpoint will only update the fields that are present in the request.\n\nYou must specify \"startDate\" and/or \"endDate\" for this endpoint.\n\n            \nIf the <strong>\"shiftDates\"</strong> property is true and you specify a changed phase start or end date in this request,\nthen the phase's start and end dates will be adjusted by the same amount.\n\nIf this property is set to true, then you must only send EITHER startDate OR endDate - only startDate is considered when both dates are set.\n<br/><strong>Permissions</strong><br/>Project: Write"
      operationId: ProjectsPhases_Update
      parameters:
      - name: accountId
        in: path
        description: The Account ID
        required: true
        schema:
          type: integer
          format: int32
      - name: projectId
        in: path
        description: The Project ID
        required: true
        schema:
          type: integer
          format: int64
      - name: phaseId
        in: path
        description: The Phase ID
        required: true
        schema:
          type: integer
          format: int64
      requestBody:
        description: New start and end date for the phase from the request body
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/ProjectPhaseFromRouteRequest'
          application/json:
            schema:
              $ref: '#/components/schemas/ProjectPhaseFromRouteRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/ProjectPhaseFromRouteRequest'
          application/*+json:
            schema:
              $ref: '#/components/schemas/ProjectPhaseFromRouteRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProjectPhaseResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectPhaseResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ProjectPhaseResponse'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '422':
          description: Unprocessable Entity - Phase start or end dates outside of project start or end date
    delete:
      tags:
      - ProjectsPhases
      summary: Deletes a phase from the given project
      operationId: ProjectsPhases_Delete
      parameters:
      - name: accountId
        in: path
        description: The Account ID
        required: true
        schema:
          type: integer
          format: int32
      - name: projectId
        in: path
        description: The Project ID
        required: true
        schema:
          type: integer
          format: int64
      - name: phaseId
        in: path
        description: The Phase ID
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
components:
  schemas:
    ProjectPhaseRequest:
      type: object
      properties:
        id:
          type: integer
          format: int64
          example: 1234
        startDate:
          type: string
          format: date-time
          example: '2020-01-01'
        endDate:
          type: string
          format: date-time
          example: '2020-12-31'
      additionalProperties: false
    ProjectPhaseFromRouteRequest:
      type: object
      properties:
        startDate:
          type:
          - string
          - 'null'
          format: date-time
          example: '2020-01-01'
        endDate:
          type:
          - string
          - 'null'
          format: date-time
          example: '2020-12-31'
        shiftDates:
          type: boolean
      additionalProperties: false
    ProjectPhaseResponse:
      type: object
      properties:
        id:
          type: integer
          format: int64
          example: 1234
        name:
          type:
          - string
          - 'null'
          example: Pre-Construction
        startDate:
          type: string
          format: date-time
          example: '2020-01-01'
        endDate:
          type: string
          format: date-time
          example: '2020-12-31'
        lastModifiedOn:
          type: string
          format: date-time
          example: '2021-05-27T10:58:23.530Z'
      additionalProperties: false
    ProjectPhaseUpdateRequest:
      type: object
      properties:
        id:
          type: integer
          format: int64
          example: 1234
        startDate:
          type:
          - string
          - 'null'
          format: date-time
          example: '2020-01-01'
        endDate:
          type:
          - string
          - 'null'
          format: date-time
          example: '2020-12-31'
        shiftDates:
          type: boolean
      additionalProperties: false
  securitySchemes:
    Bearer:
      type: http
      description: Standard Authorization header using the Bearer scheme
      scheme: bearer
      bearerFormat: JWT