Analyze Proposal Competitiveness
curl --request POST \
--url https://api.example.com/ai/analyze-proposal \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"requirements": [
{
"name": "<string>",
"description": "",
"complexity": 3,
"priority": "medium"
}
],
"totalPrice": 123,
"estimatedDays": 123,
"hourlyRate": 123,
"role": "<string>",
"seniority": "<string>",
"location": "<string>",
"currency": "USD",
"proposalType": "technical",
"hourBucketHours": 123,
"hourBucketValidityDays": 123,
"hourBucketExpiryPolicy": "<string>",
"hourBucketMinBillingIncrement": 123,
"hourBucketGovernanceTerms": "<string>",
"hourBucketRisks": "<string>",
"technicalGovernanceTerms": "<string>",
"technicalRisks": "<string>",
"warrantyDays": 123,
"revisionRounds": 123,
"tamEstimatedHoursMin": 123,
"tamEstimatedHoursMax": 123,
"tamBillingCadence": "<string>",
"tamBudgetCap": 123,
"tamGovernanceTerms": "<string>",
"tamRisks": "<string>",
"tamReimbursableExpenses": "<string>",
"tamApprovalThreshold": 123,
"retainerMonthlyHours": 123,
"retainerDiscountedRate": 123,
"retainerMinCommitmentMonths": 123,
"retainerRolloverPercent": 123,
"retainerSlaTerms": "<string>",
"retainerGovernanceTerms": "<string>",
"retainerRisks": "<string>",
"retainerLicensesResponsibility": "<string>",
"milestoneGovernanceTerms": "<string>",
"milestoneRisks": "<string>",
"milestoneDepositPercent": 123,
"milestoneApprovalDays": 123,
"milestoneRevisionRounds": 123,
"milestonePhases": [
{}
],
"staffAugContractMonths": 123,
"staffAugBillingCadence": "<string>",
"staffAugGovernanceTerms": "<string>",
"staffAugRisks": "<string>",
"staffAugNoticePeriod": 123,
"staffAugWorkingHours": "<string>",
"staffAugIpOwnership": "<string>",
"staffAugMode": "<string>",
"managedOverlay": {},
"blendedRateEnabled": true,
"blendedRatePerHour": 123,
"rampUpDiscountPercent": 123,
"staffAugSlaAcknowledgeTime": 123,
"staffAugSlaResolutionTime": 123,
"staffAugSlaPenaltyPercent": 123,
"staffAugSlaBonusPercent": 123,
"phases": [
{}
],
"availableTeam": [
{}
],
"proposalTeam": [
{}
],
"agencyMargin": 123,
"internalCost": 123,
"blendedRate": 123,
"sowOutOfScope": "<string>",
"sowAcceptanceCriteria": "<string>",
"providerType": "freelancer",
"clientName": "<string>",
"companySize": "<string>",
"industry": "<string>",
"clientType": "<string>",
"includeDifferentiators": false,
"differentiatorsSummary": "<string>",
"language": "en",
"apiKey": "<string>",
"aiProvider": "gemini",
"openaiApiKey": "<string>",
"anthropicApiKey": "<string>"
}
'import requests
url = "https://api.example.com/ai/analyze-proposal"
payload = {
"requirements": [
{
"name": "<string>",
"description": "",
"complexity": 3,
"priority": "medium"
}
],
"totalPrice": 123,
"estimatedDays": 123,
"hourlyRate": 123,
"role": "<string>",
"seniority": "<string>",
"location": "<string>",
"currency": "USD",
"proposalType": "technical",
"hourBucketHours": 123,
"hourBucketValidityDays": 123,
"hourBucketExpiryPolicy": "<string>",
"hourBucketMinBillingIncrement": 123,
"hourBucketGovernanceTerms": "<string>",
"hourBucketRisks": "<string>",
"technicalGovernanceTerms": "<string>",
"technicalRisks": "<string>",
"warrantyDays": 123,
"revisionRounds": 123,
"tamEstimatedHoursMin": 123,
"tamEstimatedHoursMax": 123,
"tamBillingCadence": "<string>",
"tamBudgetCap": 123,
"tamGovernanceTerms": "<string>",
"tamRisks": "<string>",
"tamReimbursableExpenses": "<string>",
"tamApprovalThreshold": 123,
"retainerMonthlyHours": 123,
"retainerDiscountedRate": 123,
"retainerMinCommitmentMonths": 123,
"retainerRolloverPercent": 123,
"retainerSlaTerms": "<string>",
"retainerGovernanceTerms": "<string>",
"retainerRisks": "<string>",
"retainerLicensesResponsibility": "<string>",
"milestoneGovernanceTerms": "<string>",
"milestoneRisks": "<string>",
"milestoneDepositPercent": 123,
"milestoneApprovalDays": 123,
"milestoneRevisionRounds": 123,
"milestonePhases": [{}],
"staffAugContractMonths": 123,
"staffAugBillingCadence": "<string>",
"staffAugGovernanceTerms": "<string>",
"staffAugRisks": "<string>",
"staffAugNoticePeriod": 123,
"staffAugWorkingHours": "<string>",
"staffAugIpOwnership": "<string>",
"staffAugMode": "<string>",
"managedOverlay": {},
"blendedRateEnabled": True,
"blendedRatePerHour": 123,
"rampUpDiscountPercent": 123,
"staffAugSlaAcknowledgeTime": 123,
"staffAugSlaResolutionTime": 123,
"staffAugSlaPenaltyPercent": 123,
"staffAugSlaBonusPercent": 123,
"phases": [{}],
"availableTeam": [{}],
"proposalTeam": [{}],
"agencyMargin": 123,
"internalCost": 123,
"blendedRate": 123,
"sowOutOfScope": "<string>",
"sowAcceptanceCriteria": "<string>",
"providerType": "freelancer",
"clientName": "<string>",
"companySize": "<string>",
"industry": "<string>",
"clientType": "<string>",
"includeDifferentiators": False,
"differentiatorsSummary": "<string>",
"language": "en",
"apiKey": "<string>",
"aiProvider": "gemini",
"openaiApiKey": "<string>",
"anthropicApiKey": "<string>"
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
requirements: [{name: '<string>', description: '', complexity: 3, priority: 'medium'}],
totalPrice: 123,
estimatedDays: 123,
hourlyRate: 123,
role: '<string>',
seniority: '<string>',
location: '<string>',
currency: 'USD',
proposalType: 'technical',
hourBucketHours: 123,
hourBucketValidityDays: 123,
hourBucketExpiryPolicy: '<string>',
hourBucketMinBillingIncrement: 123,
hourBucketGovernanceTerms: '<string>',
hourBucketRisks: '<string>',
technicalGovernanceTerms: '<string>',
technicalRisks: '<string>',
warrantyDays: 123,
revisionRounds: 123,
tamEstimatedHoursMin: 123,
tamEstimatedHoursMax: 123,
tamBillingCadence: '<string>',
tamBudgetCap: 123,
tamGovernanceTerms: '<string>',
tamRisks: '<string>',
tamReimbursableExpenses: '<string>',
tamApprovalThreshold: 123,
retainerMonthlyHours: 123,
retainerDiscountedRate: 123,
retainerMinCommitmentMonths: 123,
retainerRolloverPercent: 123,
retainerSlaTerms: '<string>',
retainerGovernanceTerms: '<string>',
retainerRisks: '<string>',
retainerLicensesResponsibility: '<string>',
milestoneGovernanceTerms: '<string>',
milestoneRisks: '<string>',
milestoneDepositPercent: 123,
milestoneApprovalDays: 123,
milestoneRevisionRounds: 123,
milestonePhases: [{}],
staffAugContractMonths: 123,
staffAugBillingCadence: '<string>',
staffAugGovernanceTerms: '<string>',
staffAugRisks: '<string>',
staffAugNoticePeriod: 123,
staffAugWorkingHours: '<string>',
staffAugIpOwnership: '<string>',
staffAugMode: '<string>',
managedOverlay: {},
blendedRateEnabled: true,
blendedRatePerHour: 123,
rampUpDiscountPercent: 123,
staffAugSlaAcknowledgeTime: 123,
staffAugSlaResolutionTime: 123,
staffAugSlaPenaltyPercent: 123,
staffAugSlaBonusPercent: 123,
phases: [{}],
availableTeam: [{}],
proposalTeam: [{}],
agencyMargin: 123,
internalCost: 123,
blendedRate: 123,
sowOutOfScope: '<string>',
sowAcceptanceCriteria: '<string>',
providerType: 'freelancer',
clientName: '<string>',
companySize: '<string>',
industry: '<string>',
clientType: '<string>',
includeDifferentiators: false,
differentiatorsSummary: '<string>',
language: 'en',
apiKey: '<string>',
aiProvider: 'gemini',
openaiApiKey: '<string>',
anthropicApiKey: '<string>'
})
};
fetch('https://api.example.com/ai/analyze-proposal', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/ai/analyze-proposal",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'requirements' => [
[
'name' => '<string>',
'description' => '',
'complexity' => 3,
'priority' => 'medium'
]
],
'totalPrice' => 123,
'estimatedDays' => 123,
'hourlyRate' => 123,
'role' => '<string>',
'seniority' => '<string>',
'location' => '<string>',
'currency' => 'USD',
'proposalType' => 'technical',
'hourBucketHours' => 123,
'hourBucketValidityDays' => 123,
'hourBucketExpiryPolicy' => '<string>',
'hourBucketMinBillingIncrement' => 123,
'hourBucketGovernanceTerms' => '<string>',
'hourBucketRisks' => '<string>',
'technicalGovernanceTerms' => '<string>',
'technicalRisks' => '<string>',
'warrantyDays' => 123,
'revisionRounds' => 123,
'tamEstimatedHoursMin' => 123,
'tamEstimatedHoursMax' => 123,
'tamBillingCadence' => '<string>',
'tamBudgetCap' => 123,
'tamGovernanceTerms' => '<string>',
'tamRisks' => '<string>',
'tamReimbursableExpenses' => '<string>',
'tamApprovalThreshold' => 123,
'retainerMonthlyHours' => 123,
'retainerDiscountedRate' => 123,
'retainerMinCommitmentMonths' => 123,
'retainerRolloverPercent' => 123,
'retainerSlaTerms' => '<string>',
'retainerGovernanceTerms' => '<string>',
'retainerRisks' => '<string>',
'retainerLicensesResponsibility' => '<string>',
'milestoneGovernanceTerms' => '<string>',
'milestoneRisks' => '<string>',
'milestoneDepositPercent' => 123,
'milestoneApprovalDays' => 123,
'milestoneRevisionRounds' => 123,
'milestonePhases' => [
[
]
],
'staffAugContractMonths' => 123,
'staffAugBillingCadence' => '<string>',
'staffAugGovernanceTerms' => '<string>',
'staffAugRisks' => '<string>',
'staffAugNoticePeriod' => 123,
'staffAugWorkingHours' => '<string>',
'staffAugIpOwnership' => '<string>',
'staffAugMode' => '<string>',
'managedOverlay' => [
],
'blendedRateEnabled' => true,
'blendedRatePerHour' => 123,
'rampUpDiscountPercent' => 123,
'staffAugSlaAcknowledgeTime' => 123,
'staffAugSlaResolutionTime' => 123,
'staffAugSlaPenaltyPercent' => 123,
'staffAugSlaBonusPercent' => 123,
'phases' => [
[
]
],
'availableTeam' => [
[
]
],
'proposalTeam' => [
[
]
],
'agencyMargin' => 123,
'internalCost' => 123,
'blendedRate' => 123,
'sowOutOfScope' => '<string>',
'sowAcceptanceCriteria' => '<string>',
'providerType' => 'freelancer',
'clientName' => '<string>',
'companySize' => '<string>',
'industry' => '<string>',
'clientType' => '<string>',
'includeDifferentiators' => false,
'differentiatorsSummary' => '<string>',
'language' => 'en',
'apiKey' => '<string>',
'aiProvider' => 'gemini',
'openaiApiKey' => '<string>',
'anthropicApiKey' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/ai/analyze-proposal"
payload := strings.NewReader("{\n \"requirements\": [\n {\n \"name\": \"<string>\",\n \"description\": \"\",\n \"complexity\": 3,\n \"priority\": \"medium\"\n }\n ],\n \"totalPrice\": 123,\n \"estimatedDays\": 123,\n \"hourlyRate\": 123,\n \"role\": \"<string>\",\n \"seniority\": \"<string>\",\n \"location\": \"<string>\",\n \"currency\": \"USD\",\n \"proposalType\": \"technical\",\n \"hourBucketHours\": 123,\n \"hourBucketValidityDays\": 123,\n \"hourBucketExpiryPolicy\": \"<string>\",\n \"hourBucketMinBillingIncrement\": 123,\n \"hourBucketGovernanceTerms\": \"<string>\",\n \"hourBucketRisks\": \"<string>\",\n \"technicalGovernanceTerms\": \"<string>\",\n \"technicalRisks\": \"<string>\",\n \"warrantyDays\": 123,\n \"revisionRounds\": 123,\n \"tamEstimatedHoursMin\": 123,\n \"tamEstimatedHoursMax\": 123,\n \"tamBillingCadence\": \"<string>\",\n \"tamBudgetCap\": 123,\n \"tamGovernanceTerms\": \"<string>\",\n \"tamRisks\": \"<string>\",\n \"tamReimbursableExpenses\": \"<string>\",\n \"tamApprovalThreshold\": 123,\n \"retainerMonthlyHours\": 123,\n \"retainerDiscountedRate\": 123,\n \"retainerMinCommitmentMonths\": 123,\n \"retainerRolloverPercent\": 123,\n \"retainerSlaTerms\": \"<string>\",\n \"retainerGovernanceTerms\": \"<string>\",\n \"retainerRisks\": \"<string>\",\n \"retainerLicensesResponsibility\": \"<string>\",\n \"milestoneGovernanceTerms\": \"<string>\",\n \"milestoneRisks\": \"<string>\",\n \"milestoneDepositPercent\": 123,\n \"milestoneApprovalDays\": 123,\n \"milestoneRevisionRounds\": 123,\n \"milestonePhases\": [\n {}\n ],\n \"staffAugContractMonths\": 123,\n \"staffAugBillingCadence\": \"<string>\",\n \"staffAugGovernanceTerms\": \"<string>\",\n \"staffAugRisks\": \"<string>\",\n \"staffAugNoticePeriod\": 123,\n \"staffAugWorkingHours\": \"<string>\",\n \"staffAugIpOwnership\": \"<string>\",\n \"staffAugMode\": \"<string>\",\n \"managedOverlay\": {},\n \"blendedRateEnabled\": true,\n \"blendedRatePerHour\": 123,\n \"rampUpDiscountPercent\": 123,\n \"staffAugSlaAcknowledgeTime\": 123,\n \"staffAugSlaResolutionTime\": 123,\n \"staffAugSlaPenaltyPercent\": 123,\n \"staffAugSlaBonusPercent\": 123,\n \"phases\": [\n {}\n ],\n \"availableTeam\": [\n {}\n ],\n \"proposalTeam\": [\n {}\n ],\n \"agencyMargin\": 123,\n \"internalCost\": 123,\n \"blendedRate\": 123,\n \"sowOutOfScope\": \"<string>\",\n \"sowAcceptanceCriteria\": \"<string>\",\n \"providerType\": \"freelancer\",\n \"clientName\": \"<string>\",\n \"companySize\": \"<string>\",\n \"industry\": \"<string>\",\n \"clientType\": \"<string>\",\n \"includeDifferentiators\": false,\n \"differentiatorsSummary\": \"<string>\",\n \"language\": \"en\",\n \"apiKey\": \"<string>\",\n \"aiProvider\": \"gemini\",\n \"openaiApiKey\": \"<string>\",\n \"anthropicApiKey\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.example.com/ai/analyze-proposal")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"requirements\": [\n {\n \"name\": \"<string>\",\n \"description\": \"\",\n \"complexity\": 3,\n \"priority\": \"medium\"\n }\n ],\n \"totalPrice\": 123,\n \"estimatedDays\": 123,\n \"hourlyRate\": 123,\n \"role\": \"<string>\",\n \"seniority\": \"<string>\",\n \"location\": \"<string>\",\n \"currency\": \"USD\",\n \"proposalType\": \"technical\",\n \"hourBucketHours\": 123,\n \"hourBucketValidityDays\": 123,\n \"hourBucketExpiryPolicy\": \"<string>\",\n \"hourBucketMinBillingIncrement\": 123,\n \"hourBucketGovernanceTerms\": \"<string>\",\n \"hourBucketRisks\": \"<string>\",\n \"technicalGovernanceTerms\": \"<string>\",\n \"technicalRisks\": \"<string>\",\n \"warrantyDays\": 123,\n \"revisionRounds\": 123,\n \"tamEstimatedHoursMin\": 123,\n \"tamEstimatedHoursMax\": 123,\n \"tamBillingCadence\": \"<string>\",\n \"tamBudgetCap\": 123,\n \"tamGovernanceTerms\": \"<string>\",\n \"tamRisks\": \"<string>\",\n \"tamReimbursableExpenses\": \"<string>\",\n \"tamApprovalThreshold\": 123,\n \"retainerMonthlyHours\": 123,\n \"retainerDiscountedRate\": 123,\n \"retainerMinCommitmentMonths\": 123,\n \"retainerRolloverPercent\": 123,\n \"retainerSlaTerms\": \"<string>\",\n \"retainerGovernanceTerms\": \"<string>\",\n \"retainerRisks\": \"<string>\",\n \"retainerLicensesResponsibility\": \"<string>\",\n \"milestoneGovernanceTerms\": \"<string>\",\n \"milestoneRisks\": \"<string>\",\n \"milestoneDepositPercent\": 123,\n \"milestoneApprovalDays\": 123,\n \"milestoneRevisionRounds\": 123,\n \"milestonePhases\": [\n {}\n ],\n \"staffAugContractMonths\": 123,\n \"staffAugBillingCadence\": \"<string>\",\n \"staffAugGovernanceTerms\": \"<string>\",\n \"staffAugRisks\": \"<string>\",\n \"staffAugNoticePeriod\": 123,\n \"staffAugWorkingHours\": \"<string>\",\n \"staffAugIpOwnership\": \"<string>\",\n \"staffAugMode\": \"<string>\",\n \"managedOverlay\": {},\n \"blendedRateEnabled\": true,\n \"blendedRatePerHour\": 123,\n \"rampUpDiscountPercent\": 123,\n \"staffAugSlaAcknowledgeTime\": 123,\n \"staffAugSlaResolutionTime\": 123,\n \"staffAugSlaPenaltyPercent\": 123,\n \"staffAugSlaBonusPercent\": 123,\n \"phases\": [\n {}\n ],\n \"availableTeam\": [\n {}\n ],\n \"proposalTeam\": [\n {}\n ],\n \"agencyMargin\": 123,\n \"internalCost\": 123,\n \"blendedRate\": 123,\n \"sowOutOfScope\": \"<string>\",\n \"sowAcceptanceCriteria\": \"<string>\",\n \"providerType\": \"freelancer\",\n \"clientName\": \"<string>\",\n \"companySize\": \"<string>\",\n \"industry\": \"<string>\",\n \"clientType\": \"<string>\",\n \"includeDifferentiators\": false,\n \"differentiatorsSummary\": \"<string>\",\n \"language\": \"en\",\n \"apiKey\": \"<string>\",\n \"aiProvider\": \"gemini\",\n \"openaiApiKey\": \"<string>\",\n \"anthropicApiKey\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/ai/analyze-proposal")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"requirements\": [\n {\n \"name\": \"<string>\",\n \"description\": \"\",\n \"complexity\": 3,\n \"priority\": \"medium\"\n }\n ],\n \"totalPrice\": 123,\n \"estimatedDays\": 123,\n \"hourlyRate\": 123,\n \"role\": \"<string>\",\n \"seniority\": \"<string>\",\n \"location\": \"<string>\",\n \"currency\": \"USD\",\n \"proposalType\": \"technical\",\n \"hourBucketHours\": 123,\n \"hourBucketValidityDays\": 123,\n \"hourBucketExpiryPolicy\": \"<string>\",\n \"hourBucketMinBillingIncrement\": 123,\n \"hourBucketGovernanceTerms\": \"<string>\",\n \"hourBucketRisks\": \"<string>\",\n \"technicalGovernanceTerms\": \"<string>\",\n \"technicalRisks\": \"<string>\",\n \"warrantyDays\": 123,\n \"revisionRounds\": 123,\n \"tamEstimatedHoursMin\": 123,\n \"tamEstimatedHoursMax\": 123,\n \"tamBillingCadence\": \"<string>\",\n \"tamBudgetCap\": 123,\n \"tamGovernanceTerms\": \"<string>\",\n \"tamRisks\": \"<string>\",\n \"tamReimbursableExpenses\": \"<string>\",\n \"tamApprovalThreshold\": 123,\n \"retainerMonthlyHours\": 123,\n \"retainerDiscountedRate\": 123,\n \"retainerMinCommitmentMonths\": 123,\n \"retainerRolloverPercent\": 123,\n \"retainerSlaTerms\": \"<string>\",\n \"retainerGovernanceTerms\": \"<string>\",\n \"retainerRisks\": \"<string>\",\n \"retainerLicensesResponsibility\": \"<string>\",\n \"milestoneGovernanceTerms\": \"<string>\",\n \"milestoneRisks\": \"<string>\",\n \"milestoneDepositPercent\": 123,\n \"milestoneApprovalDays\": 123,\n \"milestoneRevisionRounds\": 123,\n \"milestonePhases\": [\n {}\n ],\n \"staffAugContractMonths\": 123,\n \"staffAugBillingCadence\": \"<string>\",\n \"staffAugGovernanceTerms\": \"<string>\",\n \"staffAugRisks\": \"<string>\",\n \"staffAugNoticePeriod\": 123,\n \"staffAugWorkingHours\": \"<string>\",\n \"staffAugIpOwnership\": \"<string>\",\n \"staffAugMode\": \"<string>\",\n \"managedOverlay\": {},\n \"blendedRateEnabled\": true,\n \"blendedRatePerHour\": 123,\n \"rampUpDiscountPercent\": 123,\n \"staffAugSlaAcknowledgeTime\": 123,\n \"staffAugSlaResolutionTime\": 123,\n \"staffAugSlaPenaltyPercent\": 123,\n \"staffAugSlaBonusPercent\": 123,\n \"phases\": [\n {}\n ],\n \"availableTeam\": [\n {}\n ],\n \"proposalTeam\": [\n {}\n ],\n \"agencyMargin\": 123,\n \"internalCost\": 123,\n \"blendedRate\": 123,\n \"sowOutOfScope\": \"<string>\",\n \"sowAcceptanceCriteria\": \"<string>\",\n \"providerType\": \"freelancer\",\n \"clientName\": \"<string>\",\n \"companySize\": \"<string>\",\n \"industry\": \"<string>\",\n \"clientType\": \"<string>\",\n \"includeDifferentiators\": false,\n \"differentiatorsSummary\": \"<string>\",\n \"language\": \"en\",\n \"apiKey\": \"<string>\",\n \"aiProvider\": \"gemini\",\n \"openaiApiKey\": \"<string>\",\n \"anthropicApiKey\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"competitivenessScore": 123,
"analysis": {},
"suggestions": [
"<string>"
],
"overallReasoning": "<string>",
"success": true,
"modelSpecificInsights": [
"<string>"
],
"error": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}AI Services
Analyze Proposal Competitiveness
Analyze proposal competitiveness and get suggestions for improvement.
Required scope: read
Evaluates:
- Price competitiveness (is the price fair for the market?)
- Timeline assessment (is the estimate realistic?)
- Value proposition (does the scope justify the cost?)
Returns a score 1-10 and actionable suggestions for improvement. This is perfect for an n8n agent to iterate and improve proposals.
POST
/
ai
/
analyze-proposal
Analyze Proposal Competitiveness
curl --request POST \
--url https://api.example.com/ai/analyze-proposal \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"requirements": [
{
"name": "<string>",
"description": "",
"complexity": 3,
"priority": "medium"
}
],
"totalPrice": 123,
"estimatedDays": 123,
"hourlyRate": 123,
"role": "<string>",
"seniority": "<string>",
"location": "<string>",
"currency": "USD",
"proposalType": "technical",
"hourBucketHours": 123,
"hourBucketValidityDays": 123,
"hourBucketExpiryPolicy": "<string>",
"hourBucketMinBillingIncrement": 123,
"hourBucketGovernanceTerms": "<string>",
"hourBucketRisks": "<string>",
"technicalGovernanceTerms": "<string>",
"technicalRisks": "<string>",
"warrantyDays": 123,
"revisionRounds": 123,
"tamEstimatedHoursMin": 123,
"tamEstimatedHoursMax": 123,
"tamBillingCadence": "<string>",
"tamBudgetCap": 123,
"tamGovernanceTerms": "<string>",
"tamRisks": "<string>",
"tamReimbursableExpenses": "<string>",
"tamApprovalThreshold": 123,
"retainerMonthlyHours": 123,
"retainerDiscountedRate": 123,
"retainerMinCommitmentMonths": 123,
"retainerRolloverPercent": 123,
"retainerSlaTerms": "<string>",
"retainerGovernanceTerms": "<string>",
"retainerRisks": "<string>",
"retainerLicensesResponsibility": "<string>",
"milestoneGovernanceTerms": "<string>",
"milestoneRisks": "<string>",
"milestoneDepositPercent": 123,
"milestoneApprovalDays": 123,
"milestoneRevisionRounds": 123,
"milestonePhases": [
{}
],
"staffAugContractMonths": 123,
"staffAugBillingCadence": "<string>",
"staffAugGovernanceTerms": "<string>",
"staffAugRisks": "<string>",
"staffAugNoticePeriod": 123,
"staffAugWorkingHours": "<string>",
"staffAugIpOwnership": "<string>",
"staffAugMode": "<string>",
"managedOverlay": {},
"blendedRateEnabled": true,
"blendedRatePerHour": 123,
"rampUpDiscountPercent": 123,
"staffAugSlaAcknowledgeTime": 123,
"staffAugSlaResolutionTime": 123,
"staffAugSlaPenaltyPercent": 123,
"staffAugSlaBonusPercent": 123,
"phases": [
{}
],
"availableTeam": [
{}
],
"proposalTeam": [
{}
],
"agencyMargin": 123,
"internalCost": 123,
"blendedRate": 123,
"sowOutOfScope": "<string>",
"sowAcceptanceCriteria": "<string>",
"providerType": "freelancer",
"clientName": "<string>",
"companySize": "<string>",
"industry": "<string>",
"clientType": "<string>",
"includeDifferentiators": false,
"differentiatorsSummary": "<string>",
"language": "en",
"apiKey": "<string>",
"aiProvider": "gemini",
"openaiApiKey": "<string>",
"anthropicApiKey": "<string>"
}
'import requests
url = "https://api.example.com/ai/analyze-proposal"
payload = {
"requirements": [
{
"name": "<string>",
"description": "",
"complexity": 3,
"priority": "medium"
}
],
"totalPrice": 123,
"estimatedDays": 123,
"hourlyRate": 123,
"role": "<string>",
"seniority": "<string>",
"location": "<string>",
"currency": "USD",
"proposalType": "technical",
"hourBucketHours": 123,
"hourBucketValidityDays": 123,
"hourBucketExpiryPolicy": "<string>",
"hourBucketMinBillingIncrement": 123,
"hourBucketGovernanceTerms": "<string>",
"hourBucketRisks": "<string>",
"technicalGovernanceTerms": "<string>",
"technicalRisks": "<string>",
"warrantyDays": 123,
"revisionRounds": 123,
"tamEstimatedHoursMin": 123,
"tamEstimatedHoursMax": 123,
"tamBillingCadence": "<string>",
"tamBudgetCap": 123,
"tamGovernanceTerms": "<string>",
"tamRisks": "<string>",
"tamReimbursableExpenses": "<string>",
"tamApprovalThreshold": 123,
"retainerMonthlyHours": 123,
"retainerDiscountedRate": 123,
"retainerMinCommitmentMonths": 123,
"retainerRolloverPercent": 123,
"retainerSlaTerms": "<string>",
"retainerGovernanceTerms": "<string>",
"retainerRisks": "<string>",
"retainerLicensesResponsibility": "<string>",
"milestoneGovernanceTerms": "<string>",
"milestoneRisks": "<string>",
"milestoneDepositPercent": 123,
"milestoneApprovalDays": 123,
"milestoneRevisionRounds": 123,
"milestonePhases": [{}],
"staffAugContractMonths": 123,
"staffAugBillingCadence": "<string>",
"staffAugGovernanceTerms": "<string>",
"staffAugRisks": "<string>",
"staffAugNoticePeriod": 123,
"staffAugWorkingHours": "<string>",
"staffAugIpOwnership": "<string>",
"staffAugMode": "<string>",
"managedOverlay": {},
"blendedRateEnabled": True,
"blendedRatePerHour": 123,
"rampUpDiscountPercent": 123,
"staffAugSlaAcknowledgeTime": 123,
"staffAugSlaResolutionTime": 123,
"staffAugSlaPenaltyPercent": 123,
"staffAugSlaBonusPercent": 123,
"phases": [{}],
"availableTeam": [{}],
"proposalTeam": [{}],
"agencyMargin": 123,
"internalCost": 123,
"blendedRate": 123,
"sowOutOfScope": "<string>",
"sowAcceptanceCriteria": "<string>",
"providerType": "freelancer",
"clientName": "<string>",
"companySize": "<string>",
"industry": "<string>",
"clientType": "<string>",
"includeDifferentiators": False,
"differentiatorsSummary": "<string>",
"language": "en",
"apiKey": "<string>",
"aiProvider": "gemini",
"openaiApiKey": "<string>",
"anthropicApiKey": "<string>"
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
requirements: [{name: '<string>', description: '', complexity: 3, priority: 'medium'}],
totalPrice: 123,
estimatedDays: 123,
hourlyRate: 123,
role: '<string>',
seniority: '<string>',
location: '<string>',
currency: 'USD',
proposalType: 'technical',
hourBucketHours: 123,
hourBucketValidityDays: 123,
hourBucketExpiryPolicy: '<string>',
hourBucketMinBillingIncrement: 123,
hourBucketGovernanceTerms: '<string>',
hourBucketRisks: '<string>',
technicalGovernanceTerms: '<string>',
technicalRisks: '<string>',
warrantyDays: 123,
revisionRounds: 123,
tamEstimatedHoursMin: 123,
tamEstimatedHoursMax: 123,
tamBillingCadence: '<string>',
tamBudgetCap: 123,
tamGovernanceTerms: '<string>',
tamRisks: '<string>',
tamReimbursableExpenses: '<string>',
tamApprovalThreshold: 123,
retainerMonthlyHours: 123,
retainerDiscountedRate: 123,
retainerMinCommitmentMonths: 123,
retainerRolloverPercent: 123,
retainerSlaTerms: '<string>',
retainerGovernanceTerms: '<string>',
retainerRisks: '<string>',
retainerLicensesResponsibility: '<string>',
milestoneGovernanceTerms: '<string>',
milestoneRisks: '<string>',
milestoneDepositPercent: 123,
milestoneApprovalDays: 123,
milestoneRevisionRounds: 123,
milestonePhases: [{}],
staffAugContractMonths: 123,
staffAugBillingCadence: '<string>',
staffAugGovernanceTerms: '<string>',
staffAugRisks: '<string>',
staffAugNoticePeriod: 123,
staffAugWorkingHours: '<string>',
staffAugIpOwnership: '<string>',
staffAugMode: '<string>',
managedOverlay: {},
blendedRateEnabled: true,
blendedRatePerHour: 123,
rampUpDiscountPercent: 123,
staffAugSlaAcknowledgeTime: 123,
staffAugSlaResolutionTime: 123,
staffAugSlaPenaltyPercent: 123,
staffAugSlaBonusPercent: 123,
phases: [{}],
availableTeam: [{}],
proposalTeam: [{}],
agencyMargin: 123,
internalCost: 123,
blendedRate: 123,
sowOutOfScope: '<string>',
sowAcceptanceCriteria: '<string>',
providerType: 'freelancer',
clientName: '<string>',
companySize: '<string>',
industry: '<string>',
clientType: '<string>',
includeDifferentiators: false,
differentiatorsSummary: '<string>',
language: 'en',
apiKey: '<string>',
aiProvider: 'gemini',
openaiApiKey: '<string>',
anthropicApiKey: '<string>'
})
};
fetch('https://api.example.com/ai/analyze-proposal', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/ai/analyze-proposal",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'requirements' => [
[
'name' => '<string>',
'description' => '',
'complexity' => 3,
'priority' => 'medium'
]
],
'totalPrice' => 123,
'estimatedDays' => 123,
'hourlyRate' => 123,
'role' => '<string>',
'seniority' => '<string>',
'location' => '<string>',
'currency' => 'USD',
'proposalType' => 'technical',
'hourBucketHours' => 123,
'hourBucketValidityDays' => 123,
'hourBucketExpiryPolicy' => '<string>',
'hourBucketMinBillingIncrement' => 123,
'hourBucketGovernanceTerms' => '<string>',
'hourBucketRisks' => '<string>',
'technicalGovernanceTerms' => '<string>',
'technicalRisks' => '<string>',
'warrantyDays' => 123,
'revisionRounds' => 123,
'tamEstimatedHoursMin' => 123,
'tamEstimatedHoursMax' => 123,
'tamBillingCadence' => '<string>',
'tamBudgetCap' => 123,
'tamGovernanceTerms' => '<string>',
'tamRisks' => '<string>',
'tamReimbursableExpenses' => '<string>',
'tamApprovalThreshold' => 123,
'retainerMonthlyHours' => 123,
'retainerDiscountedRate' => 123,
'retainerMinCommitmentMonths' => 123,
'retainerRolloverPercent' => 123,
'retainerSlaTerms' => '<string>',
'retainerGovernanceTerms' => '<string>',
'retainerRisks' => '<string>',
'retainerLicensesResponsibility' => '<string>',
'milestoneGovernanceTerms' => '<string>',
'milestoneRisks' => '<string>',
'milestoneDepositPercent' => 123,
'milestoneApprovalDays' => 123,
'milestoneRevisionRounds' => 123,
'milestonePhases' => [
[
]
],
'staffAugContractMonths' => 123,
'staffAugBillingCadence' => '<string>',
'staffAugGovernanceTerms' => '<string>',
'staffAugRisks' => '<string>',
'staffAugNoticePeriod' => 123,
'staffAugWorkingHours' => '<string>',
'staffAugIpOwnership' => '<string>',
'staffAugMode' => '<string>',
'managedOverlay' => [
],
'blendedRateEnabled' => true,
'blendedRatePerHour' => 123,
'rampUpDiscountPercent' => 123,
'staffAugSlaAcknowledgeTime' => 123,
'staffAugSlaResolutionTime' => 123,
'staffAugSlaPenaltyPercent' => 123,
'staffAugSlaBonusPercent' => 123,
'phases' => [
[
]
],
'availableTeam' => [
[
]
],
'proposalTeam' => [
[
]
],
'agencyMargin' => 123,
'internalCost' => 123,
'blendedRate' => 123,
'sowOutOfScope' => '<string>',
'sowAcceptanceCriteria' => '<string>',
'providerType' => 'freelancer',
'clientName' => '<string>',
'companySize' => '<string>',
'industry' => '<string>',
'clientType' => '<string>',
'includeDifferentiators' => false,
'differentiatorsSummary' => '<string>',
'language' => 'en',
'apiKey' => '<string>',
'aiProvider' => 'gemini',
'openaiApiKey' => '<string>',
'anthropicApiKey' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/ai/analyze-proposal"
payload := strings.NewReader("{\n \"requirements\": [\n {\n \"name\": \"<string>\",\n \"description\": \"\",\n \"complexity\": 3,\n \"priority\": \"medium\"\n }\n ],\n \"totalPrice\": 123,\n \"estimatedDays\": 123,\n \"hourlyRate\": 123,\n \"role\": \"<string>\",\n \"seniority\": \"<string>\",\n \"location\": \"<string>\",\n \"currency\": \"USD\",\n \"proposalType\": \"technical\",\n \"hourBucketHours\": 123,\n \"hourBucketValidityDays\": 123,\n \"hourBucketExpiryPolicy\": \"<string>\",\n \"hourBucketMinBillingIncrement\": 123,\n \"hourBucketGovernanceTerms\": \"<string>\",\n \"hourBucketRisks\": \"<string>\",\n \"technicalGovernanceTerms\": \"<string>\",\n \"technicalRisks\": \"<string>\",\n \"warrantyDays\": 123,\n \"revisionRounds\": 123,\n \"tamEstimatedHoursMin\": 123,\n \"tamEstimatedHoursMax\": 123,\n \"tamBillingCadence\": \"<string>\",\n \"tamBudgetCap\": 123,\n \"tamGovernanceTerms\": \"<string>\",\n \"tamRisks\": \"<string>\",\n \"tamReimbursableExpenses\": \"<string>\",\n \"tamApprovalThreshold\": 123,\n \"retainerMonthlyHours\": 123,\n \"retainerDiscountedRate\": 123,\n \"retainerMinCommitmentMonths\": 123,\n \"retainerRolloverPercent\": 123,\n \"retainerSlaTerms\": \"<string>\",\n \"retainerGovernanceTerms\": \"<string>\",\n \"retainerRisks\": \"<string>\",\n \"retainerLicensesResponsibility\": \"<string>\",\n \"milestoneGovernanceTerms\": \"<string>\",\n \"milestoneRisks\": \"<string>\",\n \"milestoneDepositPercent\": 123,\n \"milestoneApprovalDays\": 123,\n \"milestoneRevisionRounds\": 123,\n \"milestonePhases\": [\n {}\n ],\n \"staffAugContractMonths\": 123,\n \"staffAugBillingCadence\": \"<string>\",\n \"staffAugGovernanceTerms\": \"<string>\",\n \"staffAugRisks\": \"<string>\",\n \"staffAugNoticePeriod\": 123,\n \"staffAugWorkingHours\": \"<string>\",\n \"staffAugIpOwnership\": \"<string>\",\n \"staffAugMode\": \"<string>\",\n \"managedOverlay\": {},\n \"blendedRateEnabled\": true,\n \"blendedRatePerHour\": 123,\n \"rampUpDiscountPercent\": 123,\n \"staffAugSlaAcknowledgeTime\": 123,\n \"staffAugSlaResolutionTime\": 123,\n \"staffAugSlaPenaltyPercent\": 123,\n \"staffAugSlaBonusPercent\": 123,\n \"phases\": [\n {}\n ],\n \"availableTeam\": [\n {}\n ],\n \"proposalTeam\": [\n {}\n ],\n \"agencyMargin\": 123,\n \"internalCost\": 123,\n \"blendedRate\": 123,\n \"sowOutOfScope\": \"<string>\",\n \"sowAcceptanceCriteria\": \"<string>\",\n \"providerType\": \"freelancer\",\n \"clientName\": \"<string>\",\n \"companySize\": \"<string>\",\n \"industry\": \"<string>\",\n \"clientType\": \"<string>\",\n \"includeDifferentiators\": false,\n \"differentiatorsSummary\": \"<string>\",\n \"language\": \"en\",\n \"apiKey\": \"<string>\",\n \"aiProvider\": \"gemini\",\n \"openaiApiKey\": \"<string>\",\n \"anthropicApiKey\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.example.com/ai/analyze-proposal")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"requirements\": [\n {\n \"name\": \"<string>\",\n \"description\": \"\",\n \"complexity\": 3,\n \"priority\": \"medium\"\n }\n ],\n \"totalPrice\": 123,\n \"estimatedDays\": 123,\n \"hourlyRate\": 123,\n \"role\": \"<string>\",\n \"seniority\": \"<string>\",\n \"location\": \"<string>\",\n \"currency\": \"USD\",\n \"proposalType\": \"technical\",\n \"hourBucketHours\": 123,\n \"hourBucketValidityDays\": 123,\n \"hourBucketExpiryPolicy\": \"<string>\",\n \"hourBucketMinBillingIncrement\": 123,\n \"hourBucketGovernanceTerms\": \"<string>\",\n \"hourBucketRisks\": \"<string>\",\n \"technicalGovernanceTerms\": \"<string>\",\n \"technicalRisks\": \"<string>\",\n \"warrantyDays\": 123,\n \"revisionRounds\": 123,\n \"tamEstimatedHoursMin\": 123,\n \"tamEstimatedHoursMax\": 123,\n \"tamBillingCadence\": \"<string>\",\n \"tamBudgetCap\": 123,\n \"tamGovernanceTerms\": \"<string>\",\n \"tamRisks\": \"<string>\",\n \"tamReimbursableExpenses\": \"<string>\",\n \"tamApprovalThreshold\": 123,\n \"retainerMonthlyHours\": 123,\n \"retainerDiscountedRate\": 123,\n \"retainerMinCommitmentMonths\": 123,\n \"retainerRolloverPercent\": 123,\n \"retainerSlaTerms\": \"<string>\",\n \"retainerGovernanceTerms\": \"<string>\",\n \"retainerRisks\": \"<string>\",\n \"retainerLicensesResponsibility\": \"<string>\",\n \"milestoneGovernanceTerms\": \"<string>\",\n \"milestoneRisks\": \"<string>\",\n \"milestoneDepositPercent\": 123,\n \"milestoneApprovalDays\": 123,\n \"milestoneRevisionRounds\": 123,\n \"milestonePhases\": [\n {}\n ],\n \"staffAugContractMonths\": 123,\n \"staffAugBillingCadence\": \"<string>\",\n \"staffAugGovernanceTerms\": \"<string>\",\n \"staffAugRisks\": \"<string>\",\n \"staffAugNoticePeriod\": 123,\n \"staffAugWorkingHours\": \"<string>\",\n \"staffAugIpOwnership\": \"<string>\",\n \"staffAugMode\": \"<string>\",\n \"managedOverlay\": {},\n \"blendedRateEnabled\": true,\n \"blendedRatePerHour\": 123,\n \"rampUpDiscountPercent\": 123,\n \"staffAugSlaAcknowledgeTime\": 123,\n \"staffAugSlaResolutionTime\": 123,\n \"staffAugSlaPenaltyPercent\": 123,\n \"staffAugSlaBonusPercent\": 123,\n \"phases\": [\n {}\n ],\n \"availableTeam\": [\n {}\n ],\n \"proposalTeam\": [\n {}\n ],\n \"agencyMargin\": 123,\n \"internalCost\": 123,\n \"blendedRate\": 123,\n \"sowOutOfScope\": \"<string>\",\n \"sowAcceptanceCriteria\": \"<string>\",\n \"providerType\": \"freelancer\",\n \"clientName\": \"<string>\",\n \"companySize\": \"<string>\",\n \"industry\": \"<string>\",\n \"clientType\": \"<string>\",\n \"includeDifferentiators\": false,\n \"differentiatorsSummary\": \"<string>\",\n \"language\": \"en\",\n \"apiKey\": \"<string>\",\n \"aiProvider\": \"gemini\",\n \"openaiApiKey\": \"<string>\",\n \"anthropicApiKey\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/ai/analyze-proposal")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"requirements\": [\n {\n \"name\": \"<string>\",\n \"description\": \"\",\n \"complexity\": 3,\n \"priority\": \"medium\"\n }\n ],\n \"totalPrice\": 123,\n \"estimatedDays\": 123,\n \"hourlyRate\": 123,\n \"role\": \"<string>\",\n \"seniority\": \"<string>\",\n \"location\": \"<string>\",\n \"currency\": \"USD\",\n \"proposalType\": \"technical\",\n \"hourBucketHours\": 123,\n \"hourBucketValidityDays\": 123,\n \"hourBucketExpiryPolicy\": \"<string>\",\n \"hourBucketMinBillingIncrement\": 123,\n \"hourBucketGovernanceTerms\": \"<string>\",\n \"hourBucketRisks\": \"<string>\",\n \"technicalGovernanceTerms\": \"<string>\",\n \"technicalRisks\": \"<string>\",\n \"warrantyDays\": 123,\n \"revisionRounds\": 123,\n \"tamEstimatedHoursMin\": 123,\n \"tamEstimatedHoursMax\": 123,\n \"tamBillingCadence\": \"<string>\",\n \"tamBudgetCap\": 123,\n \"tamGovernanceTerms\": \"<string>\",\n \"tamRisks\": \"<string>\",\n \"tamReimbursableExpenses\": \"<string>\",\n \"tamApprovalThreshold\": 123,\n \"retainerMonthlyHours\": 123,\n \"retainerDiscountedRate\": 123,\n \"retainerMinCommitmentMonths\": 123,\n \"retainerRolloverPercent\": 123,\n \"retainerSlaTerms\": \"<string>\",\n \"retainerGovernanceTerms\": \"<string>\",\n \"retainerRisks\": \"<string>\",\n \"retainerLicensesResponsibility\": \"<string>\",\n \"milestoneGovernanceTerms\": \"<string>\",\n \"milestoneRisks\": \"<string>\",\n \"milestoneDepositPercent\": 123,\n \"milestoneApprovalDays\": 123,\n \"milestoneRevisionRounds\": 123,\n \"milestonePhases\": [\n {}\n ],\n \"staffAugContractMonths\": 123,\n \"staffAugBillingCadence\": \"<string>\",\n \"staffAugGovernanceTerms\": \"<string>\",\n \"staffAugRisks\": \"<string>\",\n \"staffAugNoticePeriod\": 123,\n \"staffAugWorkingHours\": \"<string>\",\n \"staffAugIpOwnership\": \"<string>\",\n \"staffAugMode\": \"<string>\",\n \"managedOverlay\": {},\n \"blendedRateEnabled\": true,\n \"blendedRatePerHour\": 123,\n \"rampUpDiscountPercent\": 123,\n \"staffAugSlaAcknowledgeTime\": 123,\n \"staffAugSlaResolutionTime\": 123,\n \"staffAugSlaPenaltyPercent\": 123,\n \"staffAugSlaBonusPercent\": 123,\n \"phases\": [\n {}\n ],\n \"availableTeam\": [\n {}\n ],\n \"proposalTeam\": [\n {}\n ],\n \"agencyMargin\": 123,\n \"internalCost\": 123,\n \"blendedRate\": 123,\n \"sowOutOfScope\": \"<string>\",\n \"sowAcceptanceCriteria\": \"<string>\",\n \"providerType\": \"freelancer\",\n \"clientName\": \"<string>\",\n \"companySize\": \"<string>\",\n \"industry\": \"<string>\",\n \"clientType\": \"<string>\",\n \"includeDifferentiators\": false,\n \"differentiatorsSummary\": \"<string>\",\n \"language\": \"en\",\n \"apiKey\": \"<string>\",\n \"aiProvider\": \"gemini\",\n \"openaiApiKey\": \"<string>\",\n \"anthropicApiKey\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"competitivenessScore": 123,
"analysis": {},
"suggestions": [
"<string>"
],
"overallReasoning": "<string>",
"success": true,
"modelSpecificInsights": [
"<string>"
],
"error": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Authorizations
Body
application/json
Schema for proposal competitiveness analysis request.
Show child attributes
Show child attributes
Available options:
es, en Available options:
gemini, openai, anthropic ⌘I