Save as PDF

Project Management APIs

The Responsive application currently supports the following Project Management APIs:

Project Management APIs

Create Project

API URL

/rfpserver/ext/v1/projects/create

Description

Creates a new project in the company.

Type

POST

 

Request Body:

ProjectRequestVO

additionalContacts

Array[String]

List of users(email addresses) to be associated. The user should be a SUPER_ADMIN or RFP_ADMIN or any role with PROJECT_PRIMARY_CONTACT additional role enabled.

The contact should belong to the same business unit if the business unit field has values

string

category

Array[String]

Category of the entity.

clientAddress1

string

example: 115 2nd Street

Address1 of the client

clientAddress1

string

example: New york

Address2 of the client

clientEmail

String

Email of the Client

clientName

String

Name of the Client

clientPhone 

String

Phone no of the Client

customFields

Object

Use customField's mergeTag name as key and appropriate value. Custom field that are marked as required are mandatory.Please refer to the list of custom fields in the Organization settings for better clarity

dealSize 

number($double)

example: 123456

Value of the deal

description

string

example: Authorization and Authentication Questionnaire

A high level description/notes that explains about the entity(project/intake)

dueDate*

string($date-time)

Due date of the entity (project/intake) to be completed. It should be a future date with format, yyyy-MM-dd HH:mm:ss XXX

externalId

string

example: EXT-Project-001

External Id of the Project

name*

string

example: TestEntity

Name

primaryBU

string

example: India

Business Unit Name to be associated. This is mandatory only if business unit is enabled for the company

primaryContact*

string

example: janedoe@rfpio.com

Primary contact of the entity(project/intake). The user should be a SUPER_ADMIN or RFP_ADMIN or any role with PROJECT_PRIMARY_CONTACT additional role enabled.The contact should belong to the same business unit if the business unit field of this project/intake has values

projectStage* 

string

example: Submitted

Stage of the project from the list of stages configured in the organization settings. Allowed values can be referred from, Organization settings->Project->Stage

projectStatus

string

example: IN_PROGRESS

Status of the project. Allowed values are IN_PROGRESS,RESPONDED and CANCELED

projectType*  

string

example: RFP

Type of the entity (project/intake) from the list of various types configured in the organization settings. Allowed values can be referred from,

Organization settings->Project->Type

respondedDate string($date-time)
teamMemberList Array[String ]

 

Response

Project Details along with external ID.

 

Example

Request:

https://dev1.rfpio.com/rfpserver/ext/v1/projects/create

 

Request Body:

{

  "additionalContacts": [],

  "category": [],

  "clientAddress1": "115 2nd Street",

  "clientAddress2": "New york",

  "clientEmail": "test@client.com",

  "clientName": "Microsoft Corporation",

  "clientPhone": "999-859-896",

  "customFields": {},

  "dealSize": 123456,

  "description": "Authorization and Authentication Questionnaire",

  "dueDate": "2023-07-06T08:16:38.526Z",

  "externalId": "EXT-Project-001",

  "name": "TestEntity",

  "primaryBU": "India",

  "primaryContact": "janedoe@rfpio.com",

  "projectStage": "Submitted",

  "projectStatus": "IN_PROGRESS",

  "projectType": "RFP",

  "respondedDate": "2023-07-06T08:16:38.526Z",

  "teamMemberList": []

}

 

Response:

{

  "additionalContacts": [],

  "category": [],

  "clientAddress1": "115 2nd Street",

  "clientAddress2": "New york",

  "clientEmail": "test@client.com",

  "clientName": "Microsoft Corporation",

  "clientPhone": "999-859-896",

  "companyId": "",

  "createdBy": "",

  "createdDate": "2023-07-06T08:16:38.541Z",

  "crmDetails": {

    "instanceId": "",

    "lastUpdateTs": "2023-07-06T08:16:38.541Z",

    "objectId": "",

    "objectType": "",

    "recordId": "",

    "type": "HUBSPOT"

  },

  "customFields": {},

  "dealSize": 123456,

  "description": "Authorization and Authentication Questionnaire",

  "displayId": "",

  "dueDate": "2023-07-06T08:16:38.542Z",

  "externalId": "EXT-Project-001",

  "id": "",

  "lastUpdateTs": "2023-07-06T08:16:38.542Z",

  "name": "TestEntity",

  "percentage": 0,

  "primaryBU": "India",

  "primaryContact": "janedoe@rfpio.com",

  "projectStage": "Submitted",

  "projectType": "RFP",

  "respondedDate": "2023-07-06T08:16:38.542Z",

  "sectionCount": 0,

  "status": "IN_PROGRESS",

  "teamMembers": [],

  "totalAnsweredCount": 0,

  "totalQuestionCount": 0,

  "updatedBy": ""

}

 

Get Project Details

API URL

/rfpserver/ext/v1/projects/{projectId}

Description

Get details of a project.

Type

GET

Input

(path param)

projectId

ID of the Project.

Example: 59131e7be49e9c7589032cfe

Output

 

Sample Response

ProjectResponseExtVO(Please refer documentation)

JSON object containing details of a project.

{

  "additionalContacts": [],

  "archiveProjectId": "",

  "archivedBy": "",

  "archivedDate": "2023-07-06T08:22:33.684Z",

  "category": [],

  "clientAddress1": "115 2nd Street",

  "clientAddress2": "New york",

  "clientEmail": "test@client.com",

  "clientName": "Microsoft Corporation",

  "clientPhone": "999-859-896",

  "companyId": "",

  "createdBy": "",

  "createdDate": "2023-07-06T08:22:33.684Z",

  "crmDetails": {

    "instanceId": "",

    "lastUpdateTs": "2023-07-06T08:22:33.684Z",

    "objectId": "",

    "objectType": "",

    "recordId": "",

    "type": "HUBSPOT"

  },

  "customFields": {},

  "dealSize": 123456,

  "deletedBy": "",

  "deletedOnTs": "2023-07-06T08:22:33.684Z",

  "description": "Authorization and Authentication Questionnaire",

  "displayId": "",

  "dueDate": "2023-07-06T08:22:33.684Z",

  "externalId": "EXT-Project-001",

  "id": "",

  "lastUpdateTs": "2023-07-06T08:22:33.684Z",

  "name": "TestEntity",

  "percentage": 0,

  "primaryBU": "India",

  "primaryContact": "janedoe@rfpio.com",

  "projectStage": "Submitted",

  "projectType": "RFP",

  "respondedDate": "2023-07-06T08:22:33.684Z",

  "sectionCount": 0,

  "status": "IN_PROGRESS",

  "teamMembers": [],

  "totalAnsweredCount": 0,

  "totalQuestionCount": 0,

  "updatedBy": ""

}

 

 

Attach File to Project

API URL

/rfpserver/ext/v1/projects/{projectId}/attach-file

Description

Attach one or more files to a project.

Type

POST

Input (Path param)

projectId

ID of the project 


Example: 59131e7be49e9c7589032cfe

Headers

Authorization

Content-Type

Bearer a-da819a102c7f69fbabdf679d47b85c9e

multipart/form-data

Body

file

<File to be attached>

Output

If the upload is successful, the response code will be 200.

 

Example

Request:

https://{environment}/ext/v1/projects/5b45943d6737626be57c93c8/attach-file

Response: 

No content with status code 200.

 

 

Delete Project API

API URL

/rfpserver/ext/v1/projects/delete

Description

This delete API is a soft operation, i.e, moves the projects to TRASH which will be automatically deleted in 30 days time. Exception : Archived projects will be deleted forever immediately without going into TRASH state.

To fetch the ids of active/archived projects, check the response for /ext/v1/projects API

Type

POST

Body

{

  "idList": [

    "string"

  ]

}

DeleteRequestVO 

 

idList(string,Optional): List of IDs for the Projects to be deleted

Output

If the delete operation is successful, the response would be the “DELETED_RECORDS” or “NON_DELETED_RECORDS” with the status code 200.

  

Example

Request:

/rfpserver/ext/v1/projects/delete

{

  "idList": ["63d8abf61acb2e4fcad3642f",

             "64af7ce141de0a155945ebb7"]

}

Response: 

[

  {

    "DELETED_RECORDS": [

      "64af7ce141de0a155945ebb7"

    ],

    "status": 200

  },

  {

    "NON_DELETED_RECORDS": [

      "63d8abf61acb2e4fcad3642f"

    ],

    "status": 400

  }

]

 

Create Section

API URL /rfpserver/ext/v1/projects/{projectId}/sections/create
Description Creates a new section in a project. Can create one or more with a single request.
Type POST

Input

(path param)

projectId

ID of the Project under which the section has to be created. (Manndatory)

Example: 59131e7be49e9c7589032cfe

Input

(request body)

[

  {

    "authorDueDate": "2023-10-16T06:27:45.149Z",

    "authorMessage": "Your help is needed in completing the section Compliance Questionnaire.",

    "authors": [],

    "description": "<div>This section contains question related to Compliance Questionnaire.</div>",

    "externalId": "EXT-001",

    "helpText": false,

    "name": "Compliance Questionnaire",

    "parentSectionId": "",

    "queueEmail": false,

    "reviewWorkflow": "ALL",

    "reviewerDueDate": "2023-10-16T06:27:45.149Z",

    "reviewerMessage": "Please review these answers as soon as possible.",

    "reviewers": [],

    "sortingOrder": 0,

    "trackAuthorMessageAsComments": false,

    "trackReviewerMessageAsComments": false

  }

]

List<SectionSummaryExtVO>

authorDueDate (string($date-time), optional): Due date and time for the section to be completed by Authors.

authorMessage (string, optional): Email message to the authors.

example: Your help is needed in completing the section Compliance Questionnaire.

authors (Array[string], optional): Indicates the list of users (email address) to be assigned as Authors.

description (string, optional):
example: <div>This section contains question related to Compliance Questionnaire.</div>

Place the HTML version of the section description.

 

externalId (string. optional): External Id of the section.

example: EXT-001

 

helpText (boolean.
optional):
If true, the description will be changed into Help Text.

name (string, mandatory): Indicates the task name.

example: Compliance Questionnaire

Name of the Section.

parentSectionId (string.
optional):
Parent Section Id.

queueEmail (boolean,optional):
If true, the mail will be queued that can be further sent to the respective authors and reviewers while clicking send notification in pending notification queue.

reviewWorkflow (string, optional): Workflow type of the review process. Allowed values are [ANY, ALL, SEQUENTIAL]

reviewerDueDate (string($date-time), optional): Due date of the section to be completed by reviewers.

 

reviewerMessage (string, optional): Email message to reviewers.

example: Please review these answers as soon as possible.

reviewers (Array[string], optional): Indicates the list of users (email address) to be assigned as Reviewers.

sortingOrder ($double,optional)
Sorting order of the section. Sorting order value must be greater than or equal to zero.

trackAuthorMessageAsComments (boolean, optional): Track author message as section comments.

trackReviewerMessageAsComments (boolean, optional): Track reviewer message as section comments.

Output Sample Response

If creation is successful, it will send the array of section details with section ids in it.

SectionSummaryResultExtVOList

{

  "sections": [

    {

      "answeredQuestionCount": 0,

      "authorDueDate": "2023-10-16T06:32:27.218Z",

      "authorMessage": "Your help is needed in completing the section Compliance Questionnaire.",

      "authors": [],

      "createTs": "2023-10-16T06:32:27.218Z",

      "createdBy": "john@responsive.io",

      "externalId": "EXT-001",

      "id": "5fe2d0061cf90a7a10b55fb5",

      "name": "Compliance Questionnaire",

      "parentId": "507f1f77bcf86cd799439011",

      "questionCount": 0,

      "reviewWorkflow": "ALL",

      "reviewerDueDate": "2023-10-16T06:32:27.218Z",

      "reviewerMessage": "Please review these answers as soon as possible.",

      "reviewers": [],

      "sortingOrder": 0,

      "status": "ASSIGNED"

    }

  ]

}

 

Update Section

API URL /rfpserver/ext/v1/projects/{projectid}/sections/(sectionId)/update
Description Update an existing section in a project.
Type POST
Input (path param, mandatory)

projectId

 

sectionId

ID of the Project.

Example: 59131e7be49e9c7589032cfe

Id of the section to be updated.

Input (request body)

{

    "authorDueDate": "2023-10-16T09:22:58.832Z",

    "authorMessage": "Your help is needed in completing the section Compliance Questionnaire.",

    "authors": [],

    "externalId": "EXT-001",

    "name": "Compliance Questionnaire",

    "parentSectionId": "",

    "queueEmail": false,

    "reviewWorkflow": "ALL",

    "reviewerDueDate": "2023-10-16T09:22:58.832Z",

    "reviewerMessage": "Please review these answers as soon as possible.",

    "reviewers": [],

    "sortingOrder": 0,

    "trackAuthorMessageAsComments": false,

    "trackReviewerMessageAsComments": false

}

List<BaseSectionExtVO>

authorDueDate(date-time, optional): Due date of the section to be completed by authors.

 

authorMessage(string, optional):Email message to authors.

example: Your help is needed in completing the section Compliance Questionnaire.

 

authors(Array<string>, optional): List of users (only email addresses) to be assigned as author for this section. 

 

externalID(string.optional): 

External ID of the section.

example: EXT-001

 

name(string,): Indicates the section name.

example: Compliance Questionnaire

 

parentSectionId(string,optional):

Parent Section Id. 

 

queueEmail(boolean,optional): If true, the mail will be queued that can be further sent to the respective authors and reviewers while clicking send notification in the pending notification queue.

 

reviewWorkflow(string, optional): Workflow type of the review process. Allowed values are [ANY, ALL, SEQUENTIAL]

By default, ANY would be set if no value is given.

 

reviewerDueDate(string($date-time), optional): Due date of the section to be completed by reviewers.

 

reviewerMessage(string, optional): Email message to reviewers.

example: Please review these answers as soon as possible.

 

reviewers(Array<string>, optional): List of users(only email addresses) to be assigned as reviewers for this section.

 

sortingOrder(number($double),optional) 

Sorting order of the section. Sorting order value must be greater than or equal to zero.

 

trackAuthorMessageAsComments(boolean, optional): Track author message as section comments.

 

trackReviewerMessageAsComments(boolean, optional): Track reviewer message as section comments.

Output 


Sample Response


JSON object containing the array of updated section details with section IDs in it.

SectionSummaryResultExtVO

{

    "answeredQuestionCount": 0,

    "authorDueDate": "2023-10-19T10:40:46.163Z",

    "authorMessage": "Your help is needed in completing the section Compliance Questionnaire.",

    "authors": [],

    "createTs": "2023-10-19T10:40:46.163Z",

    "createdBy": "john@responsive.io",

    "externalId": "EXT-001",

    "id": "5fe2d0061cf90a7a10b55fb5",

    "name": "Compliance Questionnaire",

    "parentId": "507f1f77bcf86cd799439011",

    "questionCount": 0,

    "reviewWorkflow": "ALL",

    "reviewerDueDate": "2023-10-19T10:40:46.163Z",

    "reviewerMessage": "Please review these answers as soon as possible.",

    "reviewers": [],

    "sortingOrder": 0,

    "status": "ASSIGNED"

}



 

Search Project Sections

API URL /rfpserver/ext/v1/projects/{projectId}/sections/search
Description Get the list of sections based on the query.
Type POST

Input

(path param, mandatory)

projectId

 

 

 

limit

 

 

 

 

 

 

offset

 

 

ID of the Project from which sections are to be retrieved.

Example: 5facc3452e660106a17cd782

 

Limits the no of sections in the response. If limit is given as -1, it returns only the total number of sections. The minimum value of the limit that can be set is 0,the maximum value of the limit that can be set is 100 .If no limit is set or limit is set to be 0, then 25 sections in the project are returned in the response.

 

Fetch the records starting from the specified value. Offset is used for pagination. For instance, when offset=0, it will fetch 0th record to nth(limit value) record. Default value : 0

Input

(request body)

{

    "authors": [],

    "externalId": "",

    "flagged": "",

    "reviewers": [],

    "searchTerm": "",

    "sectionId": "",

    "status": ""

}



ProjectSectionSearchExternalVO{

authors(Array[string], optional): List of email addresses of authors of sections in the project.,

externalId(string, optional): Returns all the sections that match the ExternalID in the project. An empty ExternalID returns all sections.

flagged(string,optional): Check whether the section is flagged or not. Allowed values are [true, false]. Returns the sections with flags, if true is given. Returns the sections without flags, if false is given. An empty flag returns all sections.

reviewers(Array[string], optional): List of email addresses of reviewers of sections in the project., 

 

searchTerm (string, optional): Returns all sections that match the search term with the section name. An empty search term returns all sections., 

 

sectionId (string, optional): Returns the particular section if sectionId is provided.,  

 

status(string, optional): Status of the section. Allowed values are [ASSIGNED, IN_PROGRESS, PENDING_REVIEW, ACCEPTED, DELETED]., 

}

Output

 

Sample Response

 

ProjectSectionsExtVOList [Please refer to the documentation below.]

JSON object containing details of matching questions of a project.

{

    "limit": 0,

    "offset": 0,

    "sectionsList": [

        {

            "answeredQuestionCount": 0,

            "authorCompletedList": [],

            "authorDueDate": "2023-10-19T11:09:41.290Z",

            "authorMessage": "Your help is needed in completing the section Compliance Questionnaire.",

            "authors": [],

            "createTs": "2023-10-19T11:09:41.290Z",

            "createdBy": "",

            "externalId": "",

            "guestAssignedToList": [],

            "guestMessage": "Your help is needed in completing the section Compliance Questionnaire.",

            "name": "",

            "parentId": "",

            "projectId": "",

            "questionCount": 0,

            "reviewCompletedList": [],

            "reviewWorkFlow": "ALL",

            "reviewerDueDate": "2023-10-19T11:09:41.290Z",

            "reviewerMessage": "Please review these answers as soon as possible.",

            "reviewers": [],

            "sectionId": "",

            "sortingOrder": 0,

            "status": "ASSIGNED"

        }

    ],

    "totalCount": 0

}

 

Response Details

ProjectSectionsExtVOList

sectionsList

Array[SectionDetailsExternalVO]

List of sections details matches the query.

totalCount

Integer($int32)

Total count of matching sections.

limit

Integer($int32)

The number of records limited in the response.

offset

Integer($int32)

Fetch the records starting from the specified value. Offset is used for pagination. For instance, when offset=0, it will fetch 0th record to nth(limit value) record.

 

 

SectionDetailsExternalVO

answeredQuestionCount

integer($int32)

Number of questions answered in the section.

authorCompletedList

[

List of users(email address) who completed author process.

string]

authorDueDate

string($date-time)

Due date of the section to be completed by Authors.

authorMessage

string

example: Your help is needed in completing the section Compliance Questionnaire.

Message to authors.

authors

[

List of users(email address) to be assigned as Authors.

string]

createTs

string($date-time)

Created date of the section.

createdBy

string

User who created the section

externalId

string

External Id of the Section.

guestAssignedToList

[

List of users(email address) to be assigned as guest.

string]

guestMessage

string

example: Your help is needed in completing the section Compliance Questionnaire.

Message to guest.

name

string

Name of the Section.

parentId

string

Parent Section Id.

projectId

string

Project Id of the Section.

questionCount

integer($int32)

Number of questions present in the section.

reviewCompletedList

[

List of users(email address) who completed review process.

string]

reviewWorkFlow

string

Workflow type of the review process.

Enum:

[ ALL, ANY, CUSTOM, SEQUENTIAL ]

reviewerDueDate

string($date-time)

Due date of the section to be completed by Reviewers.

reviewerMessage

string

example: Please review these answers as soon as possible.

Message to reviewers.

reviewers

[

List of users(email address) to be assigned as Reviewers.

string]

sectionId

string

Section Id.

sortingOrder

number($double)

Sorting Order

status

string

Status of the section.

Enum:

[ ASSIGNED, COMPLETED, DELETED, IN_PROGRESS, LOCKED, PENDING_REVIEW ]

 

Get Section

API URL /rfpserver/ext/v1/projects/{projectid}/sections/(sectionID)/get
Description Deletes a section in a project.
Type GET
Input (path param, mandatory)

projectId

 

 

sectionId

ID of the Project from which section has to be fetched..

Example: 59131e7be49e9c7589032cfe

 

ID of the section to be fetched.

Input (request body) Not applicable Not applicable
Output SectionDetailsExternalVO

 

Attach File to Section

API URL

/rfpserver/ext/v1/projects/{projectId}/sections/{sectionId}/attach-file

Description

Attach one or more files to an existing section.

Type

POST

Input (Path param)

projectId

 

 

sectionId

ID of the project 

Example: 59131e7be49e9c7589032cfe

 

ID of the section

Headers

Authorization

Content-Type

Bearer a-da819a102c7f69fbabdf679d47b85c9e

multipart/form-data

Body

file

<File to be attached>

Output

If the upload is successful, the response code will be 200.

 

Example

Request:

https://{environment}/rfpserver/ext/v1/projects/5b45943d6737626be57c93c8/sections/601be98b12ef8d3696b437e7/attach-file

Response: 

No content with status code 200.

 

Delete Section

API URL /rfpserver/ext/v1/projects/{projectid}/sections/(sectionID)/delete
Description Deletes a section in a project.
Type POST
Input (path param, mandatory)

projectId

 

 

sectionId

ID of the Project.

Example: 59131e7be49e9c7589032cfe

 

ID of the section to be deleted.

Input (request body) Not applicable Not applicable

Output 


Sample Response

If successful, the system will send status code 200.


N/A

 

Create Question

API URL /rfpserver/ext/v1/projects/{projectId}/sections/{sectionId}/questions/create
Description Creates a new question in a section.
Type POST
Input (path param) projectId

ID of the Project.

Example: 59131e7be49e9c7589032cfe

Input (request body)

[

  {

    "question": "testQuestion",

 

    "status": "NOT_ANSWERED",

   

"answers": [

      {

        "answerHeader": "Response",

        "answerType": "DROPDOWN",

        "answerOptions": [

          {

            "valueInFile": "Yes",

            "valueInUI": "True",

            "standardResponse": "string"

          }

        ],

        "answerInPlainText": "True",

        "answerInHTML": "<div>True</div>",

        "optional": false

      }

    ],


    "authorList": [

      "string"

    ],

 

 

 

    "reviewerList": [

      "string"

    ],


    "reviewWorkflow": "ANY",

 

 

    "parentQuestionId": "507f1f77bcf86cd799439011",


    "sortingOrder": 0,

 

 

 

    "subQuestionVisibilityConfig": {

      "configs": [

        {

          "answerHeader": "Response",

          "answerType": "DROPDOWN",

          "values": [

            "string"

          ]

        }

      ]

    },

    "tags": ["new"],

    "externalId": "EXT-Q-001"

  }

]

Array [QuestionDetailsExtVO]

QuestionDetailsExtVO

question(string,mandatory):  Question Text

 

status([string,optional): status of the question. Valid values are [ ANSWERED or NOT_ANSWERED

 

answers (Array[AnswerExtVO])

Please refer the AnswerExtVO documentation.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

authorList(Array[email address], optional): List of users (email address) to be assigned as Authors. Author should have at least one of the following permissions: [RESPOND_ALL_SECTION, RESPOND_MY_SECTION, UPDATE_ALL_SECTION,UPDATE_MY_SECTION]. The author should belong to the same business unit of the project's business unit.

 

reviewerList(Array[email address], optional): List of users (email address) to be assigned as Reviewers. The conditions are similar to the author attribute.

 

reviewWorkflow(string, optional): Workflow type of the review process. Valid values are [ANY, ALL, SEQUENTIAL]

By default, ANY would be set if no value is given.

 

parentQuestionId(string, optional): Workflow type of the review process. Allowed values are: [ANY, ALL, SEQUENTIAL]

 

sortingOrder(double, optional): Sorting order of the Question. Sorting order value must be greater than or equal to zero.

 

subQuestionVisibilityConfig

(SubQuestionVisibilityExtVO, optional): Sub Question Visibility Configuration of the Question. Users can now set the visibility of a sub question only when the parent question response is true or false. To set the visibility of the sub question, the parent question should have a RADIO or DROPDOWN answer type.

 

 

 

 

 

 

 

externalId(string. optional): 

External Id of the question.

 

tags(Array[String], optional): Tags for the Question.

 

questionNum(string, optional): If value is not provided, the question number will be auto-generated

Output 


Sample Response


JSON object containing the array of question details with question id and external id.


{

  "baseQuestionDetails": [

    {

      "questionId": "5dd4ebf9c24e6b18daa44b6b",

      "externalId": "EXT-Q-001"

    }

  ]

}

 

Response Field Details

AnswerExtVO

Response of the Question

answerHeader Answer Header (String)
answerType Type of the answer. Allowed values are ["RICH_TEXT" or "BASIC_RICH_TEXT" or "DATE" or "DROPDOWN" or "CHECKBOX" or "RADIO"],
answerOptions

Answer Options (Optional) Array[AnswerOptionsExtVO]

Applicable only for DROPDOWN, CHECKBOX, RADIO answer types.,

answerInPlainText

Plain Answer Text. (String, Optional). Set the answer for the response. If the answer type is DATE, then the answer format should be yyyy-MM-dd. If the answer type is CHECKBOX, then the answer format should be "[value1,value2,...]".For Other types, the answer format should be "value",

answerInHTML

Rich Text Answer (String, Optional). In case of RICH_TEXT, BASIC_RICH_TEXT answer type, place HTML version of the answer here.

optional

Optional (boolean). Set answer response is optional or mandatory.

 

AnswerOptionsExtVO

Answer Options

valueInFile

valueInFile (string)

Value to be shown in the document while exporting.,

valueInUI

valueInUI (string) 

Value to be shown in the UI as option. Applicable only to CHECKBOX, DROPDOWN, RADIO answer types.,

standardResponse

standardResponse (string, optional)

To provide a standard response from the list configured in Organization settings -> Content Library -> AL Standard Response. Applicable for both DROPDOWN and RADIO answer types.

 

SubQuestionVisibilityExtVO

Sub question visibility setting of the Question

configs

Array[

SubQuestionVisibilitySettingConfigExtVO

]

 

SubQuestionVisibilitySettingConfigExtVO

Configuration List for sub-question visibility

answerHeader Answer Header (String)
answerType Answer Type (String) Allowed values are “DROPDOWN” or “RADIO”.
values
Matching values to make sub-questions visible. (Array[values])

 

Update Question

API URL /rfpserver/ext/v1/projects/{projectId}/sections/{sectionId}/questions/{questionId}/update
Description Update an existing question in a project.
Type POST

Input

(path param)

projectId

 



sectionId



questionId

ID of the Project.

Example:  5facc3452e660106a17cd782


ID of the Section.

Example:  5f7eae66131dc2389d9ad268


ID of the Question.

Example:  5f7eae67131dc2389d9ad26f

Input

(request body)

{

  "question": "Do you have any backup option?",

 

"status": "ANSWERED",  

 

"answers":[

{

"answerHeader":”Response”,

 "answerType": "DROPDOWN",

 "answerOptions": [

    {

    "valueInFile": ”Yes” 

    "valueInUI": ”True” 

    "standardResponse": ”” 

    },

    {

     "valueInFile": "No",

     "valueInUI": "False",

     "standardResponse": ""

     }

    ],


 "answerInPlainText": ”False”, 

 "answerInHTML": ””,

 "optional": false 

}

]

}

BaseQuestionExtVO {

question (string, optional): Updates the given Question text.,

 

status (string, optional): Updates the status of the question. Allowed values are: [ANSWERED or NOT_ANSWERED]., 

 

answers (Array[AnswerExtVO], optional):Updates the Response of the question.,

}

 For AnswerExtVO, [Please refer to the documentation.]

 

questionNum (string, optional): If value is not provided, the question number will be auto-generated.

 

tags (Array[String], optional): Tags for Question.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Output

 

Sample Response

ProjectSectionsExtVOList [Please refer documentation]

JSON object containing details of matching questions of a project.

{

    "questionId": "5f7eae67131dc2389d9ad26f",

    "sectionId": "5f7eae66131dc2389d9ad268",

    "status": "ANSWERED",

    "flags": [],

    "tags": ["new"],

    "type": "QUESTION",

    "contentType": "QUESTION",

    "question": "Do you have any backup option?",

    "autoResponded": false,

    "starRating": 5,

    "helpText": false,

    "collectionList": [],

    "alOwners": [

        "BOTH"

    ],

    "approvers": [],

    "answers": [

        {

            "id": "5f7eae67131dc2389d9ad26e",

            "answer": "False",

            "answerText": "False",

            "answerType": "DROPDOWN",

            "answerOptions": [

                {

                    "key": "Yes",

                    "value": "True",

                    "standardResponse": ""

                },

                {

                    "key": "No",

                    "value": "False",

                    "standardResponse": ""

                }

            ],

            "answerHeader": "Response",

            "maxType": "CHARACTER",

            "maxCharCount": 0,

            "limitExceed": false,

            "skipIndex": false,

            "optional": false,

            "lastUpdateTs": "2021-04-22 07:51:15 Z",

            "answeredBy": "",

            "translatedAnswerMap": {}

        }

    ],

    "createTs": "2020-10-08 06:15:03 Z",

    "clarifications": [],

    "authorList": [

        "bobby@rfpio.com"

    ],

    "reviewerList": [],

    "hidden": false,

    "alCustomReviewCycleInDays": -1

}

 

 

Attach File to Question

API URL

/rfpserver/ext/v1/projects/{projectId}/sections/{sectionId}/questions/{questionId}/answer/attach-file

Description

Attach one or more files to an existing question.

Type

POST

Input (Path param)

projectId

 

 

sectionId

 

questionId

ID of the project 

Example: 59131e7be49e9c7589032cfe

 

ID of the section

 

ID of the question

Headers

Authorization

Content-Type

Bearer a-da819a102c7f69fbabdf679d47b85c9e

multipart/form-data

Body

file

<File to be attached>

Output

If the upload is successful, the response code will be 200.

 

Example

Request:

https://{environment}/rfpserver/ext/v1/projects/5b45943d6737626be57c93c8/sections/601be98b12ef8d3696b437e7/attach-file

Response: 

No content with status code 200.

 

Delete Question

API URL /rfpserver/ext/v1/projects/{projectid}/sections/(sectionId)/questions/(questionId)/delete
Description Deletes a question from a section in a project.
Type POST
Input (path param)

projectId

 

 

sectionId

 

questionId

ID of the Project.

Example: 59131e7be49e9c7589032cfe

 

ID of the question's section.

 

ID of the question.

Input (request body) Not applicable Not applicable

Output 


Sample Response

If successful, the system will send status code 200.


N/A

 

Add Comments

API URL

/rfpserver/ext/v1/projects/{projectid}/comments/add

Description

Creates a new comment in a project. Can create one or more with a single request.

Type

POST

Input

(path param)

projectId

ID of the Project.

Example: 59131e7be49e9c7589032cfe

Input

(request body)

 

{

  "entityType": "SECTION",

 

 

  "entityId": "string",



  "comment": {

    "text": "string",

    "mentions": [

      "string"

    ],

    "parentId": "string"

  }

}

List<ProjectsDiscussionExtVO>

 

entityType(string): Type of the entity to which comment to be added. Allowed values are “SECTION” or “QUESTION”.

 

entityID(string, optional): Id of the entity type (section or question) under comment to be added.

 

comment (

CommentsExtVO

): comments

 

Please refer to the CommentsExtVO documentation.

Output 

 

Sample Response

If successful, the system will send status code 200.

 

N/A

 

Response Field Details

CommentVO

Contains detail of a comment.

text Comment Text (String)
mentions Users to be mentioned in the comment. (Array[emails])
parentId Id of the parent comment, under which the new comment to be added.

 

Create Tasks

API URL

/rfpserver/ext/v1/projects/create-tasks

Description

Creates a new task in the project.

Type

POST

Input

(path param)

projectId

ID of the Project.

Example: 59131e7be49e9c7589032cfe

Input

(request body)

{

  "projectId": "5de5e9ea9ef1d93c4f2c2dd3",

  "name": "test",

  "description": "test",

  "assignedToList": [

    "serah@abc.com"

  ],

  "dueDate": "2019-12-31T05:29:44.151Z",

  "startDate": "2019-12-31T05:29:44.151Z", 

  "checkList": [

    {

      "name": "test",

      "isCompleted": false,

      "completedDate": "2019-12-31T05:29:44.151Z"

    }

  ],

  "priority": "NONE"

}

TaskExternalRequestVO {

projectId (string): Indicates the unique ID of the project for which task has to be created.

name (string,): Indicates the task name.

description (stringoptional): Indicates the task description. 

assignedToList (Array[string]optional): Indicates the list of users to whom the task is assigned.

 

dueDate (date-timeoptional): Indicates the task due date.

 

startDate (date-timeoptional): Indicates the task start date.

 

checkList (Array[CheckListVO]optional),

 

 

 

 

 

 

 

priority (stringoptional) = ["NONE" or "HIGH" or "MEDIUM" or "LOW"]

}

CheckListVO {

name (stringoptional),

isCompleted (booleanoptional),

completedDate (date-timeoptional)

}

 

Output 

Sample Response

JSON object containing details of the created task. 

{

  "projectId": "5de5e9ea9ef1d93c4f2c2dd3",

  "name": "test",

  "description": "test",

  "assignedToList": [

    "serah@abc.com"

  ],

  "dueDate": "2019-12-30 21:29:44 -08:00",

  "startDate": "2019-12-30 21:29:44 -08:00",

  "checkList": [

    {

      "name": "test",

      "isCompleted": false

    }

  ],

  "priority": "NONE"

}

 

Get Tasks

API URL

/rfpserver/ext/v1/projects/tasks

Description

Gets the list of tasks by projectId and/or userId. Only Admin or SuperAdmin can view the tasks.

Type

GET

Input

(path param)

projectId

ID of the Project

Example: 5cca97009b2ffe5ff95707a7

userId

Indicates the user’s unique ID.

Output  

Sample Response

JSON object containing all tasks associated with the project or user. 

 [

  {

    "projectId": "5de5e9ea9ef1d93c4f2c2dd3",

    "name": "RFP Submission Due",

    "status": "Assigned",

    "type": "PROJECT_TASK",

    "assignedToList": [

      "serah@abc.com"

    ],

    "checkList": [],

    "priority": "NONE",

    "dueDate": "2019-12-12 18:00:00 -08:00",

    "startDate": "2019-12-02 20:51:54 -08:00"

  },

  {

    "projectId": "5de5e9ea9ef1d93c4f2c2dd3",

    "name": "test",

    "description": "test",

    "status": "Assigned",

    "type": "PROJECT_TASK",

    "assignedToList": [

      "serah@abc.com"

    ],

    "checkList": [

      {

        "name": "test",

        "isCompleted": false

      }

    ],

    "priority": "NONE",

    "dueDate": "2019-12-30 21:29:44 -08:00",

    "startDate": "2019-12-30 21:29:44 -08:00"

  }

]

 

List/Search Project Details

API URL

/rfpserver/ext/v1/projects

Description

List out all projects which match out any filters, if given.

Type

POST

Input

(request body)

{

  "category": [],

  "clientName": "Microsoft corporation",

  "crmObjectId": "0067F00000DfZuEQAV",

  "crmObjectType": "Opportunity",

  "crmType": "SALESFORCE",

  "externalId": "",

  "limit": 25,

  "offset": 0,

  "projectName": "Accounting",

  "projectStatus": [],

  "stage": []

}

ProjectSearchQueryExternalVO {

category (Array[string], optional): Project Category.,

clientName (string, optional): Name of the client. Returns all projects that match the search term in the client name. An empty search term returns all projects.,

crmObjectId (string, optional): CRM object ID to which the project is associated., 

crmObjectType (string, optional): CRM Type to which the project is associated. It can be one of these values only - Account, Lead, or Opportunity, 

crmType (string, optional): CRM to which the project is associated. It can be one of these values only - SALESFORCE, PIPEDRIVE, PIPELINE_DEALS, XAIT_PORTER, or MICROSOFT_TEAMS,MICROSOFT_DYNAMICS_CRM, HUBSPOT, 

externalId (string): External ID of the project.

limit (integer): Number of limited records to be displayed in the result. If the limit=-1, then only the total number of records (just the count) matched will be returned in the response.

offset (integer): Fetch the records starting from the specified value. Offset is used for pagination. For instance, when offset=0, it will fetch 0th record to nth (limit value) record.

projectName (string, optional): Project Name. Returns all projects that match the search term in the name. An empty search term returns all projects., 

projectStatus (Array[string], optional): Status of the project. Multiple statuses can be given. Accepted values are IN_PROGRESS, RESPONDED, CANCELED, or DELETED.,

stage (Array[string], optional): Project Stage. Multiple stage names can be given.,

} 

Output

 

Sample Response

ProjectExtVOList (Please refer documentation)

JSON object containing the list of projects that matches given filters. 

{

  "limit": 0,

  "offset": 0,

  "projects": [

    {

      "additionalContacts": [],

      "archiveProjectId": "",

      "archivedBy": "",

      "archivedDate": "2023-07-06T08:08:23.401Z",

      "category": [],

      "clientAddress1": "115 2nd Street",

      "clientAddress2": "New york",

      "clientEmail": "test@client.com",

      "clientName": "Microsoft Corporation",

      "clientPhone": "999-859-896",

      "companyId": "",

      "createdBy": "",

      "createdDate": "2023-07-06T08:08:23.401Z",

      "crmDetails": {

        "instanceId": "",

        "lastUpdateTs": "2023-07-06T08:08:23.401Z",

        "objectId": "",

        "objectType": "",

        "recordId": "",

        "type": "HUBSPOT"

      },

      "customFields": {},

      "dealSize": 123456,

      "deletedBy": "",

      "deletedOnTs": "2023-07-06T08:08:23.402Z",

      "description": "Authorization and Authentication Questionnaire",

      "displayId": "",

      "dueDate": "2023-07-06T08:08:23.402Z",

      "externalId": "EXT-Project-001",

      "id": "",

      "lastUpdateTs": "2023-07-06T08:08:23.402Z",

      "name": "TestEntity",

      "percentage": 0,

      "primaryBU": "India",

      "primaryContact": "janedoe@rfpio.com",

      "projectStage": "Submitted",

      "projectType": "RFP",

      "respondedDate": "2023-07-06T08:08:23.402Z",

      "sectionCount": 0,

      "status": "IN_PROGRESS",

      "teamMembers": [],

      "totalAnsweredCount": 0,

      "totalQuestionCount": 0,

      "updatedBy": ""

    }

  ],

  "totalResultsCount": 0

}

 

Search Project Question Details

API URL

/rfpserver/ext/v1/projects/search-project-questions/{projectId}

Description

Get details of questions in a project which matches the given filters.

Type

POST

Input

(path param)

projectId

 

limit

ID of the Project.

Example: 59131e7be49e9c7589032cfe

Indicates the count of results to be displayed. If the limit is set as -1 or no limit is set, all questions will be fetched.

Input

(request body)

{

  "searchTerm": "social",

 

 "sectionId": "5d3a7bc200cf50361992f214",  

 

 

 

 "questionId": “5d3a7bc300cf50361992f21f”,

 

 

  "status": "ANSWERED",

 

 

   "flagList": [

    "Follow-up"

  ],

  "flagSearchOption": null,

 

 

 

  "tags": "security",

 

  "authors": ["john@abc.com"],

 

 

  "lastUpdatedBy": john@abc.com,

 

  "autoResponded": false

}

ProjectQuestionSearchExternalVO {

searchTerm (string, optional): Returns all questions that match the search term in the question. An empty search term returns all questions., 

sectionId (string, optional): Returns only questions from a particular section if sectionId is provided., 

 

questionID (string, optional): Returns the particular question if questionId is provided.,

 

status (string, optional): Status of the question. It can be either ANSWERED OR NOT_ANSWERED., 

 

flagList (Array[string], optional): To filter the flagged questions by flag name.,

 

flagSearchOption (stringoptional): To filter the questions by flag. "NOT-FLAGGED" to filter the not flagged questions. "FLAGGED" to return the flagged question.,

 

tags (Array[string], optional): List of tags associated with questions in the project., 

authors (Array[string], optional): List of email addresses of authors of questions in the project., 

lastUpdatedBy (Array[string], optional): List of email addresses of users who have updated questions in the project., 

autoResponded (boolean, optional): Filters auto responded questions, if true is given; else returns all questions.

} 

Output

 

Sample Response

ProjectQuestionsExtVOList [Please refer documentation]

JSON object containing details of matching questions of a project.

{

  "totalCount": 1,

  "limit": 25,

  "startIndex": 0,

  "endIndex": 0,

  "questions": [

    {

      "questionId": "5d3a7bc300cf50361992f21f",

      "sectionId": "5d3a7bc200cf50361992f214",

      "status": "ANSWERED",

      "flags": [

        "Follow-up"

      ],

      "tags": [

        "security"

      ],

      "type": "QUESTION",

      "ansLibUsedType": "MANUAL",

      "contentType": "QUESTION",

      "question": "Please list and provide links to social media communication channels for your company (i.e. blog, Twitter account, Facebook group, etc.).",

      "autoResponded": false,

      "starRating": 3,

      "helpText": false,

      "collectionList": [],

      "alOwners": [],

      "approvers": [],

      "answers": [

        {

          "id": "5d3a7bc300cf50361992f21e",

          "answer": "<div>please see the attached document</div>",

          "answerText": "please see the attached document",

          "answerType": "RICH_TEXT",

          "answerOptions": [],

          "answerHeader": "Response",

          "maxType": "CHARACTER",

          "maxCharCount": 0,

          "limitExceed": false,

          "skipIndex": false,

          "optional": false,

          "lastUpdateTs": "2020-03-31 04:10:04 -07:00",

          "answeredBy": "john@abc.com"

        }

      ],

      "createTs": "2019-07-25 21:04:19 -07:00",

      "clarifications": [],

      "authorList": [

        "john@abc.com",

        "nava@abc.com"

      ],

      "reviewerList": [

        "sam@abc.com",

        "noel@abc.com"

      ],

      "hidden": false,

      "alCustomReviewCycleInDays": 90

    }

  ]

}

           

Get Project Question Comments

API URL

/rfpserver/ext/v1/projects/get-comments?

Description

Get all comments associated with questions in a project.

Type

POST

Input

(request body)

{

  "projectId": "string",

 

  "entityType": "string",

 

  "entityIdList":

[

    "string"

  ]

 

 "questionIdList": [

    "string"

  ]

}

ExternalQuestionCommentVO {

projectId (stringoptional): Indicates the unique project ID,

 

 

entityType (string): Indicates the entity type of the comment. Allowed values are SECTION or QUESTION.,

 

entityIdList (Array[string], optional): Indicates the list of entity IDs for which comments have to be retrieved.

 

 

 

questionIdList (Array[string]optional): Indicates the list of question IDs for which comments have to be retrieved.

}

Output

 

Sample Response

ProjectExternalDiscussionVO (please refer documentation)

JSON object containing all comments associated with the given project questions. 

[

  {

"id": "5e8330106228538692601ad0",

"projectId": "5d3a7ba0a167e235dc6b37f2",

"entityId": "5d3a7bc300cf50361992f21c",

"comments": [

   {

     "id": "5e832f6ac269254ffc55b128",

     "text": "plz verify this",

     "parent": true,

        "publicChat": true,

     "parentId": "5e832f6ac269254ffc55b128",

        "userName": "john@abc.com",

     "status": "UN_RESOLVED",

     "date": "2020-03-31 04:54:18 -07:00",

     "mentions": [

       "sam@abc.com"

     ],

     "files": []

   }

],

"follow": false,

"createdBy": "john@abc.com",

"followersList": [

   "john@abc.com",

   "sam@abc.com"

]

  },

  {

"id": "5e8330336228538692609aad",

"projectId": "5d3a7ba0a167e235dc6b37f2",

"entityId": "5d3a7bc300cf50361992f21f",

"comments": [

  {

     "id": "5e832f8dc269254ffc55b141",

     "text": "Can you verify this plz?",

     "parent": true,

     "publicChat": true,

     "parentId": "5e832f8dc269254ffc55b141",

     "userName": "john@abc.com",

     "status": "UN_RESOLVED",

     "date": "2020-03-31 04:54:53 -07:00",

     "mentions": [

       "ann@abc.com"

     ],

     "files": []

   }

],

"follow": false,

"createdBy": "john@abc.com",

"followersList": [

   "sam@abc.com",

   "john@abc.com"

]

  },

  {

"id": "5e8330436228538692611e8f",

"projectId": "5d3a7ba0a167e235dc6b37f2",

"entityId": "5d3a7bc300cf50361992f222",

"comments": [

   {

     "id": "5e832f6e10a83e3231220869",

     "text": "Review plz",

     "parent": true,

     "publicChat": true,

     "parentId": "5e832f6e10a83e3231220869",

     "userName": "john@abc.com",

     "status": "UN_RESOLVED",

     "date": "2020-03-31 04:54:22 -07:00",

     "mentions": [

       "anna@abc.com"

     ],

     "files": []

   }

],

"follow": false,

"createdBy": "john@abc.com",

"followersList": [

   "anna@abc.com",

   "john@abc.com"

]

  }

]

 

Project Attach File

API URL

/rfpserver/ext/v1/projects/{projectId}/attach-file

Description

Attach file to a project.

Type

POST

Input

(path param)

projectId

ID of the Project. Example: 5cca97009b2ffe5ff95707a7

Request content type

multipart/form-data

Request Content

file=/Users/chuck/Desktop/file.docx

Response

The file gets added to the Project and will be listed in the Documents tab of it in RFPIO.

 

Get Project Activities

API URL

/rfpserver/ext/v1/projects/{projectId}/activities

Description

Get all activities associated with a specific project.

Type

GET

Input

(path param)

projectId

ID of the Project. Example: 5cca97009b2ffe5ff95707a7 

lastActivityId

Optional parameter. This is used for pagination.

ID of the last record in the previous response can be specified to get the next set of result.

limit

Optional parameter. Limits the number of activities in the response. If no limit is set, default value 25 is set.

Output 

 

Sample Response

ProjectActivitiesExtVOList (please refer documentation)

JSON object containing all activities associated with the given project. 

{

  "activitiesList": [

    {

      "activityDate": "2023-07-06T08:23:19.272Z",

      "companyId": "",

      "description": "",

      "entityId": "",

      "id": "",

      "performedBy": "",

      "projectEntity": {},

      "projectId": "",

      "type": "ACTIVITY_PACKAGE_PUBLISHED_TO_INTEGRATION"

    }

  ]

}

 

Get Project Question Activities

API URL

/rfpserver/ext/v1/projects/{projectId}/get-question-activities?lastActivityId=<lastActivityId>&limit=25

Description

Get all activities associated with project questions.

Type

GET

Input

(path param)

projectId

ID of the Project. Example: 5cca97009b2ffe5ff95707a7

lastActivityId

Optional parameter. This is used for pagination.

ID of the last record in the previous response can be specified to get the next set of result.

limit

Optional parameter. Limits the number of activities in the response. If no limit is set, default value 25 is set.

Output 

 

Sample Response

QuestionActivityExternalVOList  (please refer documentation)

JSON object containing all activities associated with the given project. 

 {

  "questionActivityVOList": [

    {

      "id": "5d92d8e69b2ffe44c5254dcb",

      "companyId": "5c415cac34ff91377fac2218",

      "description": "message.ANSWER_COMPLETED_QUESTION",

      "performedBy": "john@abc.com",

      "activityDate": "2019-09-30 21:41:10 -07:00",

      "oldValues": {

        "Response": "",

        "Status": "Not Answered"

      },

      "newValues": {

        "Response": "<div><div>532670</div></div>",

        "Status": "Answered",

        "Answer Library Usage Type": "Answer Library Used"

      },

      "additionalProperties": {

        "Response_datatype": "RICH_TEXT"

      },

      "projectId": "5cca97009b2ffe5ff95707a7",

      "sectionId": "5d92d810a167e21ff23805dc",

      "questionId": "5d92d838a167e21ff23805f4",

      "type": "ANSWER_COMPLETED"

    },

    {

      "id": "5d92d8cf9b2ffe44c5254dc4",

      "companyId": "5c415cac34ff91377fac2218",

      "description": "message.ANSWER_COMPLETED_QUESTION",

      "performedBy": "john@abc.com",

      "activityDate": "2019-09-30 21:40:47 -07:00",

      "oldValues": {

        "Response": "",

        "Status": "Not Answered"

      },

      "newValues": {

        "Response": "<div><div>500041</div></div>",

        "Status": "Answered",

        "Answer Library Usage Type": "Answer Library Used"

      },

      "additionalProperties": {

        "Response_datatype": "RICH_TEXT"

      },

      "projectId": "5cca97009b2ffe5ff95707a7",

      "sectionId": "5d92d810a167e21ff23805dc",

      "questionId": "5d92d8139b2ffe44c5254d6b",

      "type": "ANSWER_COMPLETED"

    },

    {

      "id": "5d92d838a167e21ff23805f5",

      "companyId": "5c415cac34ff91377fac2218",

      "description": "message.QUESTION_CREATED",

      "performedBy": "john@abc.com",

      "activityDate": "2019-09-30 21:38:16 -07:00",

      "additionalProperties": {

        "Response_datatype": "RICH_TEXT"

      },

      "details": {

        "Question": "sugar not reliable"

      },

      "projectId": "5cca97009b2ffe5ff95707a7",

      "sectionId": "5d92d810a167e21ff23805dc",

      "questionId": "5d92d838a167e21ff23805f4",

      "type": "CREATED"

    }

 ]

}

 

Attachment Download

API URL

/rfpserver/ext/v1/projects/attachments/{companyId}/{fileId}

Description

Downloads the specified attachment file

Type

GET

Input

companyId and fileId in the URL 

 

In Project records, if there are any attachments, each attachment will have companyId and fileId which can be used here to download the file. 

Output

Complete File

 

Get Cost Estimates

API URL

/rfpserver/ext/v1/projects/get-cost-estimates

Description

Gets a project’s cost estimates

Type

GET

Input

projectId and sectionId

 

projectId is a required field. You can specify the projectId along with the sectionId to get cost estimates of a project. 

Output

{

  "projectCostList": [

    {

      "id": "5ea9565ad341c8220a8bc24a",

      "companyId": "5d19efb7a167e26d88c36e32",

      "projectId": "5d3a7ba0a167e235dc6b37f2",

      "notes": "Draft",

      "cost": 25000,

      "effort": 300,

      "createdBy": "john@abc.com",

      "createdDate": "2020-04-29 10:26:34 Z",

      "lastUpdateTs": "2020-04-29 10:26:34 Z"

    },

    {

      "id": "5ea95666d341c8220a8bc25a",

      "companyId": "5d19efb7a167e26d88c36e32",

      "projectId": "5d3a7ba0a167e235dc6b37f2",

      "notes": "Planning",

      "cost": 30000,

      "effort": 120,

      "createdBy": "john@abc.com",

      "createdDate": "2020-04-29 10:26:46 Z",

      "lastUpdateTs": "2020-04-29 10:26:46 Z"

    }

  ]

}

 

Update Project Details

API URL

/rfpserver/ext/v1/projects/update/{projectId}

Description

Updates existing project details in a company.

Type

POST

Input

(path param)

projectId

Project ID of the Project.

Eg: 59131e7be49e9c7589032cfe

Input

(request body)

{

"additionalContacts": [],

"category": [],

"clientAddress1": "115 2nd Street",

"clientAddress2": "New york",

"clientEmail": "test@client.com",

"clientName": "Microsoft Corporation",

"clientPhone": "999-859-896",

"customFields": {},

"dealSize": 123456,

"description": "Authorization and Authentication Questionnaire",

"dueDate": "2023-07-06T08:19:53.533Z",

"externalId": "EXT-Project-001",

"name": "TestEntity",

"primaryBU": "India",

"primaryContact": "janedoe@rfpio.com",

"projectStatus": "IN_PROGRESS",

"projectType": "RFP",

"respondedDate": "2023-07-06T08:19:53.533Z",

"teamMemberList": []

}

BaseProjectRequestExtVO {

additionalContacts (array[string]optional),

The user should be a SUPER_ADMIN or RFP_ADMIN or any role with PROJECT_PRIMARY_CONTACT additional role enabled. The contact should belong to the same business unit if the business unit field has values.

 

category (array[string]optional), Category of the entity.

clientAddress1 (stringoptional): Address1 of the client.

clientAddress2 (stringoptional): Address2 of the client.

clientEmail (stringoptional): Email Address of the client.

clientName (stringoptional): Name of the client.

clientPhone (stringoptional): Contact number of the client.

customFields (objectoptional): Custom Fields. Use customField's mergeTag name as key and appropriate value. Custom field that are marked as required are mandatory. Please refer to the list of custom fields in the Organization settings for better clarity.

dealSize (number($double), optional): Value of the deal.

description (stringoptional): A high level description/notes that explains about the entity,

dueDate (string($date-time), required): Due data of the entity (project/intake) to be completed. It should be a future date with format, yyyy-MM-dd HH:mm:ss XXX.

externalId (string, optional): External Id of the Project.

name (string, required): Name of the entity.

primaryBU (stringoptional): Business unit name to be associated.

primaryContact(string, required): Primary contact of the entity(project/intake). The user should be a SUPER_ADMIN or RFP_ADMIN or any role with PROJECT_PRIMARY_CONTACT additional role enabled. The contact should belong to the same business unit if the business unit field of this project/intake has values.

projectStatus (string, optional): Status of the project. Allowed values are IN_PROGRESS,RESPONDED and CANCELED

projectType (string, required): Type of the entity (project/intake) from the list of various types configured in the organization settings. Allowed values can be referred from, " + "Organization settings->Project->Type.

Output

 

Sample Response

JSON object containing details of the updated project. 

{

  "additionalContacts": [],

  "category": [],

  "clientAddress1": "115 2nd Street",

  "clientAddress2": "New york",

  "clientEmail": "test@client.com",

  "clientName": "Microsoft Corporation",

  "clientPhone": "999-859-896",

  "companyId": "",

  "createdBy": "",

  "createdDate": "2023-07-06T08:19:53.567Z",

  "crmDetails": {

    "instanceId": "",

    "lastUpdateTs": "2023-07-06T08:19:53.567Z",

    "objectId": "",

    "objectType": "",

    "recordId": "",

    "type": "HUBSPOT"

  },

  "customFields": {},

  "dealSize": 123456,

  "description": "Authorization and Authentication Questionnaire",

  "displayId": "",

  "dueDate": "2023-07-06T08:19:53.567Z",

  "externalId": "EXT-Project-001",

  "id": "",

  "lastUpdateTs": "2023-07-06T08:19:53.567Z",

  "name": "TestEntity",

  "percentage": 0,

  "primaryBU": "India",

  "primaryContact": "janedoe@rfpio.com",

  "projectStage": "Submitted",

  "projectType": "RFP",

  "respondedDate": "2023-07-06T08:19:53.567Z",

  "sectionCount": 0,

  "status": "IN_PROGRESS",

  "teamMembers": [],

  "totalAnsweredCount": 0,

  "totalQuestionCount": 0,

  "updatedBy": ""

}

 

Response Field Details

ProjectExtVOList

List of projects.

projects

List of projects (Array[ProjectResponseExtVO ]).

Please refer ProjectResponseExtVO documentation.

totalResultsCount

Total count of matching projects (integer($int32)).

limit

The number of records limited in the response (integer($int32)).

offset

integer($int32)

 

ProjectResponseExtVO

Details of a project.

additionalContacts

List of users(email addresses) to be associated. The user should be a SUPER_ADMIN or RFP_ADMIN or any role with PROJECT_PRIMARY_CONTACT additional role enabled.

The contact should belong to the same business unit if the business unit field has values

archiveProjectId string
archivedBy string
archivedDate string($date-time)
category Category of the entity
clientAddress1

string

example: 115 2nd Street

Address1 of the client

clientAddress2

string

example: New york

Address2 of the client

clientEmail

string

example: test@client.com

Email Address of the client

clientName

string

example: Microsoft Corporation

Name of the client

clientPhone

string

example: 999-859-896

Contact number of the client

companyId string
createdBy string
createdDate string($date-time)
crmDetails CRM Details
customFields Use customField's mergeTag name as key and appropriate value. Custom field that are marked as required are mandatory.Please refer to the list of custom fields in the Organization settings for better clarity
dealSize

number($double)

example: 123456

Value of the deal

deletedBy string
deletedOnTs string($date-time)
description

string

example: Authorization and Authentication Questionnaire

A high level description/notes that explains about the entity(project/intake)

displayId string
dueDate* string($date-time)

Due date of the entity (project/intake) to be completed. It should be a future date with format, yyyy-MM-dd HH:mm:ss XXX

externalId

string

example: EXT-Project-001

External Id of the Project

id

string

lastUpdateTs

string($date-time)

name*

string

example: TestEntity

Name

percentage

integer($int32)

primaryBU

string

example: India

Business Unit Name to be associated. This is mandatory only if business unit is enabled for the company

primaryContact*

string

example: janedoe@rfpio.com

Primary contact of the entity(project/intake). The user should be a SUPER_ADMIN or RFP_ADMIN or any role with PROJECT_PRIMARY_CONTACT additional role enabled.The contact should belong to the same business unit if the business unit field of this project/intake has values

projectStage*

string

example: Submitted

Stage of the project from the list of stages configured in the organization settings. Allowed values can be referred from, Organization settings->Project->Stage

projectType*

string

example: RFP

Type of the entity (project/intake) from the list of various types configured in the organization settings. Allowed values can be referred from,

Organization settings->Project->Type

respondedDate

string($date-time)

sectionCount

integer($int32)

status

string

example: IN_PROGRESS

Status of the Project.

teamMembers

[string]

totalAnsweredCount

integer($int32)

totalQuestionCount

integer($int32)

updatedBy

string

 

ProjectResponseVO

Details of a project.

additionalContacts

List of users(email addresses) to be associated. The user should be a SUPER_ADMIN or RFP_ADMIN or any role with PROJECT_PRIMARY_CONTACT additional role enabled. The contact should belong to the same business unit if the business unit field has values

(Array[String], optional).

category

Category of the entity (Array[String]).

clientAddress1

string

example: 115 2nd Street

Address1 of the client

clientAddress2

string

example: New york

Address2 of the client

clientEmail

string

example: test@client.com

Email Address of the client

clientName

string

example: Microsoft Corporation

Name of the client

clientPhone

string

example: 999-859-896

Contact number of the client

companyId

string

createdBy

string

createdDate

string($date-time)

crmDetails

CRMDetails

customFields

Use customField's mergeTag name as key and appropriate value. Custom field that are marked as required are mandatory.Please refer to the list of custom fields in the Organization settings for better clarity

dealSize

number($double)

example: 123456

Value of the deal

description

string

example: Authorization and Authentication Questionnaire

A high level description/notes that explains about the entity(project/intake)

displayId

string

clientEmail

Email address of the client (String).

dealSize

Project deal size (Double).

dueDate*

string($date-time)

Due date of the entity (project/intake) to be completed. It should be a future date with format, yyyy-MM-dd HH:mm:ss XXX

externalId

string

example: EXT-Project-001

External Id of the Project

id

string

lastUpdateTs

string($date-time)

name*

string

example: TestEntity

Name

percentage

integer($int32)

primaryBU

string

example: India

Business Unit Name to be associated. This is mandatory only if business unit is enabled for the company

primaryContact*

string

example: janedoe@rfpio.com

Primary contact of the entity(project/intake). The user should be a SUPER_ADMIN or RFP_ADMIN or any role with PROJECT_PRIMARY_CONTACT additional role enabled.The contact should belong to the same business unit if the business unit field of this project/intake has values

projectStage*

string

example: Submitted

Stage of the project from the list of stages configured in the organization settings. Allowed values can be referred from, Organization settings->Project->Stage

projectType*

string

example: RFP

Type of the entity (project/intake) from the list of various types configured in the organization settings. Allowed values can be referred from,

Organization settings->Project->Type

respondedDate

string($date-time)

sectionCount

integer($int32)

Number of sections in the project.

status

string

example: IN_PROGRESS

Status of the Project.

teamMembers

[string]

totalAnsweredCount

integer($int32)

totalQuestionCount

integer($int32)

updatedBy

string

 

ProjectResponseExtVO

Details of a project.

additionalContacts

List of users(email addresses) to be associated. The user should be a SUPER_ADMIN or RFP_ADMIN or any role with PROJECT_PRIMARY_CONTACT additional role enabled. The contact should belong to the same business unit if the business unit field has values

(Array[String], optional).

archiveProjectId

String

archivedBy

String

archivedDate

string($date-time)

category

Category of the entity (Array[String]).

clientAddress1

string

example: 115 2nd Street

Address1 of the client

clientAddress2

string

example: New york

Address2 of the client

clientEmail

string

example: test@client.com

Email Address of the client

clientName

string

example: Microsoft Corporation

Name of the client

clientPhone

string

example: 999-859-896

Contact number of the client

companyId

string

createdBy

string

createdDate

string($date-time)

crmDetails

CRMDetails

customFields

Use customField's mergeTag name as key and appropriate value. Custom field that are marked as required are mandatory.Please refer to the list of custom fields in the Organization settings for better clarity

dealSize

number($double)

example: 123456

Value of the deal

description

string

example: Authorization and Authentication Questionnaire

A high level description/notes that explains about the entity(project/intake)

displayId

string

clientEmail

Email address of the client (String).

dealSize

Project deal size (Double).

dueDate*

string($date-time)

Due date of the entity (project/intake) to be completed. It should be a future date with format, yyyy-MM-dd HH:mm:ss XXX

externalId

string

example: EXT-Project-001

External Id of the Project

id

string

lastUpdateTs

string($date-time)

name*

string

example: TestEntity

Name

percentage

integer($int32)

primaryBU

string

example: India

Business Unit Name to be associated. This is mandatory only if business unit is enabled for the company

primaryContact*

string

example: janedoe@rfpio.com

Primary contact of the entity(project/intake). The user should be a SUPER_ADMIN or RFP_ADMIN or any role with PROJECT_PRIMARY_CONTACT additional role enabled.The contact should belong to the same business unit if the business unit field of this project/intake has values

projectStage*

string

example: Submitted

Stage of the project from the list of stages configured in the organization settings. Allowed values can be referred from, Organization settings->Project->Stage

projectType*

string

example: RFP

Type of the entity (project/intake) from the list of various types configured in the organization settings. Allowed values can be referred from,

Organization settings->Project->Type

respondedDate

string($date-time)

sectionCount

integer($int32)

Number of sections in the project.

status

string

example: IN_PROGRESS

Status of the Project.

teamMembers

[string]

totalAnsweredCount

integer($int32)

totalQuestionCount

integer($int32)

updatedBy

string

 

 

CRMDetailsVO

Details of associated CRMs. 

objectId

CRM object ID to which the project is associated (String).

recordId

The ID of the associated Deal/Opportunity (String).

objectType

CRM type to which the project is associated. It depends on the CRM. Example: for Salesforce, the value can be Account, Lead, or Opportunity (String).

type

CRM to which the project is associated (String).

The values can be: SALESFORCE, PIPEDRIVE, PIPELINE_DEALS, XAIT_PORTER, MICROSOFT_TEAMS, MICROSOFT_DYNAMICS_CRM, or HUBSPOT".

 

ProjectFileVO

Contains detail of an attachment.

fileId

Unique ID of the file (String).

filename

File Name (String).

projectFileStatus

Status of the file (String). The values can be: DRAFT, IN_PROGRESS, COMPLETE, or ERROR.

fileType

Type of the file (String). For Example: application/vnd.openxmlformats-officedocument.wordprocessingml.document

size

File size in bytes (Long).

uploadType

The Channel that was used while importing a file into a project (String). The values can be ADVANCED, BASIC, or SUPPORT.

uploadBy

The user email address who has uploaded the file (String).

md5Value

Hashed value of the content present in the file (String).

source

The source from where the file was uploaded in the application (String). The value can be: LOCAL_DRIVE, DROPBOX, GOOGLE_DRIVE, BOX, ONE_DRIVE, SALESFORCE, DOCUMENT_LIBRARY, SECTION_TEMPLATE, SHAREPOINT, PIPEDRIVE, PIPELINE_DEALS, MICROSOFT_DYNAMICS_CRM, or HUBSPOT.

 

PackageRequestVO

Details of the project response package generated in the project.

Id

Unique Identifier of the response package that was generated in the project (String).

companyId

ID of the company (String).

requestDate

Date-Time of when the project response has been generated (Date-Time).

requestBy

The person who has generated the project response (String).

status

Status of the project response (String).

fileId

ID of the generated file (String).

exportType

Type of the export (String).

The value can be Template, Source, or export PPTX.

packageName

Name of the project response package (String).

 

MilestoneSummaryVO

Details of a task.

id

Unique identifier of the task (String).

companyId

Company Id (String).

name

The name of the Task (String).

linkedId

ID of the question, if the task is created from a question, else this would be null (String).

linkedType

If the task is created from the question, the type would be "QUESTION" else null (String).

description

Description of the task (String).

assignedToList

List of the people's email addresses to whom the task is assigned (Array[String]).

dueDate

The due date of the task (Date-time).

status

Status of the task (String).

The value can be ASSIGNED, COMPLETED, or CANCELED.

completedDate

The task completed date (Date-time).

startDate

The task started date (Date-time).

completedBy

The email address of the user who has completed the task (String).

checkList

List of checklists associated with this task (Array[CheckListVO]).

Please refer CheckListVO documentation.

priority

Priority of the task (String). The value can be NONE, HIGH, MEDIUM, or LOW.

progress

Percentage of the progress made (Integer).

type

Type of the task (String). The value can be ANSWER_LIBRARY_REVIEW, SECTION, PROJECT_TASK, SECTION_TEMPLATE_REVIEW, ANSWER_LIBRARY_MODERATION, DOCUMENT_LIBRARY_REVIEW, SECTION_AUTHOR_TASK, or SECTION_REVIEW_TASK.

 

CheckListVO

Details of a checklist created as part of a task.

name

Name of the checklist (String).

isCompleted

Status of the checklist (Boolean).

completedDate

Completed Date, if the checklist is completed (Date-time).

 

ProjectQuestionsExtVOList

List of question details of a project.

questionsList

List of questions (Array[QuestionDetailsExternalVO ]).

Please refer QuestionDetailsExternalVO  documentation.

totalCount

Total number of records in the result (Integer).

limit

Limited number of records in the result (Integer).

startIndex

Start index of the results (Integer).

endIndex

End index of the results (Integer).

 

QuestionDetailsExternalVO

Question Details.

questionId

Question ID (String).

projectId

Project ID (String).

sectionId

Section ID (String).

status

Status of the Question (String).

The value can be NOT_ANSWERED or ANSWERED.

flag

Indicator to say if this question is flagged for follow-up (String). If this is flagged the value would be “flag”, else null.

type

Indicates the type (String). The values can be QUESTION or CLARIFICATION.

ansLibUsedType

By what means the question was answered (String). The value can be AUTO_RESPOND_RAN, AUTO_RESPOND_IDENTIFIED, AUTO_RESPOND, AUTO_RESPOND_EDITED, LIB_USED, LIB_EDITED, or MANUAL.

contentType

Type of the content (String). The value can be QUESTION or DESCRIPTION.

question

Content of the question (String).

autoResponded

Indicator to say if the  question is auto-responded (Boolean).

answers

List of answers (Array[AnswerVO]). Please refer AnswerVO documentation.

createTs

Question created timestamp (Date-time).

clarifications

List of clarifications (only unique IDs) raised for this particular question (Array[string]).

assignedTo

QuestionAssignToVO

List of assignee details. Please refer QuestionAssignToVO documentation.

authorList

List of authors email addresses (Array[string]).

reviewCompletedList

List of reviewers who have completed reviewing the answer email addresses (Array[string]).

 

AnswerVO

Answer Details.

id

Unique identifier of the answer (String).

answer

Content of the answer with style such as html tags (String).

answerText

Content of the answer without style (String).

rowNumber

Row number for answer (String).

columnName

Column name for answer (String).

answerType

Answer type should be one of these values (String). The value can be TEXT, DATE, MULTISELECT, DROPDOWN, MULTI_COLUMN_DROPDOWN, CHECKBOX, RADIO, MULTI_COLUMN_RADIO, RICH_TEXT, LABEL, or NONE.

answerOptions

List of answer option (Array[AnswerOptionsVO]). Please refer AnswerOptionsVO.

answerHeader

Header name of the answer which is configured (String).

optional

Indicator to say if the answer is mandatory or optional (Boolean).

textAnsValidation

If the answer is configured to validate the answer based on content (String). The value can be NUMERIC, ALPHABETIC, or ALPHA_NUMERIC.

lastUpdateTs 

Recently updated time stamp (Date-Time).

answeredBy 

Email address of user who has answered (String).

 

AnswerOptionsVO

Answer Option Details.

key

The display value of the answer choice (String).

value

The actual value of the answer choice (String).

standardResponse

Indicates the standard response (String).

answerColumn

Column name linked to this answer while import/export (String).

 

QuestionAssignToVO

Question Assigned Details.

userRole

Role of the user (String).

Users

List of users to whom this question is assigned (Array[string]).

comments

Comments given while assigning question (String).

assignedBy

Who has assigned this question (String).

notifyAll

Indicator to say if all the assignee should be notified (Boolean).

assignedDate

The question assigned date (Date-Time).

 

ProjectExternalDiscussionVO

Contains complete detail of the discussions.

id

Unique identifier of the project external discussions (String).

projectId

Project ID (String).

entityId

Question ID (String).

comments

List of comments (Array[CommentVO]). Please refer CommentVO documentation.

createdBy

Email address of the project creator (String).

followersList

Users who are associated with this comment (Array[string]).

 

CommentVO

Details of the comment.

id

Unique identifier of the comment (String).

text

Comment text (String).

parent

Indicates is this is a parent comment (Boolean). The very first comment is the parent comment for all the following comments.

parentId

ID of the parent comment (String).

userName

Email address of the user who has posted this comment (String).

status

Current status of the comment (String). The value can be RESOLVED or UN_RESOLVED. Null value for the status would mean that the comment is open/un_resolved.

resolvedBy

The email address of the user who has resolved/closed this comment (String).

resolvedDate

Comment resolved/closed date (Date-Time).

date

Comment created date time (Date-Time).

mentions

List of users @mentioned in the comment (Array[string]).

files

List of files attached (Array[ProjectFileVO]).

Please refer ProjectFileVO documentation.

 

ProjectActivitiesExtVOList 

List of project activities.

activitiesList

List of project activities (Array[ProjectActivityExtVO]).

Please refer ProjectActivityExtVO documentation.

 

ProjectActivityExtVO

Project Activity Details.

activityDate 

string($date-time)

companyId 

Company ID (String).

description 

Description of the activity (String).

entityId 

string

id

string
performedBy string
projectEntity

IActivityEntity{

}

projectId string
type

string

Enum:

[

ACTIVITY_PACKAGE_PUBLISHED_TO_INTEGRATION, AUDIT_LOGS_DOWNLOADED, COMMENT_ADDED, COMMENT_DELETED, COMMENT_EITDED, COST_CREATED, COST_DELETED, COST_EDITED, CRM_ASSOCIATION_CHANGED, DESCRIPTION_DELETED, DOCUMENT_SETTINGS_EDITED, EMAIL_QUEUE_DELETED, EXPORT_FILE_TRANSLATION_ACKNOWLEDGED, EXPORT_REPONSES_DOWNLOAD, E_SIGNATURE_FIELD_CREATED, E_SIGNATURE_FIELD_DELETED, E_SIGNATURE_FIELD_EDITED, FILE_ACCEPTED, FILE_ADDED, FILE_APPROVED, FILE_BACKUP, FILE_CONVERTED, FILE_DECLINED, FILE_DELETED, FILE_DOWNLOADED, FILE_EDITED, FILE_IMPORTED, FILE_IMPORTED_CONFIG_BACKUP, FILE_IMPORTED_CONFIG_REVERTED, FILE_MOVED, FILE_SHARED, FILE_UPDATED, FILE_VOIDED, FOLDER_ADDED, FOLDER_DELETED, FOLDER_UPDATED, GOOGLE_EDITOR_INTEGRATION, GOOGLE_EDITOR_INTEGRATION_ERR, IMPORT_FILE_TRANSLATION_ACKNOWLEDGED, ISSUE_LINKED, ISSUE_UNLINKED, MERGE_TAG_ADDED, MERGE_TAG_DELETED, MERGE_TAG_EDITED, MILESTONE_ADDED, MILESTONE_DELETED, MILESTONE_DUE_DATE_CHANGED, MILESTONE_INFO_CHANGED, MILESTONE_OWNER_CHANGED, MILESTONE_STATUS_CHANGED, PROJECT_ADDITIONAL_PRIMARY_CONTACT_ADDED, PROJECT_ADDITIONAL_PRIMARY_CONTACT_REMOVED, PROJECT_CLONED, PROJECT_CREATED, PROJECT_DUE_DATE_CHANGED, PROJECT_GUEST_REMOVED, PROJECT_GUEST_SHARED, PROJECT_GUEST_VIEWED, PROJECT_INFO_CHANGED, PROJECT_MARKED_OFFLINE, PROJECT_MARKED_ONLINE, PROJECT_NOTES_CREATED, PROJECT_NOTES_DELETED, PROJECT_NOTES_EDITED, PROJECT_OWNER_CHANGED, PROJECT_PACKAGE_EDITED, PROJECT_PACKAGE_PUBLISH_TO_SALESFORCE, PROJECT_PACKAGE_PUBLISH_TO_ZOHO, PROJECT_PACKAGE_REQUESTED, PROJECT_PACKAGE_REQUEST_COMPLETED, PROJECT_PACKAGE_REQUEST_DELETED, PROJECT_PACKAGE_REQUEST_DOWNLOADED, PROJECT_PERCENTAGE_CHANGED, PROJECT_PUBLISHED, PROJECT_PUBLISH_CONTENT_EDITED, PROJECT_STAGE_EDITED, PROJECT_STATUS_CHANGED, PROJECT_TEAM_MEMBER_ADDED, PROJECT_TEAM_MEMBER_REMOVED, PROJECT_TEMPLATE_OWNER_CHANGED, PROJECT_UNARCHIVED, QUESTION_DELETED, REQUEST_ADDENDUM_DISCARDED, REQUEST_ADDENDUM_EDITED, REQUEST_ADDENDUM_REPUBLISHED, REQUEST_INFO_CHANGED, REQUEST_OWNER_ADDED, REQUEST_OWNER_REMOVED, REQUEST_TEAM_MEMBER_ADDED, RESPONSE_TEMPLATE_ADDED, RESPONSE_TEMPLATE_EDITED, RESPONSE_TEMPLATE_REMOVED, SECTION_ADDED, SECTION_AUTHOR_COMPLETED, SECTION_DELETED, SECTION_DOCUMENT_SETTINGS_UPDATED, SECTION_DUE_DATE_CHANGED, SECTION_GROUP_ADDED, SECTION_GUEST_UPDATED, SECTION_INFO_CHANGED, SECTION_MOVED_TO_TRASH, SECTION_OWNER_CHANGED, SECTION_PRIVACY_UPDATED, SECTION_RESTORED_FROM_TRASH, SECTION_REVIEWER_CHANGED, SECTION_REVIEW_COMPLETED, SECTION_REVIEW_DUE_DATE_CHANGED, SECTION_REVIEW_WORKFLOW_CHANGED, SECTION_STATUS_CHANGED, SETTINGS_CHANGED, TEMPLATE_CREATED, TIMER_ADDED, TIMER_DELETED, TIMER_EDITED, TIMER_ENDED, TIMER_STARTED, TOPIC_CREATED, TOPIC_DELETED, TOPIC_EDITED, VENDOR_ADDED, VENDOR_MILESTONE_ADDED, VENDOR_MILESTONE_DELETED, VENDOR_MILESTONE_EDITED, VENDOR_REMOVED  ]

 

QuestionActivityExternalVOList

List of project question activities.

questionActivityVOList 

Array of question activities (Array[QuestionActivitiesVO]).

Please refer QuestionActivitiesVO documentation.

 

QuestionActivitiesVO

Project Question Activities.

id

Unique identifier of the activity (String).

companyId 

Company ID (String).

description 

Description of the activity (String).

performedBy 

Activity performer's email address (String).

activityDate 

Date of the activity (String).

oldValues 

Old values in the key value map (Map).

newValues 

New values in the key value map (Map).

diffValues 

Difference between old values and new values in the key value map (Map).

additionalProperties 

Additional properties in key value form (Map).

details 

List of Users @mentioned in the comment (Array[string]).

projectId 

Project ID (String).

sectionId 

Section ID (String).

questionId 

Question ID (String).

type 

Activity Type performed on the Q&A pair such as question creation, answer completion and more. (String). Examples: ANSWER_COMPLETED, ANSWER_EDITED, QUESTION_CREATED, QUESTION_EDITED, ANSWER_REVIEWED and so on.

 

 

Access Content from Active and Archived Projects

API URL

/rfpserver/ext/v1/projects/search-xproject-content

Description

Search across projects, both active and archived for keywords or phrases in questions, or answers, or both across projects.  Use filter criteria to limit the search to certain projects.  This includes project metadata, such as, project status, project type, or any project custom fields.

Type

POST

 

Body

ProjectDetailsSearchRequestVO 

projectId 

Array[string]

Optional

List of project Id to filter questions

projectName 

String

Optional

Project Name. Regex search is allowed

projectStatus 

Array[string]

Optional

List of status of the project. Accepted values -[IN_PROGRESS, RESPONDED, CANCELED, DELETED, ARCHIVED]

projectType 

Array[string]

Optional

List of Project types from the list of various types configured in the organization settings. Allowed values can be referred from, Organization settings->Project->Type

projectStage 

Array[string]

Optional

List of project stages from the list of stages configured in the organization settings. Allowed values can be referred from, Organization settings->Project->Stage

projectCategory 

Array[string]

Optional

Project Category

businessUnits 

Array[string]

Optional

Business Unit Names

primaryContact 

Array[string]

Optional

List of email addresses of Primary Contact of the project.

additionalContacts 

Array[string]

Optional

List of email addresses who are the additional primary contacts for this project

teamMembersList 

Array[string]

Optional

List of project team members.

clientName 

String

Optional

Project client name

customFields 

Array[string]

Optional

List of Custom Fields. Use custom field's merge tag name as key and appropriate value. For the custom field's merge tag name, get it from the list of project custom fields in the Organization settings. For "DROPDOWN", "CHECKBOX", "RADIO", "SELECT USER", "MULTI SELECT DROPDOWN" type of custom field's value should be ["value1","value2",...]. "TEXT BOX", "TEXT AREA'', "AUTO INCREMENTAL", "DATE" and "DATE AND TIME" type custom field not searchable

createdBy

Array[string]

Optional

List of email addresses of the users who have created the project

updatedBy 

Array[string]

Optional

List of email addresses of the users who have updated the project

fromDueDate 

Date - Time

Optional

Projects having a due date equal or more than fromDueDate will be filtered. Date format should be like this: yyyy-MM-ddTHH:mm:ss.SSSZ eg:(2021-06-16T05:23:33.163Z)

toDueDate 

Date - Time

Optional

Projects having a due date equal or lesser than toDueDate will be filtered. Date format should be like this: yyyy-MM-ddTHH:mm:ss.SSSZ eg:(2021-06-16T05:23:33.163Z)

fromCreatedDate 

Date - Time

Optional

Projects having created date equal or more than fromCreatedDate will be filtered. Date format should be like this: yyyy-MM-ddTHH:mm:ss.SSSZ eg:(2021-06-16T05:23:33.163Z)

toCreatedDate 

Date - Time

Optional

Projects having created date equal or lesser than toCreatedDate will be filtered. Date format should be like this: yyyy-MM-ddTHH:mm:ss.SSSZ eg:(2021-06-16T05:23:33.163Z

displayId

String

Optional

AUTO INCREMENTAL custom field value to filter project

projectExternalId 

String

Optional

External Id of the Project

limit 

Integer

Optional

No of limited records to be displayed in the result. If the limit is -1, then only the total number of records(just the count) matched will be returned in the response

cursor 

String

Optional

For next pagination get value from response of previous search

 

ProjectQuestionSearchExtVO 

searchTerm

String

Optional

Returns all the questions that match the search term in the question or answer based on searchTermOption. An empty search term returns all questions matching other filters. Regex search is allowed.

searchTermOption 

String

Optional

Search terms will match and return questions based on options. Allowed values are [ "QUESTION", "ANSWER", "BOTH'' ]

sectionId 

Array[String]

Optional

Returns only the questions from the list of section if sectionId is provided

questionId 

Array[String]

Optional

Returns the question if questionId is provided

status 

Array[string]

Optional

Status of the Question.It can be either ANSWERED OR NOT_ANSWERED

reviewStatus 

Array[string]

Optional

Review Status of the Question. Accepted values - [NOT_ANSWERED,ANSWERED,PENDING_REVIEW,REVIEWED]. Review Status will be NOT_ANSWERED when a reviewer is not assigned to the question. Review Status will be ANSWERED when the question is answered & reviewer is not assigned. Review Status will be PENDING_REVIEW when question is answered & reviewer is assigned. Review Status will be REVIEWED when question is answered & reviewed by assigned users

reviewWorkFlow 

Array[string]

Optional

Review Workflow type. Accepted values - [ANY, ALL, SEQUENTIAL]

flagList 

Array[string]

Optional

To filter the flagged questions by flag name

flagSearchOption 

String

Optional

FlagList will be searched based on flagSearchOption. If value is ANY -> Will fetch records having Any one of the flags from flagList, ALL -> Will fetch records having All flags from flagList, NO -> will fetch records having no flags. = ["ANY" or "ALL" or "NO"]

tags 

Array[string]

Optional

List of tags associated with questions in the project

tagSearchOption 

String

Optional

Tags will be searched based on tagSearchOption. If value is ANY -> Will fetch records having Any one of the tags from tags, ALL -> Will fetch records having All tags from tags, NO -> will fetch records having no tags. = ["ANY" or "ALL" or "NO"]

authorList 

String

Optional

List of email addresses who are authors of the questions in the project

reviewerList 

Array[string]

Optional

List of email addresses of reviewers to whom the questions in the project are assigned

guestUser

Array[string]

Optional

List of email addresses of guest to whom the questions in the project are assigned

helpTextFilter 

String

Optional

To filter the help text questions by Help Text. "TRUE" to return the help text questions."FALSE" to filter the not help text questions

autoRespondedFilter 

String

Optional

To filter the auto responsed questions. "TRUE" to return the auto responded questions. "FALSE" to filter the not auto responded questions

updatedAnswerContentAvailableFilter 

String

Optional

To filter the Answer Library updated questions. "TRUE" to return the Answer Library updated questions. "FALSE" to filter the Answer Library not updated questions

ansLibUsedType 

Array[string]

Optional

Answer Library Used Type. Allowed Values - [MANUAL,LIB_USED,LIB_EDITED,AUTO_RESPOND,AUTO_RESPOND_EDITED]

reviewCompletedList 

Array[string]

Optional

List of email addresses who have completed review of the questions in the project

questionCreatedBy 

Array[string]

Optional

List of email addresses of the users who have created the questions in the project

questionUpdatedBy 

Array[string]

Optional

List of email addresses of the users who have updated the questions in the project

fromCreatedDate 

Date - Time

Optional

Project questions having created date equal or more than fromCreatedDate will be filtered. Date format should be like this: yyyy-MM-ddTHH:mm:ss.SSSZ eg:(2021-06-16T05:23:33.163Z

toCreatedDate 

Date - Time

Optional

Project questions having created date equal or lesser than toCreatedDate will be filtered. Date format should be like this: yyyy-MM-ddTHH:mm:ss.SSSZ eg:(2021-06-16T05:23:33.163Z

fromUpdatedDate 

Date - Time

Optional

Project questions having updated date equal or more than fromUpdatedDate will be filtered. Date format should be like this: yyyy-MM-ddTHH:mm:ss.SSSZ eg:(2021-06-16T05:23:33.163Z)

toUpdatedDate 

Date - Time

Optional

Project questions having updated date equal or lesser than toUpdatedDate will be filtered. Date format should be like this: yyyy-MM-ddTHH:mm:ss.SSSZ eg:(2021-06-16T05:23:33.163Z)

Response

If the search is successful, the response will be ProjectQuestionDetailsResponseVOList

 

ProjectQuestionDetailsResponseVOList 

 

questionsList 

Array[ProjectQuestionDetailsResponseVO ]

List of questions details. 

nextCursorMark 

String

Next cursor value.

limit

Integer

The number of records limited in the response.

totalRecords 

Long

Total count of matching questions.

 

ProjectQuestionDetailsResponseVO:

 

projectId

String

Project Id of the Question.

sectionId

String

Section Id of the Question.

questionId 

String

Id of the Question.

companyId

String

Company Id of the Question.

status

String

Status of the Question. The value can be NOT_ANSWERED or ANSWERED.

question 

String 

Question Text.

alternateQuestions 

String

Alternate Question

questionReviewStatus 

String

Review Status of the question. The value can be [NOT_ANSWERED,ANSWERED,PENDING_REVIEW,REVIEWED]

reviewWorkflow 

String

Review flow of the question. The value can be [ANY, ALL, SEQUENTIAL]

primaryBU 

String

Primary BU of the question

businessUnits 

Array[String]

List of BU names that question belongs to.

sharedBU 

Array[String]

List of BU names that question is shared.

flags 

Array[String]

List of flags for the question.

tags 

Array[String]

List of tags for the question.

type

String

Indicates the type. The values can be QUESTION or CLARIFICATION.

contentType 

String

Type of the content. The value can be QUESTION or DESCRIPTION.

ansLibUsedType 

String

By what means the question was answered. The value can be AUTO_RESPOND_RAN, AUTO_RESPOND_IDENTIFIED, AUTO_RESPOND, AUTO_RESPOND_EDITED, LIB_USED, LIB_EDITED, or MANUAL.

questionText 

String

Question text.

authorList 

Array[string]

List of users(email address) who are assigned as authors for this question.

reviewerList 

Array[string]

List of users(email address) who are assigned as reviewers for this question.

guestUserList 

Array[String]

List of guest users(email address) who are assigned to the question.

reviewCompletedList 

Array[string]

List of users(email address) who have completed reviewing the answers.

parentId

String

Id of the parent question.

helpText 

Boolean

Whether Question is a help text or not.

answers 

Array[AnswerResponseVO ]

List of answers for the Question.

externalId 

String

External Id of the Project

createDate

Date-Time

Created date and time of the question.

updatedDate 

Date - Time

Updated date and time of the question

createdBy

String

User who created the question.

updatedBy

String

User who updated the question

 

AnswerResponseVO :

 

id 

String 

Id of the answer.

answer

String 

This field contains the content of the answer. If the answer type is RICH_TEXT or BASIC_RICH_TEXT html value will be present.

srcAnswer

String 

Source Answer

answerType 

String 

Type of the answer. Allowed values are [BASIC_RICH_TEXT, DATE, MULTISELECT, DROPDOWN, MULTI_COLUMN_DROPDOWN, CHECKBOX, RADIO, MULTI_COLUMN_RADIO, RICH_TEXT, LABEL, or NONE].

answerHeader 

String

Answer Header.

answerOptions 

Array[AnswerOptionsVO]

List of answer options.

lastUpdateTs 

Date-Time

Recently updated timestamp of the answer.

optional 

Boolean

Indicator to say if the answer is mandatory or optional.

answeredBy 

String

Email Address of the user who answered the answer.

 

AnswerOptionsExtVO 

 

key 

String

Value to be shown in the document while exporting.

value 

String 

Value to be shown in the UI as an option.




Example

Request:

https://dev1.rfpio.com/rfpserver/ext/v1/projects/search-questions

{

  "projectId": ["614b48b1984c793d512895bc"],

  "projectName": "Vista",

  "projectStatus": ["IN_PROGRESS"],

  "projectType": ["RFP"],

  "projectStage": ["Opportunity"],

  "projectCategory": [],

  "businessUnits": [],

  "primaryContact": ["manoj@rfpio.com"],

  "additionalContacts": [],

  "teamMembersList": [],

  "clientName": "",

  "customFields": {

      "dropdown" : ["Yes"],

      "multi" : ["Yes"],

      "user" : []

  },

  "createdBy": [],

  "updatedBy": [],

  "fromDueDate": "",

  "toDueDate": "",

  "fromCreatedDate": "",

  "toCreatedDate": "",

  "questionFilter": {

    "searchTerm": "backup",

    "searchTermOption": "QUESTION",

    "sectionId": ["614b48c1984c793d512895ca"],

    "questionId": [],

    "status": ["ANSWERED"],

    "reviewStatus": [],

    "flagList": ["Follow-up"],

    "tags": ["Backup"],

    "questionType": "",

    "authorList": [],

    "reviewerList": [],

    "guestUser": [],

    "reviewWorkFlow": [],

    "ansLibUsedType": [],

    "reviewCompletedList": [],

    "tagSearchOption": "ANY",

    "fromCreatedDate": "",

    "toCreatedDate": "",

    "fromUpdatedDate": "",

    "toUpdatedDate": "",

    "helpTextFilter": "ALL",

    "autoRespondedSearchOption": "",

    "flagSearchOption": "ALL",

    "updatedContentAvailableSearchOption": "",

    "createdBy": [],

    "updatedBy": []

  },

  "displayId": "",

  "projectExternalId": "",

  "limit": 10,

  "cursor": "*"

}

 

 

Response:

{

    "questionsList": [

        {

            "projectId": "614b48b1984c793d512895bc",

            "sectionId": "614b48c1984c793d512895ca",

            "questionId": "614b48e8984c793d512895eb",

            "companyId": "5ea28c478ef3614b6bbd30cb",

            "status": "ANSWERED",

            "question": "What is the backup option?",

            "reviewWorkflow": "ANY",

            "primaryBU": "",

            "businessUnits": [],

            "sharedBU": [],

            "flag": [

                "Follow-up"

            ],

            "tags": [

                "Backup"

            ],

            "type": "QUESTION",

            "contentType": "QUESTION",

            "ansLibUsedType": "MANUAL",

            "authorList": [],

            "reviewerList": [],

            "guestUserList": [],

            "reviewCompletedList": [],

            "parentId": "",

            "helpText": false,

            "answers": [

                {

                    "answer": "<div>Backup options will be available on request with type of data.</div>",

                    "answerType": "RICH_TEXT",

                    "answerHeader": "Response",

                    "optional": false

                }

            ],

            "createdDate": "2021-09-22 08:16:56 -07:00",

            "updatedDate": "2021-09-22 08:21:57 -07:00",

            "createdBy": "manoj@rfpio.com",

            "updatedBy": "manoj@rfpio.com"

        }

    ],

    "nextCursorMark": "AoIIQFCEpzg2MTRiNDhlODk4NGM3OTNkNTEyODk1ZWI=",

    "limit": 10,

    "totalRecords": 1

}

Project Notes Report API

API URL

/rfpserver/ext/v1/reports/project-notes

Description

Get the project notes only for active projects by applying various filters.

Type

POST

Request Body:

ProjectNotesRequestVO

clientName

String

Optional

Filter records according to the Client Name.

createdDateFrom

date-time

Optional

Project Date from which the results to be filtered.

createdDateTo

date-time

Optional

Project Date to which the results to be filtered.

customFields

Map<string, object>

Optional

Use custom Fields internal name as key and appropriate value to filter the projects with the respective values.

lastProjectNoteId

String

Optional

This is used for pagination. The Last ProjectNote ID will act as a cursor and mentioning the Last ProjectNote ID Value would fetch the next set of results starting from the given cursor record.

limit

Integer

Optional

No. of limited records to be displayed in the result. Minimum limit:1, Maximum limit:100.

notesType

List<String>

Optional

To filter the project notes according to the notes type available in the organization setting.

projectIds

List<String>

Optional  

To filter the project notes according to the ProjectIds.

projectName

String

Optional 

To filter records according to the Project Name

projectStage

List<String>

Optional

Stage of the project from the list of stages configured in the organization settings. Allowed values can be referred from, Organization settings->Project->Stage.

projectStatus

List<String>

Optional

Project Status according to which the results need to be filtered. Allowed Values are "IN_PROGRESS", "CANCELED", "RESPONDED".

projectType

List<String>

Optional

Type of the project from the list of stages configured in the organization settings. Allowed values can be referred from, Organization settings->Project->Type.

Response

ProjectNotesResponseList : List<ProjectNotesResponseVO>

projectNotes

List<ProjectNotesResponseVO>

Optional

List of the project notes. 

totalCount

Long

Total count of the records obtained by appling filter.

ProjectNotesResponseVO

id

String

Optional

ID of the Project Note.

companyId

String

Optional

ID of the company

answer

Map<String,String>

Optional

Answer or answers of the question to which the Project Note is associated.

associatedQuestions

List<AssociatedQuestion>

Optional

List of details about the question associated with the project.

authors

List<String>

Optional

List of Authors for the associated Question.

clientName

String

Optional

Client name.

createdDate

String

Optional

Date on which the Project note was created.

projectId

String

Optional

ID of the Project

projectName

String

Optional

Name of the Project

projectNotesAddedBy

String

Optional

Email ID of the User who added the Project Note.

projectStatus

String

Optional

Status of the Project

projectType

String

Optional

Type of the Project

Question

String

Optional

Question to which the project note is associated.

section

String

Optional

Name of the Section

sectionId

String

Optional

ID of the Section

associatedQuestions

authors

List<String>

Optional

List of Authors for the associated Question.

question

String

Optional

Question to which the project note is associated.

questionId

String

Optional

ID of the Question.

section

String

Optional

Name of the Section.

sectionId

String

Optional

ID of the Section

 

SectionSummaryResultExtVOList

sections

[

List of section details.

SectionSummaryResultExtVO

]

 

SectionSummaryResultExtVO

answeredQuestionCount

integer($int32)

Number of questions answered in the section.

authorDueDate

string($date-time)

Due date of the section to be completed by Authors.

authorMessage

string

example: Your help is needed in completing the section Compliance Questionnaire.

Message to Authors.

authors

[

List of users(email address) to be assigned as Authors.

string]

createTs

string($date-time)

Created timestamp of the section. It should be a date with format, yyyy-MM-dd HH:mm:ss XXX

createdBy

string

example: john@responsive.io

Email Address of the user who created the section.

externalId

string

example: EXT-001

External Id of the Section.

id

string

Section ID.

name

string

example: Compliance Questionnaire

Name of the Section.

parentId

string

Parent Section Id.

questionCount

integer($int32)

Number of questions present in the section.

reviewWorkflow

string

Workflow type of the review process.

Enum:

[ ALL, ANY, SEQUENTIAL ]

reviewerDueDate

string($date-time)

Due date of the section to be completed by Reviewers.

reviewerMessage

string

example: Please review these answers as soon as possible.

Message to Reviewers.

reviewers

[

List of users(email address) to be assigned as Reviewers.

string]

sortingOrder

number($double)

Sorting Order

status

string

Status of the section.

Enum:

[ ASSIGNED, COMPLETED, DELETED, IN_PROGRESS, LOCKED, PENDING_REVIEW ]

SectionDetailsExternalVO

answeredQuestionCount

integer($int32)

Number of questions answered in the section.

authorCompletedList

[

List of users(email address) who completed author process.

string]

authorDueDate

string($date-time)

Due date of the section to be completed by Authors.

authorMessage

string

example: Your help is needed in completing the section Compliance Questionnaire.

Message to authors.

authors

[

List of users(email address) to be assigned as Authors.

string]

createTs

string($date-time)

Created date of the section.

createdBy

string

User who created the section

externalId

string

External Id of the Section.

guestAssignedToList

[

List of users(email address) to be assigned as guest.

string]

guestMessage

string

example: Your help is needed in completing the section Compliance Questionnaire.

Message to guest.

name

string

Name of the Section.

parentId

string

Parent Section Id.

projectId

string

Project Id of the Section.

questionCount

integer($int32)

Number of questions present in the section.

reviewCompletedList

[

List of users(email address) who completed review process.

string]

reviewWorkFlow

string

Workflow type of the review process.

Enum:

[ ALL, ANY, CUSTOM, SEQUENTIAL ]

reviewerDueDate

string($date-time)

Due date of the section to be completed by Reviewers.

reviewerMessage

string

example: Please review these answers as soon as possible.

Message to reviewers.

reviewers

[

List of users(email address) to be assigned as Reviewers.

string]

sectionId

string

Section Id.

sortingOrder

number($double)

Sorting Order

status

string

Status of the section.

Enum:

[ ASSIGNED, COMPLETED, DELETED, IN_PROGRESS, LOCKED, PENDING_REVIEW ]

 

 

Associate CRM in Projects

API URL

/rfpserver/ext/v1/projects/{projectId}/update/associate-crm

Description

Update CRM Details in the Intake for Association.

Type

POST

Path Param

projectId (Mandatory)

Input

{

    "instanceId": "",

    "lastUpdateTs": "2024-04-06T17:09:21.778Z",

    "objectId": "",

    "objectType": "",

    "recordId": "",

    "type": "ZOHO"

 }

instanceId (string, optional): Instance Id, user have created to establish connection to CRM

lastUpdateTs (string($date-time), optional): Updated timestamp of the entity. It should be a date with format, yyyy-MM-dd HH:mm:ss XXX

objectId (string, optional): Object ID, user have associated with the entity

objectType (string, optional): Object type, user have associated with the entity

recordId (string, optional): Record Id

type (string, optional):vCRM type

Enum:

[ GOOGLE_ADDON, HUBSPOT, LOOKUP_PROJECT, MICROSOFT_DYNAMICS_CRM, MICROSOFT_TEAMS, MS_ADDIN, PIPEDRIVE, PIPELINE_DEALS, SALESFORCE, SHAREPOINT, SLACK, ZOHO ]

Output

JSON object containing details of the project. ProjectResponseVO

{

  "additionalContacts": [],

  "category": [],

  "clientAddress1": "115 2nd Street",

  "clientAddress2": "New york",

  "clientEmail": "test@client.com",

  "clientName": "Microsoft Corporation",

  "clientPhone": "999-859-896",

  "companyId": "",

  "createdBy": "",

  "createdDate": "2023-07-06T08:16:38.541Z",

  "crmDetails": {

    "instanceId": "",

    "lastUpdateTs": "2023-07-06T08:16:38.541Z",

    "objectId": "",

    "objectType": "",

    "recordId": "",

    "type": "ZOHO"

  },

  "customFields": {},

  "dealSize": 123456,

  "description": "Authorization and Authentication Questionnaire",

  "displayId": "",

  "dueDate": "2023-07-06T08:16:38.542Z",

  "externalId": "EXT-Project-001",

  "id": "",

  "lastUpdateTs": "2023-07-06T08:16:38.542Z",

  "name": "TestEntity",

  "percentage": 0,

  "primaryBU": "India",

  "primaryContact": ""john@responsive.io",

  "projectStage": "Submitted",

  "projectType": "RFP",

  "respondedDate": "2023-07-06T08:16:38.542Z",

  "sectionCount": 0,

  "status": "IN_PROGRESS",

  "teamMembers": [],

  "totalAnsweredCount": 0,

  "totalQuestionCount": 0,

  "updatedBy": ""

}

 

Dissociate CRM in Projects

API URL

/rfpserver/ext/v1/projects/{projectId}/update/dissociate-crm

Description

Update project for CRM dissociation.

Type

POST

Input Path Param

projectId (Mandatory)

Output

JSON object containing details of the project. ProjectResponseVO

{

  "additionalContacts": [],

  "category": [],

  "clientAddress1": "115 2nd Street",

  "clientAddress2": "New york",

  "clientEmail": "test@client.com",

  "clientName": "Microsoft Corporation",

  "clientPhone": "999-859-896",

  "companyId": "",

  "createdBy": "",

  "createdDate": "2023-07-06T08:16:38.541Z",

  "crmDetails": {

    "instanceId": "",

    "lastUpdateTs": "2023-07-06T08:16:38.541Z",

    "objectId": "",

    "objectType": "",

    "recordId": "",

    "type": "ZOHO"

  },

  "customFields": {},

  "dealSize": 123456,

  "description": "Authorization and Authentication Questionnaire",

  "displayId": "",

  "dueDate": "2023-07-06T08:16:38.542Z",

  "externalId": "EXT-Project-001",

  "id": "",

  "lastUpdateTs": "2023-07-06T08:16:38.542Z",

  "name": "TestEntity",

  "percentage": 0,

  "primaryBU": "India",

  "primaryContact": "john@responsive.io",

  "projectStage": "Submitted",

  "projectType": "RFP",

  "respondedDate": "2023-07-06T08:16:38.542Z",

  "sectionCount": 0,

  "status": "IN_PROGRESS",

  "teamMembers": [],

  "totalAnsweredCount": 0,

  "totalQuestionCount": 0,

  "updatedBy": ""

}

Note: The API endpoints either start with /rfpserver. The baseUrl for most customers is app.rfpio.com. For more details, please reach out to your CSM or contact accountmanagers@responsive.io.

For details on other endpoints, click here.

Was this article helpful?

/