ConductorOne Policy API
The Policy API from ConductorOne — 5 operation(s) for policy.
The Policy API from ConductorOne — 5 operation(s) for policy.
openapi: 3.1.0
info:
description: The ConductorOne API is a HTTP API for managing ConductorOne resources.
title: ConductorOne Access Conflict Policy API
version: 0.1.0-alpha
servers:
- description: The ConductorOne API server for the current tenant.
url: https://{tenantDomain}.conductor.one
variables:
tenantDomain:
default: example
description: The domain of the tenant to use for this request.
security:
- bearerAuth: []
oauth: []
tags:
- name: Policy
paths:
/api/v1/policies:
get:
description: List policies.
operationId: c1.api.policy.v1.Policies.List
parameters:
- in: query
name: page_size
schema:
description: The pageSize field.
format: int32
readOnly: false
type: integer
- in: query
name: page_token
schema:
description: The pageToken field.
readOnly: false
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/c1.api.policy.v1.ListPolicyResponse'
description: Successful response
summary: List
tags:
- Policy
x-speakeasy-group: Policies
x-speakeasy-name-override: List
post:
description: Create a policy.
operationId: c1.api.policy.v1.Policies.Create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/c1.api.policy.v1.CreatePolicyRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/c1.api.policy.v1.CreatePolicyResponse'
description: The CreatePolicyResponse message contains the created policy object.
summary: Create
tags:
- Policy
x-speakeasy-entity-operation:
terraform-resource: Policy#create
x-speakeasy-group: Policies
x-speakeasy-name-override: Create
/api/v1/policies/{id}:
delete:
description: Delete a policy by ID.
operationId: c1.api.policy.v1.Policies.Delete
parameters:
- in: path
name: id
required: true
schema:
description: The Id of the policy to delete.
readOnly: false
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/c1.api.policy.v1.DeletePolicyRequestInput'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/c1.api.policy.v1.DeletePolicyResponse'
description: Empty response with a status code indicating success.
summary: Delete
tags:
- Policy
x-speakeasy-entity-operation:
terraform-resource: Policy#delete
x-speakeasy-group: Policies
x-speakeasy-name-override: Delete
get:
description: Get a policy by ID.
operationId: c1.api.policy.v1.Policies.Get
parameters:
- in: path
name: id
required: true
schema:
description: The id field.
readOnly: false
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/c1.api.policy.v1.GetPolicyResponse'
description: The GetPolicyResponse message contains the policy object.
summary: Get
tags:
- Policy
x-speakeasy-entity-operation:
terraform-datasource: null
terraform-resource: Policy#read
x-speakeasy-group: Policies
x-speakeasy-name-override: Get
post:
description: Update a policy by providing a policy object and an update mask.
operationId: c1.api.policy.v1.Policies.Update
parameters:
- in: path
name: id
required: true
schema:
description: The ID of the Policy.
readOnly: true
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/c1.api.policy.v1.UpdatePolicyRequestInput'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/c1.api.policy.v1.UpdatePolicyResponse'
description: The UpdatePolicyResponse message contains the updated policy object.
summary: Update
tags:
- Policy
x-speakeasy-entity-operation:
terraform-resource: Policy#update
x-speakeasy-group: Policies
x-speakeasy-name-override: Update
/api/v1/policies/test-account-provision-policy:
post:
description: Invokes the c1.api.policy.v1.AccountProvisionPolicyTest.Test method.
operationId: c1.api.policy.v1.AccountProvisionPolicyTest.Test
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/c1.api.policy.v1.TestAccountProvisionPolicyRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/c1.api.policy.v1.TestAccountProvisionPolicyResponse'
description: Successful response
summary: Test
tags:
- Policy
x-speakeasy-group: AccountProvisionPolicyTest
x-speakeasy-name-override: Test
/api/v1/policies/validate/cel:
post:
description: Validate policies
operationId: c1.api.policy.v1.PolicyValidate.ValidateCEL
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/c1.api.policy.v1.EditorValidateRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/c1.api.policy.v1.EditorValidateResponse'
description: Successful response
summary: Validate Cel
tags:
- Policy
x-speakeasy-group: PolicyValidate
x-speakeasy-name-override: ValidateCEL
/api/v1/search/policies:
post:
description: Search policies based on filters specified in the request body.
operationId: c1.api.policy.v1.PolicySearch.Search
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/c1.api.policy.v1.SearchPoliciesRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/c1.api.policy.v1.SearchPoliciesResponse'
description: Successful response
summary: Search
tags:
- Policy
x-speakeasy-entity-operation:
terraform-datasource:
- Policy#read
- Policies#read
terraform-resource: null
x-speakeasy-group: PolicySearch
x-speakeasy-name-override: Search
x-speakeasy-pagination:
inputs:
- in: requestBody
name: pageToken
type: cursor
outputs:
nextCursor: $.nextPageToken
type: cursor
components:
schemas:
c1.api.policy.v1.WaitDuration:
description: The WaitDuration message.
nullable: true
properties:
duration:
format: duration
readOnly: false
type: string
title: Wait Duration
type: object
x-speakeasy-name-override: WaitDuration
validate.UInt32Rules:
description: UInt32Rules describes the constraints applied to `uint32` values
nullable: true
properties:
const:
description: Const specifies that this field must be exactly the specified value
format: uint32
readOnly: false
type: integer
gt:
description: "Gt specifies that this field must be greater than the specified value,\n exclusive. If the value of Gt is larger than a specified Lt or Lte, the\n range is reversed."
format: uint32
readOnly: false
type: integer
gte:
description: "Gte specifies that this field must be greater than or equal to the\n specified value, inclusive. If the value of Gte is larger than a\n specified Lt or Lte, the range is reversed."
format: uint32
readOnly: false
type: integer
ignoreEmpty:
description: "IgnoreEmpty specifies that the validation rules of this field should be\n evaluated only if the field is not empty"
readOnly: false
type: boolean
in:
description: "In specifies that this field must be equal to one of the specified\n values"
items:
format: uint32
type: integer
nullable: true
readOnly: false
type: array
lt:
description: "Lt specifies that this field must be less than the specified value,\n exclusive"
format: uint32
readOnly: false
type: integer
lte:
description: "Lte specifies that this field must be less than or equal to the\n specified value, inclusive"
format: uint32
readOnly: false
type: integer
notIn:
description: "NotIn specifies that this field cannot be equal to one of the specified\n values"
items:
format: uint32
type: integer
nullable: true
readOnly: false
type: array
title: U Int 32 Rules
type: object
x-speakeasy-name-override: UInt32Rules
c1.api.form.v1.MutuallyExclusive:
description: The MutuallyExclusive message.
nullable: true
title: Mutually Exclusive
type: object
x-speakeasy-name-override: MutuallyExclusive
validate.Fixed32Rules:
description: Fixed32Rules describes the constraints applied to `fixed32` values
nullable: true
properties:
const:
description: Const specifies that this field must be exactly the specified value
format: uint32
readOnly: false
type: integer
gt:
description: "Gt specifies that this field must be greater than the specified value,\n exclusive. If the value of Gt is larger than a specified Lt or Lte, the\n range is reversed."
format: uint32
readOnly: false
type: integer
gte:
description: "Gte specifies that this field must be greater than or equal to the\n specified value, inclusive. If the value of Gte is larger than a\n specified Lt or Lte, the range is reversed."
format: uint32
readOnly: false
type: integer
ignoreEmpty:
description: "IgnoreEmpty specifies that the validation rules of this field should be\n evaluated only if the field is not empty"
readOnly: false
type: boolean
in:
description: "In specifies that this field must be equal to one of the specified\n values"
items:
format: uint32
type: integer
nullable: true
readOnly: false
type: array
lt:
description: "Lt specifies that this field must be less than the specified value,\n exclusive"
format: uint32
readOnly: false
type: integer
lte:
description: "Lte specifies that this field must be less than or equal to the\n specified value, inclusive"
format: uint32
readOnly: false
type: integer
notIn:
description: "NotIn specifies that this field cannot be equal to one of the specified\n values"
items:
format: uint32
type: integer
nullable: true
readOnly: false
type: array
title: Fixed 32 Rules
type: object
x-speakeasy-name-override: Fixed32Rules
validate.SFixed64Rules:
description: SFixed64Rules describes the constraints applied to `sfixed64` values
nullable: true
properties:
const:
description: Const specifies that this field must be exactly the specified value
format: int64
readOnly: false
type: string
gt:
description: "Gt specifies that this field must be greater than the specified value,\n exclusive. If the value of Gt is larger than a specified Lt or Lte, the\n range is reversed."
format: int64
readOnly: false
type: string
gte:
description: "Gte specifies that this field must be greater than or equal to the\n specified value, inclusive. If the value of Gte is larger than a\n specified Lt or Lte, the range is reversed."
format: int64
readOnly: false
type: string
ignoreEmpty:
description: "IgnoreEmpty specifies that the validation rules of this field should be\n evaluated only if the field is not empty"
readOnly: false
type: boolean
in:
description: "In specifies that this field must be equal to one of the specified\n values"
items:
format: int64
type: string
nullable: true
readOnly: false
type: array
lt:
description: "Lt specifies that this field must be less than the specified value,\n exclusive"
format: int64
readOnly: false
type: string
lte:
description: "Lte specifies that this field must be less than or equal to the\n specified value, inclusive"
format: int64
readOnly: false
type: string
notIn:
description: "NotIn specifies that this field cannot be equal to one of the specified\n values"
items:
format: int64
type: string
nullable: true
readOnly: false
type: array
title: S Fixed 64 Rules
type: object
x-speakeasy-name-override: SFixed64Rules
validate.EnumRules:
description: EnumRules describe the constraints applied to enum values
nullable: true
properties:
const:
description: Const specifies that this field must be exactly the specified value
format: int32
readOnly: false
type: integer
definedOnly:
description: "DefinedOnly specifies that this field must be only one of the defined\n values for this enum, failing on any undefined value."
readOnly: false
type: boolean
in:
description: "In specifies that this field must be equal to one of the specified\n values"
items:
format: int32
type: integer
nullable: true
readOnly: false
type: array
notIn:
description: "NotIn specifies that this field cannot be equal to one of the specified\n values"
items:
format: int32
type: integer
nullable: true
readOnly: false
type: array
title: Enum Rules
type: object
x-speakeasy-name-override: EnumRules
c1.api.form.v1.CheckboxField:
description: The CheckboxField message.
nullable: true
title: Checkbox Field
type: object
x-speakeasy-name-override: CheckboxField
c1.api.policy.v1.EditorValidateResponse:
description: The EditorValidateResponse message.
properties:
markers:
description: The markers field.
items:
$ref: '#/components/schemas/c1.api.editor.v1.EditorMarker'
nullable: true
readOnly: false
type: array
title: Editor Validate Response
type: object
x-speakeasy-name-override: EditorValidateResponse
validate.TimestampRules:
description: "TimestampRules describe the constraints applied exclusively to the\n `google.protobuf.Timestamp` well-known type"
nullable: true
properties:
const:
format: date-time
readOnly: false
type: string
gt:
format: date-time
readOnly: false
type: string
gtNow:
description: "GtNow specifies that this must be greater than the current time. GtNow\n can only be used with the Within rule."
readOnly: false
type: boolean
gte:
format: date-time
readOnly: false
type: string
lt:
format: date-time
readOnly: false
type: string
ltNow:
description: "LtNow specifies that this must be less than the current time. LtNow\n can only be used with the Within rule."
readOnly: false
type: boolean
lte:
format: date-time
readOnly: false
type: string
required:
description: Required specifies that this field must be set
readOnly: false
type: boolean
within:
format: duration
readOnly: false
type: string
title: Timestamp Rules
type: object
x-speakeasy-name-override: TimestampRules
c1.api.policy.v1.Form:
description: The Form message.
nullable: true
properties:
form:
$ref: '#/components/schemas/c1.api.form.v1.Form'
title: Form
type: object
x-speakeasy-name-override: Form
c1.api.form.v1.FileInputField:
description: The FileInputField message.
nullable: true
title: File Input Field
type: object
x-speakeasy-name-override: FileInputField
c1.api.policy.v1.Accept:
description: This policy step indicates that a ticket should have an approved outcome. This is a terminal approval state and is used to explicitly define the end of approval steps.
nullable: true
properties:
acceptMessage:
description: An optional message to include in the comments when a task is automatically accepted.
readOnly: false
type: string
title: Accept
type: object
x-speakeasy-name-override: Accept
c1.api.policy.v1.ConnectorProvision.DoNotSave:
description: The DoNotSave message.
nullable: true
title: Do Not Save
type: object
x-speakeasy-name-override: DoNotSave
c1.api.editor.v1.EditorMarker:
description: The EditorMarker message.
properties:
endColumn:
description: The endColumn field.
format: int32
readOnly: false
type: integer
endLineNumber:
description: The endLineNumber field.
format: int32
readOnly: false
type: integer
message:
description: The message field.
readOnly: false
type: string
severity:
description: The severity field.
enum:
- UNKNOWN
- HINT
- INFO
- WARNING
- ERROR
readOnly: false
type: string
x-speakeasy-unknown-values: allow
startColumn:
description: The startColumn field.
format: int32
readOnly: false
type: integer
startLineNumber:
description: The startLineNumber field.
format: int32
readOnly: false
type: integer
title: Editor Marker
type: object
x-speakeasy-name-override: EditorMarker
validate.SFixed32Rules:
description: SFixed32Rules describes the constraints applied to `sfixed32` values
nullable: true
properties:
const:
description: Const specifies that this field must be exactly the specified value
format: int32
readOnly: false
type: integer
gt:
description: "Gt specifies that this field must be greater than the specified value,\n exclusive. If the value of Gt is larger than a specified Lt or Lte, the\n range is reversed."
format: int32
readOnly: false
type: integer
gte:
description: "Gte specifies that this field must be greater than or equal to the\n specified value, inclusive. If the value of Gte is larger than a\n specified Lt or Lte, the range is reversed."
format: int32
readOnly: false
type: integer
ignoreEmpty:
description: "IgnoreEmpty specifies that the validation rules of this field should be\n evaluated only if the field is not empty"
readOnly: false
type: boolean
in:
description: "In specifies that this field must be equal to one of the specified\n values"
items:
format: int32
type: integer
nullable: true
readOnly: false
type: array
lt:
description: "Lt specifies that this field must be less than the specified value,\n exclusive"
format: int32
readOnly: false
type: integer
lte:
description: "Lte specifies that this field must be less than or equal to the\n specified value, inclusive"
format: int32
readOnly: false
type: integer
notIn:
description: "NotIn specifies that this field cannot be equal to one of the specified\n values"
items:
format: int32
type: integer
nullable: true
readOnly: false
type: array
title: S Fixed 32 Rules
type: object
x-speakeasy-name-override: SFixed32Rules
validate.UInt64Rules:
description: UInt64Rules describes the constraints applied to `uint64` values
nullable: true
properties:
const:
description: Const specifies that this field must be exactly the specified value
format: uint64
readOnly: false
type: string
gt:
description: "Gt specifies that this field must be greater than the specified value,\n exclusive. If the value of Gt is larger than a specified Lt or Lte, the\n range is reversed."
format: uint64
readOnly: false
type: string
gte:
description: "Gte specifies that this field must be greater than or equal to the\n specified value, inclusive. If the value of Gte is larger than a\n specified Lt or Lte, the range is reversed."
format: uint64
readOnly: false
type: string
ignoreEmpty:
description: "IgnoreEmpty specifies that the validation rules of this field should be\n evaluated only if the field is not empty"
readOnly: false
type: boolean
in:
description: "In specifies that this field must be equal to one of the specified\n values"
items:
format: uint64
type: string
nullable: true
readOnly: false
type: array
lt:
description: "Lt specifies that this field must be less than the specified value,\n exclusive"
format: uint64
readOnly: false
type: string
lte:
description: "Lte specifies that this field must be less than or equal to the\n specified value, inclusive"
format: uint64
readOnly: false
type: string
notIn:
description: "NotIn specifies that this field cannot be equal to one of the specified\n values"
items:
format: uint64
type: string
nullable: true
readOnly: false
type: array
title: U Int 64 Rules
type: object
x-speakeasy-name-override: UInt64Rules
c1.api.policy.v1.DelegatedProvision:
description: This provision step indicates that we should delegate provisioning to the configuration of another app entitlement. This app entitlement does not have to be one from the same app, but MUST be configured as a proxy binding leading into this entitlement.
nullable: true
properties:
appId:
description: The AppID of the entitlement to delegate provisioning to.
readOnly: false
type: string
entitlementId:
description: The ID of the entitlement we are delegating provisioning to.
readOnly: false
type: string
implicit:
description: If true, a binding will be automatically created from the entitlement of the parent app.
readOnly: false
type: boolean
title: Delegated Provision
type: object
x-speakeasy-name-override: DelegatedProvision
c1.api.form.v1.Field:
description: "A field is a single input meant to collect a piece of data from a user\n\nThis message contains a oneof named type. Only a single field of the following list may be set at a time:\n - stringField\n - boolField\n - stringSliceField\n - int64Field\n - fileField\n"
properties:
boolField:
$ref: '#/components/schemas/c1.api.form.v1.BoolField'
description:
description: The description field.
readOnly: false
type: string
displayName:
description: The displayName field.
readOnly: false
type: string
fileField:
$ref: '#/components/schemas/c1.api.form.v1.FileField'
int64Field:
$ref: '#/components/schemas/c1.api.form.v1.Int64Field'
name:
description: The name field.
readOnly: false
type: string
stringField:
$ref: '#/components/schemas/c1.api.form.v1.StringField'
stringSliceField:
$ref: '#/components/schemas/c1.api.form.v1.StringSliceField'
title: Field
type: object
x-speakeasy-name-override: Field
c1.api.policy.v1.ConnectorProvision.DeleteAccount:
description: The DeleteAccount message.
nullable: true
properties:
connectorId:
description: The connectorId field.
readOnly: false
type: string
title: Delete Account
type: object
x-speakeasy-name-override: DeleteAccount
validate.AnyRules:
description: "AnyRules describe constraints applied exclusively to the\n `google.protobuf.Any` well-known type"
nullable: true
properties:
in:
description: "In specifies that this field's `type_url` must be equal to one of the\n specified values."
items:
type: string
nullable: true
readOnly: false
type: array
notIn:
description: "NotIn specifies that this field's `type_url` must not be equal to any of\n the specified values."
items:
type: string
nullable: true
readOnly: false
type: array
required:
description: Required specifies that this field must be set
readOnly: false
type: boolean
title: Any Rules
type: object
x-speakeasy-name-override: AnyRules
c1.api.form.v1.BoolField:
description: "The BoolField message.\n\nThis message contains a oneof named view. Only a single field of the following list may be set at a time:\n - checkboxField\n\n\nThis message contains a oneof named _rules. Only a single field of the following list may be set at a time:\n - rules\n"
nullable: true
properties:
checkboxField:
$ref: '#/components/schemas/c1.api.form.v1.CheckboxField'
defaultValue:
description: The defaultValue field.
readOnly: false
type: boolean
rules:
$ref: '#/components/schemas/validate.BoolRules'
title: Bool Field
type: object
x-speakeasy-name-override: BoolField
c1.api.policy.v1.ExpressionApproval:
description: The ExpressionApproval message.
nullable: true
properties:
allowSelfApproval:
description: Configuration to allow self approval of if the user is specified and also the target of the ticket.
readOnly: false
type: boolean
assignedUserIds:
description: The assignedUserIds field.
items:
type: string
nullable: true
readOnly: true
type: array
expressions:
description: Array of dynamic expressions to determine the approvers. The first expression to return a non-empty list of users will be used.
items:
type: string
nullable: true
readOnly: false
type: array
fallback:
description: Configuration to allow a fallback if the expression does not return a valid list of users.
readOnly: false
type: boolean
fallbackUserIds:
description: Configuration to specific which users to fallback to if and the expression does not return a valid list of users.
items:
type: string
nullable: true
readOnly: false
type: array
title: Expression Approval
type: object
x-speakeasy-name-override: ExpressionApproval
c1.api.form.v1.Int64Field:
description: "The Int64Field message.\n\nThis message contains a oneof named view. Only a single field of the following list may be set at a time:\n - numberField\n\n\nThis message contains a oneof named _default_value. Only a single field of the following list may be set at a time:\n - defaultValue\n\n\nThis message contains a oneof named _rules. Only a single field of the following list may be set at a time:\n - rules\n"
nullable: true
properties:
defaultValue:
description: 'The defaultValue field.
This field is part of the `_default_value` oneof.
See the documentation for `c1.api.form.v1.Int64Field` for more details.'
format: int64
nullable: true
readOnly: false
type: string
numberField:
$ref: '#/components/schemas/c1.api.form.v1.NumberField'
placeholder:
description: The placeholder field.
readOnly: false
type: string
rules:
$ref: '#/components/schemas/validate.Int64Rules'
title: Int 64 Field
type: object
x-speakeasy-name-override: Int64Field
validate.StringRules:
description: "StringRules describe the constraints applied to `string` values\n\nThis message contains a oneof named well_known. Only a single field of the following list may be set at a time:\n - email\n - hostname\n - ip\n - ipv4\n - ipv6\n - uri\n - uriRef\n - address\n - uuid\n - wellKnownRegex\n"
nullable: true
properties:
address:
description: "Address specifies that the field must be either a valid hostname as\n defined by RFC 1034 (which does not support internationalized domain\n names or IDNs), or it can be a valid IP (v4 or v6).\nThis field is part of the `well_known` oneof.\nSee the documentation for `validate.StringRules` for more details."
nullable: true
readOnly: false
type: boolean
const:
description: Const specifies that this field must be exactly the specified value
readOnly: false
type: string
contains:
description: "Contains specifies that this field must have the specified substring\n anywhere in the string."
readOnly: false
type: string
email:
description: "Email specifies that the field must be a valid email address as\n defined by RFC 5322\nThis field is part of the `well_known` oneof.\nSee the documentation for `validate.StringRules` for more details."
nullable: true
readOnly: false
type: boolean
hostname:
description: "Hostname specifies that the field must be a valid hostname as\n defined by RFC 1034. This constraint does not support\n internationalized domain names (IDNs).\nThis field is part of the `well_known` oneof.\nSee the documentation for `validate.StringRules` for more details."
nullable: true
readOnly: false
type: boolean
ignoreEmpty:
description: "IgnoreEmpty specifies that the validation rules of this field should be\n evaluated only if the field is not empty"
readOnly: false
type: boolean
in:
description: "In specifies that this field must be equal to one of the specified\n values"
items:
type: string
nullable: true
re
# --- truncated at 32 KB (109 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/conductorone/refs/heads/main/openapi/conductorone-policy-api-openapi.yml