Submit a feasibility request
Submit a feasibility request: can Terac source a panel for this task, and at what CPI (cost per participant).
This is an async request-reply. The response comes back immediately with status RECEIVED and no CPI (costPerParticipant is null). Terac prices it out of band, then poll GET /feasibility/requests/{requestId} until status is RESPONDED and costPerParticipant is set. That is the confirmed CPI.
Once RESPONDED, create the opportunity with POST /opportunities and pass feasibility_request_id to price it from that confirmed CPI (Terac skips the autonomous estimate and closes the request as won), then launch it.
Authorization
apiKey API key as Bearer token: Authorization: Bearer
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://terac.com/api/external/v2/feasibility/requests" \ -H "Content-Type: application/json" \ -d '{ "taskDescription": "string", "panelDescription": "string" }'{
"id": "string",
"status": "RECEIVED",
"source": "string",
"taskDescription": "string",
"panelDescription": "string",
"submissionCount": 0,
"timelineHours": 0,
"costPerParticipant": "string",
"respondedAt": "2019-08-24T14:15:22Z",
"createdAt": "2019-08-24T14:15:22Z"
}{
"code": "BAD_REQUEST",
"message": "Invalid input data",
"issues": []
}{
"code": "UNAUTHORIZED",
"message": "Authorization not provided",
"issues": []
}{
"code": "FORBIDDEN",
"message": "Insufficient access",
"issues": []
}{
"code": "INTERNAL_SERVER_ERROR",
"message": "Internal server error",
"issues": []
}