Meetings
Run schema on meeting
Run a schema against a meeting’s transcript to extract structured data. Uses AI to analyze the transcript and extract field values based on the schema definition.
POST
/
meetings
/
{id}
/
schemas
/
{schemaId}
/
run
cURL
curl -X POST https://app.mavera.io/api/v1/meetings/meeting_123/schemas/schema_456/run \
-H "Authorization: Bearer mvra_live_your_key_here" \
-H "Content-Type: application/json" \
-d '{}'import requests
result = requests.post(
"https://app.mavera.io/api/v1/meetings/meeting_123/schemas/schema_456/run",
headers={"Authorization": "Bearer mvra_live_your_key_here"}
).json()
print(f"Schema: {result['schema_name']}")
print(f"Overall score: {result['overall_score']}")
for fv in result["field_values"]:
print(f"{fv['field_name']}: {fv['value']}")
if fv.get("quote"):
print(f" Evidence: '{fv['quote']}'")const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({model: 'gpt-5.4', temperature: 0.2, force_new: false})
};
fetch('https://app.mavera.io/api/v1/meetings/{id}/schemas/{schemaId}/run', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://app.mavera.io/api/v1/meetings/{id}/schemas/{schemaId}/run"
payload := strings.NewReader("{\n \"model\": \"gpt-5.4\",\n \"temperature\": 0.2,\n \"force_new\": false\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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))
}{
"id": "<string>",
"object": "meeting.schema_result",
"meeting_id": "<string>",
"schema_id": "<string>",
"schema_name": "<string>",
"schema_category": "sales_discovery",
"field_values": [
{
"field_name": "<string>",
"field_label": "<string>",
"field_type": "text",
"is_required": true,
"value": "<unknown>",
"quote": "<string>",
"confidence": 123,
"score": 123,
"score_rationale": "<string>"
}
],
"scores": {},
"overall_score": 123,
"evidence": [
{
"field_name": "<string>",
"text": "<string>",
"speaker": "<string>",
"speaker_id": "<string>",
"timestamp_start": 123,
"timestamp_end": 123
}
],
"processing_time_ms": 123,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}{
"error": {
"message": "Invalid API key.",
"type": "authentication_error",
"code": "invalid_api_key",
"param": null
}
}{
"error": {
"message": "Invalid API key.",
"type": "authentication_error",
"code": "invalid_api_key",
"param": null
}
}{
"error": {
"message": "Invalid API key.",
"type": "authentication_error",
"code": "invalid_api_key",
"param": null
}
}{
"error": {
"message": "Invalid API key.",
"type": "authentication_error",
"code": "invalid_api_key",
"param": null
}
}Authorizations
API key prefixed with mvra_live_. Create keys at Settings > Developer > API Keys.
Body
application/json
Response
Schema run result
Available options:
meeting.schema_result Category of the meeting schema
Available options:
sales_discovery, qualification, objection_competitor, cs_health, product_feedback, custom Show child attributes
Show child attributes
Scores per field
Show child attributes
Show child attributes
Average score across all scored fields
Evidence spans from transcript
Show child attributes
Show child attributes
⌘I
cURL
curl -X POST https://app.mavera.io/api/v1/meetings/meeting_123/schemas/schema_456/run \
-H "Authorization: Bearer mvra_live_your_key_here" \
-H "Content-Type: application/json" \
-d '{}'import requests
result = requests.post(
"https://app.mavera.io/api/v1/meetings/meeting_123/schemas/schema_456/run",
headers={"Authorization": "Bearer mvra_live_your_key_here"}
).json()
print(f"Schema: {result['schema_name']}")
print(f"Overall score: {result['overall_score']}")
for fv in result["field_values"]:
print(f"{fv['field_name']}: {fv['value']}")
if fv.get("quote"):
print(f" Evidence: '{fv['quote']}'")const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({model: 'gpt-5.4', temperature: 0.2, force_new: false})
};
fetch('https://app.mavera.io/api/v1/meetings/{id}/schemas/{schemaId}/run', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://app.mavera.io/api/v1/meetings/{id}/schemas/{schemaId}/run"
payload := strings.NewReader("{\n \"model\": \"gpt-5.4\",\n \"temperature\": 0.2,\n \"force_new\": false\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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))
}{
"id": "<string>",
"object": "meeting.schema_result",
"meeting_id": "<string>",
"schema_id": "<string>",
"schema_name": "<string>",
"schema_category": "sales_discovery",
"field_values": [
{
"field_name": "<string>",
"field_label": "<string>",
"field_type": "text",
"is_required": true,
"value": "<unknown>",
"quote": "<string>",
"confidence": 123,
"score": 123,
"score_rationale": "<string>"
}
],
"scores": {},
"overall_score": 123,
"evidence": [
{
"field_name": "<string>",
"text": "<string>",
"speaker": "<string>",
"speaker_id": "<string>",
"timestamp_start": 123,
"timestamp_end": 123
}
],
"processing_time_ms": 123,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}{
"error": {
"message": "Invalid API key.",
"type": "authentication_error",
"code": "invalid_api_key",
"param": null
}
}{
"error": {
"message": "Invalid API key.",
"type": "authentication_error",
"code": "invalid_api_key",
"param": null
}
}{
"error": {
"message": "Invalid API key.",
"type": "authentication_error",
"code": "invalid_api_key",
"param": null
}
}{
"error": {
"message": "Invalid API key.",
"type": "authentication_error",
"code": "invalid_api_key",
"param": null
}
}