Authentication

Please consult the existing API Docs here for information on how to obtain an API token.


Rate Limits

We are placing this endpoint in our “Hard Endpoints” bucket at launch - meaning the rate limits are 1 request / second, 30 requests / minute.

This is subject to change (as is the max time range), so we recommend building in error handling for hitting the rate limit - please see the “Rate Limit Error Response” section.


Get Coaching Data

Export coaching sessions and related data (coaching points, to-dos) which were created or took place within a requested time range (max 90 days)

POST => https://app.maestroqa.com/api/v1/coaching-sessions

Request Headers

Include your API token in the request headers, under the apiToken key

Request Body (JSON)

{

startDate: "2021-12-01", // the date to start the export, formatted [year]-[month]-[day]

endDate: "2022-01-25", // the end date for the export, must be within 90 days of the start date

timeAxis: "meetingDate" // which date to use when filtering; meetingDate or createdAt

}

Successful Response

Status 200 OK

[

{

// basic coaching session data

_id: string,

coachingFormName: string,

coachingTemplateId: string,

coachingTemplateName: string,

meetingFormat: string,

formCreatorId: string,

formCreatorName: string,

coachName: string,

coachId: string,

agentId: string,

agentName: string,

// Lifecycle Summary

createdAt: Date,

updatedAt: Date,

sharedWithAgent: boolean,

meetingDate: Date,

agentConfirmed: boolean,

coachConfirmed: boolean,

coachNotes: string,

agentNotes: string,

isDeleted: boolean

// Lifecycle Details

activityLog: [

{

userId: string,

userEmail: string,

actionType: string,

descriptions: string[],

timestamp: Date,

ipAddress: string,

},

...

],

// Associated Coaching Points

coachingPoints: [

{

_id: string,

coachingFormIds: string[],

type: string, //strength, opportunity or n/a

classification: string, // general, qa, csat or productivity

ticketId: string,

subject: string,

rubricName: string, // if the coaching point concerns a specific grading rubric...

criteriaName: string, // and criteria

kpiName: string, // or is tied to a kpi, such as average handle time

score: string, // the score for the associated grading rubric, criteria, kpi or csat

agentNotes: string,

coachNotes: string,

// Lifecycle Summary

createdAt: Date,

updatedAt: Date,

isDeleted: boolean

},

...

],

// Associated To-Dos

todos: [

{

_id: string,

actionString: string,

coachingFormIds: string[],

completedAt: Date,

createdAt: Date,

creatorId: string,

creatorName: string,

description: string,

link: string,

status: string,

title: string,

type: string,

updatedAt: Date,

isDeleted: boolean

},

...

],

},

...

]

Error Response

Status 400 ERROR

{

error: "[error message]",

}

Rate Limit Error Response

Status 429 ERROR

{

error: "Too many requests in the past [second/minute].",

}

Did this answer your question?