Meetings
Create meeting schema
Create a new custom schema for extracting structured data from meeting transcripts.
POST
/
meetings
/
schemas
cURL
curl -X POST https://app.mavera.io/api/v1/meetings/schemas \
-H "Authorization: Bearer mvra_live_your_key_here" \
-H "Content-Type: application/json" \
-d '{
"name": "Sales Discovery Call",
"description": "Extract key information from sales discovery calls",
"category": "sales_discovery",
"fields": [
{
"name": "budget_range",
"label": "Budget Range",
"field_type": "enum",
"enum_options": ["<10k", "10k-50k", "50k-100k", ">100k"],
"is_required": true,
"requires_evidence": true
},
{
"name": "decision_makers",
"label": "Decision Makers",
"field_type": "list",
"requires_evidence": true
},
{
"name": "timeline",
"label": "Expected Timeline",
"field_type": "text",
"requires_evidence": true
}
]
}'import requests
schema = requests.post(
"https://app.mavera.io/api/v1/meetings/schemas",
headers={"Authorization": "Bearer mvra_live_your_key_here"},
json={
"name": "Sales Discovery Call",
"description": "Extract key information from sales discovery calls",
"category": "sales_discovery",
"fields": [
{
"name": "budget_range",
"label": "Budget Range",
"field_type": "enum",
"enum_options": ["<10k", "10k-50k", "50k-100k", ">100k"],
"is_required": True,
"requires_evidence": True
},
{
"name": "decision_makers",
"label": "Decision Makers",
"field_type": "list",
"requires_evidence": True
}
]
}
).json()
print(f"Created schema: {schema['id']}")const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
fields: [
{
name: '<string>',
label: '<string>',
field_type: 'text',
is_required: false,
requires_evidence: true,
enum_options: ['<string>'],
scoring_enabled: false,
scoring_rubric: {}
}
],
description: '<string>',
category: 'custom',
workspace_id: '<string>'
})
};
fetch('https://app.mavera.io/api/v1/meetings/schemas', 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/schemas"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"fields\": [\n {\n \"name\": \"<string>\",\n \"label\": \"<string>\",\n \"field_type\": \"text\",\n \"is_required\": false,\n \"requires_evidence\": true,\n \"enum_options\": [\n \"<string>\"\n ],\n \"scoring_enabled\": false,\n \"scoring_rubric\": {}\n }\n ],\n \"description\": \"<string>\",\n \"category\": \"custom\",\n \"workspace_id\": \"<string>\"\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",
"name": "<string>",
"description": "<string>",
"is_built_in": true,
"is_published": true,
"version": 123,
"workspace_id": "<string>",
"user_id": "<string>",
"is_marketplace": true,
"author_name": "<string>",
"author_email": "<string>",
"downloads": 123,
"average_rating": 123,
"tags": [
"<string>"
],
"fields": [
{
"id": "<string>",
"name": "<string>",
"label": "<string>",
"is_required": true,
"requires_evidence": true,
"enum_options": [
"<string>"
],
"scoring_enabled": true,
"scoring_rubric": {},
"crm_field_mapping": {},
"order": 123
}
],
"field_count": 123,
"usage_count": 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
}
}Authorizations
API key prefixed with mvra_live_. Create keys at Settings > Developer > API Keys.
Body
application/json
Schema name
Required string length:
1 - 100Required array length:
1 - 50 elementsShow child attributes
Show child attributes
Schema description
Category of the meeting schema
Available options:
sales_discovery, qualification, objection_competitor, cs_health, product_feedback, custom Workspace ID (uses default workspace if not specified)
Response
Schema created successfully
Available options:
meeting.schema Category of the meeting schema
Available options:
sales_discovery, qualification, objection_competitor, cs_health, product_feedback, custom Whether this is a system-provided schema
Whether this schema is published to marketplace
Show child attributes
Show child attributes
Number of times this schema has been used
⌘I
cURL
curl -X POST https://app.mavera.io/api/v1/meetings/schemas \
-H "Authorization: Bearer mvra_live_your_key_here" \
-H "Content-Type: application/json" \
-d '{
"name": "Sales Discovery Call",
"description": "Extract key information from sales discovery calls",
"category": "sales_discovery",
"fields": [
{
"name": "budget_range",
"label": "Budget Range",
"field_type": "enum",
"enum_options": ["<10k", "10k-50k", "50k-100k", ">100k"],
"is_required": true,
"requires_evidence": true
},
{
"name": "decision_makers",
"label": "Decision Makers",
"field_type": "list",
"requires_evidence": true
},
{
"name": "timeline",
"label": "Expected Timeline",
"field_type": "text",
"requires_evidence": true
}
]
}'import requests
schema = requests.post(
"https://app.mavera.io/api/v1/meetings/schemas",
headers={"Authorization": "Bearer mvra_live_your_key_here"},
json={
"name": "Sales Discovery Call",
"description": "Extract key information from sales discovery calls",
"category": "sales_discovery",
"fields": [
{
"name": "budget_range",
"label": "Budget Range",
"field_type": "enum",
"enum_options": ["<10k", "10k-50k", "50k-100k", ">100k"],
"is_required": True,
"requires_evidence": True
},
{
"name": "decision_makers",
"label": "Decision Makers",
"field_type": "list",
"requires_evidence": True
}
]
}
).json()
print(f"Created schema: {schema['id']}")const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
fields: [
{
name: '<string>',
label: '<string>',
field_type: 'text',
is_required: false,
requires_evidence: true,
enum_options: ['<string>'],
scoring_enabled: false,
scoring_rubric: {}
}
],
description: '<string>',
category: 'custom',
workspace_id: '<string>'
})
};
fetch('https://app.mavera.io/api/v1/meetings/schemas', 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/schemas"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"fields\": [\n {\n \"name\": \"<string>\",\n \"label\": \"<string>\",\n \"field_type\": \"text\",\n \"is_required\": false,\n \"requires_evidence\": true,\n \"enum_options\": [\n \"<string>\"\n ],\n \"scoring_enabled\": false,\n \"scoring_rubric\": {}\n }\n ],\n \"description\": \"<string>\",\n \"category\": \"custom\",\n \"workspace_id\": \"<string>\"\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",
"name": "<string>",
"description": "<string>",
"is_built_in": true,
"is_published": true,
"version": 123,
"workspace_id": "<string>",
"user_id": "<string>",
"is_marketplace": true,
"author_name": "<string>",
"author_email": "<string>",
"downloads": 123,
"average_rating": 123,
"tags": [
"<string>"
],
"fields": [
{
"id": "<string>",
"name": "<string>",
"label": "<string>",
"is_required": true,
"requires_evidence": true,
"enum_options": [
"<string>"
],
"scoring_enabled": true,
"scoring_rubric": {},
"crm_field_mapping": {},
"order": 123
}
],
"field_count": 123,
"usage_count": 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
}
}