ServiceChannel Proposals API
The Proposals API from ServiceChannel — 35 operation(s) for proposals.
The Proposals API from ServiceChannel — 35 operation(s) for proposals.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/servicechannel-proposals-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
version: bearer.v1
title: Fixxbook.Bearer.Api.V1 AfterHours Proposals API
isOdataApi: false
relativePath: ''
discoveryPath: docs/bearer.v1
_isAuthorizedAccess: true
servers:
- url: https://sb2fixxbook.servicechannel.com:443/api
security:
- oauth2: []
tags:
- name: Proposals
paths:
/proposals/statistics:
get:
tags:
- Proposals
summary: Retrieve statistics on RFPs and proposals
description: "Returns statistics on requests for proposals (RFPs) and proposals for the specified time period for the current provider:\n • RFPs awaiting response\n • Open proposals\n • Approved proposals\n • Proposals in the _On Hold_ and _Reviewed_ statuses\n • Rejected proposals"
operationId: GETv3_proposals_statistics?daysPeriod={daysPeriod}
parameters:
- name: daysPeriod
in: query
description: Time period set as the number of days prior to the current date for which statistics on RFPs and proposals are returned. The default is 30.
required: false
schema:
type: integer
format: int32
responses:
'200':
description: Statistics on RFPs and proposals for the requested time period are returned in the response.
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.Proposals.ProposalStatisticsResponse'
text/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.Proposals.ProposalStatisticsResponse'
'400':
description: "The request is not accepted due to bad syntax, missing parameters, insufficient data, etc.\n <br/>Error codes:\n 503 — Only for providers usage"
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
text/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
'401':
description: "The request is not authorized.\n <br/>Error codes:\n 504 — API call rejected by security permissions"
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
text/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
deprecated: false
x-access: Any
/proposals/{proposalId}/recipients:
get:
tags:
- Proposals
summary: Retrieve users who can be added to the list of email recipients to notify of a proposal approval or rejection
description: "Returns users who can be added to the list of email recipients to notify when the specified proposal is approved or rejected.\n <br />***Note:*** This method is only available to subscriber users."
operationId: GETv3_proposals_{proposalId}_recipients
parameters:
- name: proposalId
in: path
description: The unique numeric identifier of the proposal.
required: true
schema:
type: integer
format: int32
responses:
'200':
description: Users who can be added to the list of email recipients to notify when a proposal is approved or rejected are in the response.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.Notes.EmailRecipientResponse'
text/json:
schema:
type: array
items:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.Notes.EmailRecipientResponse'
'400':
description: "The request is not accepted due to bad syntax, missing parameters, insufficient data, etc.\n <br/>Error codes:\n 503 — Invalid proposal identifier\n 503 — Request is empty or null"
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
text/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
'401':
description: "The request is not authorized.\n <br/>Error codes:\n 504 — API call rejected by security permissions"
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
text/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
deprecated: false
x-access: Any
/proposals/{proposalId}/validate:
get:
tags:
- Proposals
summary: Validate a proposal
description: Checks if the specified proposal exists for the current user.
operationId: GETv3_proposals_{proposalId}_validate
parameters:
- name: proposalId
in: path
description: The unique numeric identifier of the proposal to validate.
required: true
schema:
type: integer
format: int32
responses:
'200':
description: The specified proposal exists for the current user.
'400':
description: "The request is not accepted due to bad syntax, missing parameters, insufficient data, etc.\n <br/>Error codes:\n 502 — Proposal not found"
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
text/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
'401':
description: "The request is not authorized.\n <br/>Error codes:\n 504 — API call rejected by security permissions"
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
text/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
deprecated: false
x-access: Any
/proposals/{proposalId}/reject:
put:
tags:
- Proposals
summary: Reject a proposal
description: "Updates the status of the specified proposal to *Rejected*.\n <br />You can send a proposal rejection notification to a specific user or to all users from the **Proposals/Proposal Alerts** list.\n • `ProviderEmail` and `UserEmail`. Use these parameters to send a proposal rejection notification to a specific user. If passed, any of these parameters prevails over `useProposalAlertEmails`. In case you pass a value to the `ProviderEmail` or `UserEmail` parameter in the request body and set `useProposalAlertEmails` to `true`, a notification is sent to the specified email address, while users from the **Proposals/Proposal Alerts** list are not notified.\n • `useProposalAlertEmails`. Set this parameter to `true` to send proposal rejection notifications to all users listed in the **Proposals/Proposal Alerts** section of **Dispatch Preferences**.\n <br />***Note:*** This method is only available to subscriber users.\n <br />**Example Request**\n \n PUT /proposals/{proposalId}/reject\n {\n \"Comments\": \"The project is canceled\",\n \"ProviderEmail\": \"\",\n \"UserEmail\": \"\",\n \"RejectReasonCodeId\": 7,\n \"ActionSource\": \"Standard\",\n \"ReasonString\": \"\",\n \"PinNote\": false,\n }"
operationId: PUTv3_proposals_{proposalId}_reject?useProposalAlertEmails={useProposalAlertEmails}
parameters:
- name: proposalId
in: path
description: The unique numeric identifier of the proposal to reject.
required: true
schema:
type: integer
format: int32
- name: useProposalAlertEmails
in: query
description: "Defines if a proposal rejection notification is sent to all users listed in the **Proposals/Proposal Alerts** section of **Dispatch Preferences**.\n If the parameter value is `true`, users from the **Proposals/Proposal Alerts** list get a notification if the `ProviderEmail` and `UserEmail` parameters are not passed. If set to `false` or not passed, this parameter is ignored."
required: false
schema:
type: boolean
default: false
responses:
'204':
description: The proposal status is set to *Rejected*, users are notified based on the passed parameters, and the values of the specified parameters are updated.<br/>The response is intentionally blank.
'400':
description: "The request is not accepted due to bad syntax, missing parameters, insufficient data, etc.\n <br/>Error codes:\n 401 — Invalid subscriber id\n 502 — Proposal not found\n 503 — The proposal status is already Rejected\n 503 — The user is MLP user\n 503 — Request is empty or null"
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
text/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
'401':
description: "The request is not authorized.\n <br/>Error codes:\n 504 — API call rejected by security permissions"
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
text/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
deprecated: false
x-access: Subscribers
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.Proposals.UpdateProposalStatusRequest'
text/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.Proposals.UpdateProposalStatusRequest'
description: The request to update the proposal status to *Rejected*.
required: true
/proposals/ProposalsReject:
put:
tags:
- Proposals
summary: Reject proposals
description: "Updates the status of the specified proposal to *Rejected*.\n <br />***Note:*** This method is only available to subscriber users."
operationId: PUTv3_proposals_ProposalsReject
responses:
'204':
description: The proposal status is set to *Rejected*, users are notified based on the passed parameters, and the values of the specified parameters are updated.<br/>The response is intentionally blank.
'400':
description: "The request is not accepted due to bad syntax, missing parameters, insufficient data, etc.\n <br/>Error codes: \n 100 — Proposal was already rejected\n 100 — User has no rights to perform this action\n 401 — Invalid subscriber id\n 502 — Wrong Proposal Id\n 502 — Proposal not found\n 502 — Cannot find proposal data\n 502 — Cannot find assigned Work Order\n 502 — Proposal not has WO\n 502 — Proposals are linked to a different Work Order\n 502 — You don't have permissions to process Proposal\n 502 — Proposal is not MLP and cannot be rejected by an MLP user\n 502 — Proposal is already rejected\n 502 — Couldn’t find Proposals to Reject\n 502 — Couldn't find the Provider for Proposal\n 502 — Escalation can't be performed as all upper levels are empty\n 502 — Rule set not found\n 503 — Wrong Work Order Id\n 503 — More information Required\n 503 — Proposal requires a Reason for Rejection\n 503 — The request contains proposals with the same Proposal ID\n 503 — Request is empty or null"
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
text/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
'401':
description: "The request is not authorized.\n <br/>Error codes:\n 504 — API call rejected by security permissions"
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
text/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
deprecated: false
x-access: Subscribers
requestBody:
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.Proposals.UpdateProposalsStatusRequest'
text/json:
schema:
type: array
items:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.Proposals.UpdateProposalsStatusRequest'
required: true
/proposals/GetProposalsToReject:
get:
tags:
- Proposals
summary: Retrieve proposals that can be reject
description: "Returns list of the proposals that can be reject.\n <br />***Note:*** This method is only available to subscriber users."
operationId: GETv3_proposals_GetProposalsToReject?trackingNumber={trackingNumber}
parameters:
- name: trackingNumber
in: query
description: The unique numeric identifier of the WO.
required: true
schema:
type: integer
format: int32
responses:
'200':
description: Users that can be added to the list of email recipients to notify when a proposal is approved or rejected are in the response.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.Notes.EmailRecipientResponse'
text/json:
schema:
type: array
items:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.Notes.EmailRecipientResponse'
'400':
description: "The request is not accepted due to bad syntax, missing parameters, insufficient data, etc.\n <br/>Error codes:\n 502 — Proposals to Reject not found\n 502 — Cannot find proposal data\n 503 — Invalid WO identifier"
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
text/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
'401':
description: "The request is not authorized.\n <br/>Error codes:\n 504 — API call rejected by security permissions"
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
text/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
deprecated: false
x-access: Any
/proposals/{proposalId}/onhold:
put:
tags:
- Proposals
summary: Put a proposal on hold
description: "Updates the status of the specified proposal to *On Hold*.\n <br />***Note:*** This method is only available to subscriber users.\n <br />**Example Request**\n \n PUT /proposals/{proposalId}/onhold\n {\n \"Comments\": \"The proposal needs further review\",\n \"ProviderEmail\": \"\",\n \"UserEmail\": \"\",\n \"RejectReasonCodeId\": 0,\n \"ActionSource\": \"Standard\",\n \"ReasonString\": \"\",\n \"PinNote\": false,\n }"
operationId: PUTv3_proposals_{proposalId}_onhold
parameters:
- name: proposalId
in: path
description: The unique numeric identifier of the proposal to put on hold.
required: true
schema:
type: integer
format: int32
responses:
'204':
description: The proposal status is set to *On Hold*, users are notified based on the passed parameters, and the values of the specified parameters are updated.<br/>The response is intentionally blank.
'400':
description: "The request is not accepted due to bad syntax, missing parameters, insufficient data, etc.\n <br/>Error codes:\n 401 — Invalid subscriber id\n 502 — Proposal not found\n 503 — The proposal status is already On Hold\n 503 — The user is MLP user\n 503 — Request is empty or null"
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
text/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
'401':
description: "The request is not authorized.\n <br>Error codes:\n 504 — API call rejected by security permissions"
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
text/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
deprecated: false
x-access: Subscribers
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.Proposals.UpdateProposalStatusRequest'
text/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.Proposals.UpdateProposalStatusRequest'
description: The request to update the proposal status to *On Hold*.
required: true
/proposals/{proposalId}/approve:
put:
tags:
- Proposals
summary: Approve a proposal
description: "Updates the status of the specified proposal to *Approved*.\n <br />***Note:*** This method is only available to subscriber users.\n <br />**Example Request**\n \n PUT /proposals/{proposalId}/approve\n {\n \"Comments\": \"The project starts earlier than expected\",\n \"ProviderEmail\": \"\",\n \"UserEmail\": \"\",\n \"RejectReasonCodeId\": 0,\n \"ActionSource\": \"Standard\",\n \"ReasonString\": \"Best fit for the job and scope\",\n \"AttachmentstoWO\": true,\n \"PinNote\": false,\n }"
operationId: PUTv3_proposals_{proposalId}_approve
parameters:
- name: proposalId
in: path
description: The unique numeric identifier of the proposal to approve.
required: true
schema:
type: integer
format: int32
responses:
'204':
description: The proposal status is set to *Approved*, users are notified based on the passed parameters, and the values of the specified parameters are updated.<br/>The response is intentionally blank.
'400':
description: "The request is not accepted due to bad syntax, missing parameters, insufficient data, etc.\n <br/>Error codes:\n 100 — Proposal amount exceeds user’s NTE limit\n 401 — Invalid subscriber id\n 502 — Proposal not found\n 503 — The proposal status is already Approved\n 503 — Cannot Approve Proposal that is not assigned to Work Order\n 503 — Cannot Approve Proposal. The Work Order this proposal is linked to has already been invoiced\n 503 — The user is MLP user\n 503 — Request is empty or null"
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
text/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
'401':
description: "The request is not authorized.\n <br/>Error codes:\n 504 — API call rejected by security permissions"
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
text/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
deprecated: false
x-access: Subscribers
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.Proposals.UpdateProposalStatusRequest'
text/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.Proposals.UpdateProposalStatusRequest'
description: The request to update the proposal status to *Approved*.
required: true
/proposals/{proposalId}/open:
put:
tags:
- Proposals
summary: Open a proposal
description: "Updates the status of the specified proposal to *Open*.\n <br />***Note:*** This method is only available to subscriber users.\n <br />**Example Request**\n \n PUT /proposals/{proposalId}/open\n {\n \"Comments\": \"The project is resumed\",\n \"ProviderEmail\": \"\",\n \"UserEmail\": \"\",\n \"RejectReasonCodeId\": 0,\n \"ActionSource\": \"Standard\",\n \"ReasonString\": \"\",\n \"PinNote\": false,\n }"
operationId: PUTv3_proposals_{proposalId}_open
parameters:
- name: proposalId
in: path
description: The unique numeric identifier of the proposal to open.
required: true
schema:
type: integer
format: int32
responses:
'204':
description: The proposal status is set to *Open*, users are notified based on the passed parameters, and the values of the specified parameters are updated.<br/>The response is intentionally blank.
'400':
description: "The request is not accepted due to bad syntax, missing parameters, insufficient data, etc.\n <br/>Error codes:\n 401 — Invalid subscriber id\n 502 — Proposal not found\n 503 — The proposal status is already Open\n 503 — The user is MLP user\n 503 — Request is empty or null"
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
text/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
'401':
description: "The request is not authorized.\n <br/>Error codes:\n 504 — API call rejected by security permissions"
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
text/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
deprecated: false
x-access: Subscribers
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.Proposals.UpdateProposalStatusRequest'
text/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.Proposals.UpdateProposalStatusRequest'
description: The request to update the proposal status to *Open*.
required: true
/proposals/{proposalId}/assignWO:
put:
tags:
- Proposals
summary: Attach a work order to a proposal
description: "Links the specified work order to the proposal. If the proposal already has a linked service request, the attached work order is updated. See [Link a WO to a Proposal](/guides/proposals/link-a-WO-to-a-proposal/) for more information.\n <br />***Note:*** This method is only available to subscriber users."
operationId: PUTv3_proposals_{proposalId}_assignWO?isFromProjectsModule={isFromProjectsModule}
parameters:
- name: proposalId
in: path
description: The unique numeric identifier of the proposal to attach the work order to.
required: true
schema:
type: integer
format: int32
- name: isFromProjectsModule
in: query
description: Is request from projects module.
required: false
schema:
type: boolean
default: false
responses:
'204':
description: The specified work order is attached to the proposal, and the response is intentionally blank.
'400':
description: "The request is not accepted due to bad syntax, missing parameters, insufficient data, etc.\n <br/>Error codes:\n 401 — Invalid subscriber id\n 502 — Proposal not found\n 503 — Request is empty or null\n 503 — Proposal already approved\n 503 — Workorder doesn't match\n 503 — The user is MLP user\n 917 — Invalid WO Identifier"
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
text/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
'401':
description: "The request is not authorized.\n <br/>Error codes:\n 504 — API call rejected by security permissions"
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
text/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
deprecated: false
x-access: Subscribers
requestBody:
content:
application/json:
schema:
format: int32
type: integer
text/json:
schema:
format: int32
type: integer
description: The unique numeric identifier of the work order to link to the proposal.
required: true
/proposals/{proposalId}/escalate:
put:
tags:
- Proposals
summary: Escalate a proposal
description: "Escalates the specified proposal to another user in the subscriber’s multi-level proposal (MLP) approval hierarchy. The proposal can be approved, rejected, put on hold, or returned upon escalation. You can attach an existing work order or create a new one while submitting the request.\n <br />***Note:*** This method is only available to subscribers with the MLP setting enabled.\n <br />MLP users can [escalate a proposal](/guides/proposals/assign-or-escalate-a-proposal/#escalate-a-proposal-for-mlp-users) if the following conditions are met:\n • The user's approval level corresponds to the proposal level.\n • The Override option is enabled for the user in case their level is higher than the proposal level.\n <br />**Example Request**\n \n PUT /proposals/{proposalId}/escalate\n {\n \"Action\": \"Approve\",\n \"WoType\": 2,\n \"TrackingNumber\": 140324907,\n \"PoNumber\": \"\",\n \"ExistingPoNumber\": \"\",\n \"Category\": \"\",\n \"CategoryId\": ,\n \"ApprovalCode\": \"\",\n \"Priority\": \"\",\n \"Comment\": \"Escalating proposal to the General Manager\",\n \"RejectReasonCodeId\": 0,\n \"ReasonString\": \"\",\n \"EmailsToNotify\": \"john.smith@domain.com\",\n \"EmailMyself\": false,\n \"MyEmail\": \"\",\n \"ProposalId\": 10010836\n }"
operationId: PUTv3_proposals_{proposalId}_escalate
parameters:
- name: proposalId
in: path
description: The unique numeric identifier of the proposal to escalate.
required: true
schema:
type: integer
format: int32
responses:
'204':
description: The specified proposal is escalated and updated with the passed parameters. The response is intentionally blank.
'400':
description: "The request is not accepted due to bad syntax, missing parameters, insufficient data, etc.\n <br/>Error codes:\n 401 — Invalid subscriber id\n 502 — Proposal not found\n 503 — Request is empty or null\n 503 — The user is not MLP user\n 503 — Invalid WO Tracking Number\n 503 — Invalid WO Tracking Number in Proposal\n 503 — Invalid Wo Type\n 503 — There is no WO recommendation\n 503 — Action not found in rules\n 503 — User level less than Proposal level\n 503 — ForwardTo item is empty\n 503 — There is no the action in next rule\n 503 — Invalid Level\n 503 — Override flag is false\n 503 — EndStatus item is empty\n 503 — Invalid Action"
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
text/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
'401':
description: "The request is not authorized.\n <br/>Error codes:\n 504 — API call rejected by security permissions"
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
text/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.ErrorResponse'
deprecated: false
x-access: Subscribers
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceChannel.Services.Messaging.Proposals.MlpWoRecommendationRequest'
text/json:
schema:
$ref: '#/components/sche
# --- truncated at 32 KB (275 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/servicechannel/refs/heads/main/openapi/servicechannel-proposals-api-openapi.yml