This guide gets you from zero to a working API call in under 5 minutes.Documentation Index
Fetch the complete documentation index at: https://conductorone-docs-ad-account-provisioning-setup.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Step 1: Create a service principal
Step 2: Create a credential
Configure the credential:
| Setting | Description |
|---|---|
| Display name | A label for this credential, for example “prod-terraform” |
| Expiration | How long until the credential expires: 30, 60, 90, or 180 days. 90 days is recommended. |
| Limit source IPs | Optional. Restrict which IP addresses can use this credential. Enter IP ranges like 192.168.1.0/24. |
| Limit scopes | ”Full permissions” uses all of the service principal’s roles. Or select a specific role for least-privilege access. |
| Require DPoP | Optional. Enables proof-of-possession token binding (advanced). |
Step 3: Get an access token
Exchange the client credentials for a bearer token:Step 4: Call the API
Use the access token in anAuthorization header:
Use with the Terraform provider
Configure the C1 Terraform provider with your service principal credentials. The server URL is derived automatically from the client ID, so you only need two values:Use with Cone CLI
Once the environment variables are set, Cone picks them up automatically:Next steps
- Manage service principals — edit, disable, rotate credentials, assign owners
- Workload federation — eliminate stored secrets with OIDC-based authentication
- Security controls — scoped roles, IP allowlists, DPoP