Semaphor

Create a definition

Creates a new security definition for a connection in the project.

Include at least one of clsConfig, slsConfig, or rlsConfig. A definition without any security configuration is rejected.

Definition names must be unique within a project + connection pair.

POST
/api/management/v1/projects/{projectId}/unified-security/definitions

Path Parameters

projectId*string

Your Semaphor project ID.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X post "https://semaphor.cloud/api/management/v1/projects/string/unified-security/definitions" \  -H "Content-Type: application/json" \  -d '{    "connectionId": "conn_123",    "name": "Regional warehouse access",    "clsConfig": {      "connectionTemplate": "warehouse_{{ region }}",      "params": {        "region": "us"      }    },    "rlsConfig": {      "rules": [        {          "name": "Region filter",          "matcher": {            "type": "ALL_TABLES_WITH_COLUMN",            "column": "region"          },          "expression": "region = ANY({{ allowed_regions }})",          "params": {            "allowed_regions": [              "us",              "ca"            ]          }        }      ]    }  }'
{
  "ok": true,
  "data": {
    "definition": {
      "clsConfig": {
        "connectionTemplate": "string",
        "filePathTemplates": {
          "property1": "string",
          "property2": "string"
        },
        "params": {
          "property1": "string",
          "property2": "string"
        }
      },
      "slsConfig": {
        "schemaTemplate": "string",
        "allowedSchemas": [
          "string"
        ],
        "defaultSchema": "string",
        "schema": "string"
      },
      "rlsConfig": {
        "rules": [
          {
            "matcher": {
              "type": "ALL_TABLES_WITH_COLUMN",
              "column": "string"
            },
            "expression": "string",
            "name": "string",
            "description": "string",
            "params": {
              "property1": "string",
              "property2": "string"
            },
            "enabled": true
          }
        ]
      },
      "id": "string",
      "projectId": "string",
      "connectionId": "string",
      "name": "string",
      "createdAt": "2019-08-24T14:15:22Z",
      "updatedAt": "2019-08-24T14:15:22Z"
    }
  }
}
{
  "ok": false,
  "error": {
    "code": "INVALID_REQUEST",
    "message": "string",
    "details": {}
  }
}
{
  "ok": false,
  "error": {
    "code": "INVALID_REQUEST",
    "message": "string",
    "details": {}
  }
}
{
  "ok": false,
  "error": {
    "code": "INVALID_REQUEST",
    "message": "string",
    "details": {}
  }
}
{
  "ok": false,
  "error": {
    "code": "INVALID_REQUEST",
    "message": "string",
    "details": {}
  }
}
{
  "ok": false,
  "error": {
    "code": "INVALID_REQUEST",
    "message": "string",
    "details": {}
  }
}
{
  "ok": false,
  "error": {
    "code": "INVALID_REQUEST",
    "message": "string",
    "details": {}
  }
}