ServiceChannel Rfps API

The Rfps API from ServiceChannel — 6 operation(s) for rfps.

OpenAPI Specification

servicechannel-rfps-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  version: bearer.v1
  title: Fixxbook.Bearer.Api.V1 AfterHours Rfps API
  isOdataApi: false
  relativePath: ''
  discoveryPath: docs/bearer.v1
  _isAuthorizedAccess: true
host: sb2fixxbook.servicechannel.com:443
basePath: /api
schemes:
- https
security:
- oauth2: []
tags:
- name: Rfps
paths:
  /rfps:
    post:
      tags:
      - Rfps
      summary: Create an RFP
      description: "Creates a request for proposal (RFP). Returns a unique RFP ID for a successful request.\r\n            <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).\r\n            <br />**Example Request**\r\n            \r\n                POST /rfps\r\n                {\r\n                   \"Number\": \"\",\r\n                   \"PONumber\": \"\",\r\n                   \"WONumber\": \"\",\r\n                   \"TradeId\": 90480,\r\n                   \"Description\": \"New doors for the office\",\r\n                   \"Date\": \"\",\r\n                   \"DueHrs\": 48,\r\n                   \"DueDate\": \"\",\r\n                   \"Location\": {\r\n                      \"Id\": 2006071467,\r\n                      \"StoreId\": \"\"\r\n                   },\r\n                   \"ProviderId\": 2000090505,\r\n                   \"ResponseDate\": \"\",\r\n                   \"ProposalNotificationEmail\": \"LFAlways1776@gmail.com\",\r\n                   \"ProviderEmail\": \"\",\r\n                   \"ProposalTemplateId\": 0,\r\n                   \"WorkOrderId\": 0,\r\n                   \"ProjectId\": 0\r\n                }"
      operationId: POSTv3_rfps
      consumes:
      - application/json
      - text/json
      produces:
      - application/json
      - text/json
      parameters:
      - name: request
        in: body
        description: The request to create an RFP.
        required: true
        schema:
          $ref: '#/definitions/ServiceChannel.Services.Messaging.Rfp.CreateRfpRequest'
      responses:
        '201':
          description: The RFP is created, and a unique RFP ID is returned in the response.
        '400':
          description: "The request is not accepted due to bad syntax, missing parameters, insufficient data, etc.\r\n            <br/>Error codes:\r\n            503 — Request is empty or null\r\n            503 — Provider is not valid\r\n            503 — Empty E-Mail address ('ProposalNotificationEmail')\r\n            503 — TradeId is not valid\r\n            503 — Empty Description\r\n            503 — Empty Location or Store ID\r\n            503 — Invalid location Id for current user\r\n            503 — Active contract for current trade, provider, locationId not found\r\n            503 — Empty Provider E-Mail address ('ProviderEmail')"
          schema:
            $ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
        '401':
          description: "The request is not authorized.\r\n            <br/>Error codes:\r\n            504 — API call rejected by security permissions\r\n            504 — User does not have Location or Trade access to perform this operation"
          schema:
            $ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
        '500':
          description: The server was unable to complete the request due to an internal error.
          schema:
            $ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
      deprecated: false
      x-access: Subscribers
  /rfps/{rfpId}/assign:
    put:
      tags:
      - Rfps
      summary: Assign an RFP to another provider
      description: "Assigns the RFP to the specified provider. Returns a unique RFP ID for a successful request.\r\n            <br />***Note:*** The provider you want to assign the RFP to should have access to the location and trade for which the RFP was created.\r\n            <br />Learn more about [assigning an RFP to another provider](/guides/proposals/create-and-manage-RFPs/#assign-an-rfp-to-another-provider).\r\n            <br />**Example Request**\r\n            \r\n                PUT /rfps/{rfpId}/assign\r\n                {\r\n                   \"ProviderId\": 2000090505,\r\n                   \"ProviderEmail\": \"\"\r\n                }"
      operationId: PUTv3_rfps_{rfpId}_assign
      consumes:
      - application/json
      - text/json
      produces:
      - application/json
      - text/json
      parameters:
      - name: rfpId
        in: path
        description: The unique numeric identifier of the RFP to assign to the specified provider.
        required: true
        type: integer
        format: int32
      - name: request
        in: body
        description: The request to assign the RFP to another provider.
        required: true
        schema:
          $ref: '#/definitions/ServiceChannel.Services.Messaging.Rfp.AssignRfpRequest'
      responses:
        '200':
          description: The RFP is assigned to the specified provider, and a unique RFP ID is returned in the response.
        '400':
          description: "The request is not accepted due to bad syntax, missing parameters, insufficient data, etc.\r\n            <br/>Error codes:\r\n            502 — RFP not found\r\n            503 — Request is empty or null\r\n            503 — Provider is not valid\r\n            503 — Empty Provider E-Mail address ('ProviderEmail')"
          schema:
            $ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
        '401':
          description: "The request is not authorized.\r\n            <br/>Error codes:\r\n            504 — API call rejected by security permissions"
          schema:
            $ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
        '500':
          description: The server was unable to complete the request due to an internal error.
          schema:
            $ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
      deprecated: false
      x-access: Subscribers
  /rfps/{id}:
    delete:
      tags:
      - Rfps
      summary: Delete an RFP by ID
      description: Permanently deletes the specified RFP by its ID. It cannot be undone. Find out more about [deleting RFPs via the API](/guides/proposals/create-and-manage-RFPs/#delete-an-rfp).
      operationId: DELETEv3_rfps_{id}
      consumes: []
      produces:
      - application/json
      - text/json
      parameters:
      - name: id
        in: path
        description: The unique numeric identifier of the RFP to delete.
        required: true
        type: integer
        format: int32
      responses:
        '204':
          description: The RFP is deleted, and the response is intentionally blank.
        '400':
          description: "The request is not accepted due to bad syntax, missing parameters, insufficient data, etc.\r\n            <br/>Error codes:\r\n            502 — RFP not found\r\n            503 — RFP can only be deleted, if none of the proposals are approved"
          schema:
            $ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
        '401':
          description: "The request is not authorized.\r\n            <br/>Error codes:\r\n            504 — API call rejected by security permissions"
          schema:
            $ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
        '404':
          description: The requested resource does not exist on the server.
      deprecated: false
      x-access: Subscribers
  /rfps/{number}/locations/{locationId}:
    delete:
      tags:
      - Rfps
      summary: Delete an RFP by the RFP number and location ID
      description: "Permanently deletes the RFP by the specified RFP number and location ID. It cannot be undone.\r\n            <br />***Note:*** The RFP number is not unique. If multiple RFPs with the same number were created for a location, all of them are deleted when you pass the request.\r\n            <br />Learn more about [deleting RFPs via the API](/guides/proposals/create-and-manage-RFPs/#delete-an-rfp)."
      operationId: DELETEv3_rfps_{number}_locations_{locationId}
      consumes: []
      produces:
      - application/json
      - text/json
      parameters:
      - name: number
        in: path
        description: The non-unique identifier of the RFP to delete.
        required: true
        type: string
      - name: locationId
        in: path
        description: The unique numeric identifier of the location for which the RFP was created.
        required: true
        type: integer
        format: int32
      responses:
        '204':
          description: The RFP is deleted, and the response is intentionally blank.
        '400':
          description: "The request is not accepted due to bad syntax, missing parameters, insufficient data, etc.\r\n            <br/>Error codes:\r\n            502 — RFP not found\r\n            503 — RFP can only be deleted, if none of the proposals are approved"
          schema:
            $ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
        '401':
          description: "The request is not authorized.\r\n            <br/>Error codes:\r\n            504 — API call rejected by security permissions"
          schema:
            $ref: '#/definitions/ServiceChannel.Services.Messaging.ErrorResponse'
        '404':
          description: The requested resource does not exist on the server.
      deprecated: false
      x-access: Subscribers
  /odata/rfps:
    get:
      tags:
      - Rfps
      summary: Retrieve Rfps
      description: "Retrieve Rfps\r\n            <br /> Dates without 'Dto' endings return UTC date format.\r\n            <br /> Dates without 'Dto' endings are not recommended for using."
      operationId: Rfps_GetRfps
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: $expand
        in: query
        description: Expand a navigation property.
        required: false
        type: string
      - name: $select
        in: query
        description: Select a set of properties to return.
        required: false
        type: string
      - name: $filter
        in: query
        description: Filter a collection of resources addressed by a request URL.
        required: false
        type: string
      - name: $orderby
        in: query
        description: Order resources by the specified property in the response.
        required: false
        type: string
      - name: $top
        in: query
        description: Return the specified number of items in the response.
        required: false
        type: integer
      - name: $skip
        in: query
        description: Skip the specified number of items in the response.
        required: false
        type: integer
      - name: $count
        in: query
        description: Include the count of the matching resources in the response.
        required: false
        type: boolean
      responses:
        '200':
          description: Indicates that the request succeeded and that the requested information is in the response.
          schema:
            type: array
            items:
              $ref: '#/definitions/ServiceChannel.Services.Messaging.Rfp.Rfp'
      deprecated: false
      x-access: Subscribers
  /odata/rfps({rfpId}):
    get:
      tags:
      - Rfps
      summary: Retrieve Rfp
      description: Retrieve Rfp
      operationId: Rfps_GetRfp
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - name: rfpId
        in: path
        description: ''
        required: true
        type: integer
        format: int32
      - name: $expand
        in: query
        description: Expand a navigation property.
        required: false
        type: string
      - name: $select
        in: query
        description: Select a set of properties to return.
        required: false
        type: string
      - name: $filter
        in: query
        description: Filter a collection of resources addressed by a request URL.
        required: false
        type: string
      - name: $orderby
        in: query
        description: Order resources by the specified property in the response.
        required: false
        type: string
      - name: $top
        in: query
        description: Return the specified number of items in the response.
        required: false
        type: integer
      - name: $skip
        in: query
        description: Skip the specified number of items in the response.
        required: false
        type: integer
      - name: $count
        in: query
        description: Include the count of the matching resources in the response.
        required: false
        type: boolean
      responses:
        '200':
          description: Indicates that the request succeeded and that the requested information is in the response.
          schema:
            type: array
            items:
              $ref: '#/definitions/ServiceChannel.Services.Messaging.Rfp.Rfp'
      deprecated: false
      x-access: Subscribers
definitions:
  ServiceChannel.Services.Messaging.RefrigerantTracking.AssetRefrigerant:
    type: object
    properties:
      Id:
        format: int32
        type: integer
      AssetId:
        format: int32
        type: integer
      RefrigerantUsageType:
        format: int32
        type: integer
      RackId:
        type: string
      RackEntityId:
        format: int32
        type: integer
      CarbID:
        type: string
      IsCarbReporting:
        default: false
        type: boolean
      SystemLocation:
        format: byte
        type: string
      OperationalStatus:
        format: byte
        type: string
      RefrigerantPartNumber:
        type: string
      PartNumberId:
        format: int32
        type: integer
      RackTypeId:
        format: int32
        type: integer
      CurrentCharge:
        format: double
        type: number
      CurrentChargeMetrics:
        format: double
        type: number
      CurrentChargeOunces:
        format: double
        type: number
      ChargeDescriptionId:
        format: int32
        type: integer
      ChargeProviderName:
        type: string
      EffectiveChargeDate:
        format: date-time
        type: string
      RefrigerantChargeOptionId:
        format: int32
        type: integer
      RackTypeName:
        type: string
      UserId:
        format: int32
        type: integer
      TagId:
        type: string
      AssetTypeId:
        format: int32
        type: integer
      RefrigerantPurposeId:
        format: int32
        type: integer
      RefrigerantPurposeName:
        type: string
      ParentId:
        format: int32
        type: integer
      CreateOperationalStatusHistory:
        default: false
        type: boolean
      OperationStatusDate:
        format: date-time
        type: string
      HasLeakDetector:
        default: false
        type: boolean
      AssetLeakDetectorId:
        format: int32
        type: integer
      InitialCharge:
        default: false
        type: boolean
      RackType:
        format: byte
        type: string
      NeedsRetrofitRetirement:
        default: false
        type: boolean
      RequiresAutomaticLeakDetector:
        default: false
        type: boolean
      ConnectedRackId:
        format: int32
        type: integer
      PreviousConnectedRackId:
        format: int32
        type: integer
      UpdatedDate:
        format: date-time
        type: string
  ServiceChannel.Services.Messaging.Invoices.InvoiceTaxesDetails:
    description: Object containing the list of taxes. You can add taxes as a fixed amount or as a percentage.
    type: object
    properties:
      LaborTaxPercent:
        format: double
        description: Amount of the labor tax in percentage (for countries other than USA and Canada).
        type: number
      MaterialTaxPercent:
        format: double
        description: Amount of the material tax in percentage (for countries other than USA and Canada).
        type: number
      TravelTaxPercent:
        format: double
        description: Amount of the travel tax in percentage (for countries other than USA and Canada).
        type: number
      FreightTaxPercent:
        format: double
        description: Amount of the freight tax in percentage (for countries other than USA and Canada).
        type: number
      OtherTaxPercent:
        format: double
        description: Amount of other taxes in percentage (for countries other than USA and Canada).
        type: number
      LaborTax:
        format: double
        description: Amount of the labor tax.
        type: number
      MaterialTax:
        format: double
        description: Amount of the material tax.
        type: number
      TravelTax:
        format: double
        description: Amount of the travel tax.
        type: number
      FreightTax:
        format: double
        description: Amount of the freight tax.
        type: number
      OtherTax:
        format: double
        description: Amount of other taxes.
        type: number
  ServiceChannel.Services.Messaging.Invoices.InvoiceLabor:
    description: Information on labor. Add a separate object for each worker. When two or more workers have the same `SkillLevel`,`LaborType`, and `HourlyRate`, use one object and specify `NumOfTech`.
    type: object
    properties:
      Id:
        format: int32
        type: integer
      InvoiceId:
        format: int32
        description: Invoice identifier.
        type: integer
      SkillLevel:
        format: byte
        description: 'The skill level of a worker. Valid values: `1` - Supervisor, `2` - Technician, `3` - Helper.'
        type: string
      LaborType:
        format: byte
        description: 'The type of the pay rate. Valid values: `1` - Regular, `2` - Overtime, `3` - Double time.'
        type: string
      NumOfTech:
        format: byte
        description: Number of workers.
        type: string
      HourlyRate:
        format: double
        description: Worker hourly rate.
        type: number
      Hours:
        format: double
        description: Total hours the worker spent to complete the work order.
        type: number
      Amount:
        format: double
        description: The amount of the labor charge. The sum of all `Amount` parameters in the `Labors` array must equal `InvoiceAmountsDetails.LaborAmount`.
        type: number
      IsOffShore:
        description: Type of the shore (`1` - Onshore, `2` - Offshore).
        default: false
        type: boolean
      ServiceType:
        format: byte
        description: Type of the service (`1` - Design Engineering, Architecture, Technical Service, `2` - Installation and Supervision, `3` - Survey and Troubleshooting).
        type: string
      CityPerformed:
        description: City where services are performed.
        type: string
      RateDiscrepancyReason:
        description: Rate discrepancy reason.
        type: string
      AgreedRate:
        format: double
        description: Agreed rate.
        type: number
      ApprovalCodeGroup:
        $ref: '#/definitions/ServiceChannel.Services.Messaging.Invoices.InvoiceApprovalCodeGroup'
      IsRateDiscrepancy:
        default: false
        type: boolean
        readOnly: true
      isNontaxableVATEU:
        default: false
        type: boolean
  ServiceChannel.Services.Messaging.Assets.Warranty:
    description: Object containing warranty parameters.
    type: object
    properties:
      ExpirationDate:
        format: date-time
        description: Warranty expiration date based on the warranty expiration settings.
        type: string
      ProviderId:
        format: int32
        description: ID of a provider who is in charge of warranty services.
        type: integer
      NTE:
        format: double
        description: Maximum amount of money to be spent on warranty services in USD. Value -1  means that the amount is not applicable.
        type: number
      Priority:
        description: Defines how quickly warranty services should be provided, for example, *Emergency-4 Hours*, *Normal-48 Hours*, *7 Days*.
        type: string
      PriorityId:
        format: int32
        type: integer
      Category:
        description: Warranty category, for example, *ADVISE ONLY*, *REPAIR*, *DISASTER*.
        type: string
      CategoryId:
        format: int32
        type: integer
      Provider:
        $ref: '#/definitions/ServiceChannel.Services.Messaging.Assets.WarrantyProvider'
        description: Rules to choose Warranty Provider
      Expiration:
        $ref: '#/definitions/ServiceChannel.Services.Messaging.Assets.WarrantyExpiration'
        description: Rules for Warranty Expiration
  ServiceChannel.Services.Messaging.Invoices.StatusHistoryShort:
    type: object
    properties:
      CreatedBy:
        type: string
      CreatedById:
        format: int32
        type: integer
      Status:
        type: string
      InvId:
        format: int32
        type: integer
      ActionDate:
        type: string
  ServiceChannel.Services.Messaging.Providers.Provider:
    type: object
    properties:
      Phone:
        type: string
      FullName:
        description: Full Name
        type: string
      Address1:
        description: Address1
        type: string
      Address2:
        description: Adress2
        type: string
      City:
        description: City
        type: string
      State:
        description: State
        type: string
      Zip:
        description: Zip
        type: string
      Country:
        description: Country
        type: string
      MainContact:
        description: Main Contact
        type: string
      DateCreated:
        format: date-time
        description: Date Created
        type: string
      LastUserDate:
        description: Last User Date
        type: string
      SuperUser:
        description: SuperUser
        type: string
      WebSite:
        description: WebSite
        type: string
      Email:
        description: Email
        type: string
      TaxId:
        description: Tax Id
        type: string
      Trade:
        description: Trade
        type: string
      ProcessingEmail:
        description: Processing Email
        type: string
      FaxNumber:
        description: Fax Number
        type: string
      SuiteFloor:
        description: Suite Floor
        type: string
      MailInfo:
        description: Mail Info
        type: string
      ImageFile:
        description: Image File
        type: string
      ReturnMail:
        description: Return Mail
        type: string
      MailFrequency:
        format: int32
        description: Mail Frequency
        type: integer
      FormId:
        format: int32
        description: Form Id
        type: integer
      Pager:
        description: Pager
        type: string
      NightRequest:
        format: int32
        description: NightRequest
        type: integer
      ShortFormatEmail:
        description: Short Format Email
        type: string
      LastTrainingDate:
        format: date-time
        description: Last Training Date
        type: string
      LastTrainingDateStr:
        description: Last Training Date as a string
        type: string
      IsInternal:
        description: Is Internal
        default: false
        type: boolean
      IsOnOffShoreFeatureEnabled:
        description: Is OnOffShoreFeature Enabled
        default: false
        type: boolean
      Id:
        format: int32
        description: Id
        type: integer
      Name:
        description: Name
        type: string
      DoNotDispatch:
        description: DoNotDispatch enabled?
        default: false
        type: boolean
  ServiceChannel.Services.Messaging.Invoices.InvoiceMaterial:
    description: Information on the materials used. Add a separate object for each material.
    type: object
    properties:
      Id:
        format: int32
        type: integer
      InvoiceId:
        format: int32
        description: Invoice identifier.
        type: integer
      Description:
        description: Name or description of the material. Length limit is 100 symbols.
        type: string
      PartNum:
        description: Part, serial, or manufacturer number of the material. Length limit is 100 symbols.
        type: string
      UnitType:
        format: byte
        description: 'Unit of measurement. Valid values: 1 — Each; 2 — Box; 3 — Feet; 4 — Sqft; 5 — Lbs; 6 — Gal; 7 — Oz. Default value: 1.'
        type: string
      UnitPrice:
        format: double
        description: Price per unit.
        type: number
      PartName:
        description: Part name.
        type: string
      MarkUpPercent:
        format: double
        description: Markup percent.
        type: number
      AgreedMarkUpPercent:
        format: double
        description: Agreed markup percent.
        type: number
      MarkUpDiscrepancyReason:
        description: Mark up discrepancy reason.
        type: string
      AgreedPartPrice:
        format: double
        description: Agreed part price.
        type: number
      Quantity:
        format: double
        description: Quantity of the material.
        type: number
      Amount:
        format: double
        description: The amount of the material cost. The sum of all `Amount` parameters in the `Materials` array must equal `InvoiceAmountsDetails.MaterialAmount`.
        type: number
      ApprovalCodeGroup:
        $ref: '#/definitions/ServiceChannel.Services.Messaging.Invoices.InvoiceApprovalCodeGroup'
      IsMarkUpDiscrepancy:
        description: Markup discrepancy.
        default: false
        type: boolean
      IsPartPriceDiscrepancy:
        description: Part price discrepancy.
        default: false
        type: boolean
      PriceDiscrepancyReason:
        description: Price discrepancy reason.
        type: string
      isNontaxableVATEU:
        default: false
        type: boolean
  ServiceChannel.Services.Messaging.Users.MlpUserInfo:
    type: object
    properties:
      Id:
        format: int32
        type: integer
      MlpLevel:
        type: string
      MlpLocations:
        type: array
        items:
          format: int32
          type: integer
  ServiceChannel.Services.Messaging.Users.AccessOptions:
    description: Object listing locations, districts, regions, and trades a subscriber user has access to. Learn more about [granting access based on locations, districts, and regions](https://servicechannel.atlassian.net/wiki/spaces/SCU/pages/585107276/Location+District+Region+Access+Tab) in ServiceChannel University.
    type: object
    properties:
      Locations:
        description: Locations a user has access to.
        type: array
        items:
          type: string
      Districts:
        description: Districts a user has access to.
        type: array
        items:
          type: string
      Regions:
        description: Regions a user has access to.
        type: array
        items:
          type: string
      Trades:
        description: Trades a user is permitted to work with.
        type: array
        items:
          type: string
  ServiceChannel.Services.Messaging.Workorders.WeatherEvent:
    type: object
    properties:
      Id:
        format: int32
        type: integer
      Name:
        type: string
  ServiceChannel.Services.Messaging.Workorders.AssigneeUser:
    type: object
    properties:
      UserId:
        format: int32
        type: integer
      UserName:
        type: string
  ServiceChannel.Api.Model.Proposals.MlpRecommendation:
    type: object
    properties:
      Id:
        format: int32
        type: integer
      ProposalId:
        format: int32
        type: integer
      UserId:
        format: int32
        type: integer
      Status:
        type: string
      WoType:
        enum:
        - Origin
        - New
        - Existing
        type: string
      OriginalTrackingNumber:
        format: int32
        type: integer
      SelectedTrackingNumber:
        format: int32
        type: integer
      GeneratedTrackingNumber:
        format: int32
        type: integer
      PoNumber:
        type: string
      Category:
        type: string
      CategoryId:
        format: int32
        type: integer
      ApprovalCode:
        type: string
      Priority:
        type: string
      PriorityId:
        format: int32
        type: integer
      RejectCodeId:
        format: int32
        type: integer
      ApprovalReason:
        type: string
      EmailsToNotify:
        type: string
      Applied:
        default: false
        type: boolean
      AttachmentsToWO:
        default: false
        type: boolean
      EmailMyself:
        default: false
        type: boolean
      MyEmail:
        type: string
      NotSavedRecommendation:
        default: false
        type: boolean
      WorkOrderLabel:
        $ref: '#/definitions/ServiceChannel.Api.Model.Label'
      WorkOrderLabels:
        type: array
        items:
          $ref: '#/definitions/ServiceChannel.Api.Model.Label'
      Comment:
        type: string
  ServiceChannel.Services.Messaging.Rfp.AssignRfpRequest:
    description: The request object to assign an RFP to a provider.
    required:
    - ProviderId
    type: object
    properties:
      ProviderId:
        format: int32
        description: The unique numeric identifier of the provider to assign the RFP to.
        type: integer
      ProviderEmail:
        description: Provider’s email address to send a notification about the assigned RFP to. The default is the email address of the provider who is assigned the RFP.
        type: string
  ServiceChannel.Services.Messaging.Users.User:
    description: User details object.
    type: object
    properties:
      Id:
        format: int32
        description: Unique user identifier.
        type: integer
      SubscriberId:
        format: int32
        description: Unique subscriber ID.
        type: integer
      UserName:
        description: Username of the user.<br /> • For subscriber users, the username appears as **User Id** on the "General Info" tab of the user profile page.<br /> • For provider users, the username is listed as **UserID** under "Access" on the "General" tab of the user profile page.
        pattern: ^$|(^\S+).(\S).(\S)$
        type: string
      FullName:
        description: Full name of the user.<br /> • For subscriber users, the full name appears as **User Name** on the "General Info" tab of the user profile page.<br /> • For provider users, you can see their first and last name under "Basic" on the "General" tab of the user profile page.
        type: string
      Email:
        description: User’s email address.
        type: string
      PsmEmail:
        description: Email address through which a user can reset their password.
        type: string
      Disabled:
        description: Defines if a user is deactivated.
        default: false
        type: boolean
      IsLocked:
        description: Defines if a user is locked.
        default: false
        type: boolean
      Roles:
        description: Secondary roles assigned to a subscriber user that determine their permissions and level of access to various Service Automation modules.
        type: array
        items:
          type: string
      Permissions:
        description: Permissions assigned to a subscriber user that determine whether they have full or read-only access to various Service Automation modules.
        type: array
        items:
          type: string
      UserType:
        description: Subscriber user type defining their level of access to ServiceChannel:<br /> • `Corporate` — a user can work in Service Automation.<br /> • `Dashboard` — a user can only access the dashboard assigned to them.<br />`0` is returned for provider users.
        enum:
        - Corporate
        - Dashboard
        - ServiceChannel
        type: string
      Dashboard:
        $ref: '#/definitions/ServiceChannel.Services.Messaging.Users.DashboardInfo'
        description: Dashboard a subscriber user has access to.
      Access:
        $ref: '#/definitions/ServiceChannel.Services.Messaging.Users.AccessOptions'
        description: List of locations, districts, regions, and trades a subscriber user has access to.
      Limits:

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