customAttributeSchema
Returns a JSON Schema document describing the custom-attribute keys and permitted values for a given action, narrowed by the caller's policies.
The schema is the org's custom-attribute schema for the action's scope
(e.g. project:create → project-scope attributes), with each key's
enum reduced to the values the caller's allow policies permit for
that action. Org admins see the full closed set. When the org declares no
attributes for the scope, or the caller has no matching policy, the result
is {"properties": {}, "additionalProperties": false}, which rejects any
attribute key. Actions whose entity has no custom-attribute
scope (group, organization, resource, resource_type) return
{"type": "object"} (no constraints).
Renders well as a form schema for createProject, createEnvironment,
setComponentAttributes, etc. — only the choices the API will actually
accept on write are surfaced.
Returns a NOT_FOUND error when action is not in the policy catalog.
customAttributeSchema(
organizationId: ID!
action: String!
): Map!
Arguments
customAttributeSchema.organizationId ● ID! non-null scalar {#organization-id}
Your organization's unique identifier.
customAttributeSchema.action ● String! non-null scalar {#action}
Action id in entity:verb form (for example project:create). Query policyActions for the catalog.
Type
Map scalar
A JSON object (key-value map) encoded as a string. Accepts only {} objects — arrays, strings, numbers, and booleans are rejected. Pass values as a JSON-encoded string, e.g. {"key": "value"}. Used for dynamic configuration data like integration configs, parameter overrides, and schemas.