curl --request PATCH \
--url https://api.dynamosql.com/v1/schemas/{schemaName} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"tableAllowlist": [
"Users",
"Orders",
"Products",
"Inventory"
]
}
'{
"success": true,
"data": {
"tenantId": "tenant-abc123",
"schemaName": "myschema",
"region": "us-east-1",
"accountId": "123456789012",
"roleArn": "arn:aws:iam::123456789012:role/DynamoSQLReadRole",
"externalId": "dsql-ext-7f3a9c2b",
"tableAllowlist": [
"Users",
"Orders",
"Products",
"Inventory"
],
"status": "active",
"createdAt": "2026-01-15T10:30:00.000Z",
"updatedAt": "2026-03-11T14:00:00.000Z"
}
}{
"success": false,
"error": {
"message": "startDate must be before or equal to endDate"
}
}{
"success": false,
"error": {
"message": "Unauthorized"
}
}{
"success": false,
"error": {
"message": "Tenant admin access required"
}
}{
"success": false,
"error": {
"message": "Schema not found: myschema"
}
}Update Schema
Update a schema’s connection details, table allowlist, or status.
curl --request PATCH \
--url https://api.dynamosql.com/v1/schemas/{schemaName} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"tableAllowlist": [
"Users",
"Orders",
"Products",
"Inventory"
]
}
'{
"success": true,
"data": {
"tenantId": "tenant-abc123",
"schemaName": "myschema",
"region": "us-east-1",
"accountId": "123456789012",
"roleArn": "arn:aws:iam::123456789012:role/DynamoSQLReadRole",
"externalId": "dsql-ext-7f3a9c2b",
"tableAllowlist": [
"Users",
"Orders",
"Products",
"Inventory"
],
"status": "active",
"createdAt": "2026-01-15T10:30:00.000Z",
"updatedAt": "2026-03-11T14:00:00.000Z"
}
}{
"success": false,
"error": {
"message": "startDate must be before or equal to endDate"
}
}{
"success": false,
"error": {
"message": "Unauthorized"
}
}{
"success": false,
"error": {
"message": "Tenant admin access required"
}
}{
"success": false,
"error": {
"message": "Schema not found: myschema"
}
}schemas:writeAuthorizations
Bearer token obtained from POST /v1/auth/token. Pass in the Authorization header as Bearer <token>.
Path Parameters
The schema name to update.
Body
All fields are optional; include only what you want to change. At least one field must be provided.
New AWS region for DynamoDB access.
"eu-west-1"
New AWS account ID.
"999888777666"
New IAM role ARN to assume.
"arn:aws:iam::999888777666:role/DynamoSQLReadRole"
New external ID for sts:AssumeRole.
"dsql-ext-newvalue"
Replace the table allowlist. Pass an empty array [] to remove the allowlist restriction. Pass ["*"] for explicit wildcard. Pass table names for explicit access.
["Users", "Orders", "Products"]
Set to disabled to suspend the schema without deleting it. Set to active to re-enable. Re-enabling triggers a background metadata refresh.
active, disabled "active"
Response
Schema updated.
true when the request was processed without errors, false otherwise. Always present.
A DynamoSQL schema record. A schema connects a logical name to the IAM role and AWS region DynamoSQL uses to access DynamoDB on your behalf via cross-account role assumption.
Show child attributes
Show child attributes
Present in the response body when success is false.
Show child attributes
Show child attributes