Skip to main content
POST
/
directory
/
attributes
Create an Attribute
curl --request POST \
  --url https://wks-a1b2c3d4.provisionr.io/api/v1/directory/attributes \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "directory_dimension_id": "<string>",
  "name": "<string>",
  "predecessor_id": "<string>",
  "handle": "<string>",
  "blueprint_signature": "<string>",
  "activate": false
}
'
{
  "id": "<string>",
  "state": "staged",
  "type": "integration",
  "name": "<string>",
  "handle": "<string>",
  "blueprint_signature": "<string>",
  "profile_value": "<string>",
  "timestamp": {
    "created_at": "2023-11-07T05:31:56Z",
    "updated_at": "2023-11-07T05:31:56Z",
    "activated_at": "2023-11-07T05:31:56Z",
    "expires_at": "2023-11-07T05:31:56Z",
    "deleted_at": "2023-11-07T05:31:56Z"
  },
  "count": {
    "attribute_conditions": 123,
    "attribute_predecessors": 123,
    "policy_rules": 123,
    "manifest_users": 123,
    "qualified_users": 123,
    "staged_users": 123,
    "workspace_logs_parent": 123,
    "workspace_logs_record": 123,
    "workspace_logs_related": 123
  },
  "included": [
    "<string>"
  ],
  "links": {
    "self": "<string>",
    "attribute_conditions": "<string>",
    "directory_dimension": "<string>",
    "workspace_integration": "<string>",
    "policy_ruleset": "<string>",
    "policy_rules": "<string>",
    "manifest_users": "<string>",
    "qualified_users": "<string>",
    "staged_users": "<string>"
  }
}

Documentation Index

Fetch the complete documentation index at: https://docs.provisionr.io/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json

CreateDirectoryAttributeRequestData

directory_dimension_id
string
required
Pattern: ^drdim_[0-9a-hjkmnp-tv-z]{26}$
Example:

"drdim_01hq8xyzabc123def456ghi789"

name
string
required

Title Case human readable name

Maximum string length: 63
predecessor_id
string | null

If this attribute is replacing a previous attribute (ex. due to a rename), you can provide a cosmetic map to the previous record for easier history and audit discovery

Pattern: ^dratr_[0-9a-hjkmnp-tv-z]{26}$
Example:

"dratr_01hq8xyzabc123def456ghi789"

handle
string

alpha-dash string that is similar to the name or uses shorthand abbreviations. If not set, the name will be converted to alpha-dash format. This is used for generating group names in email addresses or URL paths

Maximum string length: 55
blueprint_signature
string | null

If this Attribute is generated from a Blueprint, this is the signature of the blueprint when it is created. This allows tracking of which attributes were created from which blueprint version, while allowing the handle and name to be renamed to a more descriptive name based on business needs

Examples:

"{blueprint_id_last4}-{blueprint_handle}-{dimension_handle}-{attribute_handle}-{ref_id_last4}',"

"bej2-mgr-team-dept-mktg-a1b2"

activate
boolean
default:false

By default (false) the status is set to STAGED. Set to true to set to ACTIVE. This allows the resource to be created and then activated in a separate step. This prevents the resource from being activated before it is fully configured

Response

DirectoryAttributeDetailedResponseData

id
string
required
Example:

"dratr_01hq8xyzabc123def456ghi789"

state
enum<string>
required

The state of the directory attribute

staged
The record is staged and is only visible to administrators or in the API. Use the activate method during your change window.
active
The record is active.
expiring
The expires_at value is set in the future for the record. You can run the activate action to remove the scheduled expiration.
expired
The expires_at value is in the past and the record was deactivated.
deactivated
The record was deactivated manually by an administrator.
Available options:
staged,
active,
expiring,
expired,
deactivated
Example:

"active"

type
enum<string>
required

The type of the directory attribute

integration
The attribute was imported by the Workspace Integration when attributes_enabled is enabled for a Directory Dimension
ruleset
The custom attribute was created by an administrator to define a reusable set of rules and conditions
catch
The attribute is designed as a catch all for a dimension for users that don't meet the criteria (ex. Unknown)
Available options:
integration,
ruleset,
catch
Example:

"integration"

name
string
required

The name of the attribute

Example:

"Engineering"

handle
string
required

The handle of the attribute

Example:

"eng"

blueprint_signature
string | null
required

If this Attribute is generated from a Blueprint, this is the signature of the blueprint when it is created. This allows tracking of which attributes were created from which blueprint version, while allowing the handle and name to be renamed to a more descriptive name based on business needs

Examples:

"{blueprint_id_last4}-{dimension_id}-{attribute_id}-{ref_id}"

"bbbb-dddd-aaaa-rrrr"

profile_value
string | null
required

The raw value of the attribute from the Vendor API

Example:

"Engineering"

timestamp
TimestampStateData · object
required

The timestamps for the attribute record

count
object
required

Counts of related resources

included
string[]
required

Included related resources.

attribute_successor: DirectoryAttributeSummaryResponseData|null, attribute_predecessors: array|null workspace_integration: WorkspaceIntegrationSummaryResponseData|null, directory_dimension: DirectoryDimensionSummaryResponseData|null, policy_ruleset: PolicyRulesetSummaryResponseData|null, policy_rules: array|null, }

API hyperlinks related to the attribute record