Manage tenant creation and multi-tenancy setup.
Genway Public API (1.0.0)
Genway's API enables you to programmatically manage various aspects of your projects, prototypes, and interviews using our AI interviewer.
- Projects - Create and manage Contextual Interviews or Prototype Testing projects.
- Interviews - Manage and export interview data, including transcripts, summaries, audio, and video.

Genway API uses dual-header authentication for all requests to ensure secure access and proper tenant isolation.
Required Headers:
X-Api-Key: YOUR_API_KEY
X-Tenant-Id: YOUR_TENANT_UUIDBoth headers are mandatory for every API call. Missing either header will result in authentication failure.
We strongly aim for backward compatibility for the documented endpoints. If backwards-incompatible changes are made, we will aim to release a new version.
- URLs’ entry point is
https://api.genway.ai/. - URLs are versioned
https://api.genway.ai/v1/{endpoint}, e.g.https://api.genway.ai/v1/projects.
The Genway API enforces per-IP rate limits to keep the platform responsive:
| Scope | Limit | Endpoints / Examples |
|---|---|---|
| Global throughput | Up to 50 requests per minute per IP | Applies to every endpoint, including Export interview video and Activate project. |
| Project creation | 10 requests per minute per IP | Create a new project (POST /projects). |
When a limit is exceeded the API responds with 429 Too Many Requests, includes a Retry-After header indicating when you can resume sending requests, and returns the rate-limit payload documented in the 429 response example for endpoints such as Create a new project.
You can subscribe to our status page.
If you require help you can contact our support team at support@genway.ai.
The project objective to validate
The research questions to validate
The success criteria to validate
- Production environmenthttps://api.genway.ai/v1/project/validate-context
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://api.genway.ai/v1/project/validate-context \
-H 'Content-Type: application/json' \
-H 'X-Api-Key: YOUR_API_KEY_HERE' \
-H 'X-Tenant-Id: YOUR_API_KEY_HERE' \
-d '{
"project_objective": "The research on '\''The Impact of Formula 1 Excitement on Fan Enthusiasm'\'' is crucial for understanding how the thrill of racing influences spectator engagement and loyalty.",
"research_questions": "Our primary research questions focus on understanding the impact of remote work on employee productivity and well-being.",
"success_criteria": "Success for this project would be clearly evidenced by its direct influence on enhancing our product features, refining our design aesthetics, and strategically informing our marketing campaigns.",
"recruiting_criteria": "For this project, we are targeting interviewees who fall within the 30-50 age range, have a background in engineering or product management, and are currently employed in the tech industry."
}'{ "project_objective": { "is_valid": true }, "research_questions": { "is_valid": true }, "success_criteria": { "is_valid": true }, "recruiting_criteria": { "is_valid": true } }
- Production environmenthttps://api.genway.ai/v1/projects
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
https://api.genway.ai/v1/projects \
-H 'X-Api-Key: YOUR_API_KEY_HERE' \
-H 'X-Tenant-Id: YOUR_API_KEY_HERE'Projects retrieved successfully
Unique identifier for the project
Type of project
The name of the project
Optional description of the project
Timestamp when the project was created
URL to redirect users after completing the interview
Available interview interaction modes
Camera access requirements for interviews
URL for custom logo to display in the interview interface
{ "data": [ { … } ] }
Request
Create a new project (AI Moderated Interview or AI Moderated Survey)
Creation Modes:
- Explicit Mode: Manually define all project context fields (project objective, research questions, success criteria, recruiting criteria)
- Generated Mode: Provide a prompt and let AI generate the project context automatically. ⏱️ Note: Generated mode may take up to 1 minute to process due to AI content generation.
⚠️ Not Supported - Usability Testing projects creation is not yet supported.
Add project internal name or noteworthy information.
HTTPS URL to redirect interviewees after completing the interview
Interview modes available for interviewees
Camera access requirements for the interview
URL to the organization's logo for branding. Recommended: minimum resolution of 160x160px with 1:1 aspect ratio for optimal display.
Primary brand color in hex format
List of languages supported for the interview using ISO 639-1 codes
Duration of the interview in minutes
- Production environmenthttps://api.genway.ai/v1/projects
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://api.genway.ai/v1/projects \
-H 'Content-Type: application/json' \
-H 'X-Api-Key: YOUR_API_KEY_HERE' \
-H 'X-Tenant-Id: YOUR_API_KEY_HERE' \
-d '{
"project_type": "contextual_interview",
"creation_mode": "explicit",
"project_name": "The Impact of Formula 1 Excitement on Fan Enthusiasm",
"project_objective": "The research on '\''The Impact of Formula 1 Excitement on Fan Enthusiasm'\'' is crucial for understanding how the thrill of racing influences spectator engagement and loyalty. Current insights suggest that the suspense and unpredictability of races enhance viewer excitement and attachment to the sport. This study aims to delve deeper into these aspects, providing strategies to boost fan engagement and expand the sport'\''s audience.",
"research_questions": "Our primary research questions focus on understanding the impact of remote work on employee productivity and well-being. We hope to learn how different remote work policies affect job satisfaction and efficiency across various industries. Additionally, we aim to identify key factors that contribute to a successful remote work environment.",
"success_criteria": "Success for this project would be clearly evidenced by its direct influence on enhancing our product features, refining our design aesthetics, and strategically informing our marketing campaigns. Ideally, the research findings will provide actionable insights that directly correlate with increased user engagement and satisfaction. Ultimately, the goal is to leverage this research to drive meaningful improvements across all departments, ensuring that every decision is data-informed and aligned with our users'\'' needs.",
"recruiting_criteria": "For this project, we are targeting interviewees who fall within the 30-50 age range, have a background in engineering or product management, and are currently employed in the tech industry. We are specifically focusing on individuals residing in North America and Europe to capture insights from key tech hubs. This demographic and customer segment approach ensures that we obtain targeted and relevant data for our research objectives.",
"specific_guidelines": "Ask from the interviewees to mute notifications during the interview.",
"project_description": "Formula 1 - US based fans",
"redirect_url": "https://example.com/thank-you",
"interview_modes": [
"typing",
"talking"
],
"camera_access": "optional",
"logo_url": "https://example.com/logo.png",
"primary_color": "#FF6B35",
"interview_languages": [
"en",
"fr",
"es"
],
"interview_length": 15,
"screeners": null
}'{ "project_id": "123e4567-e89b-12d3-a456-426614174000" }
- Production environmenthttps://api.genway.ai/v1/projects/{project_id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://api.genway.ai/v1/projects/{project_id}' \
-H 'X-Api-Key: YOUR_API_KEY_HERE' \
-H 'X-Tenant-Id: YOUR_API_KEY_HERE'Project details retrieved successfully
Unique identifier for the project
The name of the project
The main objective or goal of the project
Key research questions to be explored
Criteria that define successful completion of the project
Criteria for recruiting interview interviewees
Specific guidelines for conducting interviews
Optional description of the project
URL to redirect users after completing the interview
Available interview interaction modes
Camera access requirements for interviews
URL for custom logo to display in the interview interface
Primary brand color (hex format)
Screeners configuration shown before the starting the interview or survey
Languages available for interviews
{ "project_id": "123e4567-e89b-12d3-a456-426614174000", "project_type": "contextual_interview", "project_name": "The Impact of Formula 1 Excitement on Fan Enthusiasm", "project_objective": "The research on 'The Impact of Formula 1 Excitement on Fan Enthusiasm' is crucial for understanding how the thrill of racing influences spectator engagement and loyalty. Current insights suggest that the suspense and unpredictability of races enhance viewer excitement and attachment to the sport. This study aims to delve deeper into these aspects, providing strategies to boost fan engagement and expand the sport's audience.", "research_questions": "Our primary research questions focus on understanding the impact of remote work on employee productivity and well-being. We hope to learn how different remote work policies affect job satisfaction and efficiency across various industries. Additionally, we aim to identify key factors that contribute to a successful remote work environment.", "success_criteria": "Success for this project would be clearly evidenced by its direct influence on enhancing our product features, refining our design aesthetics, and strategically informing our marketing campaigns. Ideally, the research findings will provide actionable insights that directly correlate with increased user engagement and satisfaction. Ultimately, the goal is to leverage this research to drive meaningful improvements across all departments, ensuring that every decision is data-informed and aligned with our users' needs.", "recruiting_criteria": "For this project, we are targeting interviewees who fall within the 30-50 age range, have a background in engineering or product management, and are currently employed in the tech industry. We are specifically focusing on individuals residing in North America and Europe to capture insights from key tech hubs. This demographic and customer segment approach ensures that we obtain targeted and relevant data for our research objectives.", "specific_guidelines": "Ask from the interviewees to mute notifications during the interview.", "project_description": "Formula 1 - US based fans", "redirect_url": "https://example.com/thank-you", "interview_modes": [ "typing" ], "camera_access": "optional", "logo_url": "https://example.com/logo.png", "primary_color": "#FF6B35", "screeners": { "screener_blocks": [ … ], "screen_out_url": "https://example.com/not-qualified" }, "interview_languages": [ "en" ], "interview_length": 15 }
Request
Update the details of a project by its projectId.
Note: When updating array fields, the entire array is replaced with your new values - existing items are not merged. This endpoint follows RFC 7386 JSON Merge Patch behavior.
Add project internal name or noteworthy information.
HTTPS URL to redirect interviewees after completing the interview
Interview modes available for interviewees. Note: The entire array is replaced with new values.
Camera access requirements for the interview
URL to the organization's logo for branding. Recommended: minimum resolution of 160x160px with 1:1 aspect ratio for optimal display.
Primary brand color in hex format
List of languages supported for the interview using ISO 639-1 codes. Note: The entire array is replaced with new values.
- Production environmenthttps://api.genway.ai/v1/projects/{project_id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X PATCH \
'https://api.genway.ai/v1/projects/{project_id}' \
-H 'Content-Type: application/json' \
-H 'X-Api-Key: YOUR_API_KEY_HERE' \
-H 'X-Tenant-Id: YOUR_API_KEY_HERE' \
-d '{
"project_name": "The Impact of Formula 1 Excitement on Fan Enthusiasm",
"project_description": "Forumla 1 - US based fans",
"project_objective": "The research on '\''The Impact of Formula 1 Excitement on Fan Enthusiasm'\'' is crucial for understanding how the thrill of racing influences spectator engagement and loyalty. Current insights suggest that the suspense and unpredictability of races enhance viewer excitement and attachment to the sport. This study aims to delve deeper into these aspects, providing strategies to boost fan engagement and expand the sport'\''s audience.",
"research_questions": "Our primary research questions focus on understanding the impact of remote work on employee productivity and well-being. We hope to learn how different remote work policies affect job satisfaction and efficiency across various industries. Additionally, we aim to identify key factors that contribute to a successful remote work environment.",
"success_criteria": "Success for this project would be clearly evidenced by its direct influence on enhancing our product features, refining our design aesthetics, and strategically informing our marketing campaigns. Ideally, the research findings will provide actionable insights that directly correlate with increased user engagement and satisfaction. Ultimately, the goal is to leverage this research to drive meaningful improvements across all departments, ensuring that every decision is data-informed and aligned with our users'\'' needs.",
"recruiting_criteria": "For this project, we are targeting interviewees who fall within the 30-50 age range, have a background in engineering or product management, and are currently employed in the tech industry. We are specifically focusing on individuals residing in North America and Europe to capture insights from key tech hubs. This demographic and customer segment approach ensures that we obtain targeted and relevant data for our research objectives.",
"specific_guidelines": "Ask from the interviewees to mute notifications during the interview.",
"redirect_url": "https://example.com/thank-you",
"interview_modes": [
"typing",
"talking"
],
"camera_access": "optional",
"logo_url": "https://example.com/logo.png",
"primary_color": "#FF6B35",
"interview_languages": [
"en",
"fr",
"es"
],
"interview_length": 15,
"screeners": null
}'{ "project_id": "123e4567-e89b-12d3-a456-426614174000" }
- Production environmenthttps://api.genway.ai/v1/projects/{project_id}/activate
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
'https://api.genway.ai/v1/projects/{project_id}/activate' \
-H 'X-Api-Key: YOUR_API_KEY_HERE' \
-H 'X-Tenant-Id: YOUR_API_KEY_HERE'- Production environmenthttps://api.genway.ai/v1/projects/{project_id}/deactivate
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
'https://api.genway.ai/v1/projects/{project_id}/deactivate' \
-H 'X-Api-Key: YOUR_API_KEY_HERE' \
-H 'X-Tenant-Id: YOUR_API_KEY_HERE'- Production environmenthttps://api.genway.ai/v1/projects/{project_id}/interviews-export
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://api.genway.ai/v1/projects/{project_id}/interviews-export' \
-H 'X-Api-Key: YOUR_API_KEY_HERE' \
-H 'X-Tenant-Id: YOUR_API_KEY_HERE'Export successful
CSV file containing interview data with the following columns:
- interview_id: The unique identifier for the interview.
- identifier: The identifier for the interviewee, which can be an email, user_id, or external_user_id.
- country_code: The country code of the interviewee.
- interview_status: The status of the interview session, based on completion level. Logic varies by project type:
- AI Moderated Interviews / Usability:
- INITIATED: Fewer than 4 responses
- PARTIAL: 4+ responses, but interview not fully completed
- COMPLETED: Full interview completed
- AI Moderated Surveys:
- INITIATED: Less than 1/3 of survey blocks answered
- PARTIAL: At least 1/3 of blocks completed, but not the full interview
- COMPLETED: Full interview completed
- AI Moderated Interviews / Usability:
- opt_in_for_followup: Indicates whether the interviewee has opted in for follow-up.
- created_at: The timestamp when the interview session itself started.
- ended_at: The timestamp when the interview was completed. If this field is missing, the interview was not completed.
- project_type: The research project type (INTERVIEW, SURVEY, or USABILITY).
- device_type: The type of device used by the interviewee (MOBILE or DESKTOP).
- external_metadata: External metadata associated with the interviewee (JSON format).
- transcription: Transcription of the interview.
- interview_summary: Summary of the interview.
No content- Production environmenthttps://api.genway.ai/v1/projects/{project_id}/interviewees-export
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://api.genway.ai/v1/projects/{project_id}/interviewees-export' \
-H 'X-Api-Key: YOUR_API_KEY_HERE' \
-H 'X-Tenant-Id: YOUR_API_KEY_HERE'Export successful
CSV file containing interviewee data with the following columns:
- interview_id: The unique identifier for the interview.
- identifier: The identifier for the interviewee, which can be an email, user_id, or external_user_id.
- country_code: The country code of the interviewee.
- interview_status: The status of the interview session, based on completion level. Logic varies by project type:
- AI Moderated Interviews / Usability:
- INITIATED: Fewer than 4 responses
- PARTIAL: 4+ responses, but interview not fully completed
- COMPLETED: Full interview completed
- AI Moderated Surveys:
- INITIATED: Less than 1/3 of survey blocks answered
- PARTIAL: At least 1/3 of blocks completed, but not the full interview
- COMPLETED: Full interview completed
- AI Moderated Interviews / Usability:
- opt_in_for_followup: Indicates whether the interviewee has opted in for follow-up.
- created_at: The timestamp when the interview session itself started.
- ended_at: The timestamp when the interview was completed. If this field is missing, the interview was not completed.
- project_type: The research project type (INTERVIEW, SURVEY, or USABILITY).
- device_type: The type of device used by the interviewee (MOBILE or DESKTOP).
- external_metadata: External metadata associated with the interviewee (JSON format).
No content- Production environmenthttps://api.genway.ai/v1/projects/{project_id}/url
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://api.genway.ai/v1/projects/{project_id}/url?environment=sandbox' \
-H 'X-Api-Key: YOUR_API_KEY_HERE' \
-H 'X-Tenant-Id: YOUR_API_KEY_HERE'{ "project_id": "123e4567-e89b-12d3-a456-426614174000", "url": "https://app.genway.ai/meet/123e4567-e89b-12d3-a456-426614174000" }
Webhooks
Webhooks deliver event data to your applications as it happens, offering an alternative to frequent data polling.
- The
secretcreated via the/webhooks/secretsendpoint is permanent and should be stored securely in your system. This secret will serve for the verifying section. - The
x-hook-secretis temporary and should be used only once during the confirmation process. - Until the webhook is confirmed, no events will be sent to the subscriber's endpoint.
Errors
The Genway API uses standard HTTP response codes to indicate the success or failure of the request. Codes follow this pattern:
- 2xx codes indicate success.
- 4xx codes indicate a request that failed given the information provided (e.g., a required parameter was omitted).
- 5xx codes indicate an error with Genway's platform.