Glovelly MCP Tools
This file is generated from GlovellyMcpToolCatalog. Do not edit it by hand.
Glovelly exposes authenticated MCP tools for read-only business queries and staged gig imports. Staged-write tools create reviewable draft data only; they do not create real gigs until a user reviews and commits them in Glovelly.
glovelly_search_contacts
Search Glovelly contacts by name or email. Returns possible matches without guessing.
Title: Search Contacts
Safety level: ReadOnly
Requires explicit user intent: no
Inputs:
query(optional): string. Name or email text to search for. Leave blank to list recent contacts.
Example input:
{
"query": "string"
}
Input schema:
{
"properties": {
"query": {
"description": "Name or email text to search for. Leave blank to list recent contacts.",
"type": "string"
}
},
"type": "object"
}
Output schema:
{
"properties": {
"matches": {
"items": {
"properties": {
"contactId": {
"format": "uuid",
"type": "string"
},
"email": {
"type": "string"
},
"name": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"query": {
"type": "string"
}
},
"type": "object"
}
glovelly_get_contact
Fetch read-only contact details and related summary counts for one contact.
Title: Get Contact
Safety level: ReadOnly
Requires explicit user intent: no
Inputs:
contactId(required): string (uuid). Contact ID returned by glovelly_search_contacts.
Example input:
{
"contactId": "00000000-0000-0000-0000-000000000000"
}
Input schema:
{
"properties": {
"contactId": {
"description": "Contact ID returned by glovelly_search_contacts.",
"format": "uuid",
"type": "string"
}
},
"required": [
"contactId"
],
"type": "object"
}
Output schema:
{
"properties": {
"contact": {
"properties": {
"billingAddress": {
"properties": {
"city": {
"type": "string"
},
"country": {
"type": "string"
},
"line1": {
"type": "string"
},
"line2": {
"type": "string"
},
"postalCode": {
"type": "string"
},
"stateOrCounty": {
"type": "string"
}
},
"type": "object"
},
"contactId": {
"format": "uuid",
"type": "string"
},
"email": {
"type": "string"
},
"gigCount": {
"type": "integer"
},
"invoiceCount": {
"type": "integer"
},
"invoiceEmailSubjectPattern": {
"type": "string"
},
"invoiceFilenamePattern": {
"type": "string"
},
"mileageRate": {
"description": "Mileage rate for this contact.",
"type": "number"
},
"name": {
"type": "string"
},
"passengerMileageRate": {
"description": "Passenger mileage rate for this contact.",
"type": "number"
}
},
"type": "object"
},
"found": {
"type": "boolean"
}
},
"type": "object"
}
glovelly_list_gigs
List gigs by optional contact, status, type, date range, and invoicing state.
Title: List Gigs
Safety level: ReadOnly
Requires explicit user intent: no
Inputs:
contactId(optional): string (uuid). Exact Glovelly contact ID. Use this when a previous contact lookup returned an unambiguous match.contactQuery(optional): string. Name or email text used to look up a contact when contactId is not known.fromDate(optional): string (date). Inclusive start date in YYYY-MM-DD format.gigType(optional): string = performance | teaching | rehearsal | recording | admin | other. Nature of the musician work.invoicingState(optional): string = all | invoiced | uninvoiced. Whether to return invoiced gigs, uninvoiced gigs, or all gigs.status(optional): string = all | draft | confirmed | planned | completed | cancelled | canceled. Gig status filter. Use confirmed or planned for planned gigs.toDate(optional): string (date). Inclusive end date in YYYY-MM-DD format.
Example input:
{
"contactId": "00000000-0000-0000-0000-000000000000",
"contactQuery": "string",
"fromDate": "2026-01-31"
}
Input schema:
{
"properties": {
"contactId": {
"description": "Exact Glovelly contact ID. Use this when a previous contact lookup returned an unambiguous match.",
"format": "uuid",
"type": "string"
},
"contactQuery": {
"description": "Name or email text used to look up a contact when contactId is not known.",
"type": "string"
},
"fromDate": {
"description": "Inclusive start date in YYYY-MM-DD format.",
"format": "date",
"type": "string"
},
"gigType": {
"description": "Nature of the musician work.",
"enum": [
"performance",
"teaching",
"rehearsal",
"recording",
"admin",
"other"
],
"type": "string"
},
"invoicingState": {
"description": "Whether to return invoiced gigs, uninvoiced gigs, or all gigs.",
"enum": [
"all",
"invoiced",
"uninvoiced"
],
"type": "string"
},
"status": {
"description": "Gig status filter. Use confirmed or planned for planned gigs.",
"enum": [
"all",
"draft",
"confirmed",
"planned",
"completed",
"cancelled",
"canceled"
],
"type": "string"
},
"toDate": {
"description": "Inclusive end date in YYYY-MM-DD format.",
"format": "date",
"type": "string"
}
},
"type": "object"
}
Output schema:
{
"properties": {
"ambiguous": {
"type": "boolean"
},
"currency": {
"type": "string"
},
"gigs": {
"items": {
"properties": {
"contactId": {
"format": "uuid",
"type": "string"
},
"contactName": {
"type": "string"
},
"currency": {
"type": "string"
},
"date": {
"description": "ISO 8601 calendar date in YYYY-MM-DD format.",
"format": "date",
"type": "string"
},
"fee": {
"description": "Gig fee.",
"type": "number"
},
"gigId": {
"format": "uuid",
"type": "string"
},
"gigType": {
"description": "Nature of the musician work.",
"enum": [
"performance",
"teaching",
"rehearsal",
"recording",
"admin",
"other"
],
"type": "string"
},
"invoiceId": {
"format": "uuid",
"type": "string"
},
"isInvoiced": {
"type": "boolean"
},
"status": {
"description": "Gig lifecycle status.",
"enum": [
"draft",
"confirmed",
"completed",
"cancelled"
],
"type": "string"
},
"title": {
"type": "string"
},
"venue": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"matches": {
"items": {
"properties": {
"contactId": {
"format": "uuid",
"type": "string"
},
"email": {
"type": "string"
},
"name": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"message": {
"type": "string"
},
"totalFees": {
"description": "Total fees across returned gigs.",
"type": "number"
}
},
"type": "object"
}
glovelly_get_gig
Fetch read-only details for a single gig.
Title: Get Gig
Safety level: ReadOnly
Requires explicit user intent: no
Inputs:
gigId(required): string (uuid). Gig ID returned by glovelly_list_gigs.
Example input:
{
"gigId": "00000000-0000-0000-0000-000000000000"
}
Input schema:
{
"properties": {
"gigId": {
"description": "Gig ID returned by glovelly_list_gigs.",
"format": "uuid",
"type": "string"
}
},
"required": [
"gigId"
],
"type": "object"
}
Output schema:
{
"properties": {
"found": {
"type": "boolean"
},
"gig": {
"properties": {
"contactId": {
"format": "uuid",
"type": "string"
},
"contactName": {
"type": "string"
},
"currency": {
"type": "string"
},
"date": {
"description": "ISO 8601 calendar date in YYYY-MM-DD format.",
"format": "date",
"type": "string"
},
"expenses": {
"items": {
"properties": {
"amount": {
"description": "Expense amount.",
"type": "number"
},
"attachmentCount": {
"type": "integer"
},
"attachmentFileNames": {
"items": {
"type": "string"
},
"type": "array"
},
"currency": {
"type": "string"
},
"description": {
"type": "string"
},
"expenseId": {
"format": "uuid",
"type": "string"
},
"reimbursementStatus": {
"description": "Expense reimbursement status.",
"enum": [
"unreimbursed",
"reimbursed",
"notClaimable"
],
"type": "string"
},
"sortOrder": {
"type": "integer"
}
},
"type": "object"
},
"type": "array"
},
"fee": {
"description": "Gig fee.",
"type": "number"
},
"gigId": {
"format": "uuid",
"type": "string"
},
"gigType": {
"description": "Nature of the musician work.",
"enum": [
"performance",
"teaching",
"rehearsal",
"recording",
"admin",
"other"
],
"type": "string"
},
"invoice": {
"properties": {
"contactId": {
"format": "uuid",
"type": "string"
},
"contactName": {
"type": "string"
},
"currency": {
"type": "string"
},
"dueDate": {
"description": "ISO 8601 calendar date in YYYY-MM-DD format.",
"format": "date",
"type": "string"
},
"invoiceId": {
"format": "uuid",
"type": "string"
},
"invoiceNumber": {
"type": "string"
},
"issueDate": {
"description": "ISO 8601 calendar date in YYYY-MM-DD format.",
"format": "date",
"type": "string"
},
"outstandingAmount": {
"description": "Amount still outstanding on this invoice.",
"type": "number"
},
"status": {
"description": "Invoice lifecycle status.",
"enum": [
"draft",
"issued",
"paid",
"overdue",
"cancelled"
],
"type": "string"
},
"total": {
"description": "Invoice total amount.",
"type": "number"
}
},
"type": "object"
},
"isInvoiced": {
"type": "boolean"
},
"notes": {
"type": "string"
},
"passengerCount": {
"type": "integer"
},
"resources": {
"items": {
"properties": {
"attachments": {
"items": {
"properties": {
"attachmentId": {
"format": "uuid",
"type": "string"
},
"contentType": {
"type": "string"
},
"createdAt": {
"description": "ISO 8601 UTC timestamp.",
"format": "date-time",
"type": "string"
},
"fileName": {
"type": "string"
},
"sizeBytes": {
"type": "integer"
}
},
"type": "object"
},
"type": "array"
},
"createdAt": {
"description": "ISO 8601 UTC timestamp.",
"format": "date-time",
"type": "string"
},
"isPrimary": {
"type": "boolean"
},
"notes": {
"type": "string"
},
"purpose": {
"description": "Resource purpose.",
"enum": [
"setList",
"gigPlan",
"contract",
"travel",
"other"
],
"type": "string"
},
"resourceId": {
"format": "uuid",
"type": "string"
},
"resourceType": {
"description": "Resource type.",
"enum": [
"googleSheet",
"googleDoc",
"url",
"email",
"file",
"other"
],
"type": "string"
},
"title": {
"type": "string"
},
"updatedAt": {
"description": "ISO 8601 UTC timestamp.",
"format": "date-time",
"type": "string"
},
"url": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"status": {
"description": "Gig lifecycle status.",
"enum": [
"draft",
"confirmed",
"completed",
"cancelled"
],
"type": "string"
},
"title": {
"type": "string"
},
"travelMiles": {
"type": "number"
},
"venue": {
"type": "string"
},
"wasDriving": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
}
glovelly_list_uninvoiced_gigs
List visible gigs that are not linked to an invoice.
Title: List Uninvoiced Gigs
Safety level: ReadOnly
Requires explicit user intent: no
Inputs:
contactId(optional): string (uuid). Exact Glovelly contact ID. Use this when a previous contact lookup returned an unambiguous match.contactQuery(optional): string. Name or email text used to look up a contact when contactId is not known.fromDate(optional): string (date). Inclusive start date in YYYY-MM-DD format.gigType(optional): string = performance | teaching | rehearsal | recording | admin | other. Nature of the musician work.status(optional): string = all | draft | confirmed | planned | completed | cancelled | canceled. Gig status filter. Use confirmed or planned for planned gigs.toDate(optional): string (date). Inclusive end date in YYYY-MM-DD format.
Example input:
{
"contactId": "00000000-0000-0000-0000-000000000000",
"contactQuery": "string",
"fromDate": "2026-01-31"
}
Input schema:
{
"properties": {
"contactId": {
"description": "Exact Glovelly contact ID. Use this when a previous contact lookup returned an unambiguous match.",
"format": "uuid",
"type": "string"
},
"contactQuery": {
"description": "Name or email text used to look up a contact when contactId is not known.",
"type": "string"
},
"fromDate": {
"description": "Inclusive start date in YYYY-MM-DD format.",
"format": "date",
"type": "string"
},
"gigType": {
"description": "Nature of the musician work.",
"enum": [
"performance",
"teaching",
"rehearsal",
"recording",
"admin",
"other"
],
"type": "string"
},
"status": {
"description": "Gig status filter. Use confirmed or planned for planned gigs.",
"enum": [
"all",
"draft",
"confirmed",
"planned",
"completed",
"cancelled",
"canceled"
],
"type": "string"
},
"toDate": {
"description": "Inclusive end date in YYYY-MM-DD format.",
"format": "date",
"type": "string"
}
},
"type": "object"
}
Output schema:
{
"properties": {
"ambiguous": {
"type": "boolean"
},
"currency": {
"type": "string"
},
"gigs": {
"items": {
"properties": {
"contactId": {
"format": "uuid",
"type": "string"
},
"contactName": {
"type": "string"
},
"currency": {
"type": "string"
},
"date": {
"description": "ISO 8601 calendar date in YYYY-MM-DD format.",
"format": "date",
"type": "string"
},
"fee": {
"description": "Gig fee.",
"type": "number"
},
"gigId": {
"format": "uuid",
"type": "string"
},
"gigType": {
"description": "Nature of the musician work.",
"enum": [
"performance",
"teaching",
"rehearsal",
"recording",
"admin",
"other"
],
"type": "string"
},
"invoiceId": {
"format": "uuid",
"type": "string"
},
"isInvoiced": {
"type": "boolean"
},
"status": {
"description": "Gig lifecycle status.",
"enum": [
"draft",
"confirmed",
"completed",
"cancelled"
],
"type": "string"
},
"title": {
"type": "string"
},
"venue": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"matches": {
"items": {
"properties": {
"contactId": {
"format": "uuid",
"type": "string"
},
"email": {
"type": "string"
},
"name": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"message": {
"type": "string"
},
"totalFees": {
"description": "Total fees across returned gigs.",
"type": "number"
}
},
"type": "object"
}
glovelly_list_gig_resources
List read-only metadata for links and files attached to a gig. File contents are not returned.
Title: List Gig Resources
Safety level: ReadOnly
Requires explicit user intent: no
Inputs:
gigId(required): string (uuid). Gig ID returned by glovelly_list_gigs.
Example input:
{
"gigId": "00000000-0000-0000-0000-000000000000"
}
Input schema:
{
"properties": {
"gigId": {
"description": "Gig ID returned by glovelly_list_gigs.",
"format": "uuid",
"type": "string"
}
},
"required": [
"gigId"
],
"type": "object"
}
Output schema:
{
"properties": {
"found": {
"type": "boolean"
},
"resources": {
"items": {
"properties": {
"attachments": {
"items": {
"properties": {
"attachmentId": {
"format": "uuid",
"type": "string"
},
"contentType": {
"type": "string"
},
"createdAt": {
"description": "ISO 8601 UTC timestamp.",
"format": "date-time",
"type": "string"
},
"fileName": {
"type": "string"
},
"sizeBytes": {
"type": "integer"
}
},
"type": "object"
},
"type": "array"
},
"createdAt": {
"description": "ISO 8601 UTC timestamp.",
"format": "date-time",
"type": "string"
},
"isPrimary": {
"type": "boolean"
},
"notes": {
"type": "string"
},
"purpose": {
"description": "Resource purpose.",
"enum": [
"setList",
"gigPlan",
"contract",
"travel",
"other"
],
"type": "string"
},
"resourceId": {
"format": "uuid",
"type": "string"
},
"resourceType": {
"description": "Resource type.",
"enum": [
"googleSheet",
"googleDoc",
"url",
"email",
"file",
"other"
],
"type": "string"
},
"title": {
"type": "string"
},
"updatedAt": {
"description": "ISO 8601 UTC timestamp.",
"format": "date-time",
"type": "string"
},
"url": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
glovelly_get_gig_setlist
Fetch the active setlist import already stored for a gig without reading Google Sheets.
Title: Get Gig Setlist
Safety level: ReadOnly
Requires explicit user intent: no
Inputs:
gigId(required): string (uuid). Gig ID returned by glovelly_list_gigs.
Example input:
{
"gigId": "00000000-0000-0000-0000-000000000000"
}
Input schema:
{
"properties": {
"gigId": {
"description": "Gig ID returned by glovelly_list_gigs.",
"format": "uuid",
"type": "string"
}
},
"required": [
"gigId"
],
"type": "object"
}
Output schema:
{
"properties": {
"found": {
"type": "boolean"
},
"hasActiveSetlist": {
"type": "boolean"
},
"setlist": {
"properties": {
"gigId": {
"format": "uuid",
"type": "string"
},
"importId": {
"format": "uuid",
"type": "string"
},
"importedAtUtc": {
"description": "ISO 8601 UTC timestamp.",
"format": "date-time",
"type": "string"
},
"items": {
"items": {
"properties": {
"confidence": {
"description": "Setlist item confidence.",
"enum": [
"low",
"medium",
"high"
],
"type": "string"
},
"include": {
"type": "boolean"
},
"key": {
"type": "string"
},
"kind": {
"description": "Setlist row kind.",
"enum": [
"song",
"separator",
"comment"
],
"type": "string"
},
"notes": {
"type": "string"
},
"padNumber": {
"type": "string"
},
"section": {
"type": "string"
},
"sortOrder": {
"type": "integer"
},
"sourceRowNumber": {
"type": "integer"
},
"title": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"resourceId": {
"format": "uuid",
"type": "string"
},
"sourceUrl": {
"type": "string"
},
"spreadsheetId": {
"type": "string"
},
"worksheetId": {
"type": "string"
},
"worksheetName": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
glovelly_preview_expense_statement
Build a read-only structured expense statement preview without generating PDFs or sending it anywhere.
Title: Preview Expense Statement
Safety level: ReadOnly
Requires explicit user intent: no
Inputs:
contactId(required): string (uuid). Contact ID for the statement client.expenseIds(optional): array. Optional expense IDs to include.gigIds(optional): array. Optional gig IDs to include.includeReceiptAppendix(optional): boolean. Accepted for parity with statement previews; no PDF appendix is generated by this tool.includeReceiptAttachments(optional): boolean. Whether receipt attachment metadata should be considered by the statement builder.includeReimbursedExpenses(optional): boolean. Whether reimbursed expenses should be included.
Example input:
{
"contactId": "00000000-0000-0000-0000-000000000000"
}
Input schema:
{
"properties": {
"contactId": {
"description": "Contact ID for the statement client.",
"format": "uuid",
"type": "string"
},
"expenseIds": {
"description": "Optional expense IDs to include.",
"items": {
"format": "uuid",
"type": "string"
},
"type": "array"
},
"gigIds": {
"description": "Optional gig IDs to include.",
"items": {
"format": "uuid",
"type": "string"
},
"type": "array"
},
"includeReceiptAppendix": {
"description": "Accepted for parity with statement previews; no PDF appendix is generated by this tool.",
"type": "boolean"
},
"includeReceiptAttachments": {
"description": "Whether receipt attachment metadata should be considered by the statement builder.",
"type": "boolean"
},
"includeReimbursedExpenses": {
"description": "Whether reimbursed expenses should be included.",
"type": "boolean"
}
},
"required": [
"contactId"
],
"type": "object"
}
Output schema:
{
"properties": {
"created": {
"type": "boolean"
},
"statement": {
"properties": {
"contactId": {
"format": "uuid",
"type": "string"
},
"contactName": {
"type": "string"
},
"currency": {
"type": "string"
},
"expenseCount": {
"type": "integer"
},
"gigs": {
"items": {
"properties": {
"currency": {
"type": "string"
},
"date": {
"description": "ISO 8601 calendar date in YYYY-MM-DD format.",
"format": "date",
"type": "string"
},
"expenses": {
"items": {
"properties": {
"amount": {
"description": "Expense amount.",
"type": "number"
},
"attachments": {
"items": {
"properties": {
"attachmentId": {
"format": "uuid",
"type": "string"
},
"contentType": {
"type": "string"
},
"createdAt": {
"description": "ISO 8601 UTC timestamp.",
"format": "date-time",
"type": "string"
},
"fileName": {
"type": "string"
},
"sizeBytes": {
"type": "integer"
}
},
"type": "object"
},
"type": "array"
},
"currency": {
"type": "string"
},
"description": {
"type": "string"
},
"expenseId": {
"format": "uuid",
"type": "string"
},
"sortOrder": {
"type": "integer"
}
},
"type": "object"
},
"type": "array"
},
"gigId": {
"format": "uuid",
"type": "string"
},
"isInvoiced": {
"type": "boolean"
},
"title": {
"type": "string"
},
"total": {
"description": "Total expenses for this gig.",
"type": "number"
},
"venue": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"receiptAttachmentCount": {
"type": "integer"
},
"statementDate": {
"description": "ISO 8601 calendar date in YYYY-MM-DD format.",
"format": "date",
"type": "string"
},
"total": {
"description": "Expense statement total.",
"type": "number"
}
},
"type": "object"
},
"validationErrors": {
"additionalProperties": {
"items": {
"type": "string"
},
"type": "array"
},
"type": "object"
}
},
"type": "object"
}
glovelly_list_invoices
List invoices by optional contact, status, date range, and date basis.
Title: List Invoices
Safety level: ReadOnly
Requires explicit user intent: no
Inputs:
contactId(optional): string (uuid). Exact Glovelly contact ID. Use this when a previous contact lookup returned an unambiguous match.contactQuery(optional): string. Name or email text used to look up a contact when contactId is not known.dateBasis(optional): string = issueDate | dueDate. Whether fromDate/toDate apply to issueDate or dueDate.fromDate(optional): string (date). Inclusive start date in YYYY-MM-DD format.status(optional): string = all | outstanding | issued | paid | draft | overdue | cancelled. Invoice status filter. Use outstanding for issued or overdue invoices with a balance.toDate(optional): string (date). Inclusive end date in YYYY-MM-DD format.
Example input:
{
"contactId": "00000000-0000-0000-0000-000000000000",
"contactQuery": "string",
"fromDate": "2026-01-31"
}
Input schema:
{
"properties": {
"contactId": {
"description": "Exact Glovelly contact ID. Use this when a previous contact lookup returned an unambiguous match.",
"format": "uuid",
"type": "string"
},
"contactQuery": {
"description": "Name or email text used to look up a contact when contactId is not known.",
"type": "string"
},
"dateBasis": {
"description": "Whether fromDate/toDate apply to issueDate or dueDate.",
"enum": [
"issueDate",
"dueDate"
],
"type": "string"
},
"fromDate": {
"description": "Inclusive start date in YYYY-MM-DD format.",
"format": "date",
"type": "string"
},
"status": {
"description": "Invoice status filter. Use outstanding for issued or overdue invoices with a balance.",
"enum": [
"all",
"outstanding",
"issued",
"paid",
"draft",
"overdue",
"cancelled"
],
"type": "string"
},
"toDate": {
"description": "Inclusive end date in YYYY-MM-DD format.",
"format": "date",
"type": "string"
}
},
"type": "object"
}
Output schema:
{
"properties": {
"ambiguous": {
"type": "boolean"
},
"currency": {
"type": "string"
},
"invoices": {
"items": {
"properties": {
"contactId": {
"format": "uuid",
"type": "string"
},
"contactName": {
"type": "string"
},
"currency": {
"type": "string"
},
"dueDate": {
"description": "ISO 8601 calendar date in YYYY-MM-DD format.",
"format": "date",
"type": "string"
},
"invoiceId": {
"format": "uuid",
"type": "string"
},
"invoiceNumber": {
"type": "string"
},
"issueDate": {
"description": "ISO 8601 calendar date in YYYY-MM-DD format.",
"format": "date",
"type": "string"
},
"outstandingAmount": {
"description": "Amount still outstanding on this invoice.",
"type": "number"
},
"status": {
"description": "Invoice lifecycle status.",
"enum": [
"draft",
"issued",
"paid",
"overdue",
"cancelled"
],
"type": "string"
},
"total": {
"description": "Invoice total amount.",
"type": "number"
}
},
"type": "object"
},
"type": "array"
},
"matches": {
"items": {
"properties": {
"contactId": {
"format": "uuid",
"type": "string"
},
"email": {
"type": "string"
},
"name": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"message": {
"type": "string"
},
"totalOutstanding": {
"description": "Total outstanding amount across returned invoices.",
"type": "number"
}
},
"type": "object"
}
glovelly_get_invoice
Fetch read-only invoice details for a single invoice.
Title: Get Invoice
Safety level: ReadOnly
Requires explicit user intent: no
Inputs:
invoiceId(required): string (uuid). Invoice ID returned by glovelly_list_invoices.
Example input:
{
"invoiceId": "00000000-0000-0000-0000-000000000000"
}
Input schema:
{
"properties": {
"invoiceId": {
"description": "Invoice ID returned by glovelly_list_invoices.",
"format": "uuid",
"type": "string"
}
},
"required": [
"invoiceId"
],
"type": "object"
}
Output schema:
{
"properties": {
"found": {
"type": "boolean"
},
"invoice": {
"properties": {
"contactId": {
"format": "uuid",
"type": "string"
},
"contactName": {
"type": "string"
},
"currency": {
"type": "string"
},
"description": {
"type": "string"
},
"dueDate": {
"description": "ISO 8601 calendar date in YYYY-MM-DD format.",
"format": "date",
"type": "string"
},
"invoiceId": {
"format": "uuid",
"type": "string"
},
"invoiceNumber": {
"type": "string"
},
"issueDate": {
"description": "ISO 8601 calendar date in YYYY-MM-DD format.",
"format": "date",
"type": "string"
},
"lines": {
"items": {
"properties": {
"description": {
"type": "string"
},
"gigId": {
"format": "uuid",
"type": "string"
},
"invoiceLineId": {
"format": "uuid",
"type": "string"
},
"lineTotal": {
"description": "Total amount for this invoice line.",
"type": "number"
},
"quantity": {
"type": "number"
},
"type": {
"description": "Invoice line type.",
"enum": [
"performanceFee",
"mileage",
"passengerMileage",
"parking",
"fuel",
"congestionCharge",
"accommodation",
"perDiem",
"miscExpense",
"manualAdjustment"
],
"type": "string"
},
"unitPrice": {
"description": "Unit price for this invoice line.",
"type": "number"
}
},
"type": "object"
},
"type": "array"
},
"outstandingAmount": {
"description": "Amount still outstanding on this invoice.",
"type": "number"
},
"status": {
"description": "Invoice lifecycle status.",
"enum": [
"draft",
"issued",
"paid",
"overdue",
"cancelled"
],
"type": "string"
},
"total": {
"description": "Invoice total amount.",
"type": "number"
}
},
"type": "object"
}
},
"type": "object"
}
glovelly_list_receipts
List read-only receipt and expense records by date range and optional status.
Title: List Receipts
Safety level: ReadOnly
Requires explicit user intent: no
Inputs:
fromDate(optional): string (date). Inclusive start date in YYYY-MM-DD format.status(optional): string = all | matched | unmatched. Receipt matching status filter.toDate(optional): string (date). Inclusive end date in YYYY-MM-DD format.
Example input:
{
"fromDate": "2026-01-31",
"status": "all",
"toDate": "2026-01-31"
}
Input schema:
{
"properties": {
"fromDate": {
"description": "Inclusive start date in YYYY-MM-DD format.",
"format": "date",
"type": "string"
},
"status": {
"description": "Receipt matching status filter.",
"enum": [
"all",
"matched",
"unmatched"
],
"type": "string"
},
"toDate": {
"description": "Inclusive end date in YYYY-MM-DD format.",
"format": "date",
"type": "string"
}
},
"type": "object"
}
Output schema:
{
"properties": {
"currency": {
"type": "string"
},
"receiptCount": {
"type": "integer"
},
"receipts": {
"items": {
"properties": {
"amount": {
"description": "Receipt or expense amount.",
"type": "number"
},
"attachmentCount": {
"type": "integer"
},
"attachmentFileNames": {
"items": {
"type": "string"
},
"type": "array"
},
"contactId": {
"format": "uuid",
"type": "string"
},
"contactName": {
"type": "string"
},
"currency": {
"type": "string"
},
"description": {
"type": "string"
},
"gigId": {
"format": "uuid",
"type": "string"
},
"gigTitle": {
"type": "string"
},
"receiptDate": {
"description": "ISO 8601 calendar date in YYYY-MM-DD format.",
"format": "date",
"type": "string"
},
"receiptId": {
"format": "uuid",
"type": "string"
},
"status": {
"description": "Receipt matching status.",
"enum": [
"matched",
"unmatched"
],
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"totalAmount": {
"description": "Total receipt and expense amount across returned records.",
"type": "number"
},
"unmatchedReceiptCount": {
"type": "integer"
}
},
"type": "object"
}
glovelly_get_business_summary
Summarise invoice totals, paid totals, outstanding totals, expenses, and receipt counts for a period.
Title: Get Business Summary
Safety level: ReadOnly
Requires explicit user intent: no
Inputs:
fromDate(optional): string (date). Inclusive start date in YYYY-MM-DD format.toDate(optional): string (date). Inclusive end date in YYYY-MM-DD format.
Example input:
{
"fromDate": "2026-01-31",
"toDate": "2026-01-31"
}
Input schema:
{
"properties": {
"fromDate": {
"description": "Inclusive start date in YYYY-MM-DD format.",
"format": "date",
"type": "string"
},
"toDate": {
"description": "Inclusive end date in YYYY-MM-DD format.",
"format": "date",
"type": "string"
}
},
"type": "object"
}
Output schema:
{
"properties": {
"currency": {
"type": "string"
},
"expenseTotal": {
"description": "Expense total for the period.",
"type": "number"
},
"fromDate": {
"description": "ISO 8601 calendar date in YYYY-MM-DD format.",
"format": "date",
"type": "string"
},
"invoiceTotal": {
"description": "Invoice total for the period.",
"type": "number"
},
"outstandingTotal": {
"description": "Outstanding invoice total for the period.",
"type": "number"
},
"paidTotal": {
"description": "Paid invoice total for the period.",
"type": "number"
},
"receiptCount": {
"type": "integer"
},
"toDate": {
"description": "ISO 8601 calendar date in YYYY-MM-DD format.",
"format": "date",
"type": "string"
},
"unmatchedReceiptCount": {
"type": "integer"
}
},
"type": "object"
}
glovelly_create_gig_import_batch
Create a staged gig import batch for later human review. This does not create real gigs.
Title: Create Gig Import Batch
Safety level: StagedWrite
Requires explicit user intent: yes
Inputs:
notes(optional): string. Optional notes about the source or import assumptions.sourceFingerprint(optional): string. Optional stable source identifier to help detect duplicate imports.sourceName(required): string. Human-readable source being imported, such as an email subject or document name.
Example input:
{
"sourceName": "string"
}
Input schema:
{
"properties": {
"notes": {
"description": "Optional notes about the source or import assumptions.",
"maxLength": 4000,
"type": "string"
},
"sourceFingerprint": {
"description": "Optional stable source identifier to help detect duplicate imports.",
"maxLength": 200,
"type": "string"
},
"sourceName": {
"description": "Human-readable source being imported, such as an email subject or document name.",
"maxLength": 300,
"type": "string"
}
},
"required": [
"sourceName"
],
"type": "object"
}
Output schema:
{
"properties": {
"batch": {
"properties": {
"batchId": {
"format": "uuid",
"type": "string"
},
"createdAtUtc": {
"description": "ISO 8601 UTC timestamp.",
"format": "date-time",
"type": "string"
},
"draftCount": {
"type": "integer"
},
"notes": {
"type": "string"
},
"sourceFingerprint": {
"type": "string"
},
"sourceName": {
"type": "string"
},
"status": {
"description": "Staged import batch status.",
"enum": [
"draft",
"committed",
"abandoned"
],
"type": "string"
}
},
"type": "object"
},
"created": {
"type": "boolean"
},
"validationErrors": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
glovelly_add_gig_import_draft
Add one draft gig row to a staged import batch. Missing uncertain values are allowed.
Title: Add Gig Import Draft
Safety level: StagedWrite
Requires explicit user intent: yes
Inputs:
accommodationNotes(optional): string. Accommodation details or uncertainty.arrivalTime(optional): string (time). Local time in HH:mm format.batchId(required): string (uuid). Staged gig import batch ID returned by glovelly_create_gig_import_batch.clientName(optional): string. Client or booker name as found in the source.confidence(optional): string = low | medium | high. How confident the agent is that the draft row values were interpreted correctly.contactEmail(optional): string. Contact email address as found in the source.contactName(optional): string. Contact person name as found in the source.contactQuery(optional): string. Name or email text to resolve the gig client/contact.date(optional): string (date). ISO 8601 calendar date in YYYY-MM-DD format.fee(optional): number. Proposed gig fee.gigType(optional): string = performance | teaching | rehearsal | recording | admin | other. Nature of the proposed musician work.notes(optional): string. General notes from the source.perDiem(optional): number. Proposed per diem amount.postcode(optional): string. Venue postcode.projectName(optional): string. Project, production, tour, or engagement name.rehearsalEndTime(optional): string (time). Local time in HH:mm format.rehearsalStartTime(optional): string (time). Local time in HH:mm format.showEndTime(optional): string (time). Local time in HH:mm format.showStartTime(optional): string (time). Local time in HH:mm format.sourceReference(optional): string. Optional reference to the source row, page, message, or attachment.title(optional): string. Gig title or role summary.travelNotes(optional): string. Travel details or uncertainty.venueAddress(optional): string. Venue address.venueName(optional): string. Venue name.warnings(optional): array
Example input:
{
"batchId": "00000000-0000-0000-0000-000000000000"
}
Input schema:
{
"properties": {
"accommodationNotes": {
"description": "Accommodation details or uncertainty.",
"maxLength": 4000,
"type": "string"
},
"arrivalTime": {
"description": "Local time in HH:mm format.",
"format": "time",
"type": "string"
},
"batchId": {
"description": "Staged gig import batch ID returned by glovelly_create_gig_import_batch.",
"format": "uuid",
"type": "string"
},
"clientName": {
"description": "Client or booker name as found in the source.",
"maxLength": 200,
"type": "string"
},
"confidence": {
"description": "How confident the agent is that the draft row values were interpreted correctly.",
"enum": [
"low",
"medium",
"high"
],
"type": "string"
},
"contactEmail": {
"description": "Contact email address as found in the source.",
"maxLength": 320,
"type": "string"
},
"contactName": {
"description": "Contact person name as found in the source.",
"maxLength": 200,
"type": "string"
},
"contactQuery": {
"description": "Name or email text to resolve the gig client/contact.",
"type": "string"
},
"date": {
"description": "ISO 8601 calendar date in YYYY-MM-DD format.",
"format": "date",
"type": "string"
},
"fee": {
"description": "Proposed gig fee.",
"minimum": 0,
"type": "number"
},
"gigType": {
"description": "Nature of the proposed musician work.",
"enum": [
"performance",
"teaching",
"rehearsal",
"recording",
"admin",
"other"
],
"type": "string"
},
"notes": {
"description": "General notes from the source.",
"maxLength": 4000,
"type": "string"
},
"perDiem": {
"description": "Proposed per diem amount.",
"minimum": 0,
"type": "number"
},
"postcode": {
"description": "Venue postcode.",
"maxLength": 20,
"type": "string"
},
"projectName": {
"description": "Project, production, tour, or engagement name.",
"maxLength": 200,
"type": "string"
},
"rehearsalEndTime": {
"description": "Local time in HH:mm format.",
"format": "time",
"type": "string"
},
"rehearsalStartTime": {
"description": "Local time in HH:mm format.",
"format": "time",
"type": "string"
},
"showEndTime": {
"description": "Local time in HH:mm format.",
"format": "time",
"type": "string"
},
"showStartTime": {
"description": "Local time in HH:mm format.",
"format": "time",
"type": "string"
},
"sourceReference": {
"description": "Optional reference to the source row, page, message, or attachment.",
"maxLength": 500,
"type": "string"
},
"title": {
"description": "Gig title or role summary.",
"maxLength": 200,
"type": "string"
},
"travelNotes": {
"description": "Travel details or uncertainty.",
"maxLength": 4000,
"type": "string"
},
"venueAddress": {
"description": "Venue address.",
"maxLength": 1000,
"type": "string"
},
"venueName": {
"description": "Venue name.",
"maxLength": 200,
"type": "string"
},
"warnings": {
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"batchId"
],
"type": "object"
}
Output schema:
{
"properties": {
"batchFound": {
"type": "boolean"
},
"contactMatches": {
"items": {
"properties": {
"contactId": {
"format": "uuid",
"type": "string"
},
"email": {
"type": "string"
},
"name": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"created": {
"type": "boolean"
},
"draft": {
"properties": {
"accommodationNotes": {
"type": "string"
},
"arrivalTime": {
"description": "Local time in HH:mm format.",
"format": "time",
"type": "string"
},
"batchId": {
"format": "uuid",
"type": "string"
},
"clientName": {
"type": "string"
},
"confidence": {
"description": "How confident the agent is that the draft row values were interpreted correctly.",
"enum": [
"low",
"medium",
"high"
],
"type": "string"
},
"contactEmail": {
"type": "string"
},
"contactName": {
"type": "string"
},
"date": {
"description": "ISO 8601 calendar date in YYYY-MM-DD format.",
"format": "date",
"type": "string"
},
"draftId": {
"format": "uuid",
"type": "string"
},
"fee": {
"description": "Proposed gig fee.",
"type": "number"
},
"gigType": {
"description": "Nature of the proposed musician work.",
"enum": [
"performance",
"teaching",
"rehearsal",
"recording",
"admin",
"other"
],
"type": "string"
},
"notes": {
"type": "string"
},
"perDiem": {
"description": "Proposed per diem amount.",
"type": "number"
},
"postcode": {
"type": "string"
},
"projectName": {
"type": "string"
},
"proposedClientId": {
"format": "uuid",
"type": "string"
},
"rehearsalEndTime": {
"description": "Local time in HH:mm format.",
"format": "time",
"type": "string"
},
"rehearsalStartTime": {
"description": "Local time in HH:mm format.",
"format": "time",
"type": "string"
},
"showEndTime": {
"description": "Local time in HH:mm format.",
"format": "time",
"type": "string"
},
"showStartTime": {
"description": "Local time in HH:mm format.",
"format": "time",
"type": "string"
},
"sourceReference": {
"type": "string"
},
"status": {
"description": "Draft review status.",
"enum": [
"pending",
"accepted",
"rejected",
"committed"
],
"type": "string"
},
"title": {
"type": "string"
},
"travelNotes": {
"type": "string"
},
"venueAddress": {
"type": "string"
},
"venueName": {
"type": "string"
},
"warnings": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"index": {
"type": "integer"
},
"validationErrors": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
glovelly_add_gig_import_drafts
Add multiple draft gig rows to a staged import batch, returning per-row validation feedback.
Title: Add Gig Import Drafts
Safety level: StagedWrite
Requires explicit user intent: yes
Inputs:
batchId(required): string (uuid). Staged gig import batch ID returned by glovelly_create_gig_import_batch.drafts(required): array. Draft gig rows to add to the staged import batch.
Example input:
{
"batchId": "00000000-0000-0000-0000-000000000000",
"drafts": [
{
"clientName": "string",
"contactQuery": "string",
"title": "string"
}
]
}
Input schema:
{
"properties": {
"batchId": {
"description": "Staged gig import batch ID returned by glovelly_create_gig_import_batch.",
"format": "uuid",
"type": "string"
},
"drafts": {
"description": "Draft gig rows to add to the staged import batch.",
"items": {
"properties": {
"accommodationNotes": {
"description": "Accommodation details or uncertainty.",
"maxLength": 4000,
"type": "string"
},
"arrivalTime": {
"description": "Local time in HH:mm format.",
"format": "time",
"type": "string"
},
"clientName": {
"description": "Client or booker name as found in the source.",
"maxLength": 200,
"type": "string"
},
"confidence": {
"description": "How confident the agent is that the draft row values were interpreted correctly.",
"enum": [
"low",
"medium",
"high"
],
"type": "string"
},
"contactEmail": {
"description": "Contact email address as found in the source.",
"maxLength": 320,
"type": "string"
},
"contactName": {
"description": "Contact person name as found in the source.",
"maxLength": 200,
"type": "string"
},
"contactQuery": {
"description": "Name or email text to resolve the gig client/contact.",
"type": "string"
},
"date": {
"description": "ISO 8601 calendar date in YYYY-MM-DD format.",
"format": "date",
"type": "string"
},
"fee": {
"description": "Proposed gig fee.",
"minimum": 0,
"type": "number"
},
"gigType": {
"description": "Nature of the proposed musician work.",
"enum": [
"performance",
"teaching",
"rehearsal",
"recording",
"admin",
"other"
],
"type": "string"
},
"notes": {
"description": "General notes from the source.",
"maxLength": 4000,
"type": "string"
},
"perDiem": {
"description": "Proposed per diem amount.",
"minimum": 0,
"type": "number"
},
"postcode": {
"description": "Venue postcode.",
"maxLength": 20,
"type": "string"
},
"projectName": {
"description": "Project, production, tour, or engagement name.",
"maxLength": 200,
"type": "string"
},
"rehearsalEndTime": {
"description": "Local time in HH:mm format.",
"format": "time",
"type": "string"
},
"rehearsalStartTime": {
"description": "Local time in HH:mm format.",
"format": "time",
"type": "string"
},
"showEndTime": {
"description": "Local time in HH:mm format.",
"format": "time",
"type": "string"
},
"showStartTime": {
"description": "Local time in HH:mm format.",
"format": "time",
"type": "string"
},
"sourceReference": {
"description": "Optional reference to the source row, page, message, or attachment.",
"maxLength": 500,
"type": "string"
},
"title": {
"description": "Gig title or role summary.",
"maxLength": 200,
"type": "string"
},
"travelNotes": {
"description": "Travel details or uncertainty.",
"maxLength": 4000,
"type": "string"
},
"venueAddress": {
"description": "Venue address.",
"maxLength": 1000,
"type": "string"
},
"venueName": {
"description": "Venue name.",
"maxLength": 200,
"type": "string"
},
"warnings": {
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [],
"type": "object"
},
"type": "array"
}
},
"required": [
"batchId",
"drafts"
],
"type": "object"
}
Output schema:
{
"properties": {
"batchFound": {
"type": "boolean"
},
"createdCount": {
"type": "integer"
},
"results": {
"items": {
"properties": {
"batchFound": {
"type": "boolean"
},
"contactMatches": {
"items": {
"properties": {
"contactId": {
"format": "uuid",
"type": "string"
},
"email": {
"type": "string"
},
"name": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"created": {
"type": "boolean"
},
"draft": {
"properties": {
"accommodationNotes": {
"type": "string"
},
"arrivalTime": {
"description": "Local time in HH:mm format.",
"format": "time",
"type": "string"
},
"batchId": {
"format": "uuid",
"type": "string"
},
"clientName": {
"type": "string"
},
"confidence": {
"description": "How confident the agent is that the draft row values were interpreted correctly.",
"enum": [
"low",
"medium",
"high"
],
"type": "string"
},
"contactEmail": {
"type": "string"
},
"contactName": {
"type": "string"
},
"date": {
"description": "ISO 8601 calendar date in YYYY-MM-DD format.",
"format": "date",
"type": "string"
},
"draftId": {
"format": "uuid",
"type": "string"
},
"fee": {
"description": "Proposed gig fee.",
"type": "number"
},
"gigType": {
"description": "Nature of the proposed musician work.",
"enum": [
"performance",
"teaching",
"rehearsal",
"recording",
"admin",
"other"
],
"type": "string"
},
"notes": {
"type": "string"
},
"perDiem": {
"description": "Proposed per diem amount.",
"type": "number"
},
"postcode": {
"type": "string"
},
"projectName": {
"type": "string"
},
"proposedClientId": {
"format": "uuid",
"type": "string"
},
"rehearsalEndTime": {
"description": "Local time in HH:mm format.",
"format": "time",
"type": "string"
},
"rehearsalStartTime": {
"description": "Local time in HH:mm format.",
"format": "time",
"type": "string"
},
"showEndTime": {
"description": "Local time in HH:mm format.",
"format": "time",
"type": "string"
},
"showStartTime": {
"description": "Local time in HH:mm format.",
"format": "time",
"type": "string"
},
"sourceReference": {
"type": "string"
},
"status": {
"description": "Draft review status.",
"enum": [
"pending",
"accepted",
"rejected",
"committed"
],
"type": "string"
},
"title": {
"type": "string"
},
"travelNotes": {
"type": "string"
},
"venueAddress": {
"type": "string"
},
"venueName": {
"type": "string"
},
"warnings": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"index": {
"type": "integer"
},
"validationErrors": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"type": "array"
},
"submittedCount": {
"type": "integer"
}
},
"type": "object"
}
glovelly_list_gig_import_batches
List staged gig import batches and their statuses.
Title: List Gig Import Batches
Safety level: ReadOnly
Requires explicit user intent: no
Inputs:
None.
Example input:
{}
Input schema:
{
"properties": {},
"type": "object"
}
Output schema:
{
"properties": {
"batches": {
"items": {
"properties": {
"batchId": {
"format": "uuid",
"type": "string"
},
"createdAtUtc": {
"description": "ISO 8601 UTC timestamp.",
"format": "date-time",
"type": "string"
},
"draftCount": {
"type": "integer"
},
"notes": {
"type": "string"
},
"sourceFingerprint": {
"type": "string"
},
"sourceName": {
"type": "string"
},
"status": {
"description": "Staged import batch status.",
"enum": [
"draft",
"committed",
"abandoned"
],
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
glovelly_get_gig_import_batch
Fetch a staged gig import batch and its draft rows.
Title: Get Gig Import Batch
Safety level: ReadOnly
Requires explicit user intent: no
Inputs:
batchId(required): string (uuid). Staged gig import batch ID returned by glovelly_list_gig_import_batches.
Example input:
{
"batchId": "00000000-0000-0000-0000-000000000000"
}
Input schema:
{
"properties": {
"batchId": {
"description": "Staged gig import batch ID returned by glovelly_list_gig_import_batches.",
"format": "uuid",
"type": "string"
}
},
"required": [
"batchId"
],
"type": "object"
}
Output schema:
{
"properties": {
"batch": {
"properties": {
"batchId": {
"format": "uuid",
"type": "string"
},
"createdAtUtc": {
"description": "ISO 8601 UTC timestamp.",
"format": "date-time",
"type": "string"
},
"draftCount": {
"type": "integer"
},
"drafts": {
"items": {
"properties": {
"accommodationNotes": {
"type": "string"
},
"arrivalTime": {
"description": "Local time in HH:mm format.",
"format": "time",
"type": "string"
},
"batchId": {
"format": "uuid",
"type": "string"
},
"clientName": {
"type": "string"
},
"confidence": {
"description": "How confident the agent is that the draft row values were interpreted correctly.",
"enum": [
"low",
"medium",
"high"
],
"type": "string"
},
"contactEmail": {
"type": "string"
},
"contactName": {
"type": "string"
},
"date": {
"description": "ISO 8601 calendar date in YYYY-MM-DD format.",
"format": "date",
"type": "string"
},
"draftId": {
"format": "uuid",
"type": "string"
},
"fee": {
"description": "Proposed gig fee.",
"type": "number"
},
"gigType": {
"description": "Nature of the proposed musician work.",
"enum": [
"performance",
"teaching",
"rehearsal",
"recording",
"admin",
"other"
],
"type": "string"
},
"notes": {
"type": "string"
},
"perDiem": {
"description": "Proposed per diem amount.",
"type": "number"
},
"postcode": {
"type": "string"
},
"projectName": {
"type": "string"
},
"proposedClientId": {
"format": "uuid",
"type": "string"
},
"rehearsalEndTime": {
"description": "Local time in HH:mm format.",
"format": "time",
"type": "string"
},
"rehearsalStartTime": {
"description": "Local time in HH:mm format.",
"format": "time",
"type": "string"
},
"showEndTime": {
"description": "Local time in HH:mm format.",
"format": "time",
"type": "string"
},
"showStartTime": {
"description": "Local time in HH:mm format.",
"format": "time",
"type": "string"
},
"sourceReference": {
"type": "string"
},
"status": {
"description": "Draft review status.",
"enum": [
"pending",
"accepted",
"rejected",
"committed"
],
"type": "string"
},
"title": {
"type": "string"
},
"travelNotes": {
"type": "string"
},
"venueAddress": {
"type": "string"
},
"venueName": {
"type": "string"
},
"warnings": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"type": "array"
},
"notes": {
"type": "string"
},
"sourceFingerprint": {
"type": "string"
},
"sourceName": {
"type": "string"
},
"status": {
"description": "Staged import batch status.",
"enum": [
"draft",
"committed",
"abandoned"
],
"type": "string"
}
},
"type": "object"
},
"found": {
"type": "boolean"
}
},
"type": "object"
}