Create an imported dataset
curl --request POST \
--url https://app.chatobserver.com/api/v2/metrics/imports \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--header 'x-chatobserver-key: <api-key>' \
--data '
{
"name": "<string>",
"source": {
"kind": "manual_upload",
"allowedFormats": []
},
"mapping": {
"name": "<string>",
"definition": {
"columns": [
{
"trim": false,
"nullable": false,
"label": "<string>",
"source": {
"value": "<string>",
"kind": "header"
},
"fieldId": "<string>",
"blankAsNull": false,
"dateFormat": "iso",
"locale": "<string>",
"defaultValue": "<string>"
}
],
"schemaVersion": 1,
"sheetName": "<string>",
"headerRow": 5000,
"firstDataRow": 123,
"delimiter": ",",
"encoding": "utf-8"
},
"description": "<string>"
},
"updatePolicy": {
"name": "<string>",
"definition": {
"schemaVersion": 1,
"keyFieldIds": [
"<string>"
],
"cursorFieldId": "<string>",
"lateArrivalLookback": {
"count": 123
}
},
"description": "<string>"
},
"retentionPolicy": {
"name": "<string>",
"definition": {
"schemaVersion": 1,
"residency": "<string>",
"sourceRetentionDays": 183,
"versionRetentionDays": 1825,
"quarantineRetentionDays": 183,
"maximumRetainedVersions": 500,
"legalHold": false,
"deleteSourceAfterNormalization": false
},
"description": "<string>"
},
"maximumRows": 123,
"maximumBytes": 123,
"description": "<string>",
"visibility": "workspace",
"publish": false,
"qualityRules": []
}
'const options = {
method: 'POST',
headers: {
'Idempotency-Key': '<idempotency-key>',
'x-chatobserver-key': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: '<string>',
source: {kind: 'manual_upload', allowedFormats: []},
mapping: {
name: '<string>',
definition: {
columns: [
{
trim: false,
nullable: false,
label: '<string>',
source: {value: '<string>', kind: 'header'},
fieldId: '<string>',
blankAsNull: false,
dateFormat: 'iso',
locale: '<string>',
defaultValue: '<string>'
}
],
schemaVersion: 1,
sheetName: '<string>',
headerRow: 5000,
firstDataRow: 123,
delimiter: ',',
encoding: 'utf-8'
},
description: '<string>'
},
updatePolicy: {
name: '<string>',
definition: {
schemaVersion: 1,
keyFieldIds: ['<string>'],
cursorFieldId: '<string>',
lateArrivalLookback: {count: 123}
},
description: '<string>'
},
retentionPolicy: {
name: '<string>',
definition: {
schemaVersion: 1,
residency: '<string>',
sourceRetentionDays: 183,
versionRetentionDays: 1825,
quarantineRetentionDays: 183,
maximumRetainedVersions: 500,
legalHold: false,
deleteSourceAfterNormalization: false
},
description: '<string>'
},
maximumRows: 123,
maximumBytes: 123,
description: '<string>',
visibility: 'workspace',
publish: false,
qualityRules: []
})
};
fetch('https://app.chatobserver.com/api/v2/metrics/imports', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://app.chatobserver.com/api/v2/metrics/imports"
payload = {
"name": "<string>",
"source": {
"kind": "manual_upload",
"allowedFormats": []
},
"mapping": {
"name": "<string>",
"definition": {
"columns": [
{
"trim": False,
"nullable": False,
"label": "<string>",
"source": {
"value": "<string>",
"kind": "header"
},
"fieldId": "<string>",
"blankAsNull": False,
"dateFormat": "iso",
"locale": "<string>",
"defaultValue": "<string>"
}
],
"schemaVersion": 1,
"sheetName": "<string>",
"headerRow": 5000,
"firstDataRow": 123,
"delimiter": ",",
"encoding": "utf-8"
},
"description": "<string>"
},
"updatePolicy": {
"name": "<string>",
"definition": {
"schemaVersion": 1,
"keyFieldIds": ["<string>"],
"cursorFieldId": "<string>",
"lateArrivalLookback": { "count": 123 }
},
"description": "<string>"
},
"retentionPolicy": {
"name": "<string>",
"definition": {
"schemaVersion": 1,
"residency": "<string>",
"sourceRetentionDays": 183,
"versionRetentionDays": 1825,
"quarantineRetentionDays": 183,
"maximumRetainedVersions": 500,
"legalHold": False,
"deleteSourceAfterNormalization": False
},
"description": "<string>"
},
"maximumRows": 123,
"maximumBytes": 123,
"description": "<string>",
"visibility": "workspace",
"publish": False,
"qualityRules": []
}
headers = {
"Idempotency-Key": "<idempotency-key>",
"x-chatobserver-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"data": {
"actorId": "<string>",
"importedDatasetId": "<string>",
"importedDatasetVersionId": "<string>",
"mappingId": "<string>",
"mappingVersionId": "<string>",
"updatePolicyId": "<string>",
"updatePolicyVersionId": "<string>",
"retentionPolicyId": "<string>",
"retentionPolicyVersionId": "<string>",
"versionStatus": "<string>"
},
"replayed": false
}{
"data": {
"actorId": "<string>",
"importedDatasetId": "<string>",
"importedDatasetVersionId": "<string>",
"mappingId": "<string>",
"mappingVersionId": "<string>",
"updatePolicyId": "<string>",
"updatePolicyVersionId": "<string>",
"retentionPolicyId": "<string>",
"retentionPolicyVersionId": "<string>",
"versionStatus": "<string>"
},
"replayed": false
}{
"error": {
"code": "internal",
"fieldPath": [
"<string>"
],
"parameters": {},
"repairActions": [
"<string>"
],
"requestId": "<string>",
"retryable": false,
"retryAfterSeconds": 1
}
}Data delivery
Create an imported dataset
Manage schedules, transfers, destinations and import workflows.
POST
/
api
/
v2
/
metrics
/
imports
Create an imported dataset
curl --request POST \
--url https://app.chatobserver.com/api/v2/metrics/imports \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--header 'x-chatobserver-key: <api-key>' \
--data '
{
"name": "<string>",
"source": {
"kind": "manual_upload",
"allowedFormats": []
},
"mapping": {
"name": "<string>",
"definition": {
"columns": [
{
"trim": false,
"nullable": false,
"label": "<string>",
"source": {
"value": "<string>",
"kind": "header"
},
"fieldId": "<string>",
"blankAsNull": false,
"dateFormat": "iso",
"locale": "<string>",
"defaultValue": "<string>"
}
],
"schemaVersion": 1,
"sheetName": "<string>",
"headerRow": 5000,
"firstDataRow": 123,
"delimiter": ",",
"encoding": "utf-8"
},
"description": "<string>"
},
"updatePolicy": {
"name": "<string>",
"definition": {
"schemaVersion": 1,
"keyFieldIds": [
"<string>"
],
"cursorFieldId": "<string>",
"lateArrivalLookback": {
"count": 123
}
},
"description": "<string>"
},
"retentionPolicy": {
"name": "<string>",
"definition": {
"schemaVersion": 1,
"residency": "<string>",
"sourceRetentionDays": 183,
"versionRetentionDays": 1825,
"quarantineRetentionDays": 183,
"maximumRetainedVersions": 500,
"legalHold": false,
"deleteSourceAfterNormalization": false
},
"description": "<string>"
},
"maximumRows": 123,
"maximumBytes": 123,
"description": "<string>",
"visibility": "workspace",
"publish": false,
"qualityRules": []
}
'const options = {
method: 'POST',
headers: {
'Idempotency-Key': '<idempotency-key>',
'x-chatobserver-key': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: '<string>',
source: {kind: 'manual_upload', allowedFormats: []},
mapping: {
name: '<string>',
definition: {
columns: [
{
trim: false,
nullable: false,
label: '<string>',
source: {value: '<string>', kind: 'header'},
fieldId: '<string>',
blankAsNull: false,
dateFormat: 'iso',
locale: '<string>',
defaultValue: '<string>'
}
],
schemaVersion: 1,
sheetName: '<string>',
headerRow: 5000,
firstDataRow: 123,
delimiter: ',',
encoding: 'utf-8'
},
description: '<string>'
},
updatePolicy: {
name: '<string>',
definition: {
schemaVersion: 1,
keyFieldIds: ['<string>'],
cursorFieldId: '<string>',
lateArrivalLookback: {count: 123}
},
description: '<string>'
},
retentionPolicy: {
name: '<string>',
definition: {
schemaVersion: 1,
residency: '<string>',
sourceRetentionDays: 183,
versionRetentionDays: 1825,
quarantineRetentionDays: 183,
maximumRetainedVersions: 500,
legalHold: false,
deleteSourceAfterNormalization: false
},
description: '<string>'
},
maximumRows: 123,
maximumBytes: 123,
description: '<string>',
visibility: 'workspace',
publish: false,
qualityRules: []
})
};
fetch('https://app.chatobserver.com/api/v2/metrics/imports', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://app.chatobserver.com/api/v2/metrics/imports"
payload = {
"name": "<string>",
"source": {
"kind": "manual_upload",
"allowedFormats": []
},
"mapping": {
"name": "<string>",
"definition": {
"columns": [
{
"trim": False,
"nullable": False,
"label": "<string>",
"source": {
"value": "<string>",
"kind": "header"
},
"fieldId": "<string>",
"blankAsNull": False,
"dateFormat": "iso",
"locale": "<string>",
"defaultValue": "<string>"
}
],
"schemaVersion": 1,
"sheetName": "<string>",
"headerRow": 5000,
"firstDataRow": 123,
"delimiter": ",",
"encoding": "utf-8"
},
"description": "<string>"
},
"updatePolicy": {
"name": "<string>",
"definition": {
"schemaVersion": 1,
"keyFieldIds": ["<string>"],
"cursorFieldId": "<string>",
"lateArrivalLookback": { "count": 123 }
},
"description": "<string>"
},
"retentionPolicy": {
"name": "<string>",
"definition": {
"schemaVersion": 1,
"residency": "<string>",
"sourceRetentionDays": 183,
"versionRetentionDays": 1825,
"quarantineRetentionDays": 183,
"maximumRetainedVersions": 500,
"legalHold": False,
"deleteSourceAfterNormalization": False
},
"description": "<string>"
},
"maximumRows": 123,
"maximumBytes": 123,
"description": "<string>",
"visibility": "workspace",
"publish": False,
"qualityRules": []
}
headers = {
"Idempotency-Key": "<idempotency-key>",
"x-chatobserver-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"data": {
"actorId": "<string>",
"importedDatasetId": "<string>",
"importedDatasetVersionId": "<string>",
"mappingId": "<string>",
"mappingVersionId": "<string>",
"updatePolicyId": "<string>",
"updatePolicyVersionId": "<string>",
"retentionPolicyId": "<string>",
"retentionPolicyVersionId": "<string>",
"versionStatus": "<string>"
},
"replayed": false
}{
"data": {
"actorId": "<string>",
"importedDatasetId": "<string>",
"importedDatasetVersionId": "<string>",
"mappingId": "<string>",
"mappingVersionId": "<string>",
"updatePolicyId": "<string>",
"updatePolicyVersionId": "<string>",
"retentionPolicyId": "<string>",
"retentionPolicyVersionId": "<string>",
"versionStatus": "<string>"
},
"replayed": false
}{
"error": {
"code": "internal",
"fieldPath": [
"<string>"
],
"parameters": {},
"repairActions": [
"<string>"
],
"requestId": "<string>",
"retryable": false,
"retryAfterSeconds": 1
}
}Required scopes:
metrics:write.Authorizations
WorkspaceKeyBearerKey
A workspace API key. Data endpoints require a service-account key with the specified scopes.
Headers
Unique key for one logical command. Reuse it only when retrying the same request and payload.
Required string length:
16 - 160Pattern:
^[A-Za-z0-9:_-]+$Body
application/json
Required string length:
1 - 150- Option 1
- Option 2
- Option 3
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Required range:
x <= 10000000Required range:
x <= 10737418240Available options:
reject_file, quarantine_rows Maximum string length:
4000Service-account resources must be visible to the workspace.
Allowed value:
"workspace"Maximum array length:
250- Option 1
- Option 2
- Option 3
- Option 4
Show child attributes
Show child attributes