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; non-admins with no
matching policy receive {"properties": {}, "additionalProperties": false},
which rejects any write. 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, booleans, and null 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.