Skip to main content

Datastores

Datastores define a destination for data loaded into a workspace by pipelines. The default datastore for a workspace is its own PostgreSQL database hosted by Meltano Cloud, but this can be changed at any time to another datastore with your own credentials (see our supported dataplugins of type LOADER).


Objects

Datastore

PathJSON TypeFormatDescription
idstringVersion 4 UUIDThe datastore ID
createdstringISO 8601 timestampThe instant at which the datastore was created
lastModifiedstringISO 8601 timestampThe instant at which the datastore was last modified
namestringThe datastore name
dataPluginstringCreate / update with dataplugin fullyQualifiedName
workspacestringVersion 4 UUIDThe datastore workspace id
jdbcUrlstringJDBC URLThe datastore JDBC URL
propertiesobjectPropertiesThe datastore properties

Properties

For each setting s in the dataplugin settings:

PathTypeDescription
s.names.kindRefer to s.description

Requests

View all datastores in a workspace

GET /api/workspaces/{workspace-id}/datastores

Returns the datastores in the workspace {workspace-id}.

Prerequisites

  • Workspace {workspace-id} must exist
Examples
curl -H "Authorization: Bearer $ACCESS_TOKEN" 'https://app.matatika.com/api/workspaces/6911bc8c-c6ae-4581-b82c-d43aaa403d92/datastores' -i -X GET

Response

200 OK

Datastore collection with HAL links.

{
"_embedded" : {
"datastores" : [ {
"id" : "579889db-6c66-4231-9a2b-b8e8097dbe7e",
"created" : "2026-04-23T13:07:12.072835",
"lastModified" : "2026-04-23T13:07:12.072836",
"name" : "Warehouse",
"properties" : {
"password" : "yxB2Il9J_g0xW9AfD_2Eg5oQjR",
"dbname" : "nltnimw",
"default_target_schema" : "analytics",
"port" : "5432",
"host" : "sharp-banana2.postgres.database.azure.com",
"user" : "nltnimw"
},
"commands" : { },
"dataPlugin" : "loaders/target-postgres--matatika",
"dataPluginType" : "loader",
"dataPluginLogoUrl" : "/assets/logos/loaders/postgres.png",
"logoUrl" : "/assets/logos/loaders/postgres.png",
"workspace" : "6911bc8c-c6ae-4581-b82c-d43aaa403d92",
"jdbcUrl" : "jdbc:postgresql://sharp-banana2.postgres.database.azure.com:5432/nltnimw",
"draft" : false,
"managed" : true,
"_links" : {
"self" : {
"href" : "https://app.matatika.com/api/datastores/579889db-6c66-4231-9a2b-b8e8097dbe7e"
},
"dataplugin" : {
"href" : "https://app.matatika.com/api/dataplugins/c5c5897e-7a9a-4ab7-bef4-a3392eb7dbe8"
}
}
} ]
},
"_links" : {
"self" : {
"href" : "https://app.matatika.com/api/workspaces/6911bc8c-c6ae-4581-b82c-d43aaa403d92/datastores?page=0&size=20"
}
},
"page" : {
"size" : 20,
"totalElements" : 1,
"totalPages" : 1,
"number" : 0
}
}

View a datastore

GET /api/datastores/{datastore-id}

Returns the datastore {datastore-id}.

Prerequisites

  • Datastore {datastore-id} must exist
Examples
curl -H "Authorization: Bearer $ACCESS_TOKEN" 'https://app.matatika.com/api/datastores/2ce41208-7fe7-4cac-a054-00d5365033cb' -i -X GET

Response

200 OK

Datastore with HAL links.

{
"id" : "2ce41208-7fe7-4cac-a054-00d5365033cb",
"created" : "2026-04-23T13:08:44.931499",
"lastModified" : "2026-04-23T13:08:49.893368",
"name" : "Test datastore (updated)",
"properties" : {
"password" : "yxB2Il9J_g0xW9AfD_2Eg5oQjR",
"dbname" : "nltnimw",
"default_target_schema" : "analytics",
"host" : "sharp-banana2.postgres.database.azure.com",
"user" : "nltnimw"
},
"commands" : { },
"dataPlugin" : "loaders/target-postgres--matatika",
"dataPluginType" : "loader",
"dataPluginLogoUrl" : "/assets/logos/loaders/postgres.png",
"logoUrl" : "/assets/logos/loaders/postgres.png",
"workspace" : "6911bc8c-c6ae-4581-b82c-d43aaa403d92",
"jdbcUrl" : "jdbc:postgresql://sharp-banana2.postgres.database.azure.com:5432/nltnimw",
"draft" : false,
"managed" : false,
"_links" : {
"self" : {
"href" : "https://app.matatika.com/api/datastores/2ce41208-7fe7-4cac-a054-00d5365033cb"
},
"update datastore" : {
"href" : "https://app.matatika.com/api/datastores/2ce41208-7fe7-4cac-a054-00d5365033cb"
},
"delete datastore" : {
"href" : "https://app.matatika.com/api/datastores/2ce41208-7fe7-4cac-a054-00d5365033cb"
},
"make-default" : {
"href" : "https://app.matatika.com/api/datastores/2ce41208-7fe7-4cac-a054-00d5365033cb/default"
},
"dataplugin" : {
"href" : "https://app.matatika.com/api/dataplugins/c5c5897e-7a9a-4ab7-bef4-a3392eb7dbe8"
}
}
}

Set a datastore as the workspace default

PUT /api/datastores/{datastore-id}/default

Sets the datastore {datastore-id} as the workspace default.

Prerequisites

  • Datastore {datastore-id} must exist
Examples
curl -H "Authorization: Bearer $ACCESS_TOKEN" 'https://app.matatika.com/api/datastores/2ce41208-7fe7-4cac-a054-00d5365033cb/default' -i -X PUT \
-H 'Content-Type: application/json'

Response

200 OK

No response body provided.


Initialise a new datastore in a workspace

POST /api/workspaces/{workspace-id}/datastores

Initialises a new datastore in the workspace {workspace-id}.

Prerequisites

  • Workspace {workspace-id} must exist
Examples
curl -H "Authorization: Bearer $ACCESS_TOKEN" 'https://app.matatika.com/api/workspaces/6911bc8c-c6ae-4581-b82c-d43aaa403d92/datastores' -i -X POST \
-H 'Content-Type: application/json'

Response

200 OK

Datastore with HAL links.

{
"id" : "2ce41208-7fe7-4cac-a054-00d5365033cb",
"created" : "2026-04-23T13:08:44.784244882",
"lastModified" : "2026-04-23T13:08:44.784245282",
"properties" : { },
"commands" : { },
"workspace" : "6911bc8c-c6ae-4581-b82c-d43aaa403d92",
"draft" : false,
"managed" : false,
"_links" : {
"self" : {
"href" : "https://app.matatika.com/api/datastores/2ce41208-7fe7-4cac-a054-00d5365033cb"
},
"create datastore" : {
"href" : "https://app.matatika.com/api/workspaces/6911bc8c-c6ae-4581-b82c-d43aaa403d92/datastores/2ce41208-7fe7-4cac-a054-00d5365033cb"
}
}
}

Create or update a datastore in a workspace

PUT /api/workspaces/{workspace-id}/datastores/{datastore-id}

Creates or updates the datastore {datastore-id} in the workspace {workspace-id}.

Prerequisites

  • Workspace {workspace-id} must exist

Body

Datastore resource.

{
"name" : "Test datastore",
"dataPlugin" : "loaders/target-postgres",
"properties" : {
"dbname" : "nltnimw",
"default_target_schema" : "analytics",
"user" : "nltnimw",
"host" : "sharp-banana2.postgres.database.azure.com",
"password" : "yxB2Il9J_g0xW9AfD_2Eg5oQjR"
}
}
Examples
curl -H "Authorization: Bearer $ACCESS_TOKEN" 'https://app.matatika.com/api/workspaces/6911bc8c-c6ae-4581-b82c-d43aaa403d92/datastores/2ce41208-7fe7-4cac-a054-00d5365033cb' -i -X PUT \
-H 'Content-Type: application/json' \
-d '{
"name" : "Test datastore",
"dataPlugin" : "loaders/target-postgres",
"properties" : {
"dbname" : "nltnimw",
"default_target_schema" : "analytics",
"user" : "nltnimw",
"host" : "sharp-banana2.postgres.database.azure.com",
"password" : "yxB2Il9J_g0xW9AfD_2Eg5oQjR"
}
}'

Response

200 OK / 201 Created

Datastore with HAL links.

{
"id" : "2ce41208-7fe7-4cac-a054-00d5365033cb",
"created" : "2026-04-23T13:08:44.931499125",
"lastModified" : "2026-04-23T13:08:44.931500125",
"name" : "Test datastore",
"properties" : {
"dbname" : "nltnimw",
"default_target_schema" : "analytics",
"user" : "nltnimw",
"host" : "sharp-banana2.postgres.database.azure.com",
"password" : "yxB2Il9J_g0xW9AfD_2Eg5oQjR"
},
"commands" : { },
"dataPlugin" : "loaders/target-postgres--matatika",
"dataPluginType" : "loader",
"dataPluginLogoUrl" : "/assets/logos/loaders/postgres.png",
"logoUrl" : "/assets/logos/loaders/postgres.png",
"workspace" : "6911bc8c-c6ae-4581-b82c-d43aaa403d92",
"jdbcUrl" : "jdbc:postgresql://sharp-banana2.postgres.database.azure.com:5432/nltnimw",
"draft" : false,
"managed" : false,
"_links" : {
"self" : {
"href" : "https://app.matatika.com/api/datastores/2ce41208-7fe7-4cac-a054-00d5365033cb"
},
"update datastore" : {
"href" : "https://app.matatika.com/api/datastores/2ce41208-7fe7-4cac-a054-00d5365033cb"
},
"delete datastore" : {
"href" : "https://app.matatika.com/api/datastores/2ce41208-7fe7-4cac-a054-00d5365033cb"
},
"make-default" : {
"href" : "https://app.matatika.com/api/datastores/2ce41208-7fe7-4cac-a054-00d5365033cb/default"
},
"dataplugin" : {
"href" : "https://app.matatika.com/api/dataplugins/c5c5897e-7a9a-4ab7-bef4-a3392eb7dbe8"
}
}
}

Delete a datastore

DELETE /api/datastores/{datastore-id}

Deletes the datastore {datastore-id}.

Prerequisites

  • Datastore {datastore-id} must exist
Examples
curl -H "Authorization: Bearer $ACCESS_TOKEN" 'https://app.matatika.com/api/datastores/2ce41208-7fe7-4cac-a054-00d5365033cb' -i -X DELETE

Response

204 No Content

No response body provided.


See Also