With the Lumoa API, you can import data to Lumoa and export data back to other services.
To get started with the API you will need to have an active Lumoa account to aquire an API key.
If you have any questions or catch an error with this documentation, please email us at help@lumoa.me.
Production URL should primarily be used, stage access can be granted for testing upcoming features.
PRODUCTION: https://feedback-api.lumoa.me/api/v2
Lumoa API requires Authorization
-header with value of Bearer <API KEY>
.
Example for the above formatting:Authorization: Bearer OTfxMjfxMjftMTMxMjftMTIzMC0xMjM5MTIzOmFzZGfnafprbGfub3BxcnN0eXh2
You can generate the required API token in Lumoa from the collections page by clicking the "..." button on the table row and selecting "Manage tokens".
Currently tokens can have Read
, Write
or Read+Write
permissions and are always connected to a specific collection.
The API might support other filters, options and fields not mentioned in this documentation but it is not recommended to rely on these as they might change over time.
Conversation endpoints are only for collections that are of conversation type.
After a conversation is marked as closed it will go through our analysis flow and be shown in the UI
Fetch conversations based on filters.
object | |
object Filter conversations by parameters |
{- "data": [
- {
- "type": "conversations",
- "id": "6614d9eff9ede3d2118bca55",
- "attributes": {
- "date": "2019-08-24",
- "externalId": "string",
- "tags": [
- {
- "name": "gender",
- "value": "male"
}
], - "analyticsTags": [
- {
- "name": "gender",
- "value": "male"
}
], - "status": "CLOSED",
- "topics": [
- [
- "Technical quality",
- "Technical quality",
- "Usability"
]
], - "summaries": [
- {
- "id": "string",
- "title": "string",
- "value": "string",
- "analyticsResults": [ ]
}
]
}, - "relationships": { },
- "links": {
}, - "meta": { }
}
]
}
Creates a new conversation object to which you can add conversation texts
required | object | ||||||||||||
|
{- "data": {
- "type": "string",
- "attributes": { }
}
}
{- "data": {
- "type": "conversations",
- "id": "6614d9eff9ede3d2118bca55",
- "attributes": {
- "date": "2019-08-24",
- "externalId": "string",
- "tags": [
- {
- "name": "gender",
- "value": "male"
}
], - "analyticsTags": [
- {
- "name": "gender",
- "value": "male"
}
], - "status": "CLOSED",
- "topics": [
- [
- "Technical quality",
- "Technical quality",
- "Usability"
]
], - "summaries": [
- {
- "id": "string",
- "title": "string",
- "value": "string",
- "analyticsResults": [ ]
}
]
}, - "relationships": { },
- "links": {
}, - "meta": { }
}
}
Fetch conversations based on filters.
id required | string id of the conversation to get |
{- "data": {
- "type": "conversations",
- "id": "6614d9eff9ede3d2118bca55",
- "attributes": {
- "date": "2019-08-24",
- "externalId": "string",
- "tags": [
- {
- "name": "gender",
- "value": "male"
}
], - "analyticsTags": [
- {
- "name": "gender",
- "value": "male"
}
], - "status": "CLOSED",
- "topics": [
- [
- "Technical quality",
- "Technical quality",
- "Usability"
]
], - "summaries": [
- {
- "id": "string",
- "title": "string",
- "value": "string",
- "analyticsResults": [ ]
}
]
}, - "relationships": { },
- "links": {
}, - "meta": { }
}
}
Use this endpoint to update the conversation
object, i.e. when you want to mark it as CLOSED
. You
id required | string id of the conversation to be marked as closed |
Updates the attributes of the conversation
required | object | ||||||||||||
|
{- "data": {
- "type": "string",
- "attributes": {
- "textCount": 100,
- "status": "CLOSED"
}
}
}
{- "data": {
- "type": "conversations",
- "id": "6614d9eff9ede3d2118bca55",
- "attributes": {
- "date": "2019-08-24",
- "externalId": "string",
- "tags": [
- {
- "name": "gender",
- "value": "male"
}
], - "analyticsTags": [
- {
- "name": "gender",
- "value": "male"
}
], - "status": "CLOSED",
- "topics": [
- [
- "Technical quality",
- "Technical quality",
- "Usability"
]
], - "summaries": [
- {
- "id": "string",
- "title": "string",
- "value": "string",
- "analyticsResults": [ ]
}
]
}, - "relationships": { },
- "links": {
}, - "meta": { }
}
}
This endpoint is where you create text objects to a conversation
object
required | object | ||||||||||||||||||
|
{- "data": {
- "type": "string",
- "attributes": {
- "comment": "string",
- "actor": "string",
- "index": 100
}, - "relationships": {
- "conversation": {
- "data": {
- "type": "string",
- "id": "6614d9eff9ede3d2118bca55"
}
}
}
}
}
{- "data": {
- "type": "string",
- "id": "6614d9eff9ede3d2118bca55",
- "attributes": {
- "comment": "string",
- "actor": "string",
- "index": 100
}, - "relationships": {
- "conversation": {
- "data": {
- "type": "conversations",
- "id": "6614d9eff9ede3d2118bca55",
- "meta": { }
}
}
}, - "links": {
}, - "meta": { }
}
}
Fetch conversations based on filters.
id required | string the id of the conversation whose texts are returned |
{- "data": [
- {
- "type": "string",
- "id": "6614d9eff9ede3d2118bca55",
- "attributes": {
- "comment": "string",
- "actor": "string",
- "index": 100
}, - "relationships": {
- "conversation": {
- "data": {
- "type": "conversations",
- "id": "6614d9eff9ede3d2118bca55",
- "meta": { }
}
}
}, - "links": {
}, - "meta": { }
}
]
}
Creates a conversation
from an audio file.
It is highly recommended to provide the audioLanguage
parameter for the best results,
otherwise the audio language will be automatically detected and the results may vary.
Creates a conversation from an audio file
file required | string <binary> The audio file of the conversation | ||||
audioLanguage | string The language being spoken in the audio file. An | ||||
date | string <date> Date of the conversation, defaults to current time | ||||
externalId | string <= 100 characters Unique id of the conversation in an external system | ||||
Array of objects <= 15 items Meta information of the conversation which views can be filtered on | |||||
Array (<= 15 items)
|
Conversation transcription with cURL
curl --location --request POST 'https://feedback-api.lumoa.me/api/v2/conversations/audio' \ --header 'Authorization: Bearer <Lumoa-API-key>' \ --form 'file=@"/path/to/the/audio/file.wav"' \ --form 'audioLanguage="en-US"' \' --form 'tags="[{\"name\":\"gender\",\"value\":\"male\"}]"' \ --form 'externalId="8afbe28f-8e09-4ec6-84f7-4557e749af8c"'
{- "data": {
- "type": "conversations",
- "id": "6614d9eff9ede3d2118bca55",
- "attributes": {
- "date": "2019-08-24",
- "externalId": "string",
- "tags": [
- {
- "name": "gender",
- "value": "male"
}
], - "analyticsTags": [
- {
- "name": "gender",
- "value": "male"
}
], - "status": "CLOSED",
- "topics": [
- [
- "Technical quality",
- "Technical quality",
- "Usability"
]
], - "summaries": [
- {
- "id": "string",
- "title": "string",
- "value": "string",
- "analyticsResults": [ ]
}
]
}, - "relationships": { },
- "links": {
}, - "meta": { }
}
}