---
title: "Create an RFP"
method: POST
path: "/rfps"
tags: ["Rfps"]
---

# Create an RFP

`POST /rfps`

## Request

- Base URL: `https://sb2api.servicechannel.com/v3`
- URL: `https://sb2api.servicechannel.com/v3/rfps`
- Auth: OAuth 2
  - Authorization code: `https://sb2login.servicechannel.com/oauth/authorize`
  - Token URL: `https://sb2login.servicechannel.com/oauth/token`
- TypeScript: <https://skmtc.dev/servicechannel/apis/servicechannel-api-v-3/docs/rfps/post.ts> (a function with typed inputs; its response is checked against the schema)

Creates a request for proposal (RFP). Returns a unique RFP ID for a successful request.
            <br />***Note:*** Subscribers can create RFPs [using the API](/guides/proposals/create-and-manage-RFPs/#create-an-rfp) or via [Service Automation](https://servicechannel.atlassian.net/wiki/spaces/SCU/pages/560300086/Creating+an+RFP).
            <br />**Example Request**
            
                POST /rfps
                {
                   "Number": "",
                   "PONumber": "",
                   "WONumber": "",
                   "TradeId": 90480,
                   "Description": "New doors for the office",
                   "Date": "",
                   "DueHrs": 48,
                   "DueDate": "",
                   "Location": {
                      "Id": 2006071467,
                      "StoreId": ""
                   },
                   "ProviderId": 2000090505,
                   "ResponseDate": "",
                   "ProposalNotificationEmail": "LFAlways1776@gmail.com",
                   "ProviderEmail": "",
                   "ProposalTemplateId": 0,
                   "WorkOrderId": 0,
                   "ProjectId": 0
                }

## Request body

- ServiceChannelServicesMessagingRfpCreateRfpRequest: The request object to create an RFP.
  - `Number` string: The non-unique RFP identifier. The value is generated automatically if not provided. It cannot be modified.
  - `PONumber` string: Purchase order number.
  - `WONumber` string: Work order number.
  - `TradeId` integer, required: The unique trade identifier.
  - `Description` string, required: RFP description.
  - `Status` string: RFP status.
  - `Date` string, date-time: The RFP creation date and time. The format is `YYYY-MM-DDThh:mm:ss.sssZ`. The default is the current date and time.
  - `DateString` string
  - `DueHrs` number, double: Due time in hours for the provider to respond to the RFP and submit a proposal. The default is 48 hours unless a different value is specified in the `UiCreationRfpDefaultTime` settings group.
  - `DueDate` string, date-time: Due date and time for the provider to respond to the RFP and submit a proposal. The format is `YYYY-MM-DDThh:mm:ss.sssZ`. If `DueHrs` is passed, the `DueDate` value is `Date` plus `DueHrs`. The default is the current date and time plus 48 hours unless a different value is specified in the `UiCreationRfpDefaultTime` settings group.
  - `DueDateString` string
  - `Location` ServiceChannelServicesMessagingLocationLocationIdentity, required: The location identifier object
    - `Id` integer: The unique numeric location identifier.
    - `StoreId` string: The location identifier in the client system.
  - `Language` string
  - `ProviderId` integer, required: The unique provider identifier.
  - `ResponseDate` string, date-time: Obsolete.
  - `ProposalNotificationEmail` string: The email address to send the proposal notification to. The default is the email address of the current user specified in the `PropTeamEmail` settings group.
  - `ProviderEmail` string: The email address of the provider. The default is the email address of the specified provider.
  - `ProposalTemplateId` integer: Obsolete.
  - `WorkOrderId` integer: The unique numeric identifier of the work order.
  - `ProjectId` integer: The unique numeric identifier of the project.

## Response `201`

The RFP is created, and a unique RFP ID is returned in the response.

## Other responses

- `400`: The request is not accepted due to bad syntax, missing parameters, insufficient data, etc. <br/>Error codes: 503 — Request is empty or null 503 — Provider is not valid 503 — Empty E-Mail address ('ProposalNotificationEmail') 503 — TradeId is not valid 503 — Empty Description 503 — Empty Location or Store ID 503 — Invalid location Id for current user 503 — Active contract for current trade, provider, locationId not found 503 — Empty Provider E-Mail address ('ProviderEmail')
- `401`: The request is not authorized. <br/>Error codes: 504 — API call rejected by security permissions 504 — User does not have Location or Trade access to perform this operation
- `500`: The server was unable to complete the request due to an internal error.

---

[API](https://skmtc.dev/servicechannel/apis/servicechannel-api-v-3.md) - [All operations](https://skmtc.dev/servicechannel/apis/servicechannel-api-v-3/llms.txt) - [OpenAPI document](https://skmtc.dev/servicechannel/apis/servicechannel-api-v-3/revisions/d490d6596809?raw)
